Ballon hört bei Logout auf zu fliegen und fliegt Punkt 1 Nicht ab..

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,


    habe versucht ein Heißluftballon einzubauen,
    allerdings funktioniert es nicht so wie ich das will :(


    Wo ist der Fehler?


    Oben im Script;
    new obj, movecount;
    forward MoveBallon();


    public MoveBallon()
    {
    movecount = 0;
    MoveObject(obj, 1458.25439, -1798.81921, 60.00000, 5.00);
    movecount += 1;
    }


    Unter OnObjectMoved
    //Punkt 1
    if(objectid == obj && movecount == 1)
    {
    MoveObject(objectid , 869.96851, -2061.39111, 60.00000, 5.00);
    movecount += 1;
    }
    //Punkt 2
    if(objectid == obj && movecount == 2)
    {
    MoveObject(objectid , 369.01831, -1841.05188, 60.00000, 5.00);
    movecount += 1;
    }


    Unter OnGameModeInit;
    obj = CreateObject(19335, 1458.25439, -1798.81921, 12.56000, 0.00000, 0.00000, 0.00000);


    Wieso hört der auf zu fliegen wenn ich mich auslogge, und warum fliegt der direkt auf punkt 2 zu?

  • Unter OnGameModeInit;


    //Edit auch wenn ich movecount = 0; weg mache, fliegt der trotzdem zu Punkt 2...


    Hab das Problem mit dem Punkte Abfliegen per Timer behoben, allerdings ist nun das Problem, das der einfach Anhält wenn ich mich auslogge..


    Wieso ist das denn so?

    3 Mal editiert, zuletzt von Shoxx ()

  • hab das jetzt auf die schnelle zusammen geschrieben, ohne timer/ohne irgendwelche komischen if(count == 2) usw


    Oben einfach die Positionen nach der reihe anordnen und schon fliegt der Ballon hin und her
    #include <a_samp>


    new Float:BalloonPos[][3] = // Mindestens 2 PUNKTE sonst gibt es Fehler!!!!!
    {
    {0.0, 0.0, 10.0},
    {0.0, 50.0, 100.0},
    {500.0, 50.0, 100.0},
    {1000.0, 1000.0, 100.0}
    };


    new BalloonState = 0;
    new BalloonObject = INVALID_OBJECT_ID;
    new BalloonType = 0; // Type, vorwärts oder zurück fliegen ?
    #define BALLOON_SPEED 2.0


    public OnGameModeInit()
    {
    BalloonObject = CreateObject(19337, 0.0,0.0,0.0,0.0,0.0,0.0);


    StartBalloon();
    return 1;
    }


    stock StartBalloon() //set balloon to start
    {
    SetObjectPos(BalloonObject, BalloonPos[0][0], BalloonPos[0][1], BalloonPos[0][2]); //reset to first position -> [0]
    MoveObject(BalloonObject, BalloonPos[1][0], BalloonPos[1][1], BalloonPos[1][2], BALLOON_SPEED);//start moving to second position
    BalloonState = 1; // reset balloon state variable
    BalloonType = 0;
    return 1;
    }


    public OnObjectMoved(objectid)
    {
    if(objectid == BalloonObject)
    {
    SetObjectPos(BalloonObject, BalloonPos[BalloonState][0], BalloonPos[BalloonState][1], BalloonPos[BalloonState][2]); //resync aktuelle position
    if(!BalloonType) BalloonState++;//vorwärts oder rückwärts bewegen ?
    else BalloonState--;
    if(BalloonState < 0) { //balloon hat wieder den start erreicht
    BalloonState=1;
    BalloonType=0;
    }
    else if(BalloonState >= sizeof(BalloonPos)) {//balloon hat das ende erreicht, wieder zurück fliegen ;)
    BalloonState=sizeof(BalloonPos)-2;
    BalloonType=1;
    }

    //Bewege das Object
    MoveObject(BalloonObject, BalloonPos[BalloonState][0], BalloonPos[BalloonState][1], BalloonPos[BalloonState][2], BALLOON_SPEED);
    }
    return 1;
    }


  • Auch da habe ich das Problem, das wenn ich mich Auslogge, das der Ballon stehen bleibt..
    Wie ist den der OnObjectMoved Definiert ???

    Einmal editiert, zuletzt von Shoxx ()