Einen Befehl nur jede 30 Minuten ausführen können

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 ,
    Wie Scripte ich , das dass man nur jede 30 Minuten den Befehl ausführen kann ?
    Weil ich hab hab ein Bug , dass man ganze Zeit als Terrorist /selbstmord machen kann und dann Geld Buggen kann damit.


    Der Befehl sieht im Script so aus :
    //------------------------------Selbstmord-Attentat-----------------------------
    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 10min hochjagen.");
    }
    else
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z );
    SetTimer("SAbkling", 600, 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,50000);
    SelfStatus = 1;
    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;
    }


    Ich danke im vorraus :D:D

  • Ich bekomme dann das hier nach dem Compilen :
    C:\Users\Max\Desktop\GS2L\WoS 3.0.3\gamemodes\WoS.pwn(23791) : error 022: must be lvalue (non-constant)
    C:\Users\Max\Desktop\GS2L\WoS 3.0.3\gamemodes\WoS.pwn(23791) : error 017: undefined symbol "wiederholen"
    C:\Users\Max\Desktop\GS2L\WoS 3.0.3\gamemodes\WoS.pwn(23791) : error 022: must be lvalue (non-constant)
    C:\Users\Max\Desktop\GS2L\WoS 3.0.3\gamemodes\WoS.pwn(23791) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • Wat wollt ihr da mit nem unnötigen Timer?


    Spielerspezifische Variable mit Unixtime setzen und Mathematik benutzen.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • am besten du machst oben.


    new explodetime[MAX_PLAYERS];


    Dann, wenn er explodiert


    explodetime[playerid] = 1;
    SetTimer("explodetimer",1800000,false);


    Und bevor er explodiert eine Abfrage:


    if(explodetime[playerid] == 1) return SendClientMessage(playerid,farbe,"Du kannst dich nur alle 30 Minuten hochjagen");


    Wenn ich was vergessen habe, bitte ergänzen


    //Edit


    Dann ja noch beim Timer


    explodetime[playerid] = 0;

  • Gibt es dafür hier im Forum vll ein Tut dafür ?

    Ich weiß nicht was genau man im errechnen von vergangenen Sekunden an Tutorials braucht. Wenn du das nicht kannst empfehle ich dir eher die 4. Klasse zu wiederholen :p


    http://wiki.sa-mp.com/wiki/Gettime


    Mehr Hilfe kann man da eigentlich geben.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

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