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):
Mozda ti ovo pomogne
gPlayerLogged[playerid] = 1; // upisi mesto jedan 3 nzm sta da ti kazem xD
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.
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
ma vraga, nece
msm da je to sa tries ovako nesto gPlayerLogTries[playerid] += 1;
i odma ispod toga još dodaj ovako if(gPlayerLogTries[playerid] == 5) { Kick(playerid); }
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
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
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");
}
}
kreiraj varijablu koja ce se za svaki pokusaj povecavati za 1. Kada dodje na 3 stavis da ga kicka
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
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");
}
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"...
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