Befehl-Spam verhindern

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 habe eine Frage ,und zwar folgendes :




    Ich will es so machen , dass man einen Befehl nur jede 10 Minuten
    machen kann und es z.B nur mit einem bestimmten Fahrzeug . Könntet ihr
    mir helfen bitte?


    Danke im Vorraus




    MfG


    X-Spider

  • Poste mal den befehl den man nur in den 10 mins 1 mal verwenden darf.

  • PHP
    if(strcmp(cmd, "/lsair", true) == 0)
     	{
     		if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
     		{
    			SetPlayerCheckpoint(playerid, 1928.4336,-2250.5027,13.5469, 5.0);
    			SendClientMessage(playerid,COLOR_RED,"Fliege zum Marker");
    			LSAir[playerid] = 1;
     		}
     		return 1;
  • Ganz oben bei deinen forward's:
    forward ResetFlugWarteZeit(playerid);


    Bei OnPlayerConnect:
    SetPVarInt(playerid,"FlugWarteZeit",0);


    Der neue Befehl unter OnPlayerCommandText:
    if(strcmp(cmd, "/lsair", true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
    {
    if(GetPVarInt(playerid,"ZKX_FlugWarteZeit")==0)
    {
    SetPVarInt(playerid,"FlugWarteZeit",1);
    SetPlayerCheckpoint(playerid, 1928.4336,-2250.5027,13.5469, 5.0);
    SendClientMessage(playerid,COLOR_RED,"Fliege zum Marker");
    LSAir[playerid] = 1;
    SetTimerEx("ResetFlugWarteZeit",(1000*60)*10,false,"d",playerid);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du kannst nur alle 10Minuten diesen Befehl benutzen!");
    }
    }
    return 1;
    }


    Neues Public irgendwo alleinstehend ins Script:
    public ResetFlugWarteZeit(playerid)
    {
    SetPVarInt(playerid,"FlugWarteZeit",0);
    return 1;
    }

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

  • Anstelle einen unnötigen Timer einzubauen, arbeite lieber mit GetTickCount oder einer eigenen TickCount Funktion.




    if(strcmp(cmd, "/lsair", true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
    {
    if(GetTickCount()-GetPVarInt(playerid,"FlugWarteZeit")>1000*60*10)
    {
    SetPlayerCheckpoint(playerid, 1928.4336,-2250.5027,13.5469, 5.0);
    SendClientMessage(playerid,COLOR_RED,"Fliege zum Marker");
    LSAir[playerid] = 1;
    SetPVarInt(playerid,"FlugWarteZeit",GetTickCount());
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du kannst nur alle 10Minuten diesen Befehl benutzen!");
    }
    }
    return 1;
    }

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax

  • FLUGZEUG_ANZAHL mit der Anzahl deiner Flugzeuge austauschen!
    new Flugzeuge[FLUGZEUG_ANZAHL];
    forward FlugzeugCheck(carid);


    Eigener Public egal wohin
    public FlugzeugCheck(carid){
    for(new f=0;f<sizeof();f++){
    if(carid == Flugzeuge[f]){return 1;}}
    return 0;}


    Bei OnPlayerEnterVehicle
    if(Flugzeuge(vehicleid)&&!ispassenger)
    {
    if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
    {
    //Aktion wenn jemand einsteigt aus der Fraktion 16
    }
    else
    {
    //Aktion wenn er nicht in der Fraktion 16 ist..
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Mitglied der Fraktion 16!");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    }
    }

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25