bug im "inventory menu"

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

  • bug im "inventory menu"

    hi ho leute
    ich habe folgendes problem:

    wenn ich in meinem inventar menue ein item auswaehle und sich dass item menue oeffnet, wird gleichzeitig die 1. auswahloption im menue ausgefuehrt.

    nun zur frage:
    wie kann ich die 2 "keyboard_check_pressed(vk_enter)" seperieren sodass das game die eingabe nicht auf einmal erkennt.

    :event_create:

    GML-Quellcode

    1. item_option = false
    2. item_cursor_pos = 0
    3. item_info = false


    :event_step:

    GML-Quellcode

    1. //cursor inventory control
    2. if inv_open = true and item_option = false
    3. {
    4. if keyboard_check_pressed(vk_right) and inv_cursor_pos < maxitems-1
    5. {
    6. inv_cursor_pos += 1
    7. }
    8. if keyboard_check_pressed(vk_left) and inv_cursor_pos > 0
    9. {
    10. inv_cursor_pos -= 1
    11. }
    12. if keyboard_check_pressed(vk_enter)
    13. {
    14. item_check_inv = scr_itemcheck_slot(inv_cursor_pos)
    15. if item_check_inv = 1
    16. {
    17. item_option = true
    18. }
    19. }
    20. }
    21. //item window
    22. if item_option = true
    23. {
    24. if keyboard_check_pressed(vk_control)
    25. {
    26. if item_info = false then item_option = false
    27. else item_info = false
    28. }
    29. if keyboard_check_pressed(vk_up)
    30. {
    31. item_cursor_pos -= 1
    32. if item_cursor_pos < 0
    33. {
    34. item_cursor_pos = 3
    35. }
    36. }
    37. if keyboard_check_pressed(vk_down)
    38. {
    39. item_cursor_pos += 1
    40. if item_cursor_pos > 3
    41. {
    42. item_cursor_pos = 0
    43. }
    44. }
    45. //item use options
    46. if keyboard_check_pressed(vk_enter)
    47. {
    48. switch(item_cursor_pos)
    49. {
    50. case 0: item_info = true ;break;
    51. case 1: ;break;
    52. case 2: ;break;
    53. case 3: scr_itemdrop_slot(inv_cursor_pos) item_option = false ;break;
    54. }
    55. }
    56. }
    Alles anzeigen


    PS: ich hoffe der code ist ausreichend