Tore Hilfe [Teamviewer]

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,


    nun bin ich an meinen Toren angelangt, ich kam und komme mit meinen Toren nicht zurecht, bzw. konnte Tore eigentlich noch nie so wirklich weil ich es nicht blicke.


    Kann mir einer erklären was genau ich machen muss, damit die Tore sich bewegen?
    Ich möchte gerne das die Tore sich nach unten bewegen, mit den Tutorials verstehe ich es immernoch nicht.


    new bool:Pdtor1;


    Pdtor1 = CreateDynamicObject(971,1188.7998000,-1743.0996000,10.6000000,0.0000000,0.0000000,239.9910000); //object(subwaygate) (1)


    if(strcmp(cmd,"/pdtor1", true) == 0)
    {
    if(IsACop(playerid) || IsPlayerInFrac(playerid, 22))
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein Red Soldier!");
    return 1;
    }
    if(Pdtor1 == false)
    {
    MoveObject(Pdtor1, 1188.7998000,-1743.0996000,10,5.32026672, 5.0);
    // SendClientMessage(playerid, COLOR_GREEN, "Tor geöffnet.");
    Pdtor1 = true;
    }
    else if(Pdtor1 == true)
    {
    MoveObject(Pdtor1, 1188.7998000,-1743.0996000,10,15.32026672, 5.0);
    //SendClientMessage(playerid, COLOR_RED, "Tor geschlossen.");
    Pdtor1 = false;
    }
    return 1;
    }


    Das waren alle Codes, die ich momentan benutzt habe.


    Hoffentlich kann mir jemand helfen :3



    Mit freundlichen Grüßen.

  • Also,


    if(strcmp(cmd,"/pdtor1", true) == 0)
    {
    if(IsACop(playerid) || IsPlayerInFrac(playerid, 22))
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein Red Soldier!");
    return 1;
    }
    if(Pdtor1 == false)
    {
    MoveObject(Pdtor1, 1188.7998000,-1743.0996000,-10,5.32026672, 5.0);
    // SendClientMessage(playerid, COLOR_GREEN, "Tor geöffnet.");
    Pdtor1 = true;
    }
    else if(Pdtor1 == true)
    {
    MoveObject(Pdtor1, 1188.7998000,-1743.0996000,10,15.32026672, 5.0);
    //SendClientMessage(playerid, COLOR_RED, "Tor geschlossen.");
    Pdtor1 = false;
    }
    return 1;
    }
    ?

  • Schau dir mal MoveObject genau an.
    MoveObject(objectid, Float:X, Float:Y, Float:Z, Float:Speed);
    Demnach müsste das bei dir so sein.


    MoveObject(Pdtor1, 1188.7998000,-1743.0996000,15.32026672-10, 5.0);
    Und bei dem anderen
    MoveObject(Pdtor1, 1188.7998000,-1743.0996000,15.32026672, 5.0);

  • Du hast beim erstellen die Z Koordinaten: 10.6000000
    Dann beim ersten moven: 5.32026672
    und dann wieder zu : 15.32026672
    Sprich das Tor würde höher gehen.


    Meines Wissens nach, darf die Variable auch kein bool sein.
    erstelle einfach 2 Variablen, zB so:
    new bool:Pdtoro,Pdtor1;
    halt dein CreateObject

    if(strcmp(cmd,"/pdtor1", true) == 0)
    {
    if(IsACop(playerid) || IsPlayerInFrac(playerid, 22)) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Red Soldier!");
    if(Pdtoro == false)
    {
    MoveObject(Pdtor1, 1188.7998000,-1743.0996000,10,5.32026672, 5.0);
    // SendClientMessage(playerid, COLOR_GREEN, "Tor geöffnet.");
    Pdtor1 = true;
    }
    else if(Pdtoro == true)
    {
    MoveObject(Pdtor1,1188.7998000,-1743.0996000,10.6000000, 5.0);
    //SendClientMessage(playerid, COLOR_RED, "Tor geschlossen.");
    Pdtoro = false;
    }
    return 1;
    }
    so zum Beispiel :)
    Habe ich jetzt auch nur schnell geschrieben.


  • Funktioniert nicht :3

  • Du darfst das Tor ja auch nicht in einem Boolean speichern. Es muss schon eine "normale" Variable sein. Also nur new Pdtor1; Da du aber ja mit == true und == false abfragen musst, ob das Tor auf oder zu ist, musst du dementsprechend dies in einer anderen Variable speichern.


    LG lolcooper