2 Tore gleichzeitig öffnen lassen

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
  • Tag Leute, undzwar möchte ich 2 Tore gleichzeitig öffnen lassen, habe es aber bisher nur hinbekommen ein einzelnes zu öffnen.


    Hier ist mein Tor Script
    #include <a_samp>

    Hier ist mein Tor Script
    #define FILTERSCRIPT

    Hier ist mein Tor Script
    #define Rot 0xFF0000FF
    #define White 0xFFFFFFFF

    Hier ist mein Tor Script
    #if defined FILTERSCRIPT

    Hier ist mein Tor Script
    new tor; // "Tor" wird erschaffen
    forward close();

    Hier ist mein Tor Script
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Filterscript by DeinNameHier");
    print("--------------------------------------\n");

    Hier ist mein Tor Script
    tor = CreateObject(980, 1300.30005, -2056.80005, 59.7, 0.00, 0.00, 269.25); // Tor wird gespawnt und mit dem Namen "tor" belegt

    Hier ist mein Tor Script
    return 1;
    }
    #endif

    Hier ist mein Tor Script
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/tor", cmdtext, true, 10) == 0) // Kommando zum öffnen
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,1300.30005, -2056.80005, 59.7)) // Ist der Spieler in der Nähe ?
    {
    MoveObject(tor,1300.30005, -2056.8000, 52.9, 4); // Wenn >Ja<, dann öffne Tor
    SendClientMessage(playerid,Rot,"Das Tor schließt in 5 Sekunden.");
    SetTimer("close", 5000,0); // Timer
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!"); // Wenn >Nein<, sag es ihm
    return 1;
    }
    }
    }

    Hier ist mein Tor Script
    public close () // Timer wird gesagt was passieren soll wenn er abgelaufen ist
    {
    MoveObject(tor,1300.30005, -2056.80005, 59.7, 4);
    return 1;
    }

    So das 2. Tor hat folgende Koordinaten:
    Wenn es zu ist
    posX="1283.69995" posY="-2056.30005" posZ="60.1" rotX="0" rotY="0" rotZ="269.247


    Wenn es offen ist


    posX="1283.69995" posY="-2056.30005" posZ="53.6" rotX="0" rotY="0" rotZ="269.247


    Wie kann ich es jetzt einbauen, sodass ich beide gleichzeitig öffnen kann? Und wie lege ich fest, dass eine bestimmte Fraktion nur diese Tore öffnen kann?


    Hoffe mir kann jemand helfen.


    Mit freundlichen Grüßen

  • MoveObject(tor,1300.30005, -2056.8000, 52.9, 4);
    Schreib unter das einfach das:
    MoveObject(tor2,x, y, z, 4);


    Also so:

    Spoiler anzeigen

    #include <a_samp>

    Spoiler anzeigen
    #define FILTERSCRIPT

    Spoiler anzeigen
    #define Rot 0xFF0000FF
    #define White 0xFFFFFFFF

    Spoiler anzeigen
    #if defined FILTERSCRIPT

    Spoiler anzeigen
    new tor; // "Tor" wird erschaffen
    new tor2;
    forward close();

    Spoiler anzeigen
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Filterscript by DeinNameHier");
    print("--------------------------------------\n");

    Spoiler anzeigen
    tor = CreateObject(980, 1300.30005, -2056.80005, 59.7, 0.00, 0.00, 269.25); // Tor wird gespawnt und mit dem Namen "tor" belegt
    tor2= CreateObject(980, 1283.69995, -2056.30005, 60.1, 0.00, 0.00, 269.247);
    return 1;
    }
    #endif

    Spoiler anzeigen
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/tor", cmdtext, true, 10) == 0) // Kommando zum öffnen
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,1300.30005, -2056.80005, 59.7)) // Ist der Spieler in der Nähe ?
    {
    MoveObject(tor,1300.30005, -2056.8000, 52.9, 4); // Wenn >Ja<, dann öffne Tor
    MoveObject(tor2,1283.69995, -2056.30005, 53.6, 4);
    SendClientMessage(playerid,Rot,"Das Tor schließt in 5 Sekunden.");
    SetTimer("close", 5000,0); // Timer
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!"); // Wenn >Nein<, sag es ihm
    return 1;
    }
    }
    }

    Spoiler anzeigen
    public close () // Timer wird gesagt was passieren soll wenn er abgelaufen ist
    {
    MoveObject(tor,1300.30005, -2056.80005, 59.7, 4);
    MoveObject(tor2,1283.69995, -2056.30005, 60.1, 4);
    return 1;
    }


    Ich weiß das man es auch mit Arrays machen kann aber für ihn ist es so denk ich mal erstmal leichter.

    MfG SkrilLinux


    Ich habe euch erfolgreich geholfen?
    -Dann wäre es nett wenn ihr 1x auf Bedanken klickt :)

    Einmal editiert, zuletzt von Freestyyler ()


  • #include <a_samp>


    #define FILTERSCRIPT


    #define Rot 0xFF0000FF
    #define White 0xFFFFFFFF


    #if defined FILTERSCRIPT


    new tor; // "Tor" wird erschaffen
    new tor2;
    forward close();


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Filterscript by DeinNameHier");
    print("--------------------------------------\n");


    tor = CreateObject(980, 1300.30005, -2056.80005, 59.7, 0.00, 0.00, 269.25); // Tor wird gespawnt und mit dem Namen "tor" belegt
    tor2= CreateObject(980, 1283.69995, -2056.30005, 60.1, 0.00, 0.00, 269.247);
    return 1;
    }
    #endif


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/tor", cmdtext, true, 10) == 0) // Kommando zum öffnen
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,1300.30005, -2056.80005, 59.7) || IsPlayerInRangeOfPoint(playerid,10.0,X, Y, Z)) // Ist der Spieler in der Nähe ?
    {
    MoveObject(tor,1300.30005, -2056.8000, 52.9, 4); // Wenn >Ja<, dann öffne Tor
    MoveObject(tor2,1283.69995, -2056.30005, 53.6, 4);
    SendClientMessage(playerid,Rot,"Das Tor schließt in 5 Sekunden.");
    SetTimer("close", 5000,0); // Timer
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!"); // Wenn >Nein<, sag es ihm
    return 1;
    }
    }
    }


    public close () // Timer wird gesagt was passieren soll wenn er abgelaufen ist
    {
    MoveObject(tor,1300.30005, -2056.80005, 59.7, 4);
    MoveObject(tor2,1283.69995, -2056.30005, 60.1, 4);
    return 1;
    }



    Dann musst du noch die Koordianten da beim Befehl von Innen eintragen.

  • Danke dafür schonmal, wenn ich es allerdings von innen öffnen möchte, sagt er mir das ich nicht in der Nähe des Tores bin :S


    Stell dich ca. in die Mitte und Save die Koordinaten.
    Dann füg die hier ein:
    if(IsPlayerInRangeOfPoint(playerid,10.0,1300.30005, -2056.80005, 59.7))
    GGF. kannst du den Radius ändern (Derzeit auf 10.0)

    MfG SkrilLinux


    Ich habe euch erfolgreich geholfen?
    -Dann wäre es nett wenn ihr 1x auf Bedanken klickt :)

  • 2 mal moveobject in ein befehl schon hast du 2 tore zb



    MoveObject(tor1
    MoveObject(tor2

  • Soweit klappt das jetzt alles, nur weiß ich noch nicht wie ich die Tore für eine bestimmte Fraktion festlegen kann. Also das eine Fraktion meiner Wahl nur diese Tore öffnen können und sonst keiner


    Hast du den schon Fraktionen?

    MfG SkrilLinux


    Ich habe euch erfolgreich geholfen?
    -Dann wäre es nett wenn ihr 1x auf Bedanken klickt :)