Problem(error/warning): LoginPokusaji kako napraviti to
Pawno Code: kako to napraviti
Dio skripte: [ pawn ]//
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]nepotrbeno[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
pomoc ?
444
pregleda
2
postova
11. Jul 2021.
E ovako, za tako nesto ti je potreban brojac :
Pravimo jednu globalnu promenljivu gde cemo da cuvano login pokusaje igraca.
Najbolje da je pri OnPlayerConnect resetujes na 0 :
Sada u zavisnosti od toga sta koristis za proveru lozinke, uglavnom u dialog_login nadjes gde se proverava da li je igrac uneo pravu sifru. Ako jeste uneo, onda ga uloguje i spawna na server. Ako nije uneo pravu sifru, treba da povecas vrednost promenljive i opet izbacis dialog, to izgleda otprilike ovako :
Ovo ti je ceo kod, ako ti nesto nije jasno, ti reci
new loginCount; Pravimo jednu globalnu promenljivu gde cemo da cuvano login pokusaje igraca.
Najbolje da je pri OnPlayerConnect resetujes na 0 :
public OnPlayerConnect(playerid) {
loginCount = 0; //Resetujemo je kada se igrac poveze na server
return 1;
}
Sada u zavisnosti od toga sta koristis za proveru lozinke, uglavnom u dialog_login nadjes gde se proverava da li je igrac uneo pravu sifru. Ako jeste uneo, onda ga uloguje i spawna na server. Ako nije uneo pravu sifru, treba da povecas vrednost promenljive i opet izbacis dialog, to izgleda otprilike ovako :
new loginCount; //Deklarisemo novu promenljivu
public OnPlayerConnect(playerid) {
loginCount = 0; //Resetujemo je kada se igrac poveze na server
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
if(dialogid == dialog_LOGIN) { //Response za nas dialog Login
if(!response) return Kick( playerid ); //Ako izadje iz dialoga da ga kickuje
if(response) {
if(!strcmp(inputtext, PlayerInfo, false) && !isnull(inputtext)) {
//Uloguje igraca zato sto je uneo pravu sifru
return 1;
}
else { //Ako promasi lozinku
loginCount++; //Povecamo promenljivu za 1
if(loginCount == 3) { // Ako je omasio 3 puta
Kick(playerid); //Kick igraca
return 1;
}
//Sada ovde samo opet prikazemo dialog za login i ako hoces mozes staviti broj pokusaja koje ima
}
}
return 1;
}
return 1;
}Ovo ti je ceo kod, ako ti nesto nije jasno, ti reci
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava
