Hi brotfische ,
ich habe ein problem bei meinem report system undzwar ist es dass da steht z.b lcp9 reportet (HIER SOLLT EIgentlich ein name stehen kommt aber nicht) with the text: test
ich habe hir nochmal den code für euch:
ocmd:report(playerid,params[])
{
new pID, text;
if(sscanf(params,"us",pID,text))return SendClientMessage(playerid,ROT,"/report [id] [text]");
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
new name[MAX_PLAYER_NAME];
GetPlayerName(pID,name,sizeof(name));
new string1[128];
format(string1,sizeof(string1),"%s reported %s with the text : %s",pname,name,text);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(isPlayerAnAdmin(i,1))
{
SendClientMessage(i,BLAU,string1);
}
}
return 1;
}
problem bei /report [id] [reason] sytsem
- Nixon
- Geschlossen
- Erledigt
-
-
Ich persönlich sehe da jetzt keinen Fehler.
Kopiere mal aus deinem Chatlog was da raus kommt.
Ansonsten mal pID, playerid, pname und name mal mit printf in der Konsole ausgebenGruß
-
Ich persönlich sehe da jetzt keinen Fehler.
Kopiere mal aus deinem Chatlog was da raus kommt.
Ansonsten mal pID, playerid, pname und name mal mit printf in der Konsole ausgebenGruß
was meinst du mit printf ich weiss net was dat ist
und es steht immer wenn ich den command ausführe wie schon gesgat : lcp9 reported (nichts obwohl das narme stehen muss) with the text: test
oder was ist sonst chatlog? -
Versuch es mal so
ocmd:report(playerid,params[])
{
new pID, text;
if(sscanf(params,"us",pID,text))return SendClientMessage(playerid,ROT,"/report [id] [text]");
if ( !IsPlayerConnected(pID) ) return SendClientMessage(playerid, ROT, "Der Spieler ist nicht online!");
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
new name[MAX_PLAYER_NAME];
GetPlayerName(pID,name,sizeof(name));
new string1[128];
format(string1,sizeof(string1),"%s reported %s with the text : %s",pname,name,text);printf("[TEST] Name1 : %s, Name2 : %s, playerid: %i, pID : %i, Text: %s",pname, name, playerid, pID, text);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(isPlayerAnAdmin(i,1))
{
SendClientMessage(i,BLAU,string1);
}
}
return 1;
}Danach schaust du in die konsole und sagst was da stehst.
Am besten einfach ein screenshot davon.Gruß
-
was in der console steht ?
nichts ich habe doch kein sendrcon
oder so gemacht
//edit achso dark shadow dieses printf macht das und was da steht ist alles ausser name2 (mein problem) und bei pID stand 105
//edit das stand da:
[hide]
[14:39:34] [TEST] Name1 : lcp9, Name2 : , playerid: 1, pID : 105, Text: hi[/hide] -
printf ist ein Befehl der in die Konsole schreibt...
-
habs editiret
und nein es klappt nicht -
Du musst die variable "text" auch als string deklarieren.
new text[/*länge des strings*/]; -
printf ist ein Befehl der in die Konsole schreibt...
Kein C++ gelernt?
"Printf wird in C++ benutzt um in einer Console auszugeben!"
ocmd:report(playerid,params[])
{
new pID, text[99];
if(sscanf(params,"us",pID,text))return SendClientMessage(playerid,ROT,"/report [id] [text]");
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
new name[MAX_PLAYER_NAME];
GetPlayerName(pID,name,sizeof(name));
new string1[128];
format(string1,sizeof(string1),"%s reported %s with the text : %s",pname,name,text);
for(new i=0; i < MAX_PLAYERS; i++)
{
if(isPlayerAnAdmin(i,1))
{
SendClientMessage(i,BLAU,string1);
}
}
return 1;
}Schon besser
-
Du musst die variable "text" auch als string deklarieren.
new text[/*länge des strings*/];
extrem vielen dank aber jetzt habe ich nich ne frage warum hat das denn jetzt geklappt mein problem war doch nicht der text sondern die pID
und der narme des spielers und sonst habe ich es auch so gemacht und hat geklppt. -
-
Was ein besserwisser xD
Eigl schreibt das Script auch garnichts in die Konsole sondern nur in die server_log, die dann in der Konsole angezeigt wird.Außerdem C++ bin ich nur im Konsolenbereich also nicht wirklich weit
@lcp
Weil sscanf es einfach falsch ausgelesen hat.
Die ID war 105 vermute irgendein ASCII Wert von h oder sonst irgendwas...Gruß
-
Was ein besserwisser xD
Eigl schreibt das Script auch garnichts in die Konsole sondern nur in die server_log, die dann in der Konsole angezeigt wird.Außerdem C++ bin ich nur im Konsolenbereich also nicht wirklich weit
@lcp
Weil sscanf es einfach falsch ausgelesen hat.
Die ID war 105 vermute irgendein ASCII Wert von h oder sonst irgendwas...Gruß
Du weißt das erst ins Log geschrieben wird, wenn es in der Konsole passiert?
105 hmm kann es sein das es INVALID ist? D:
MfG
Geronimo -
Was ein besserwisser xD
Eigl schreibt das Script auch garnichts in die Konsole sondern nur in die server_log, die dann in der Konsole angezeigt wird.Außerdem C++ bin ich nur im Konsolenbereich also nicht wirklich weit
@lcp
Weil sscanf es einfach falsch ausgelesen hat.
Die ID war 105 vermute irgendein ASCII Wert von h oder sonst irgendwas...Gruß
wer soll besser wisser sein? ich doch nicht oder? -
Gemeint war geronimo ...
Wie siehts aus mit deinem Prob. ? -
breadfish.de
Hat das Thema geschlossen.