Geld abspeicher funktioniert nicht.

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
  • So Leute ich hab das forum schon länger durchstöbert aber nichts dazu gefunden.


    Ich speicher das Geld ab, kein Problem das funktioniert.
    aber da ich nur einmal Geld bei der Registration ausschütte, wird es beim nächsten login nicht abgerufen was ja auch logisch ist.
    So dann habe ich bei OnPlayerSpawn das hinzugefügt:


    GivePlayerMoney(playerid,dini_Int("geld"));


    Jetzt bekomm ich einen Warning:
    C:\Users\Adrian\Desktop\Own SAMP\gamemodes\Skript.pwn(350) : warning 202: number of arguments does not match definition


    Und Ingame wird das Geld nicht wieder abgerufen.


    Könnt ihr mir helfen?

  • dini_IntSet(Spielerdatei,"geld",GetPlayerMoney(playerid));
    sollte so auch funktionieren, soll es für den stock (SpeicherAccount) sien oder allgemein im Befehl?


    dini_Int("geld")
    da fehlt noch ein playerid oder eben wie du es new hast, Spielerdatei /what else.



    /ee edit

  • ja schon für Meine Dini Speicherung



    also


    dini_IntSet(Spielerdaten,"geld",GetPlayerMoney(playerid));


    C:\Users\Adrian\Desktop\Own SAMP\gamemodes\Skript.pwn(350) : error 017: undefined symbol "Spielerdaten"


    Also meine Spieler werden in Spielerdatengespeichert, jetzt hab ich meine Enum "Info" genannt, das hab ich auch ausprobiert und jedesmal erscheint dieser Error.

  • `Ja was, ? hast du unter "Spielerspeicher, Saveaccounts was auch immer,
    dini_IntSet(Spielerdatei,"geld",GetPlayerMoney(playerid));


    stehen?, sonst bringt es auch nichts, du musst es ja zuerst abspeichern dnan kannst es auch wieder Laden lassen...

  • also


    dini_IntSet(Spielerdaten,"geld",GetPlayerMoney(playerid));


    C:\Users\Adrian\Desktop\Own SAMP\gamemodes\Skript.pwn(350) : error 017: undefined symbol "Spielerdaten"


    Also meine Spieler werden in Spielerdatengespeichert, jetzt hab ich meine Enum "Info" genannt, das hab ich auch ausprobiert und jedesmal erscheint dieser Error.

  • Zitat

    Ich hoffe das ist das richtige :D

    Nein! Du sollst uns ein Stock zeigen und kein Enum! Du Scrollst nun runter zu stock .... also die punkte ersetzt du mit den namen saveaccounts oder wie auch immer das bei dir heisst!
    Verstanden? Und dann brauchen wir die ersten Zeilen, 10! Das ist übrigends das wo dann sowas wie dini_IntSet steht etc.

  • public OnPlayerDisconnect(playerid, reason)
    {
    new pname[MAX_PLAYER_NAME], path[200];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(path, sizeof(path), "/Spielerdaten/%s.ini", pname);
    dini_IntSet(path, "geschlecht", pInfo[playerid][geschlecht]);
    dini_IntSet(path, "alter", pInfo[playerid][alter]);
    dini_IntSet(path, "geld", GetPlayerMoney(playerid));
    pInfo[playerid][logged] = 0;
    new pName[MAX_PLAYER_NAME];
    new string[56];
    GetPlayerName(playerid, pName, sizeof(pName));
    switch(reason)
    {
    case 0: format(string, sizeof(string), "%s hat den Server verlassen. (Error)", pName);
    case 1: format(string, sizeof(string), "%s hat den Server verlassen.", pName);
    case 2: format(string, sizeof(string), "%s hat den Server verlassen. (Kick/ban)", pName);
    }
    SendClientMessageToAll(0x00FF00FF, string);
    return 1;


    Das hier?

  • Naja eig. nicht -.-" aber das geht auch noch, lern bloß scripten und was was ist!


    dini_IntSet(Spielerdaten,"geld",GetPlayerMoney(playerid));
    Nun ersetzt du Spielerdaten mit "path" ok!?


    Richtig wäre es dann so:
    dini_IntSet(path,"geld",GetPlayerMoney(playerid));


    Probier es bitte einmal. Das dann dort hin wo er das Geld speichern soll!



    //E: pwn Tags eingefügt
    //Erklärung..

  • Hab ich schon längst gemacht und es folgt der selbe Fehler, soweit war ich leider auch schon :(


    E: also nach der registration bekomm ich geld 12k, dann speichert der es einmal ab, ich geh offline und dann steht wieder alles auf 0 ne...

  • Zitat

    Hab ich schon längst gemacht und es folgt der selbe Fehler, soweit war ich leider auch schon :(

    Dann brauche ich nun den Fehler und alle Zeilen + und - 10 Zeilen wo der Error ist! Verstanden?

  • Bitteschön :)


    //------------------------------------------------------------------------------------------------------
    public UpdateClock()
    {
    new Hour,Minute,Sec,String[256];
    gettime(Hour,Minute,Sec);
    if(Hour<9 && Minute<9){format(String,sizeof(String),"0%d:0%d",Hour,Minute);}
    else if(Hour>9 && Minute<9){format(String,sizeof(String),"%d:0%d",Hour,Minute);}
    else if(Hour<9 && Minute>9){format(String,sizeof(String),"0%d:%d",Hour,Minute);}
    else{format(String,sizeof(String),"%d:%d",Hour,Minute);}
    TextDrawSetString(RealClock,String);
    return 1;
    }


    //------------------------------------------------------------------------------------------------------


    public OnPlayerSpawn(playerid)
    {
    ForceClassSelection(playerid);
    dini_IntSet(path,"geld",GetPlayerMoney(playerid));
    return 1;
    }


    //------------------------------------------------------------------------------------------------------


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/admincmds", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid, DIALOG_RCONCMDLIST, DIALOG_STYLE_LIST, "RCON Befehle", "cmdlist\nvarlist\nexit\nkick\nban\ngmx\nreloadbans\nreloadlog\nsay\nplayers\n(un)ban\nweather\ndtdcamenu", "OK", "Abbrechen");
    }
    return 0;
    }


    //------------------------------------------------------------------------------------------------------
    /*strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }*/


    C:\Users\Adrian\Desktop\Own SAMP\gamemodes\Skript.pwn(350) : error 017: undefined symbol "path"

  • Willst du mich verarschen?! ZÄHLEN?! Sollte gelernt sein, wenn ich das sehe gehe ich mal von 1.Klasse aus!


    Ausserdem, wieso speicherst du das Geld des Spielers wenn er Spawnt? Ds gehört unter den stock wo alles gespeichert wird! Send mir mal TV Daten(Teamviewer) ich sehe das wird nichts, wennn du das nicht kannst mach ich das schnell :S

  • Ok, Problem Erledigt^^


    PS: mach mal bitte den Timer unter OnPlayerConnect! Sonst wird der sich nicht nochmal erstellen :x fällt mir gerade ein^^ einfach aus OnGameModeInit kopieren und bei onplayerconnect einfügen ;)