Funktion "/pay" frage

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
  • Hallo.


    Ich hab mal ne frage unzwar:


    Wie stellt man ein das man Pro Tag Maximal "2000,00$" Verschenken kann?


    if(strcmp(cmd, "/pay", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "NUTZUNG: /pay [Spieler ID / Name] [Menge]");
    return 1;
    }
    //giveplayerid = strval(tmp);
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "NUTZUNG: /pay [Spieler ID / Name] [Menge]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys > 1000 && PlayerInfo[playerid][pLevel] < 2)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst mindestens Level 2 sein, um über $1000 abgeben zu können.");
    return 1;
    }
    if(moneys < 1 || moneys > 10000)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Der Betrag muss zwischen $1 und $10000 sein!");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pLocal] == 106)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Der Befehl ist in dieser Lage nicht erlaubt.");
    return 1;
    }
    if (ProxDetectorS(5.0, playerid, giveplayerid))
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = GetPlayerMoney(playerid);
    if (moneys > 0 && playermoney >= moneys)
    {
    ConsumingMoney[giveplayerid] = 1;
    GivePlayerMoney(playerid, (0 - moneys));
    GivePlayerMoney(giveplayerid, moneys);
    format(string, sizeof(string), " Du hast %s(Spieler ID: %d), $%d gegeben.", giveplayer,giveplayerid, moneys);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    format(string, sizeof(string), " Du hast $%d von %s(Spieler ID: %d) bekommen.", moneys, sendername, playerid);
    SendClientMessage(giveplayerid, COLOR_GRAD1, string);
    format(string, sizeof(string), "%s hat $%d dem Spieler %s gegeben.", sendername, moneys, giveplayer);
    PayLog(string);
    if(moneys >= 1000000)
    {
    ABroadCast(COLOR_YELLOW,string,1);
    }
    PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "* %s nimmt Geld aus seiner Tasche und gibt es %s.", sendername ,giveplayer);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültiger Betrag.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst näher an dem Spieler sein!");
    }
    }//invalid id
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    Danke im Voraus

  • Dafür müsstest du eine Variable erstellen und die dann beim übergeben auf 1 setten wenn das geschehen ist dann sollte er ja vorher noch abfragen ob er denn schon einmal überwiesen hat das ist dann diese variable und dann noch ein Timer setzten das die Varible nach 24 std weggeht


  • if (moneys > 0 && playermoney >= moneys && moneys < 200)
    {
    ConsumingMoney[giveplayerid] = 1;
    GivePlayerMoney(playerid, (0 - moneys));
    GivePlayerMoney(giveplayerid, moneys);
    format(string, sizeof(string), " Du hast %s(Spieler ID: %d), $%d gegeben.", giveplayer,giveplayerid, moneys);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    format(string, sizeof(string), " Du hast $%d von %s(Spieler ID: %d) bekommen.", moneys, sendername, playerid);
    SendClientMessage(giveplayerid, COLOR_GRAD1, string);
    format(string, sizeof(string), "%s hat $%d dem Spieler %s gegeben.", sendername, moneys, giveplayer);
    PayLog(string);
    if(moneys >= 1000000)
    {
    ABroadCast(COLOR_YELLOW,string,1);
    }
    PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "* %s nimmt Geld aus seiner Tasche und gibt es %s.", sendername ,giveplayer);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültiger Betrag.");
    }


    Versuchs mal ^^
    Lange nicht mehr gescriptet,
    Timer und Variablen sind quatsch, wenn er schon abfragt, ob der Betrag größer als 0 sein muss

    graphics frontend web