GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: speti9603 - 2014. augusztus 01. - 18:23:58

Cím: jelszavas kapu bug
Írta: speti9603 - 2014. augusztus 01. - 18:23:58
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]
Cím: jelszavas kapu bug
Írta: BackUP - 2014. augusztus 01. - 18:31:52
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!\");
Cím: jelszavas kapu bug
Írta: speti9603 - 2014. augusztus 01. - 18:43:26
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
Cím: jelszavas kapu bug
Írta: BackUP - 2014. augusztus 01. - 18:52:02
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.
Cím: jelszavas kapu bug
Írta: speti9603 - 2014. augusztus 01. - 18:57:42
ja, csak nem olvastam végig, most már értem köszi :) ment a zöld pacsi
Cím: jelszavas kapu bug
Írta: Dfoglalo - 2014. augusztus 01. - 20:46:38
É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.