Geld wird ungleich verteilt...

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
  • Hey zusammen,


    bei folgendem Befehl bekomme ich noch einige Probleme:


    ocmd:setmoney(playerid,params[])
    {
    new pID, money;
    if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid,COLOR_RED,"Benutze: /setmoney [PlayerID] [Summe]");
    GivePlayerMoney(pID,GetPlayerMoney(pID)+money);
    sSpieler[pID][Geld]=sSpieler[pID][Geld]+money;
    return 1;
    }


    Beim ersten Ausführen wird das Geld ganz normal addiert, beim weiteren Geld geben, wird das Geld mit dem gleichen betrag verdreifacht, und eine Geld Summe wegnehmen mit /setmoney 0 -1000 geht auch nicht, wo kann das Problem hier vorkommen ?

  • SetMoney, soll also das Geld setzen.


    Sprich wenn du /setmoney 0 5000 eingibst, soll dieser Spieler egal, wie viel Geld er vorher hatte 5000$ haben?


    Wenn ja, dann muss das so aussehen:


    ocmd:setmoney(playerid,params[])
    {
    new pID, money;
    if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid,COLOR_RED,"Benutze: /setmoney [PlayerID] [Summe]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR_RED,"Ein Spieler mit dieser ID ist nicht online!");
    ResetPlayerMoney(pID),sSpieler[pID][Geld]= money;
    GivePlayerMoney(pID, money);
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Nene, Es soll Addiert und Subtrahiert werden können, unabhängig von dem was er bereits hat, wenn ich eingebe:


    /setmoney 0 1000 sollen +1000 dazu kommen


    Wenn ich aber...


    /set money 0 -1000 eingebe, sollen 1000 abgezogen werden.

  • Nene


    Achso, dann so:


    ocmd:setmoney(playerid,params[])
    {
    new pID, money;
    if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid,COLOR_RED,"Benutze: /setmoney [PlayerID] [Summe]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR_RED,"Ein Spieler mit dieser ID ist nicht online!");
    sSpieler[pID][Geld] += money;
    GivePlayerMoney(pID, sSpieler[pID][Geld]);
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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