JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=18e5a5582693e638517cc8975c2c4ee0Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Verwirrender Formatierungsfehler

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Leax
Mini JLI'ler



Anmeldedatum: 15.07.2003
Beiträge: 43

Medaillen: Keine

BeitragVerfasst am: 17.07.2003, 09:27    Titel: Verwirrender Formatierungsfehler Antworten mit Zitat

Also ich habe gerade mal was für eine HL Mod gecodet und da kommt beim Kompilieren ein Fehler:

C:\Day of Kills\SDK\Multiplayer Source\dlls\teamplay_gamerules.cpp(626) : error C2065: 's' : nichtdeklarierter Bezeichner
C:\Day of Kills\SDK\Multiplayer Source\dlls\teamplay_gamerules.cpp(626) : error C2296: '%' : Ungültig, da der linke Operand vom Typ 'char [1]' ist
C:\Day of Kills\SDK\Multiplayer Source\dlls\teamplay_gamerules.cpp(626) : error C2059: Syntaxfehler : '%'


Code:

//Zeile 626
UTIL_LogPrintf( ""%s<%i>" has joined %sn", STRING( pPlayer->pev->netname ), GETPLAYERUSERID( pPlayer->edict() ), pTeamName );



Wie kann ich den Fehler beheben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 17.07.2003, 10:08    Titel: Antworten mit Zitat

Code:

UTIL_LogPrintf( "\"%s<%i>\" has joined %sn"...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Leax
Mini JLI'ler



Anmeldedatum: 15.07.2003
Beiträge: 43

Medaillen: Keine

BeitragVerfasst am: 17.07.2003, 10:33    Titel: Antworten mit Zitat

danke.

kannst du mir bitte sagen, was die Zeile eigentlich bedeutet, damit ich den Fehler verstehe? Embarassed Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mr.X
Junior JLI'ler



Anmeldedatum: 15.04.2003
Beiträge: 88

Medaillen: Keine

BeitragVerfasst am: 17.07.2003, 11:00    Titel: Antworten mit Zitat

Wenn ich das richtig interpretiere, dann sorgt die Funktion "UTIL_LogPrintf" nur dafür, das in eine Textdatei (Logfile) eine Zeile geschrieben wird, in welcher steht welcher Spieler (->netname) gerade welchem team (pTeamname) beigetreten ist.

Dein Fehler lag allerdings darin, das Du einen ungültigen Funktionsaufruf hattest. Du sollst der Funktion als ersten Parameter einen String übergeben. Dieser fängt mit einem " an und hört mit einem " auch auf. Innerhalb dieses Strings hasst Du ebenfalls " verwendet, ohne aber diese Zeichen maskiert zu haben (vorangestelltes Backslash \), womit der Compiler bereits beim ersten " den String für beendet hielt und alles danach nur Undefiniertes für den Compiler war. Daher die Fehlermeldung!


Zuletzt bearbeitet von Mr.X am 17.07.2003, 11:02, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 17.07.2003, 11:02    Titel: Antworten mit Zitat

Naja, da wird in ein Logfile der Name, die Id und der Teamname ausgegeben, könnte in der Log-Datei z.B. so aussehen:


"Leax<42>" has joined JLI-Teamn (was das n soll weiss ich nicht)

In der LogPrintf oder auch printf-Funktion wird das %s durch den ersten String ( pPlayer->pev->netname) ersetzt, das %i durch den Wert GETPLAYERUSERID( pPlayer->edict() ) und das letzte %s durch pTeamName. Schau dir mal die Dokumentation von printf an.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Leax
Mini JLI'ler



Anmeldedatum: 15.07.2003
Beiträge: 43

Medaillen: Keine

BeitragVerfasst am: 17.07.2003, 11:45    Titel: Antworten mit Zitat

laut meinem Wissen ist printf doch ein Befehl aus C, oder?


Also das mit der Logdatei kann man so sagen, das wird dann eben in die Spielkonsole geschrieben.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum