-
hali! az a gondom h hiába van egy kapum amit jelszóval lehet kinyitni de ha nem írok be semmit sem csak egy entert nyomok, akkor is kinyílik... tudna vki segíteni?
[pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)
{
//response kezdés
if(dialogid == DIALOG_PASS)
{
{
if(response == 1)
{
if(!strcmp(inputtext,\"3321\")) // ide tetszõleges jelszót írj
{
SendClientMessage(playerid,-1,\"Jelszó megadva! Az ajtó kinyílt...\");
MoveObject(kod,-1011.09613, -1063.24707, 125.11421,5);
csuk = SetTimerEx(\"becsuk\",30000,0,\"i\",playerid);
}
else
{
SendClientMessage(playerid, 0xF50000FF, \"Hibás jelszó!\"); // ha nem jó a jelszó
}
return 1;
}
return 0;
}
}[/pawn]
-
esetleg az \'strcmp\' elõl vedd ki a felkiáltójelet.
Szerk.: Hanem válna be próbáld még ki ezt:
if(!strlen(inputtext)) return SendClientMessage(playerid, -1, \"írj is be valamit!\");
-
ha a strcmp elõl elveszem a ! jelet akkor a megadott jelszó lesz rossz és azon kívül bármit beírsz kinyissa
de am meg beraktam oda
if(!strlen(inputtext,\"3321\"))
de
warning 202: number of arguments does not match definition
-
azt rakd be pontosan amit írtam. ez csak a hosszúságát nézi a beírt szövegnek. Ha nem írt be semmit nincs hosszúsága = nem engedi tovább.
-
ja, csak nem olvastam végig, most már értem köszi :) ment a zöld pacsi
-
Én így használtam ma az strcmp-t és mûködött:
if(strcmp(inputtext, \"3321\", true))
Így elméletileg nem kéne engednie, hogy ha nem írsz be semmit, hibásan egyezzen a két string, illetve akkor lehagyható az ellenõrzés, miszerint a string hossza 0, vagy sem.