Bunnyhopping mit Animation untersagen.

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
  • Du musst ja rausfinden, wann der Spieler "bunnyhopp" macht. Dies geht nur auf einem weg (soweit ich weiß) und zwar musst du die Tastenkombination abfragen unter OnPlayerKeyStateChange(playerid, newkeys, oldkeys), die für den Bunnyhopp zuständig ist. Wenn diese Abfrage dann positiv (zutreffend) ist, setzt du den Spieler eine Animation.

  • Du musst ja rausfinden, wann der Spieler "bunnyhopp" macht. Dies geht nur auf einem weg (soweit ich weiß) und zwar musst du die Tastenkombination abfragen unter OnPlayerKeyStateChange(playerid, newkeys, oldkeys), die für den Bunnyhopp zuständig ist. Wenn diese Abfrage dann positiv (zutreffend) ist, setzt du den Spieler eine Animation.


    Das aendert aber nichts an der Bewegung nach oben



    Mit freundlichen Gruessen


    巻く牛ミリ案件白押さえ気

  • Erstmal brauchst du das hier oben irgendwo (optional, ist aber einfacher und besser):



    // PRESSED(keys)
    #define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))


    // HOLDING(keys)
    #define HOLDING(%0) \
    ((newkeys & (%0)) == (%0))


    // RELEASED(keys)
    #define RELEASED(%0) \
    (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))


    Dann gehst du zu OnPlayerKeyStateChange und machst dort eine if Abfrage. Also du möchtest ja, dass wenn der Spieler rennt und springt, er hinfliegt. Er muss also die Leertaste und die W Taste gedrückt halten und Shift drücken.
    Also:



    if(!IsPlayerInAnyVehicle(playerid)) //Natürlich nur wenn er On Foot ist
    {
    if(HOLDING(KEY_UP) && HOLDING(KEY_SPRINT) && PRESSED(KEY_JUMP))
    {
    //Hier deinen Code z.B. ApplyAnimation, such dir eine schöne Animation aus (z.B. ApplyAnimation(playerid, "PED", "KO_shot_stom", 4.1, 0, 0, 0, 0, 0); )
    //Oder noch eine Variable setzen, dass er einmal springen darf.
    }
    }



    Mfg,
    UncleSub