Hallo
Ich habe ein Problem mit dem Dienstcode.
Wenn ich einen Code wähle, z.b. 2409. dann ist der Code nicht 2409 sondern 65535....
Wo ist mein Fehler? ´Wenn Ihr einen Pawno Code braucht bitte sagen..
Hallo
Ich habe ein Problem mit dem Dienstcode.
Wenn ich einen Code wähle, z.b. 2409. dann ist der Code nicht 2409 sondern 65535....
Wo ist mein Fehler? ´Wenn Ihr einen Pawno Code braucht bitte sagen..
Warum fragst du denn erst ob wir den Code dazu brauchen?
Ja, der wird gebraucht!
ocmd:setdienstcode(playerid,params[]){ new Code, CodeString[256],CodeString2[256], pID; if(sscanf(params,"uu",pID,Code)) return SendClientMessage(playerid, Rot,"/setdienstcode [SpielerID][DienstCode]"); format(CodeString, sizeof(CodeString),"{FF6347}[DIENST-CODE] {FEFEFE}Du hast %s einen Dienst-Code zugewiesen",SpielerName(pID)); format(CodeString2, sizeof(CodeString2),"{FF6347}[DIENST-CODE] {FEFEFE}Leader %s hat Dir den Dienst-Code: %i zugewiesen",SpielerName(playerid),Code); SpielerInfo[playerid][DienstCode] = Code; SendClientMessage(playerid, Weiss, CodeString); SendClientMessage(pID, Weiss, CodeString2); SpielerSpeichern(playerid); return 1;}
Jetzt ist das Problem , dass wenn man den Code eingegeben hat, dass nicht die Nchricht (Du bist im Dienst) kommt.
Dialog:
if(dialogid == DienstSystem2)
{
if(response)
{
if(listitem == 0)
{
if(strval(inputtext) < 1000 || strval(inputtext) > 5000)
{
SendClientMessage(playerid, Rot,"Dieser Code existiert nicht");
ShowPlayerDialog(playerid, DienstSystem2, DIALOG_STYLE_INPUT,"Dienst","Geben Sie Ihren Dienst-Code ein","Bestätigen","Abbrechen");
}
else if(strval(inputtext) > 1000 || strval(inputtext) < 5000)
{
if(strval(inputtext) == SpielerInfo[playerid][DienstCode])
{
SendClientMessage(playerid,Gelb,"Sie sind im Dienst");
}
}
}
if(listitem == 1)
{
}
}
}
Setze doch einfach mal vor der Abfrage if(strval(inputtext) == SpielerInfo[playerid][DienstCode]) das, damit wir sehen können welche Werte die beiden Sachen haben:
printf("inputtext: %d - DienstCode: %d",strval(inputtext),SpielerInfo[playerid][DienstCode]);
In der Konsole wird nichts angezeigt
Wahrscheinlich muss das so, denn du musst das zweite zu && ändern.
if(dialogid == DienstSystem2)
{
if(response)
{
if(listitem == 0)
{
if(strval(inputtext) < 1000 || strval(inputtext) > 5000)
{
SendClientMessage(playerid, Rot,"Dieser Code existiert nicht");
ShowPlayerDialog(playerid, DienstSystem2, DIALOG_STYLE_INPUT,"Dienst","Geben Sie Ihren Dienst-Code ein","Bestätigen","Abbrechen");
return 1;
}
else if(strval(inputtext) > 1000 && strval(inputtext) < 5000)
{
if(strval(inputtext) == SpielerInfo[playerid][DienstCode])
{
SendClientMessage(playerid,Gelb,"Sie sind im Dienst");
}
}
}
else if(listitem == 1)
{
}
}
return 1;
}
Alles anzeigen
Ingame passiert immer noch nichts.. und in der Konsole wird auch nichts angezeigt..
Problem gefunden!! Ich hatte Listitem obwohl ich vorher als DIALOG_STYLE einen Input hatte.. Mein Fehler. (Idioten Modus)..