schranken flüsig

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


    ich habe versucht eine schranke zu erstellen, die relativ flüssig auf und zu geht.


    also, ich möchte, dass die Schranke ca. 1 Sekunde zum aufgehen, dann so ca, 5-6 Sekunden aufbleibt und anschließen wieder in ca 1 Sekunde zu geht.


    ich habe das so versucht, das ich einen Timer habe in dem ich mehrere Schranken steuern könnte, und einem befehl, der lspdschrankeu auf 1 setzt, dies wird in dem Timer abgefragt, so soll die Schranke am LSPD aktiviert werden.



    Mein Code:
    forward t1();
    new lspdschranke;
    new lspdschrankeu;
    new lspdschrankei=0;


    public OnGameModeInit()
    {
    lspdschranke=CreateObject(2920, 1544.69922, -1630.7998, 13.1, 270, 0, 0);
    SetTimer("t1",11,true);
    return 1;
    }


    public t1()
    {
    if(lspdschrankeu==1)
    {
    if(lspdschrankei<=90)
    {
    new Float:x, Float:y, Float:z;
    GetObjectRot(lspdschranke,x,y,z);
    x=x+1;
    SetObjectRot(lspdschranke,x,0,0);
    lspdschrankei=lspdschrankei+1;
    }
    if(lspdschrankei>=545&&lspdschrankei<=635)
    {
    new Float:x, Float:y, Float:z;
    GetObjectRot(lspdschranke,x,y,z);
    x=x-1;
    SetObjectRot(lspdschranke,x,0,0);
    lspdschrankei=lspdschrankei+1;
    }
    if(lspdschrankei==636)
    {
    lspdschrankeu=0;
    lspdschrankei=0;
    }
    }
    return 1;
    }


    ocmd:mv(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid, 10, 1544.69922, -1630.7998, 13.1))
    {
    lspdschrankeu=1;
    SendClientMessage(playerid,rot,"LSPD Schranke öffnet");
    }
    return 1;
    }


    Mir wird zwar "LSPD Schranke öffnet" angezeigt, aber sonst passiert nichts ?( , kann mir da jemand helfen?


    mfg
    kinnaj100

  • Ich habs mal so gemacht. Bei Fehler korrigieren

    Spoiler anzeigen

    forward t1();
    new lspdschranke,
    lspdschrankeu,
    lspdschrankei;

    Spoiler anzeigen
    public OnGameModeInit()
    {
    lspdschranke=CreateObject(2920, 1544.69922, -1630.7998, 13.1, 270, 0, 0);
    return 1;
    }

    Spoiler anzeigen
    public t1()
    {
    if(lspdschrankeu==1)
    {
    if(lspdschrankei<=90)
    {
    new Float:x, Float:y, Float:z;
    GetObjectRot(lspdschranke,x,y,z);
    x=x+1;
    SetObjectRot(lspdschranke,x,0,0);
    lspdschrankei=lspdschrankei+1;
    }
    if(lspdschrankei>=545&&lspdschrankei<=635)
    {
    new Float:x, Float:y, Float:z;
    GetObjectRot(lspdschranke,x,y,z);
    x=x-1;
    SetObjectRot(lspdschranke,x,0,0);
    lspdschrankei=lspdschrankei+1;
    }
    if(lspdschrankei==636)
    {
    lspdschrankeu=0;
    lspdschrankei=0;
    }
    }
    return 1;
    }

    Spoiler anzeigen
    ocmd:mv(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid, 10, 1544.69922, -1630.7998, 13.1))
    {
    lspdschrankeu=1, SetTimer("t1",11,true);
    SendClientMessage(playerid,rot,"LSPD Schranke öffnet");
    }
    return 1;
    }

  • Wieso macht ihr es euch so schwer??
    geht mal zur Wikiseite und schaut mal genau hin...


    MoveObject(objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0)


    das heißt


    MoveObject(lspdschranke,1544.69922[X Achse], -1630.7998[Y Achse], 13.1[Z Achse], 3[Speed],[RotationX],[RotationY],[RotationZ]);


    Und Fertig, man braucht da nicht
    sowas wie in Godfather "MoveObjectRot" etc..
    macht es einfach so es gelinkt es ist sogar sehr flüssig und Gleichmäßig.

  • fast bei schranken gibts einen kleinen Kniff xD


    Zitat

    MoveDynamicObject(gatehqls,1694.81, -1143.17, 23.78+ 0.01,0.03, 0.00, 0.00, 0.00);


    Beim Aufmachen einfach bei der höhe ein +0.01 und sie geht schön sanft und langsam auf


    beim zumachen natürlich einfach ein -0.01

    Zitat

    MoveDynamicObject(gatehqls,1694.81, -1143.17, 23.78- 0.01,0.03,0.00, 90.00, 0.00);


    ansonsten einfach mal hier im forum bei den Tuts schauen da steht einiges zu drinnen.



    srry fürs quoten und nicht fürs Pwn einbinden (in PWNcode lässt es sich nicht farblich makieren)

    "90 % aller Deutschen Reallife/Roleplay Server sind TeamDeathmatch Server mit Bewerbungspflicht"

    "das Internet macht schlaue Menschen schlauer und dumme Menschen lauter."