Jump to content
Geplaatst:
comment_1703559

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;
}

Featured Replies

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.