/givemoney Funktioniert nicht ganz

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 Com,


    Wenn ich /givemoney inGame eingebe bekommt der jenige nicht die angegebene Summe ( Sprich etwa 5$)
    Und bei dem Befehl im Scipt find ich keinen Fehler :( Kann mir da einer fehlen??


    if(strcmp("/givemoney", cmd, true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new giveplayerid;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "INFO: /givemoney [playerid] [betrag]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "INFO: /givemoney [playerid] [betrag]");
    return 1;
    }
    new money = strval(tmp);
    if(SpielerInfo[playerid][Admin] >= 6)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GibGeld(giveplayerid, money);
    format(string, sizeof(string), "[ADMIN] %s hat %s Geld gegeben. Betrag: %s$", SpielerName(playerid), SpielerName(giveplayerid),money);
    SendClientMessage(COLOR_BLUE, 1, string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Admin.");
    }
    }
    return 1;
    }


    Edit: in Pawno werden beim Compilen keine Fehler angezeit!


    MfG
    Mr.ElectRoX

  • format(string, sizeof(string), "[ADMIN] %s hat %s Geld gegeben. Betrag: %s$", SpielerName(playerid), SpielerName(giveplayerid),money);


    diesen string so umformatieren:


    format(string, sizeof(string), "[ADMIN] %s hat %s Geld gegeben. Betrag: %d$", SpielerName(playerid), SpielerName(giveplayerid),money);


    %d = Zahl (?)
    %i = Integer
    %s Spieler/String

    Erst wenn
    der letzte Baum gerodet,
    der letzte Fisch vergiftet
    und der letzte Fisch gefangen ist,
    werdet ihr feststellen,
    dass man Gold nicht essen kann.

  • Was steht denn in deiner GibGeld Funktion?


    stock GibGeld(playerid,betrag)
    {
    SpielerInfo[playerid][Geld]+=betrag;
    GivePlayerMoney(playerid,betrag);
    return 1;
    }


    Hey


    Nur so das Problem hatte ich auch schon du Brauchst ein Update vom Mbot sollte dies nicht gehen sage mir Bescheid

    Ich benutze den Mbot gar nicht , trotzdem danke ;)

    Werd es mal Testen : Ergebnis: Kein Erfolg Geld wird in einer Unbestimmten Summe Gegeben ( könnte 50 oda so sein)


    Was mir aber auch auffällt ist das die Message nicht kommt wen ich jemanden geld gebe.




    Danke an alle die versuchen mir zu helfen ;)

  • Du hast nur 1 tmp.
    Für [playerid, money] brauchst du aber 2. ;)
    Versuch das mal:
    if(strcmp("/givemoney",cmd, true) == 0)
    {
    new tmp[128], tmp2[128];
    tmp = strtok(cmdtext, idx);
    tmp2 = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid,COLOR_GRAD2,"Benutzung: /givemoney [SpielerName] [Betrag]");
    return 1;
    }
    if(!strlen(tmp2)) {
    SendClientMessage(playerid,COLOR_GRAD2,"Benutzung: /givemoney [SpielerName] [Betrag]");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] <=6) {
    SendClientMessage(playerid,COLOR_INFO," ** Dieser Befehl kann erst ab Admin Rang 6 ausgeführt werden! **");
    return 1;
    }
    new str[128], erreicher, money;
    money = strval(tmp2);
    erreicher = ReturnUser(tmp);
    if(!IsPlayerConnected(erreicher)) {
    SendClientMessage(playerid,COLOR_GRAD2,"Dieser Spieler ist Offline!");
    return 1;
    }
    new str[128],
    str2[128];
    format(str,sizeof(str),"* %s hat dir %d$ gegeben!",SpielerName(playerid),money);
    format(str2,sizeof(str2),"* Du gibst %s %d$!",SpielerName(erreicher),money);
    SendClientMessage(playerid,COLOR_GRAD2,str2);
    SendClientMessage(erreicher,COLOR_GRAD2,str);
    GivePlayerMoney(erreicher,money);
    return 1;
    }

    Erst wenn
    der letzte Baum gerodet,
    der letzte Fisch vergiftet
    und der letzte Fisch gefangen ist,
    werdet ihr feststellen,
    dass man Gold nicht essen kann.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen