Won't load, - 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)
+--- Thread: Won't load, (
/showthread.php?tid=313432)
Won't load, -
Snowman12 - 25.01.2012
Hey,
I am using MySQL and for some reason my coding is wrong as the things I need to load don't:
pawn Код:
stock LoadUserData(playerid)
{
new query[101 + MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], savingstring[11];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(query,sizeof(query),"SELECT `Donator`, `AdminLevel`, `Score`, `Zone`, `Money` FROM `Player_Info` WHERE `Username` = '%s'",pname);
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row_format(query,"|"))
{
mysql_fetch_field_row(savingstring,"Donator"); PlayerInfo[playerid][pDonator] = strval(savingstring);
mysql_fetch_field_row(savingstring,"AdminLevel"); PlayerInfo[playerid][pAdminLevel] = strval(savingstring);
mysql_fetch_field_row(savingstring,"Score"); SetPlayerScore(playerid, strval(savingstring));
mysql_fetch_field_row(savingstring,"Zone"); PlayerInfo[playerid][pZone] = strval(savingstring);
mysql_fetch_field_row(savingstring,"Money"); GivePlayerMoney(playerid, strval(savingstring));
}
mysql_free_result();
return 1;
}
pawn Код:
CMD:login(playerid, params[])
{
new Password[34];
if(sscanf(params, "s[34]", Password)) return SendClientMessage(playerid, COLOR_RED, "Error: /login 'password'");
if(PlayerInfo[playerid][pRegistered] == false) return SendClientMessage(playerid, COLOR_RED, "Error: You are currently not registered");
if(PlayerInfo[playerid][pLogged] == true) return SendClientMessage(playerid, COLOR_RED, "Error: You are already logged in.");
else
{
new Query[108 + MAX_PLAYER_NAME];
mysql_real_escape_string(params, Password);
format(Query, sizeof(Query), "SELECT * FROM `Player_Info` WHERE `Username` = '%s' AND `Password` = '%s'",GetPlayerNameEx(playerid),Password);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() > 0)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: You have successfully logged in.");
// SetTimerEx("LoadData",1000,false,"d",playerid);
LoadUserData(playerid);
PlayerInfo[playerid][pLogged] = true;
DeletePVar(playerid,"InvalidPass");
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Error: You have entered an invalid password please try again.");
SetPVarInt(playerid, "InvalidPass",GetPVarInt(playerid,"InvalidPass")+1);
if(GetPVarInt(playerid,"InvalidPass") == 5)
{
format(Query,sizeof(Query),"** SERVER KICK: %s has been kicked from the server - Incorrect Login.",GetPlayerNameEx(playerid));
SendClientMessageToAll(COLOR_PINK, Query);
Kick(playerid);
}
}
}
return 1;
}
I'm not sure what's wrong as it shows the mysql as loaded:
Код:
[13:39:36] CMySQLHandler::Query(SELECT `Donator`, `AdminLevel`, `Score`, `Zone`, `Money` FROM `Player_Info` WHERE `Username` = 'DaRkAnGeL[NBK]') - Successfully executed.
[13:39:36] >> mysql_store_result( Connection handle: 1 )
[13:39:36] CMySQLHandler::StoreResult() - Result was stored.
[13:39:36] >> mysql_fetch_row_format( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchRow() - Return: 0|0|3276|1|9832
[13:39:36] >> mysql_fetch_field_row( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchField("Donator") - 0
[13:39:36] >> mysql_fetch_field_row( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchField("AdminLevel") - 0
[13:39:36] >> mysql_fetch_field_row( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchField("Score") - 3276
[13:39:36] >> mysql_fetch_field_row( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchField("Zone") - 1
[13:39:36] >> mysql_fetch_field_row( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchField("Money") - 9832
Any ideas?
Thanks!
Re: Won't load, -
Tanush123 - 26.01.2012
for
pawn Код:
stock LoadUserData(playerid)
{
new query[101 + MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], savingstring[11];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(query,sizeof(query),"SELECT `Donator`, `AdminLevel`, `Score`, `Zone`, `Money` FROM `Player_Info` WHERE `Username` = '%s'",pname);
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row_format(query,"|"))
{
mysql_fetch_field_row(savingstring,"Donator"); PlayerInfo[playerid][pDonator] = strval(savingstring);
mysql_fetch_field_row(savingstring,"AdminLevel"); PlayerInfo[playerid][pAdminLevel] = strval(savingstring);
mysql_fetch_field_row(savingstring,"Score"); SetPlayerScore(playerid, strval(savingstring));
mysql_fetch_field_row(savingstring,"Zone"); PlayerInfo[playerid][pZone] = strval(savingstring);
mysql_fetch_field_row(savingstring,"Money"); GivePlayerMoney(playerid, strval(savingstring));
}
mysql_free_result();
return 1;
}
make it into fields
pawn Код:
stock LoadUserData(playerid)
{
new query[101 + MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], savingstring[11],field[128][128],drow[128];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(query,sizeof(query),"SELECT `Donator`, `AdminLevel`, `Score`, `Zone`, `Money` FROM `Player_Info` WHERE `Username` = '%s'",pname);
mysql_query(query);
mysql_store_result();
mysql_fetch_row_format(drow, "|");
explode(drow,field, "|");
mysql_free_result();
PlayerInfo[playerid][Donator] = strval(field[0]);
PlayerInfo[playerid][AdminLevel] = strval(field[1])...
}
mysql_free_result();
return 1;
}
and about your login part try using the same thing