Hallo Leute.
Ich arbeite mit Dini (PVar) und möchte gerne einen Befehl haben /saveall und dann werden alle Accounts gespeichert. (OCMD)
Mfg
Alle Speichern
- Asmir0000
- Geschlossen
- Erledigt
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
-
-
OCMD & PVar - du bist ein Held, dir helf ich
Stock schreiben, worin eine Schleife ist (For-Schleife mit MAX_PLAYERS) und dort dann alles gesaved wird (dini_IntSet/dini_Set) und das ganze dann anwenden:
ocmd:saveall(playerid, params[])
{
#pragma unused params
SpielerSpeichernAlle();
} -
Haha
Danke dir & ist mit schleife das gemeint?
Weiß wierklich nicht was eine Schleife ist
for(new i = 0; i < MAX_PLAYERS; i++)
{ -
Ja, das ist eine Schleife.
-
Genau diese Schleife brauchst du.
Einfach deinen Save Stock kopieren und dann playerid durch i tauschen, natürlich innerhalb dieser schleife. -
Also so:
stock SpielerSpeichernCMD()
{
for(new i = 0; playerid < MAX_PLAYERS; playerid++)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
}
return 1;
} -
Solltest noch die Klammer der Schleife, also die } setzen, dann könnte es klappen
-
stock SpielerSpeichernCMD()
{
for(new i = 0; playerid < MAX_PLAYERS; playerid++)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
}
}
return 1;
}
So ?
//edit Fail -
Genau so und jetzt noch den Befehl & dann "is dit komplite"
-
Danke dir Vincent
Ohne dich hätte ich schon lange warten müss
Mfg -
Kein Problem, dafür ist das hier ja da.
Wenn du mal wieder Fragen hast, frag. -
stock SpielerSpeichernCMD()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPVarInt(i,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(i,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(i));
}
}
return 1;
}So müsste es richtig funktionieren.
-
Danke habs aber in Playerid oben bei der Schleife geändert
-
breadfish.de
Hat das Thema geschlossen.