Hey wie tuh ich wenn man sich Ausloggt und Geld bekommt das Geld speichern? Das er wenn er sich wieder Einloggt das Geld hat?
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
-
-
Mit einem Speichersystem entweder auf Dini oder Mysql oder SQLlite
-
Mein Script ist zurzeit auf Dini. Wie Scripte ich aber das?
Kann mir jemand vlt. schreiben wie genau? -
Zum Beispiel so:
Speichern:
new datei[32], name[16];
GetPlayerName(playerid, name, 16);
format(datei, 32, "Accounts/%s.ini", name);
dini_IntSet(datei, "Geld", GetPlayerMoney(playerid));Laden:
new datei[32], name[16];
GetPlayerName(playerid, name, 16);
format(datei, 32, "Accounts/%s.ini", name);
GivePlayerMoney(playerid, dini_Int(datei, "Geld")); -
Und wo müsste ich das einfügen?
Ich hab es so gescriptet: https://www.youtube.com/watch?v=qSd70DKb5GA -
Bei dein SpielerSpeichern stock..
-
Na wenn er den Server verlässt speichern und wenn er sich einloggt laden.
-
Und bei mein enum? Soll ich da Geld einfügen?
-
Und bei mein enum? Soll ich da Geld einfügen?
Ich denke du hast garkeine Ahnung vom scripten
Arbeitest du jetzt mit Enums oder PVarInts? -
Enums.
-
Enums.
Natürlich musst du dann Geld bei dein Spieler Enum einfügen..
-
stock SpielerReset(playerid)
da sSpieler[playerid][Geld] = 0; machen? -
Nicht unbefingt. Du musst des Enum nur erweitern wenn du beispielsweise ein Anti-Cheat System einbauen willst das mit dieser Variable arbeitet. Wenn nicht dann kannste einfach GetPlayerMoney bzw. GivePlayerMoney nutzen.
-
Ok.
Also ich hab jz das eingefügt was du mir geschrieben hast hier.
Ich hab mich Ausgeloggt und neu Eingeloggt und ich hatte 0€ statt 2000€.. -
Du musst auch im Scriptfiles Ordner ein Verzeichnis mit dem Namen "Accounts" erstellen, sonst funktioniert mein Beispiel nicht. Denn SA:MP kann keine Ordner erstellen..
Speichern:
public OnPlayerDisconnect(playerid, reason)
{
new datei[32], name[16];
GetPlayerName(playerid, name, 16);
format(datei, 32, "Accounts/%s.ini", name);
if(!dini_Exists(datei))
{
dini_Create(datei);
}
dini_IntSet(datei, "Geld", GetPlayerMoney(playerid));
}Laden:
public OnPlayerConnect(playerid)
{
new datei[32], name[16];
GetPlayerName(playerid, name, 16);
format(datei, 32, "Accounts/%s.ini", name);
GivePlayerMoney(playerid, dini_Int(datei, "Geld"));
}Ich muss aber zugeben das ich glaube das du nicht gerade viel Ahnung vom Scripten hast...
-
Ok.
Also ich hab jz das eingefügt was du mir geschrieben hast hier.
Ich hab mich Ausgeloggt und neu Eingeloggt und ich hatte 0€ statt 2000€..Bitte zeig mir dein Speicher stock
-
Ich muss aber zugeben das ich glaube das du nicht gerade viel Ahnung vom Scripten hast...
Das stimmt ja auch das ich kaum was kann beim Scripten..
stock SpielerLaden(playerid){ new Spieler[64]; new Sname[MAX_PLAYER_NAME]; GetPlayerName(playerid,Sname,sizeof(Sname)); format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname); new datei[32], name[16]; GetPlayerName(playerid, name, 16); format(datei, 32, "Spieler/%s.ini", name); GivePlayerMoney(playerid, dini_Int(datei, "Geld")); if(dini_Exists(Spieler)) { SetPlayerScore(playerid,dini_Int(Spieler,"Level")); sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel"); sSpieler[playerid][Level] = dini_Int(Spieler,"Level"); sSpieler[playerid][Fraktion] = dini_Int(Spieler,"Fraktion"); sSpieler[playerid][Team] = dini_Int(Spieler,"Team"); sSpieler[playerid][Geschlecht] = dini_Int(Spieler,"Geschlecht"); sSpieler[playerid][sLogin] = 1; SpawnPlayer(playerid); } return 1;}
-
Warum suchst du dir nicht hier im Forum ein Anfänger Scirpt und machst damit weiter, oder du guckst dir einfach etwas von einem fertigen Script ab.
-
Warum suchst du dir nicht hier im Forum ein Anfänger Scirpt und machst damit weiter, oder du guckst dir einfach etwas von einem fertigen Script ab.
Ich möchte es ja selbst machen...
-
Ich möchte es ja selbst machen...
Du hast aber meiner Meinung zu wenig Ahnung um es selbst zu machen