Hey,
Mein Geld wird nciht gespeichert
Wie kann ich es speichern??
Und dann wieder laden???
Ich arbeite mit MySQL R5
Wäre nett wenn ihr mir helfen könnt
mfg
MySQL Geld Speichern u. Laden
- Mr.Undercover
- Geschlossen
- Erledigt
In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Schau dir am besten mal das Tutorial von maddin an.
Wenn du Speichern mit query's willst, (ressourcen schonender) sag bescheid dann kann ich es dir erklären -
Kann einer mir das Speichern
enum PInfo
{
pTut,
pLevel,
pAdmin,
pGeld,
pTode,
pMorde,
pFrak,
pMember,
pLeader,
pBann,
pWarn,
pPayDay,
pPerso,
pClic,
pFlic,
pMlic,
pWlic,
Float:pX,
Float:pY,
Float:pZ,
Float:pA,
pTod,
Float:pTX,
Float:pTY,
Float:pTZ
} -
Selbst ist der Mann/Frau!
Schau dir am besten mal das Tutorial von maddin an. -
Habe ich,
Also sit es so richtig??mysql_SetInt("accounts", "Tut", PlayerInfo[playerid][pTut], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Level", PlayerInfo[playerid][pLevel], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Admin", PlayerInfo[playerid][pAdmin], "Name", SpielerName(playerid));
PlayerInfo[playerid][pGeld] = mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid),"Name", SpielerName(playerid));
mysql_SetInt("accounts", "Tode", PlayerInfo[playerid][pTode], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Morde", PlayerInfo[playerid][pMorde], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Frak", PlayerInfo[playerid][pFrak], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Member", PlayerInfo[playerid][pMember], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Leader", PlayerInfo[playerid][pLeader], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Bann", PlayerInfo[playerid][pBann], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Warn", PlayerInfo[playerid][pWarn], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Payday", PlayerInfo[playerid][pPayDay], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Perso", PlayerInfo[playerid][pPerso], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Clic", PlayerInfo[playerid][pClic], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Mlic", PlayerInfo[playerid][pMlic], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "pWlic", PlayerInfo[playerid][pWlic], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Level", PlayerInfo[playerid][pLevel], "Name", SpielerName(playerid));
mysql_SetInt("accounts", "Level", PlayerInfo[playerid][pLevel], "Name", SpielerName(playerid)); -
Ja aber das frisst halt viele ressourcen...
Einfacher ginge es mit einem query und auch ressourcenschonender -
stock SpielerSpeichern(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(GetPVarInt(playerid,"logged") == 1)
{
new query[200];
format(query, sizeof(query), "UPDATE `accounts` SET `Tut` = '%d',`Level` = '%d',`Admin` = '%d',`Geld` = '%d',`Tode` = '%d',`Morde` = '%d',`Frak` = '%d', `Member` = '%d',`Leader` = '%d',`Bann` = '%d',`Warn` = '%d',`Payday` = '%d', `Perso` = '%d',`Clic` = '%d',`Flic` = '%d',`Mlic` = '%d',`Wlic` = '%d' WHERE `Name` = '%s'",
PlayerInfo[playerid][pTut],PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pAdmin],PlayerInfo[playerid][pGeld],PlayerInfo[playerid][pTode],PlayerInfo[playerid][pMorde],PlayerInfo[playerid][pFrak],PlayerInfo[playerid][pMember],PlayerInfo[playerid][pLeader],PlayerInfo[playerid][pBann],PlayerInfo[playerid][pWarn],PlayerInfo[playerid][pPayDay],PlayerInfo[playerid][pPerso],
PlayerInfo[playerid][pClic],PlayerInfo[playerid][pFlic],PlayerInfo[playerid][pMlic],PlayerInfo[playerid][pWlic],SpielerName(playerid));
mysql_query(query);
format(query, sizeof(query), "UPDATE `accounts` SET `PosX` = '%f',`PosY` = '%f',`PosZ` = '%f',`PosA` = '%f',`Tod` = '%d',`PosTX` = '%f',`PosTY` = '%f',`PosTZ` = '%f' WHERE `Name` = '%s'",
PlayerInfo[playerid][pX],PlayerInfo[playerid][pY],PlayerInfo[playerid][pZ],PlayerInfo[playerid][pA],PlayerInfo[playerid][pTod],PlayerInfo[playerid][pTX],PlayerInfo[playerid][pTY],PlayerInfo[playerid][pTZ],SpielerName(playerid));
PlayerInfo[playerid][pGeld] = mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid),"Name", SpielerName(playerid));
mysql_query(query);
}
}
return 1;
}Du meinst so???
Aber wie speichere ich hier das Geld
Was er bekommt
Es wird einfach nicht geladen
oder gespeichert -
Ja ich meine so.
Am besten mach mal GetPlayerMoney weg und ersetze es durch eine Variable.
Ab und zu solltest du beim Geld doch mysql_SetInt verwenden da es da oft buggt.
Aber nur verwenden wenn er Geld bekommt / verliert -
Wie durch eine Variable??
Kannst du das genauer erklären/zeigenocmd:givemoney(playerid,params[])
{
new plid;
new geld;
new string[128];
if(!istPlayerAnAdmin(playerid,5))return SendClientMessage(playerid, ROT,"**Du bist kein Administrator.");
if(sscanf(params,"ui",plid,geld))return SendClientMessage(playerid, BLAU,"Tippe: /givemoney [Id/Name][Betrag]");
GivePlayerMoney(plid,geld);
format(string,sizeof(string),"[AdmCmd]%s bekommt %i$ von %s bekommen,",SpielerName(plid),geld,SpielerName(playerid));
SendClientMessage(plid, GRÜN,string);
PlayerInfo[plid][pGeld] == geld;
SpielerSpeichern(plid);
return 1;
}Weiß einer warum Das geld nicht gespeichert wird???
-
PlayerInfo[plid][pGeld] == geld;
Das macht keinen Sinn, '==' ist ein Vergleichsoperator,
wenn du den Wert von pGeld verändern willst, verwende ein '=' in Verbindung mit einem '+'. -
breadfish.de
Hat das Thema geschlossen.