Schranke erstellen

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 habe mir mit MTA einen Zoll gescripted. Bei diesem Zoll sind die Schranken durchgehen offen.
    Nun habe ich einen zweiten Zoll gemappt der exakt so aussieht wie der andere. Der Unterschied ist aber, dass die Schranken zu sind.
    Wie ich das ganze in mein Script Scripte weiß ich, ABER:
    Wie kann ich im Script einstellen das die Map gewechselt wird? Sprich: Die Schranken sind offen, ein Polizist gibt "Schranken zu" ein und die andere Map wird geladen, also die, bei der die Schranken zu sind.
    Bitte um ausführliche erklärung weil ich keine Ahnung habe wie ich das machen soll. :S ?(


    Mit freundlichen Grüßen
    Illex

    Einmal editiert, zuletzt von Illex ()

  • Also, SetObjectRot habe ich verstanden, aber:
    Ich habe am Zoll 2 Schranken.
    In meinem Script sehen die so aus:



    CreateObject(968, -886.578186, -1104.466919, 98.658211, 0.0000, 0.0000, 348.7500);
    CreateObject(968, -872.614075, -1106.683716, 98.209671, 0.0000, 0.0000, 348.7500);


    Nun die Schranken wenn sie zu sind:



    CreateObject(968, -872.522522, -1106.722290, 98.209671, 0.0000, 267.1809, 348.7500);
    CreateObject(968, -886.347046, -1104.473267, 98.670853, 0.0000, 267.1809, 169.2320);


    Nun hab ich den Befehl:

    SetObjectRot(objectid, Float:RotX, Float:RotY, Float:RotZ);


    Was meine Frage ist:
    Was ist wenn ich mehrere Schranken mache (von objekt 968). Im Prinzip werden sie doch dann alle geschlossen da ja alle die objectid "968" haben.
    Kann man das irgendwie verhindern?


    In diesem Beispiel wäre der Befehl zum "zu" machen dann:



    if(strcmp(cmdtext, "/Zollschließen", true) == 0)
    {
    SetObjectRot( 968, -872.522522, -1106.722290, 98.209671);
    SetObjectRot( 968, -886.347046, -1104.473267, 98.670853);
    return 1;
    }


    richtig?
    Mein Problem daran ist, das es so doch eigentlich nicht sein kann weil das Script doch dann Kollidieren würde.
    Denn es hat ja die Anweisung:


    "Tu 968 zu -872.522522, -1106.722290, 98.209671 und tu 986 zu -886.347046, -1104.473267, 98.670853."

    D.h. das er alle objekte mit id 968 zu beiden Koordinaten bringt, und das klappt doch nicht...



    Habs so gut wie möglich versucht zu erklären^^ Hoffe man kann meine Frage verstehen... :)


    Mit freundlichen Grüßen
    Illex

    2 Mal editiert, zuletzt von Illex ()

  • Was ist wenn ich mehrere Schranken mache (von objekt 96. Im Prinzip werden sie doch dann alle geschlossen da ja alle die objectid "968" haben.
    Kann man das irgendwie verhindern?


    Du musst für ein bestimmtes Object eine definition erstellen,also du must jetzt z.B:
    Ganz Oben im Script:
    new schranke1;
    new schranke2; 
    Unter public OnGameModeInit()
    schranke1 = CreateObject(968, -886.578186, -1104.466919, 98.658211, 0.0000, 0.0000, 348.7500);
    schranke2 = CreateObject(968, -872.614075, -1106.683716, 98.209671, 0.0000, 0.0000, 348.7500); 
    Und cmd indem man die Definition der Schranke einsetzt ;) :
    if(strcmp(cmdtext, "/Zollschließen", true) == 0)
    {
    SetObjectRot(schranke1, -872.522522, -1106.722290, 98.209671);
    SetObjectRot(schranke2, -886.347046, -1104.473267, 98.670853);
    return 1;
    }


    //edit, selbst wenn du da bei objectid 968 hinschreibst, nimmt pawno das 968 "CreateObject" in deinem Script,aber
    a) Haste das nicht und b) ist Limit bei 150-200 ;)

  • ja das object rot. hab ich gesucht ich wollte ein garagen tor machen ich trottel habs aber mit move obejct und beim einfügen der cords war mir klah das klappt nicht xD wusste nur den parameter oder wie das ding heißt nicht :D