login system werkt niet
Featured Replies
Recent actief 0
- Er zijn hier geen geregistreerde gebruikers aanwezig.
Een betere weg om onze GTA community te volgen. Leer meer.
Een volledig scherm app op het beginscherm inclusief notificaties, badges en meer.
ik heb een admin system gemaakt , als ik inlog werkt het goed maar als er daarna nog iemand in de server komt ben ik ineens uitgelogd en moet ik opnieuw inloggen.
weet iemand waardoor dit komt
//======================================================== public OnPlayerConnect(playerid) { for (new i = 0; i < MAX_PLAYERS; i++) { logged[i] = 0; if(logged[i] == 1) { TextDrawShowForPlayer(i, PlayerStats[i]); } par12[i] = true; par22[i] = true; par32[i] = true; if(logged[i] == 0) { SendClientMessage(i, COLOR_RED, "Typ /login [password] to login"); SendClientMessage(i, COLOR_RED, "Typ /register [password] to make an Account"); GetPlayerName(i, playername, sizeof(playername)); } } return 1; } //======================================================== public OnPlayerSpawn(playerid) { if(logged[playerid] == 0) { for(new i=0;i<MAX_PLAYERS;i++) { SendClientMessage(i, COLOR_RED, "Typ /login [password] to login"); SendClientMessage(i, COLOR_RED, "Typ /register [password] to make an Account"); } } return 1; } //======================================================== public OnPlayerDeath(playerid,killerid,reason) { if(logged[playerid] == 1) { kills[killerid]++; deaths[playerid]++; SetPlayerScore(killerid, GetPlayerScore(killerid) + 10); SetPlayerScore(playerid, GetPlayerScore(playerid) - 10); GivePlayerMoney(killerid, 500); TextDrawShowForPlayer(killerid, Text:KILLP); PlayerPlaySound(killerid, 1057, 0.0, 0.0, 10.0); SetTimerEx("stuntoff", 3000, false, "i", killerid); TextDrawShowForPlayer(playerid, Text:DEATHP); PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.0); SetTimerEx("stuntoff", 3000, false, "i", playerid); } return 1; } //======================================================== public OnPlayerCommandText(playerid, cmdtext[]) { for (new i = 0; i < MAX_PLAYERS; i++) { new cmd[256],tmp[256], tmp2[256]; new idx; new string[256]; cmd = strtok(cmdtext, idx); GetPlayerName(i, playername, sizeof(playername)); if(strcmp(cmd, "/register", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(i, COLOR_YELLOW, "USAGE: /register (password)"); } else { if (!dini_Exists(udb_encode(playername))) { dini_Create(udb_encode(playername)); dini_IntSet(udb_encode(playername), "password", udb_hash(tmp)); dini_IntSet(udb_encode(playername), "money", 1000); dini_IntSet(udb_encode(playername), "score", 0); dini_IntSet(udb_encode(playername), "kills", 0); dini_IntSet(udb_encode(playername), "deaths", 0); dini_IntSet(udb_encode(playername), "stunts", 0); format(string, sizeof(string), "Account %s has been created! password : %s.", playername, tmp); SendClientMessage(i, COLOR_YELLOW, string); } else { format(string, sizeof(string), "%s already registered!", playername,tmp); SendClientMessage(i, COLOR_RED, string); } } return 1; } if(strcmp(cmd, "/login", true) == 0) { if(logged[i] == 1) { SendClientMessage(i, COLOR_RED, "already logged in!"); return 1; } if(logged[i] == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(i, COLOR_YELLOW, "USAGE: /login (password)"); } else { if (dini_Exists(udb_encode(playername))) { tmp2 = dini_Get(udb_encode(playername), "password"); if (udb_hash(tmp) != strval(tmp2)) { SendClientMessage(i, COLOR_RED, "Wrong password!."); } else { logged[i] = 1; money[i] = dini_Int(udb_encode(playername), "money"); score[i] = dini_Int(udb_encode(playername), "score"); kills[i] = dini_Int(udb_encode(playername), "kills"); deaths[i] = dini_Int(udb_encode(playername), "deaths"); stunts[i] = dini_Int(udb_encode(playername), "stunts"); format(string, sizeof(string), "%s, you are now logged in. stuntpoints: %d money: %d", playername, stunts[i], money[i]); SendClientMessage(i, COLOR_GREEN, string); format(string, sizeof(string), "Kills: %d | Deaths: %d", kills[i], deaths[i]); SendClientMessage(i, COLOR_GREEN, string); GivePlayerMoney(i, money[i]); SetPlayerScore(i, score[i]); } } else { format(string, sizeof(string), "Account %s, does not exist! Typ /register [password] to create an Account.", playername); SendClientMessage(i, COLOR_RED, string); } } return 1; } } return 0; } return 0; } //======================================================== public OnPlayerDisconnect(playerid, reason) { for (new i = 0; i < MAX_PLAYERS; i++) { if(logged[playerid] == 1) { money[playerid] = GetPlayerMoney(i); score[playerid] = GetPlayerScore(i); dini_IntSet(udb_encode(playername), "money", money[i]); dini_IntSet(udb_encode(playername), "score", score[i]); dini_IntSet(udb_encode(playername), "kills", kills[i]); dini_IntSet(udb_encode(playername), "deaths", deaths[i]); dini_IntSet(udb_encode(playername), "stunts", stunts[i]); } logged[i] = 0; } return 1; } //======================================================== stock GetKills(playerid) { return kills[playerid]; } stock GetDeaths(playerid) { return deaths[playerid]; } stock Getstunts(playerid) { return stunts[playerid]; } //======================================================== public StatsInfromation() { new str[128]; for(new i=0;i<MAX_PLAYERS;i++) { if (IsPlayerConnected(i)) { if(logged[i] == 0) { TextDrawShowForPlayer(i, PlayerStatsNot[i]); TextDrawHideForPlayer(i, PlayerStats[i]); } if(logged[i] == 1) { format(str, sizeof(str), "Kills: %d Deaths: %d stuntpoints: %d money: %d score: %d" , GetKills(i), GetDeaths(i), Getstunts(i), GetPlayerMoney(i), GetPlayerScore(i)); TextDrawSetString(PlayerStats[i],str); TextDrawShowForPlayer(i, PlayerStats[i]); TextDrawHideForPlayer(i, PlayerStatsNot[i]); } } } return 1; }