hab gerade oben gelesen, hier ist der Fehler..
Der Dialog wird dir oft pro Sekunde gesendet, sodass du fast keine Möglichkeit hast etwas einzugeben.
ah stimmt das wegen kann ich nicht eingeben^^ danke.
aber es funktionirt noch nicht so ganz das er das aus der .ini liest
habe das nun so gemacht:
Ganz oben:
new tuerpasswort[128];
in public OnGameModeInit()
dini_Set("Türpasswort.ini","Passwort",tuerpasswort);
(weil das nicht funtionirt: tuerpasswort = dini_Set("Türpasswort.ini","Passwort");)
in public OnGameModeExit()
dini_Set("Türpasswort.ini","Passwort",tuerpasswort);
der befehl:
if(strcmp(cmd,"/türpw",true)==0)
{
if(PlayerInfo[playerid][pLeader] == 1)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du bist kein cop");
return 1;
}
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,0xFF0000FF,"Benutze: /türpw [Neues Passwort]");
return 1;
}
if(strcmp(tmp,tuerpasswort,true)==0)
{
SendClientMessage(playerid,0xFF0000FF,"Das ist dasselbe Passwort! Nutze ein anderes!");
return 1;
}
format(tuerpasswort,sizeof(tuerpasswort),"%s",tmp);
format(string,sizeof(string),"Das neue Passwort ist: %s",tmp);
SendClientMessage(playerid,0xFF0000FF,string);
return 1;
}
Dialog:
if(dialogid == DIALOG_Password)
{
if(strcmp(inputtext,tuerpasswort,true)==0)
{
SendClientMessage(playerid,COLOR_RED,"Tür öffnet sich");
}
else
{
SendClientMessage(playerid,COLOR_RED,"Tür bleibt leider zu falsches password");
}
}
und der befehl für die tür:
if(strcmp(cmd, "/tür", true) == 0)
{
if (!PlayerToPoint(2.0, playerid,1520.6512,-1625.4971,13.5469))
{
SendClientMessage(playerid, COLOR_GREEEN, "Du bist nicht an der Tür");
return 1;
}
ShowPlayerDialog(playerid,DIALOG_Password,DIALOG_STYLE_INPUT,"Password","Gib das Password ein!","Ok","Abbrechen");
return 1;
}
aber immer wenn ich im dialog z.B 123 eingebe was falsch ist dann kommt:
Tür öffnet sich
und wenn ich /türpw mache kommt immer:
Das ist dasselbe Passwort! Nutze ein anderes!
Aber warum ?
//edit