Need help, jedes Tor soll sich öffnen mit nur einem Befehl :>

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 Leute,


    ich bins wieder.



    Also ich wollte gerne das ich mit nur einem Befehl jeder Tor auf meinem Server öffne sofern man in dieser Fraktion ist und in der Nähe ist.


    Ich dachte mir ich kopiere einfach mal mein erstes Tor das ich gesetzt habe und editiere einfach die Koordinaten.
    Doch wenn ich vor meinem Neuem Tor stehe kommt nur im chat das ich nicht in der Nähe des LSPD-Tor bin.





    if(!strcmp("/auf", cmdtext, true))
    {
    if(!sSpieler[playerid][Fraktion]) return SendClientMessage(playerid,ROT,"Du bist kein Mitglied des LSPD!");
    if(!IsPlayerInRangeOfPoint(playerid,20.0, 1593, -1638.0999755859, 12.39999961853)) return SendClientMessage(playerid,ROT,"Du befindest dich nicht in der Nähe von dem LSPD-Tor !");
    MoveObject(lspdtor,1593, -1638.0999755859, 2.39999961853,2.0);
    SetTimer("torlspd",3523,false);
    return 1;
    }
    if(!strcmp("/auf", cmdtext, true))
    {
    if(!sSpieler[playerid][Fraktion]) return SendClientMessage(playerid,ROT,"Du bist kein Mitglied des LSPD!");
    if(!IsPlayerInRangeOfPoint(playerid,20.0, 1549.4000244141, -1621.6999511719, 14.10000038147)) return SendClientMessage(playerid,ROT,"Du befindest dich nicht in der Nähe von dem LSPD-Tor !");
    MoveObject(lspdtorvorne,1593, 1549.4000244141, -1621.6999511719, 4.10000038147,2.0);
    SetTimer("torlspd2",3523,false);
    return 1;
    }





    forward torlspd2();
    public torlspd2()
    {
    MoveObject(lspdtorvorne,1549.4000244141, -1621.6999511719, 14.10000038147,2.0);
    }



    Ich hoffe mir kann da jemand helfen, ich habe schon gesucht aber nur sachen gefunden wo ich alles verändern müsste (Und da weiß ich nicht ob es dann überhaupt noch geht.)




    Grüße,

  • Befehl -> Abfragen ob er in der Pos eines der Tore ist -> wenn nötig abfragen ob er in einer bestimmten Frak ist -> tor öffnen bzw. schließen, je nach dem ob es offen oder zu ist (dazu eine Variable setzen die immer wenn ein Tor geöffnet wird zB auf 1 gesetzt wird, wenns geschlossen wird auf 0 und so auch abfragen :)


    Wieso hast du vor strcmp ein "!" ?! Das bedeutet ja wenn du das NICHT eingibst, oder lieg ich da falsch?


    Außerdem mach nur einen Befehl und pack das "IsPlayerInRangeOfPoint" rein und nicht zwei mal /auf machen..


    - Tomsen

  • Nein, geht leider auch nicht :(
    Ich habe so auch schon weiter probiert, aber nix gefunden wie das gehen soll...
    Ich wollte später ja auch von z.B Yakuza usw. die Tore mit /auf aufmachen können...

  • du darfst den befehl nicht zweimal erstellen, da das script von oben nach unten läuft und es so garnicht erst an den zweiten befehl kommt, bei dir führt das script folgendes aus: entweder das erste tor öffnet sich oder es öffnet sich nicht weil der spieler nicht in dessen nähe ist. in beiden fällen stopt es nach dem ersten befehl und beendet den public. das heisst du dürftest für einen solchen befehl keine errormeldung geben, wenn ein spieler nun nicht in der nähe eines tores ist.


    if(!strcmp("/auf", cmdtext, true))
    {
    if(IsPlayerInRangeOfPoint(playerid,20.0, 1593, -1638.0999755859, 12.39999961853))
    {
    if(!sSpieler[playerid][Fraktion]) return SendClientMessage(playerid,ROT,"Du bist kein Mitglied des LSPD!");
    MoveObject(lspdtor,1593, -1638.0999755859, 2.39999961853,2.0);
    SetTimer("torlspd",3523,false);
    return 1;
    }


    if(IsPlayerInRangeOfPoint(playerid,20.0, 1549.4000244141, -1621.6999511719, 14.10000038147))
    {
    if(!sSpieler[playerid][Fraktion]) return SendClientMessage(playerid,ROT,"Du bist kein Mitglied des LSPD!");
    MoveObject(lspdtorvorne,1593, 1549.4000244141, -1621.6999511719, 4.10000038147,2.0);
    SetTimer("torlspd2",3523,false);
    return 1;
    }
    }


    ich glaube so in etwa hast du das auch gemeint, tomsen


    Premium Company - comming soon!