Timer in einen Befehl einbauen..

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 Leute ich habe mich mal an einen Timer für ein /unrentRoller ran gesetzt und auch alles hinbekommen..der Timer sollte nach 5Sekunden den Roller
    respawnen,und jetzt ist mein Problem er respawnt nicht (Er geht nicht weg bzw wird nicht gelöscht).Ich hoffe ihr könnt mir sagen was falsch ist.


    Der Anfrang ich habe einen Timer erstellt


    SetTimer("unrenttimer",5000,false);


    Dann ein forward


    forward unrenttimer();


    Dann habe ich ein Public erstellt:


    ///---Timer Public---///
    public unrenttimer()
    {
    return 1;
    }


    Und zum Schluss habe ich versucht den Timer in mein Befehl zu setzen:


    }
    if(strcmp(cmdtext,"/unrentroller",true)==0)
    {
    unrenttimer();
    SendClientMessage(playerid,WEIß,"Der Befehl brauch noch ein Timer für 5Sek!");
    SendClientMessage(playerid,WEIß,"Der Roller wird in wenigen Sekunden ungerentet.");
    return 1;

    **~~Favorite~~**

  • Nein.


    Das hier:


    SetTimer("unrenttimer",5000,false);

    Kommt zu dem Command /unrentroller. Und dann wird bei dem Befehl der Timer erstellt & gestartet. Und am Ende der 5 Sekunden das Public "unrenttimer" ausgeführt.



    //edit also so:


    if(strcmp(cmdtext,"/unrentroller",true)==0)
    {
    SetTimer("unrenttimer",5000,false);
    SendClientMessage(playerid,WEIß,"Der Roller wird in wenigen Sekunden ungerentet.");
    return 1;
    }



    und dann eben ganz unten ins Script:


    forward unrenttimer();
    public unrenttimer()
    {
    SendClientMessage(playerid,WEIß,"Der Roller wurde "entmietet"(oder was man da nimmt ^^).");
    // und hier was eben noch passieren soll
    }

  • Mal eine dumme frage ? Wie soll er weggehnen wenn du nicht mal SetVehicleToRespawn verwendestd D: und du musst beim renten die ID vom Roller in eine Variable speichern und die dann abfragen D:


    und der Timer sollte ein playertimer sein also:


    http://wiki.sa-mp.com/wiki/SetTimerExSetTimerEx("unrentbike", 1000, false, "i", playerid);



    Die variable D: (ganz oben)
    new rentetcar[MAX_PLAYERS];


    dann halt beim /rent befehel


    rentetcar[playerid] = GetPlayerVehicleID(playerid);


    und beim unrent timer:


    SetVehicleToRespawn(rentetcar[playerid]);


    hier alles komplett (also nur die Public unten)


    forward unrentbike(playerid);
    public unrentbike(playerid) {SetVehicleToRespawn(rentetcar[playerid]); return 1; }

  • Wenn er runtergeschmissen werden soll -> RemovePlayerFromVehicle()
    Wenn das Fahrzeug gelöscht werden soll -> DestroyVehicle()

    Oder nicht?