Geld Speichern

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
  • wie dann ich den das gled speichern ich habe es zurzeit so aber geht nicht:


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,0xFF9600FF,"Erfolgreich Registriert.");
    dini_IntSet(Spielerdatei,"Level",0);
    dini_IntSet(Spielerdatei,"Geld",0);
    return 1;
    }


    wie mache ichd as den richtig?
    danke im vorraus

  • Hast du auch ein Login Script oder nur das Register-Script?
    Wenn ja Fügst du am besten das ganz oben unter OnPlayerConnect ein:

    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei

    Dann müsste es eignetlich die Spielerdatei laden.

    Einmal editiert, zuletzt von Fassi ()

  • Falls es nen Error gab wegen der Null, dann probier mal

    dini_IntSet(Spielerdatei,"Geld",pInfo[playerid][geld]);


    Musste halt noch pInfo[..][..]auf deins umschreiben



    //edit

    Zitat


    ja login habe ich und das die spielerdatei geladen wird auch aber trotzdem speicher ter kein geld


    Du musst bei OnPlayerDisconnect
    dini_IntSet(Spielerdatei,"Geld",pInfo[playerid][geld]);
    eintragen, dann speichert er es

  • Also bei mir sieht es bei OnPlayerDisconnect so aus:
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    }

    Da ich unten einen stock erstellt habe, der volgentermaßen aussieht:
    stock SpielerSpeichern(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));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    }
    return 1;
    }

    Dafür ist das Input nötig was du aber sicher besitzt so wie es bis jetzt aussah.
    //edit:
    Wobei du vielleicht das Adminlevel und die Fraktion nicht brauchen wirst.

  • Und was ist wenn er zu dem Zeitpunkt zufällig schon Geld bekommen hat;)

    meinste das gerade ernst? oder meinste der cheatet?


    1. OnPlayerDisconncet bzw servershutdown, funktion SpielerSpeichern
    2. in die Funktion deine Speicherungen vornehehmen
    3. Fertig.


    und wenn der genau in dem Zeitpunkt offline naja ~> Variable zb SetPVarInt(playerid, "Logout", 1); davor (am Anfang von SpielerSpeichern) setzen und bei dem befehl zum geld vergeben abfragen ob er 0 o. 1 ist.


    zum Thema cheaten sag ich nur Serverseitiges geld.


    MfG


    Bitte keine Script/Supportanfragen via PN!!!
    (Ausnahme: Scripten gegen Bezahlung!)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich habe es so gemacht wie fassi und jetzt sagt er mir den error


    E:\Spiele\GTA San Andreas\Dust\pawno\Dust.pwn(254) : error 017: undefined symbol "SpielerSpeichern"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    }
    return 1;
    }


    E:\Spiele\GTA San Andreas\Dust\pawno\Dust.pwn(254) : error 017: undefined symbol "SpielerSpeichern"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    kann mir wer helfen?