Friction hört plötzlich auf zu funktionieren

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Friction hört plötzlich auf zu funktionieren

    So Leute. Ich habe das Fahr-Script vollkommen neu programmiert. Nun ist es übersichtlicher und macht endlich, was es soll.

    Doch es gibt da ein seltsames Phänomen.
    Wenn ich ohne SoSi (Sondersignal) unterwegs bin, funktioniert Friction. Wenn ich hingegen mit SoSi fahre, funktioniert es erst noch, aber ab dem Höchsttempo nicht mehr. Ich kann dann auch nicht mehr bremsen.

    Erkennt einer den Fehler?

    CODE
    Spoiler anzeigen

    GML-Quellcode

    1. //Fahrzeugwechsel SoSi
    2. if (keyboard_check_released(ord("Q")) && sosi == 0) {
    3. image_speed = 0.25;
    4. sprite_index = spr_player_auto_blaulicht;
    5. sound_loop(snd_sosi);
    6. sosi = 1;
    7. }
    8. else if (keyboard_check_released(ord("Q")) && sosi == 1) {
    9. sprite_index = spr_player_auto;
    10. sound_stop(snd_sosi);
    11. sosi = 0;
    12. }
    13. //Richtung
    14. image_angle = direction;
    15. //Im Auto
    16. if (global.incar == true) {
    17. view_object[0] = obj_player_auto;
    18. view_hborder[0] = view_wview[0] / 2;
    19. view_vborder[0] = view_hview[0] / 2;
    20. }
    21. //Ein-/Aussteigen
    22. if (keyboard_check_pressed(ord("F")) && global.incar == true) {
    23. instance_create(x+50,y+50,obj_player);
    24. obj_player.x = obj_player_auto.x +50;
    25. obj_player.y = obj_player_auto.y +50;
    26. global.incar = false;
    27. }
    28. //Tempo
    29. if (global.incar == true) {
    30. friction = 0.025;
    31. if (speed >= max_speed && sosi == 0) {
    32. speed = max_speed;
    33. }
    34. else if (speed >= max_speed && sosi == 1) {
    35. speed = max_speed + 2;
    36. }
    37. if (speed <= min_speed) {
    38. speed = min_speed;
    39. }
    40. //Fahren
    41. if (keyboard_check(ord("W"))) {
    42. speed += 0.1;
    43. }
    44. if (keyboard_check(ord("S"))) {
    45. speed -= 0.1;
    46. }
    47. if (keyboard_check(ord("D")) && speed != 0 && sosi == 0) {
    48. direction -= 1.5;
    49. }
    50. else if (keyboard_check(ord("D")) && speed != 0 && sosi == 1) {
    51. direction -= 2;
    52. }
    53. if (keyboard_check(ord("A")) && speed != 0 && sosi == 0) {
    54. direction += 1.5;
    55. }
    56. else if (keyboard_check(ord("A")) && speed != 0 && sosi == 1) {
    57. direction += 2;
    58. }
    59. }
    Alles anzeigen


    Hier das Video dazu. youtu.be/dBccPFlLU38

    Besten Dank! :D

    //EDIT
    Was ist denn hier mit der Schrift los! Oo


    //GELÖST!

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von Michaelp800 ()

  • Wenn du mit SoSi über max_speed kommst, wird der speed sprunghaft auf max_speed+2 gesetzt und dementsprechend bewirkt die friction nichts mehr, weil sofort wieder auf max_speed +2 gestellt wird.

    Folgende Änderung sollte helfen:

    else if (speed >= max_speed+2 && sosi == 1) {
    speed = max_speed + 2;
    }

    EDIT: Das "GELÖST" übersehen
  • TrunX schrieb:

    Wenn du mit SoSi über max_speed kommst, wird der speed sprunghaft auf max_speed+2 gesetzt und dementsprechend bewirkt die friction nichts mehr, weil sofort wieder auf max_speed +2 gestellt wird.

    Folgende Änderung sollte helfen:

    else if (speed >= max_speed+2 && sosi == 1) {
    speed = max_speed + 2;
    }

    EDIT: Das "GELÖST" übersehen


    Genau das war es nämlich. :)
  • Benutzer online 1

    1 Besucher

  • Tags