Geld Speichern und Laden?

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
  • Läuft über dini ? o.o


    Naja.. Aufjedenfall hab ich beim Laden ein problem.. Weil ich schreibe z.b. unter Cash 100000 rein, bekomme aber nichts...


    stock SpielerLaden(playerid)
    {
    new Spieler[64],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.ini",Name);
    if(dini_Exists(Spieler))
    {
    GivePlayerMoney(playerid,dini_Int(Spieler,"Geld"));
    SetPlayerScore(playerid,dini_Int(Spieler,"Score"));
    }
    return 1;
    }

  • Beitrag von Pascal. ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • stock Login(playerid,key[])
    {
    if(IsPlayerConnected(playerid))
    {
    new Spieler[64],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Name);
    if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
    {
    SpielerLaden(playerid);
    return 1;
    }
    else
    ....// Dein Code
    }
    return 1;
    }



    stock SpielerSpeichern(playerid)
    {
    new Spieler[64],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Name);
    if(dini_Exists(Spieler))
    {
    dini_IntSet(Spieler,"Score",GetPlayerScore(playerid));
    dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
    }
    return 1;
    }



    stock SpielerLaden(playerid)
    {
    new Spieler[64],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Name);
    if(dini_Exists(Spieler))
    {
    SetPlayerScore(playerid,dini_Int(Spieler,"Score"));
    SetPlayerMoney(playerid,dini_Int(Spieler,"Geld"));
    }
    return 1;
    }


    stock SetPlayerMoney(playerid,money)
    {
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,money);
    return 1;
    }


    Unter OnPlayerDisconnect


    SpielerSpeichern(playerid);

  • Ich kann dir nur dazu raten, alles mit Daten über MySQL zu regeln, ob MongoDB (Java) oder MySQL (phpMyAdmin)! Denn falls du etwas großes vorhast, dann brauchst du spätestens MySQL, sobald du ein UCP (User Control Panel) / ACP (Admin Control Panel) bauen willst. Ich finde es auch einfacher... Denn später alles neu umzuschreiben dauert auch seine Zeit ;)

  • dann brauchst du spätestens MySQL, sobald du ein UCP (User Control Panel) / ACP (Admin Control Panel) bauen willst


    Als ob man ohne MySQL so etwas nicht bauen könnte :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • T4ez kriege nun errors..



    * : warning 209: function "SetPlayerMoney" should return a value
    * : warning 217: loose indentation
    * : warning 217: loose indentation
    * : warning 217: loose indentation
    * : error 017: undefined symbol "name"
    * : error 017: undefined symbol "name"
    *: error 029: invalid expression, assumed zero
    *: fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • stock SpielerLaden(playerid)
    {
    new Spieler[64],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Name);
    if(dini_Exists(Spieler))
    {
    SetPlayerScore(playerid,dini_Int(Spieler,"Score"));
    SetPlayerMoney(playerid,dini_Int(Spieler,"Geld"));
    }
    return 1;
    }

    zu


    stock SpielerLaden(playerid)
    {
    new Spieler[64],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Name);
    if(dini_Exists(Spieler))
    {
    SetPlayerScore(playerid,dini_Int(Spieler,"Score"));
    SetPlayerMoney(playerid,dini_Int(Spieler,"Geld"));
    }
    return 1;
    }

  • : error 021: symbol already defined: "SetPlayerMoney"

    Sollte eigentlich schon alles sagen?
    "SetPlayerMoney ist bereits definiert".
    Schau ob die Funktion, welche bereits im Script war mit "SetPlayerMoney" ebenfalls das gleiche macht, wie der wo dir T4eZ geschrieben hat,
    wenn ja lösche eines davon.
    Wenn nicht, nenne es um (welches du hier im Thread bekommen hast).


    Zum anderen Error, wäre die Zeile mal nicht schlecht :rolleyes:


    MfG ;)


  • Als ob man ohne MySQL so etwas nicht bauen könnte :rolleyes:


    Hast ja recht, aber ich meine, dass es so deutlich einfacher ist, über verschiedene Anwendungen zu kommunizieren ;) Bzw. wenn man seinen Gameserver / Gamemode über einen Gamehoster hat, der zB kein Root Server, sondern nur SAMP an sich hostet, dann geht das glaube gar nicht anders als mit MySQL..

  • ne wird nirgendswo anders definiert, sonst hätt ich das Problem selbst gelöst :)


    Zeile:
    stock SetPlayerMoney(playerid,money)


    Hier der ganze SetPlayermoney stock, weil da alle fehler sind:



    stock SetPlayerMoney(playerid,money)
    {
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,money);
    return 1;
    }