[HELP] Auto Login
#1

Hello I am having problems with my auto login.

This is my script, OnPlayerConnect

Код:
new ip[16];
	GetPlayerIp(playerid,ip,16);
  if(IsPlayerRegistered(Name(playerid)) == 1 && IsLogged[playerid] == 1)
  {
    new strq[512];
	  	format(strq, sizeof(strq), "SELECT `IP`,`Money`,`Admin Level`,`VIP`,`Kills`,`Deaths` FROM `users` WHERE `Username` = '%s'", Name(playerid));
		query(strq);
		mysql_store_result();
		mysql_fetch_row_format(line, "|");
		FIP = strtokm(line, index, '|');
		if(!strcmp(ip,FIP,true))
		{
		SendClientMessage(playerid, ORANGE, "Server: Your login session has been continued!");
		lMoney = strval(strtokm(line, index, '|'));
		PlayerInfo[playerid][Admin] = strval(strtokm(line, index, '|'));
		PlayerInfo[playerid][VIP] = strval(strtokm(line, index, '|'));
		PlayerInfo[playerid][Kills] = strval(strtokm(line, index, '|'));
		PlayerInfo[playerid][Deaths] = strval(strtokm(line, index, '|'));
		GivePlayerMoney(playerid,lMoney+GetPlayerMoney(playerid));
		mysql_free_result();
		}
		else
		{
		SendClientMessage(playerid, ORANGE, "Welcome to Team-Wars, to login to your account use /login [password]");
		IsLogged[playerid] = 0;
		}
		if(PlayerInfo[playerid][VIP] == 1)
		{
		format(string, sizeof(string), "Server: VIP %s has logged in!", Name(playerid));
		SendClientMessageToAll(ORANGE, string);
		}
	}
	else
	{
	  format(string,sizeof(string),"Welcome to Team-Wars, %s. To login to your account type /login [password].",Name(playerid));
		IsLogged[playerid] = 0;
		PlayerInfo[playerid][Admin] = 0;
		PlayerInfo[playerid][VIP] = 0;
		PlayerInfo[playerid][Kills] = 0;
		PlayerInfo[playerid][Kills] = 0;
		
	}
OnPlayerDisconnect

Код:
public OnPlayerDisconnect(playerid, reason)
{
  new ip[256];
  GetPlayerIp(playerid, ip, sizeof(ip));
	if(IsRegistered[playerid] == 1 && IsLogged[playerid] == 1)
	{
    new sqlquery[1052];
		format(sqlquery, sizeof(sqlquery), "UPDATE `users` SET `IP` = '%s',`Money` = '%d',`Admin Level` = '%d',`VIP` = '%d',`Kills` = '%d',`Deaths` = '%d' WHERE `Username` = '%s' LIMIT 1 ;",
		ip,GetPlayerMoney(playerid),PlayerInfo[playerid][Admin],PlayerInfo[playerid][VIP],PlayerInfo[playerid][Kills],PlayerInfo[playerid][Deaths],Name(playerid));
		if(!query(sqlquery)) printf("[ERROR]: Cannot save account data for user: %s (id:%d).",Name(playerid), GetPlayerIDFromName(Name(playerid)));
	}
	IsRegistered[playerid] = 0;
	IsLogged[playerid] = 0;
	PlayerInfo[playerid][Admin] = 0;
	PlayerInfo[playerid][VIP] = 0;
	PlayerInfo[playerid][Kills] = 0;
	PlayerInfo[playerid][Kills] = 0;
	return 1;
}
Anyone can help? Thanks.
Reply
#2

If it doesn't work, simply print the strings as debugging and check why they are not the same. Also check a little on your array sizes. new ip[256]; is definitely not necessary . -> 17
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)