Tore schließen (einfacher)

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 möchte gerne, dass das Tor sich nach 5 Sekunden schließt, das funktioniert auch,
    doch ich denke, dass es eine einfachere Lösung dafür gibt, als jedem mal ein public + forward zu erstellen.
    Weiß einer von euch, wie man dies noch einfacher gestalten kann?


    So sieht mein Code bisher aus.
    forward CloseLspdTor();
    public CloseLspdTor()
    {
    MoveObject(tor[0],1587.5, -1637.9, 14.9,3);
    }
    tor[0]=CreateObject(2990, 1587.5, -1637.9, 14.9, 0, 0, 180); // Tor
    ocmd:lspdg(playerid,params[])
    {
    if(SpielerInfo[playerid][Fraktion]>0 && SpielerInfo[playerid][Fraktion]<4) return SendClientMessage(playerid,Grey,"Du darfst diesen Befehl nicht nutzen!");
    if(!IsPlayerInRangeOfPoint(playerid,10,1587.5, -1637.9, 14.9)) return SendClientMessage(playerid,Grey,"Du bist nicht in der Reichweite des LSPD Tores.");
    MoveObject(tor[0],1587.5, -1637.9, 14.9-10,5);
    SendClientMessage(playerid,-1,"Das Tor schließt in 5 Sekunden automatisch.");
    SetTimer("CloseLspdTor",5000,0); // CloseLspdTor
    return 1;
    }

  • Irgendwie ist das schwachsinn.


    @Threadersteller:
    Soviel wie ich weiß gibt es keine andere Möglichkeit dafür. Du könntest ja weiterhin damit arbeiten, so lange du nicht zu viel aufeinmal machst ;)

  • hav0k das funktioniert so nicht, funktioniert nur mit forwards (und vielleicht Stocks)...
    Benutze doch einfach so etwas in die Richtung:

    public closeGate(gateID) {
    switch(gateID) {
    case 0: { Tor 1 }
    case 1: { Tor 2 }
    // ....
    }
    }


    SetTimerEx("closeGate",5000,0,"d", TORID);


    Musst ebend jedes einzelne Tor da eintragen, aber das schätze ich ist ja nicht das Problem oder?

  • Wofür in Datenbank speichern? Hier mal als Beispiel:

    tor[0]=CreateObject(2990, 1587.5, -1637.9, 14.9, 0, 0, 180); // Tor


    public closeGate(gateID) {
    switch(gateID) {
    case 0: { MoveObject(tor[0],1587.5, -1637.9, 14.9,3); }
    case 1: { MoveObject(/* Weiteres Tor */); }
    }
    }
    // unter /lspdg dann :
    SetTimerEx("closeGate",5000,0,"d", 0);