OnPlayerConnect-nél, a login dialog megjelenésénél létrehozol pl. egy kickszamlalo változót, aminek nulla lesz az értéke.
A jelszó beírásakor leellenőrzöd, hogy a beírt jelszó megegyezik-e a játékos nevéhez tartozó jelszóval. Amennyiben igen, értelemszerűen bejelentkezünk, amennyiben nem, a kickszamlalo értéke nőjjön egyel.
Ha ez az érték eléri a hármat:
If(Enumnev[playerid][kickszamlalo] == 5)
{
Kick(playerid);
return 1;
}
Addig sikerült eljutnom hogy újra megkérdezze a jelszót de nem számolta hogy eddig mennyit rontott és spawn után egyből kickelt.
Ez van alapból \"OnPlayerConnect\" alatt:
Dialog_Login(playerid, response, inputtext[])
{
switch (response) // Check which button was clicked
{
case 1: // Player clicked \"Login\"
{
// Check if the player entered a password
if (strlen(inputtext) > 0)
{
// Check if the entered password is the same as the password saved in the player\'s account
if (strcmp(APlayerData[playerid][PlayerPassword], inputtext, false) == 0)
{
APlayerData[playerid][LoggedIn] = true; // The player has logged in properly
BankFile_Load(playerid); // Load your bank account (if it exists, the player will be notified about this)
SendClientMessage(playerid, 0xFFFFFFFF, TXT_LoggedIn); // Send a message to the client to inform him that he logged in properly
}
else
{
SendClientMessage(playerid, 0xFFFFFFFF, TXT_WrongPassword);
Kick(playerid);
}
}
else
{
SendClientMessage(playerid, 0xFFFFFFFF, TXT_WrongPassword);
Kick(playerid);
}
}
case 0: // Player clicked \"Cancel\"
{
// Show a message that the player must be logged in to play on this server
SendClientMessage(playerid, 0xFFFFFFFF, TXT_PlayerMustLogin);
// Kick the player
Kick(playerid);
}
}
return 1;
}