Problem mit Geld-System

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
  • Guten Nachmittag alle zusammen,


    Ich habe ein Problem mit mein Geld System und zwar wenn der Spieler sich registriert bekommt er kein Geld voher wo ich auf Server Geld hatte hat alles funktioniert nur jetzt der fehler bei register bitte um hilfe :)


    //Enum Spieler Daten
    BarGeld,



    //Das habe ich unter OnPlayerUpdate
    Spieler[playerid][BarGeld] = GetPlayerMoney(playerid);


    //Dialog_register Wenn er sich registiert
    dini_IntSet(path, "BarGeld",Spieler[playerid][Gestorben] = 5000);
    Spieler[playerid][BarGeld] = GetPlayerMoney(playerid);



    //Dialog_Login Wenn er sich einloggt
    ResetPlayerMoney(playerid);
    ConsumingMoney[playerid] = 1;
    PlayerMoney[playerid] += Spieler[playerid][BarGeld];
    CurrentMoney[playerid] = Spieler[playerid][BarGeld];
    PlayerMoney[playerid] = Spieler[playerid][BarGeld];


    //Geld Timer


    public MoneyTimer()
    {
    new i, j;
    for (i = 0, j = MAX_PLAYERS; i < j; i++)
    {
    if(GetPlayerMoney(i) > PlayerMoney[i])
    {
    new moneydif;
    moneydif = GetPlayerMoney(i)-PlayerMoney[i];
    GivePlayerMoney(i, - moneydif);
    }
    else if(GetPlayerMoney(i) < PlayerMoney[i])
    {
    if(IsPlayerInAnyVehicle(i))
    {
    if(GetPlayerInterior(i) == 1 || GetPlayerInterior(i) == 3)
    {
    PlayerMoney[i] = GetPlayerMoney(i);
    }
    else
    {
    new moneydif;
    moneydif = PlayerMoney[i]-GetPlayerMoney(i);
    GivePlayerMoney(i, moneydif);
    }
    }
    else
    {
    new moneydif;
    moneydif = PlayerMoney[i]-GetPlayerMoney(i);
    GivePlayerMoney(i, moneydif);
    }
    }
    }
    }



    Ich hoffe mir kann jmd. helfen, ich sag schon mal danke im vorraus

  • Setz doch einfach ganz Simpel nach der Regestrierung "GivePlayerMoney"

  • //Dialog_register Wenn er sich registiert
    dini_IntSet(path, "BarGeld",Spieler[playerid][Gestorben] = 5000);
    Spieler[playerid][BarGeld] = GetPlayerMoney(playerid);


    zu:
    //Dialog_register Wenn er sich registiert
    dini_IntSet(path, "BarGeld",5000);
    GivePlayerMoney(playerid, 5000);
    Spieler[playerid][BarGeld] = 5000;

  • Es fuktioniert immer noch nicht..





    • //new
      new PlayerMoney[MAX_PLAYERS];
      new CurrentMoney[MAX_PLAYERS];
      new ConsumingMoney[MAX_PLAYERS];
    • //Enum Spieler Daten
    • BarGeld,
    • //Das habe ich unter OnPlayerUpdate
    • Spieler[playerid][BarGeld] = GetPlayerMoney(playerid);
    • //Dialog_register Wenn er sich registiert
    • dini_IntSet(path, "BarGeld",5000);
    • GivePlayerMoney(playerid, 5000);
    • Spieler[playerid][BarGeld] = 5000);
    • //Dialog_Login Wenn er sich einloggt
    • ResetPlayerMoney(playerid);
    • ConsumingMoney[playerid] = 1;
    • PlayerMoney[playerid] += Spieler[playerid][BarGeld];
    • CurrentMoney[playerid] = Spieler[playerid][BarGeld];
    • PlayerMoney[playerid] = Spieler[playerid][BarGeld];
    • //Geld Timer
    • public MoneyTimer()
    • {
    • new i, j;
    • for (i = 0, j = MAX_PLAYERS; i < j; i++)
    • {
    • if(GetPlayerMoney(i) > PlayerMoney[i])
    • {
    • new moneydif;
    • moneydif = GetPlayerMoney(i)-PlayerMoney[i];
    • GivePlayerMoney(i, - moneydif);
    • }
    • else if(GetPlayerMoney(i) < PlayerMoney[i])
    • {
    • if(IsPlayerInAnyVehicle(i))
    • {
    • if(GetPlayerInterior(i) == 1 || GetPlayerInterior(i) == 3)
    • {
    • PlayerMoney[i] = GetPlayerMoney(i);
    • }
    • else
    • {
    • new moneydif;
    • moneydif = PlayerMoney[i]-GetPlayerMoney(i);
    • GivePlayerMoney(i, moneydif);
    • }
    • }
    • else
    • {
    • new moneydif;
    • moneydif = PlayerMoney[i]-GetPlayerMoney(i);
    • GivePlayerMoney(i, moneydif);
    • }
    • }
    • }
    • }

  • if(strcmp(cmd, "/money", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /money [Name oder ID] [Betrag]");
    return 1;
    }
    new playa;
    new money;
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    money = strval(tmp);
    if(Spieler[playerid][Adminlevel] >= 4)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    ResetPlayerMoney(playa);
    ConsumingMoney[playa] = 1;
    PlayerMoney[playa] += money;
    }
    }
    }
    return 1;
    }
    return 1;
    }