/selbstmord nur alle 30 Minuten

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 Breadfish ich habe ein Problem mit dem /selbstmord befehl
    Denn die Terrors können den Befehl einfach die ganze zeit hintereinander Spammen und somit Geld farmen
    if(strcmp(cmd, "/selbstmord", true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 20 || PlayerInfo[playerid][pLeader] == 20)
    {
    if(SelfStatus == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du kannst dich nur alle 30min hochjagen.");
    }
    else
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z );
    SetTimer("SAbkling", 12000, 0);
    GameTextForPlayer(playerid, "~r~ B.o.o.o.o.m", 5000, 3);
    SendClientMessage(playerid, COLOR_LIGHTRED, ".:Selbstmord ist keine Lösung:.");
    WantedPoints[playerid] += 6;
    SetPlayerCriminal(playerid,255, "BombenAnschlag!");
    GivePlayerMoney(playerid,7500);
    SelfStatus = 0;
    if (IsPlayerInAnyVehicle(playerid))
    {
    GetPlayerVehicleID(playerid);
    SetVehicleHealth(playerid,0);
    CreateExplosion(x,y,z,6,2);
    CreateExplosion(x,y,z,7,2);
    }
    else
    {
    SetPlayerHealth(playerid,10);
    CreateExplosion(x,y,z,6,2);
    CreateExplosion(x,y,z,7,2);
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsACop(i))
    {
    SendClientMessage(i,COLOR_RED,"BOMBENALARM: Selbstmord Anschlag!");
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "*Du bist kein Terrorist.");
    }
    return 1;
    }

  • Entweder via timestamp oder Timer, such dir was aus :)


    Timer, beim befehl variable abfragen, ob diese false ist, wenn der befehl gemacht wurde, auf true setzen und via timer nach 30 min wieder auf false setzen --> fertig.


    via Timestamp ist es ein bisschen ressourcend schonender, fragst bei dem befehl ab, ob der gespeicherte timestamp größer als der aktuelle ist ( variable > Gettime()) wenn ja, abbrechen.
    So wenn der Befehl ausgeführt wird, einfach Gettime()+30*60; so setzt du eine Variable auf den Aktuelle Timestamp+30min
    und fertig.

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !