Hey,da ich mich momentan mit mysql befasse,habe ich folgenden Stock geschrieben
[pwn]stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
new str[512];new query[512];
format(query,sizeof(query),"SELECT * FROM `accounts` WHERE `Name` = '%s'",SpielerInfo[playerid][pName]);
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row(str))
{
sscanf(str, "e<p<|>{i}s[16]iiiifiiiii>",SpielerInfo[playerid]);
}
mysql_free_result();
}
return 1;
}[/pwn]
Diese funktion dient zum laden des Accounts.Diese habe ich ,wie oben schon zu sehen, mit sscanf 2.0 etwas verbessert,(anstatt SpielerInfo[...] = mysql_Get...
Nun habe ich aber Probleme mit dem Speichern des Accounts
Momentan hab ich da noch
[pwn]stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
//Nun speichern wir die Daten in der Datenbank.
mysql_SetInt("accounts", "Kicks", SpielerInfo[playerid][pKicks], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Ban", SpielerInfo[playerid][pBan], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Adminlevel", SpielerInfo[playerid][pAdminlevel], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Warns", SpielerInfo[playerid][pWarn], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
}
}
return 1;
}[/pwn]Wie kann ich das mit sscanf 2.0 realisieren?Ich habe momentan keine idee,wie ich das machen könnte
[pwn]stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
new str[512];new query[512];
format(query,sizeof(query),"SELECT * FROM `accounts` WHERE `Name` = '%s'",SpielerInfo[playerid][pName]);
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row(str))
{
sscanf(str, "e<p<|>{i}s[16]iiiifiiiii>",SpielerInfo[playerid]);
}
mysql_free_result();
}
return 1;
}[/pwn]
Diese funktion dient zum laden des Accounts.Diese habe ich ,wie oben schon zu sehen, mit sscanf 2.0 etwas verbessert,(anstatt SpielerInfo[...] = mysql_Get...
Nun habe ich aber Probleme mit dem Speichern des Accounts
Momentan hab ich da noch
[pwn]stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
//Nun speichern wir die Daten in der Datenbank.
mysql_SetInt("accounts", "Kicks", SpielerInfo[playerid][pKicks], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Ban", SpielerInfo[playerid][pBan], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Adminlevel", SpielerInfo[playerid][pAdminlevel], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Warns", SpielerInfo[playerid][pWarn], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
}
}
return 1;
}[/pwn]Wie kann ich das mit sscanf 2.0 realisieren?Ich habe momentan keine idee,wie ich das machen könnte