Schranke sanft rotieren 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
  • Ich verstehe deine frage nicht ganz ..


    Aber wenn du was rotieren lass willst mach es doch so:



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


    Das heißt 2 Schranken zum beispiel:



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


    Wenn du meinst das es sich druchgehend rotiert würde ich es so machen:



    SetObjectRot(968,Float:RotX,Float:RotY,Float:RotZ); // von x nach y
    SetObjectRot(968,Float:RotX,Float:RotY,Float:RotZ); // von y nach z


    Das dann noch irgendwie in eine for schleife oder so, wie weis ich leider nicht genau weil ich ein noob bin :D

  • Es gibt viele Includes.



    SetObjectRot(968,Float:RotX,Float:RotY,Float:RotZ);
    Das nenn ich mal Fail.
    ObjectID ist NICHT die ModelID!
    Die ObjectID wird von CreateObject zurückgeliefert, die ModelID ist eben die ModelID wie bei den Fahrzeugen 422 = Infernus usw.
    Viele denken eben, man kann ein Object über seine ModelID verändern.
    Das ist Fail. Du brauchst die ObjectID, die durch CreateObject zurückgeliefert wird und nicht die ModelID, von denen jedes Objekt eine andere hat.


    ObjectID ≠ ModelID

  • EDIT:


    Die Schranken gehen auf, aber drehen sich ständig rundherum xD..


    Hier das Script:


    new Schranke1;
    new Schranke2;


    Schranke1 = CreateObject(968, 3159.8359375, -2888.4228515625, 3.7879428863525, 0.0000, 269.49993896484, 90);xy
    Schranke2 = CreateObject(968, 3160.0146484375, -2905.1333007813, 3.7879428863525, 0.0000, 90.250213623047, 89.999969482422);


    if(strcmp("/Schranke1auf", cmdtext, true, 10) == 0)
    {

    SendClientMessage(playerid,0x00FF00FF,"Die Schranke wird geöffnet...");
    MoveObjektRot(Schranke1,0.0000, 0.0000, 90.0000,5);
    return 1;
    }
    if(strcmp("/gotoschranke", cmdtext, true, 10) == 0)
    {


    SetPlayerPos(playerid,3159.8359375, -2888.4228515625, 4.7879428863525);
    return 1;
    }


    if(strcmp("/Schranke1zu", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid,0x00FF00FF,"Die Schranke wird geschlossen...");
    MoveObjektRot(Schranke1,0.0000, 269.49993896484, 90.0000,5);
    return 1;
    }
    if(strcmp("/Schranke2auf", cmdtext, true, 10) == 0)
    {


    SendClientMessage(playerid,0x00FF00FF,"Die Schranke wird geöffnet...");
    MoveObjektRot(Schranke2,0, 0, 89.999969482422,5);
    return 1;
    }


    if(strcmp("/Schranke2zu", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid,0x00FF00FF,"Die Schranke wird geschlossen...");
    MoveObjektRot(Schranke2,0, 90.250213623047, 89.999969482422,5);
    return 1;
    }



    Wie gesagt, die Schranken drehen sich ständig rundherum. Und zu gehen sie auch nicht...



    Mfg Vince

    Einmal editiert, zuletzt von Vince ()

  • Was bedeutet eig. Ein Object rotieren lassen? dreht man es dann?
    Sry, für die zwischen Frage...

    Zita aus dem Livestream chat von Internetlink von BigYoda ;)


    Zitat

    BigYoda: Ink sagt: "Ach OnGamemodeInit brauchen wir nicht löschen" Yoda: "Was ist das andere für ein Kram?". Ink: "Egal lösch einfach alles". Tutorial Ende :D





    DDG is Back


    Froum: DDG Forum
    Server IP: 85.25.20.59:7777
    Team Speak 3: 85.25.20.59

  • Und was genau bringt das?
    Egal, aber danke : ))

    Zita aus dem Livestream chat von Internetlink von BigYoda ;)


    Zitat

    BigYoda: Ink sagt: "Ach OnGamemodeInit brauchen wir nicht löschen" Yoda: "Was ist das andere für ein Kram?". Ink: "Egal lösch einfach alles". Tutorial Ende :D





    DDG is Back


    Froum: DDG Forum
    Server IP: 85.25.20.59:7777
    Team Speak 3: 85.25.20.59

  • Du kannst eine Schranke oder ein Tor drehen, also öffnen, damit man eben durchfahren kann^^



    Ich würd sagen, da wird nicht geprüft, ob die Schranke an der richtigen Position ist.



    Das hier noch in die Include, am Ende nach SetObjectRot(oid,x+dx,y+dy,z+dz); rein denk ich:


    if(x == rx && y = ry && z == rz)
    {
    KillTimer(timer[oid]);
    return 1;
    }