[HELP] Auto Login - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (
https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: [HELP] Auto Login (
/showthread.php?tid=148048)
[HELP] Auto Login -
Ironboy500 - 15.05.2010
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.
Re: [HELP] Auto Login -
juice.j - 15.05.2010
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