Tore mit Timer schließen ?

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
  • Gute Nacht Community. Folgendes :


    Ich wollte fragen ob man bestimmten Objekten ID's zuweisen kann und die dann mit einer if() Abfrage sozusagen 'steuern' kann
    zum Beispiel Tore mit einem Timer schließen lassen. Ich hab mir das so überlegt.


    - Tor X geht auf. Timer XY startet - lässt Tor X schließen.
    - Tor Y geht auf. Timer XY startet - lässt Tor Y schließen.
    .
    .
    . // und so weiter.


    Auf Dauer wäre es doch viel Sparender anstatt für jeden Tor einen passenden Timer zu schreiben.


    Ich hoffe ihr versteht mein Vorhaben.

    -Ted.

  • new ft1;


    if (strcmp("/ft1", cmdtext, true, 10) == 0)//den Befehl könnt ihr jederzeit beliebig ändern
    {
    if(IsPlayerInFrac(playerid,24) || (IsACop(playerid)))
    {
    MoveObject(ft1, -1701.44336, 687.54962, 24.65810, 3.0, 0.00000, 0.00000, 90.00000);//Die 3.0 ist die Geschwindigkeit des Gates!
    SetTimer("CloseFt1",5000,0);//Der Timer wird gestartet sobald der CMD verwendet wird!5000 ist die Zeit in Ms!
    SendClientMessage(playerid, COLOR_YELLOW,"Das Tor ist offen. Beeil dich es schließt in 5 Sekunden");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist Ordnungsamtler");
    }
    return 1;
    }


    Function CloseFt1()
    {
    MoveObject(ft1, -1701.44336, 687.64960, 24.69810, 3.0, 0.00000, -90.00000, 90.00000);//Hier kommen eure Coords hin wo das Tor geschlossen ist!
    return 1;
    }


    Hoffe konnte dir helfen ;)


    M.f.G.


    heyho ;)

  • Mal eben aus dem Kopf geschreiben:


    SetTimerEx("MoveObjectTime",5000,false,"dffff",objectid,x,y,z,speed);


    forward MoveObjectTime(object, Float:x,Float:y,Float:z,Float:speed);
    Public MoveObjectTime(object, Float:x,Float:y,Float:z,Float:speed)
    {
    MoveObject(object, x,y,z,speed);
    return 1;
    }


    Beispiel innerhalb cmd:
    MoveObject(ft1, -1701.44336, 687.54962, 24.65810-10.0, 3.0,);
    SetTimerEx("MoveObjectTime",5000,false,"dffff",ft1,-1701.44336, 687.54962, 24.65810,3.0);


  • Danke, allerdings beantwortet es meine Frage leider nicht.



    Jo danke Sniper :) Genau so hatte ich das auch Kopf, wusste nicht das Umzusetzen .. Vielen Dank hat mir grad in mehreren Punkten weiter geholfen :)

    -Ted.