Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: System32 poslato Jun 01, 2011, 10:16:19 PRE PODNE

Naslov: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: System32 poslato Jun 01, 2011, 10:16:19 PRE PODNE
Skripta koju koristim: iStunt
Detaljan opis problema: kad se idem prijavit i ako kucam krivu lozinku doci ce mi upisali ste blablabla i onda ako opet ukucam isto krivu lozinku on ce se logirati :( a zelim da se to makne ili ako kuca 3 puta krivu da ga kicka
Dio skripte:
Ovo je pod OnDialogResponse, neznam ako vam treba ono sto ima po OnPlayerConnect dacu ali to je samo za reg/log bez pogresne lozinke
if (dialogid == 1)
{
        new name[MAX_PLAYER_NAME], file[256], string[128];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Niste registrirani", "Dobrodošli, niste registrirani! Molim registrirajte se za daljnju igru!", "Register", "Leave");
        dini_Create(file);
        dini_IntSet(file, "Lozinka", udb_hash(inputtext));
        dini_IntSet(file, "Admin Level",PlayerInfo[playerid][pAdminLevel] = 0);
        dini_IntSet(file, "Money",PlayerInfo[playerid][pMoney] = 0);
        dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 0);
        dini_IntSet(file, "Kills",PlayerInfo[playerid][pKills] = 0);
        dini_IntSet(file, "Deaths",PlayerInfo[playerid][pDeaths] = 0);
        dini_IntSet(file, "Skin",PlayerInfo[playerid][pSkin] = 0);
        format(string, 128, "Registrirali ste se s imenom %s i s lozinkom %s, automatski ste logirani!", name, inputtext);
        SendClientMessage(playerid, COLOR_YELLOW, string);
        gPlayerLogged[playerid] = 1;
}
if  (dialogid == 2)
{
        new name[MAX_PLAYER_NAME], file[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se!", "Login", "Leave");
        new tmp;
        tmp = dini_Int(file, "Lozinka");
        if(udb_hash(inputtext) != tmp) {
            SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka.");
            ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "PogreÅ¡na lozinka!", "{FF00EA}Upisali ste pogreÅ¡nu lozinku!\n\n\n{F81414}Molimo pokuÅ¡ajte ponovo!", "Login", "Leave");
        }
        else
        {
            gPlayerLogged[playerid] = 1;
            PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "Admin Level");
            PlayerInfo[playerid][pScore] = dini_Int(file, "Score");
            PlayerInfo[playerid][pMoney] = dini_Int(file, "Money");
            PlayerInfo[playerid][pKills] = dini_Int(file, "Kills");
            PlayerInfo[playerid][pDeaths] = dini_Int(file, "Deaths");
            PlayerInfo[playerid][pSkin] = dini_Int(file, "Skin");
        }
    }

Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: Johnny poslato Jun 01, 2011, 10:19:04 PRE PODNE
Mozda ti ovo pomogne



gPlayerLogged[playerid] = 1;   // upisi mesto jedan 3 nzm sta da ti kazem xD
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: TiXoR_ poslato Jun 01, 2011, 10:23:24 PRE PODNE
Citat: Johnny[E] poslato Jun 01, 2011, 10:19:04 PRE PODNE
Mozda ti ovo pomogne



gPlayerLogged[playerid] = 1;   // upisi mesto jedan 3 nzm sta da ti kazem xD

To znači da je logiran ako je 1 , ako je 0 znači da nije logiran.
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: Johnny poslato Jun 01, 2011, 10:28:06 PRE PODNE
Citat: [SX:RP] aleluja poslato Jun 01, 2011, 10:23:24 PRE PODNE
Citat: Johnny[E] poslato Jun 01, 2011, 10:19:04 PRE PODNE
Mozda ti ovo pomogne



gPlayerLogged[playerid] = 1;   // upisi mesto jedan 3 nzm sta da ti kazem xD

To znači da je logiran ako je 1 , ako je 0 znači da nije logiran.

Izvalio sam al nisam teo edit post malo da budem gl*p :D
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: System32 poslato Jun 01, 2011, 10:33:24 PRE PODNE
ma vraga, nece
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: [TG:RP]$--L84S--$ poslato Jun 01, 2011, 10:39:16 PRE PODNE
msm da je to sa tries ovako nesto gPlayerLogTries[playerid] += 1;

i odma ispod toga još dodaj ovako if(gPlayerLogTries[playerid] == 5) { Kick(playerid); }
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: System32 poslato Jun 01, 2011, 10:58:30 PRE PODNE
Citat: $--L84S--$ poslato Jun 01, 2011, 10:39:16 PRE PODNE
msm da je to sa tries ovako nesto gPlayerLogTries[playerid] += 1;

i odma ispod toga još dodaj ovako if(gPlayerLogTries[playerid] == 5) { Kick(playerid); }
di cu s tim, stavio sam gore new gPlayerLogTries[MAX_PLAYERS] +=1; pa nece i to sam ispod, mozes bolje rci ili opisat? :D
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: [TG:RP]$--L84S--$ poslato Jun 01, 2011, 14:57:30 POSLE PODNE
Citat: [AG] System32 poslato Jun 01, 2011, 10:58:30 PRE PODNE
Citat: $--L84S--$ poslato Jun 01, 2011, 10:39:16 PRE PODNE
msm da je to sa tries ovako nesto gPlayerLogTries[playerid] += 1;

i odma ispod toga još dodaj ovako if(gPlayerLogTries[playerid] == 5) { Kick(playerid); }
di cu s tim, stavio sam gore new gPlayerLogTries[MAX_PLAYERS] +=1; pa nece i to sam ispod, mozes bolje rci ili opisat? :D
Ovako prvo gore na vrh staviš new gPlayerLogTries[MAX_PLAYERS];
onda pod public OnPlayerConncet stai gPlayerLogTries[playerid] = 0;
i onda si u dialog stavi ovako ovaj dio sta cu ti psotat

    if(udb_hash(inputtext) != tmp) { 
            SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka."); 
            ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "PogreÅ¡na lozinka!", "{FF00EA}Upisali ste pogreÅ¡nu lozinku!\n\n\n{F81414}Molimo pokuÅ¡ajte ponovo!", "Login", "Leave"); 
            gPlayerLogTries[playerid] += 1;
    if(gPlayerLogTries[playerid] == 10) { Kick(playerid); }
}

pa mi javi nisam siguran :D
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: System32 poslato Jun 01, 2011, 19:39:29 POSLE PODNE
a brate nece, ovako sam stavio
if (dialogid == 1)
{
        new name[MAX_PLAYER_NAME], file[256], string[128];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Niste registrirani", "Dobrodošli, niste registrirani! Molim registrirajte se za daljnju igru!", "Register", "Leave");
        dini_Create(file);
        dini_IntSet(file, "Lozinka", udb_hash(inputtext));
        dini_IntSet(file, "Admin Level",PlayerInfo[playerid][pAdminLevel] = 0);
        dini_IntSet(file, "Money",PlayerInfo[playerid][pMoney] = 0);
        dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 0);
        dini_IntSet(file, "Kills",PlayerInfo[playerid][pKills] = 0);
        dini_IntSet(file, "Deaths",PlayerInfo[playerid][pDeaths] = 0);
        dini_IntSet(file, "Skin",PlayerInfo[playerid][pSkin] = 0);
        format(string, 128, "Registrirali ste se s imenom %s i s lozinkom %s, automatski ste logirani!", name, inputtext);
        SendClientMessage(playerid, COLOR_YELLOW, string);
        gPlayerLogged[playerid] = 1;
}
if  (dialogid == 2)
{
        new name[MAX_PLAYER_NAME], file[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se!", "Login", "Leave");
        new tmp;
        tmp = dini_Int(file, "Lozinka");
        /*if(udb_hash(inputtext) != tmp) {
            ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "PogreÅ¡na lozinka!", "{FF00EA}Upisali ste pogreÅ¡nu lozinku!\n\n\n{F81414}Molimo pokuÅ¡ajte ponovo!", "Login", "Leave");
        }*/
        if(udb_hash(inputtext) != tmp) {
        ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "PogreÅ¡na lozinka!", "{FF00EA}Upisali ste pogreÅ¡nu lozinku!\n\n\n{F81414}Molimo pokuÅ¡ajte ponovo!", "Login", "Leave");
        gPlayerLogTries[playerid] += 1;
    if(gPlayerLogTries[playerid] == 10) { Kick(playerid); }
}
        else
        {
            gPlayerLogged[playerid] = 0;
PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "Admin Level");
            PlayerInfo[playerid][pScore] = dini_Int(file, "Score");
            PlayerInfo[playerid][pMoney] = dini_Int(file, "Money");
            PlayerInfo[playerid][pKills] = dini_Int(file, "Kills");
            PlayerInfo[playerid][pDeaths] = dini_Int(file, "Deaths");
            PlayerInfo[playerid][pSkin] = dini_Int(file, "Skin");
        }
    }

Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: BloodMaster poslato Jun 01, 2011, 20:19:20 POSLE PODNE
kreiraj varijablu koja ce se za svaki pokusaj povecavati za 1. Kada dodje na 3 stavis da ga kicka
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: System32 poslato Jun 01, 2011, 20:30:57 POSLE PODNE
Citat: [AG] BloodMaster poslato Jun 01, 2011, 20:19:20 POSLE PODNE
kreiraj varijablu koja ce se za svaki pokusaj povecavati za 1. Kada dodje na 3 stavis da ga kicka
pricaj mi... Kakavu varijablu da napravim? Zabolila me glava kad sam vidio ovo sve mi reci samo ne varijable
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: Rotcod poslato Jun 01, 2011, 20:34:24 POSLE PODNE
if(udb_hash(inputtext) != tmp)
{
   if(GetPVarInt(playerid,"Pokusaj") == 3) return Kick(playerid);
       SetPVarInt(playerid,"Pokusaj", GetPVarInt(playerid,"Pokusaj") + 1);
       SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka.");  
       ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "PogreÅ¡na lozinka!", "{FF00EA}Upisali ste pogreÅ¡nu lozinku!\n\n\n{F81414}Molimo pokuÅ¡ajte ponovo!", "Login", "Leave");  
}  
Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: BloodMaster poslato Jun 01, 2011, 20:39:05 POSLE PODNE
Citat: [AG] System32 poslato Jun 01, 2011, 20:30:57 POSLE PODNE
Citat: [AG] BloodMaster poslato Jun 01, 2011, 20:19:20 POSLE PODNE
kreiraj varijablu koja ce se za svaki pokusaj povecavati za 1. Kada dodje na 3 stavis da ga kicka
pricaj mi... Kakavu varijablu da napravim? Zabolila me glava kad sam vidio ovo sve mi reci samo ne varijable

Otvorio si 40ak tema za pomoc ovdje... Valjda bi do sad trebao znati koristiti "new"...

Naslov: Odg: [Pomoc] 3 puta pogresna lozinka = kick
Poruka od: System32 poslato Jun 01, 2011, 20:44:49 POSLE PODNE
Citat: [AG] BloodMaster poslato Jun 01, 2011, 20:39:05 POSLE PODNE
Citat: [AG] System32 poslato Jun 01, 2011, 20:30:57 POSLE PODNE
Citat: [AG] BloodMaster poslato Jun 01, 2011, 20:19:20 POSLE PODNE
kreiraj varijablu koja ce se za svaki pokusaj povecavati za 1. Kada dodje na 3 stavis da ga kicka
pricaj mi... Kakavu varijablu da napravim? Zabolila me glava kad sam vidio ovo sve mi reci samo ne varijable

Otvorio si 40ak tema za pomoc ovdje... Valjda bi do sad trebao znati koristiti "new"...


nisu sve za Razgovor u vezi PAWN-skriptanja, te varijable mi najvise idu na zivce i neznam s njima, sve kako tako ali to ne, sta cu, napravim varijablu i dje cu s njom u PM