Advertisement
roninator2

Vehicle Event Interaction

Dec 9th, 2024
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 8.05 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Vehicle Event Interaction              ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║       Provide Vehicle Interaction             ║    28 Apr 2023     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: Tsukihime - Event Interaction script                     ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║       Allow vehicles to interact with events                       ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   This script will let you interact with events while              ║
  20. # ║   on board a vehicle. It was written with the airship              ║
  21. # ║   in mind.                                                         ║
  22. # ║                                                                    ║
  23. # ║   Make the event Above Characters                                  ║
  24. # ║   Set to Action Button                                             ║
  25. # ║   Put a comment like this on the event                             ║
  26. # ║       comment: land                                                ║
  27. # ║   Then to make your airship land use a script call                 ║
  28. # ║     $game_player.land_airship                                      ║
  29. # ║                                                                    ║
  30. # ║   Then when you are over the event, press the action               ║
  31. # ║   button and the event will run.                                   ║
  32. # ║                                                                    ║
  33. # ║ Change the word:                                                   ║
  34. # ║   If you don't want to use land go down to the section             ║
  35. # ║   that says 'land' and change it.                                  ║
  36. # ║                                                                    ║
  37. # ║ Multiple uses:                                                     ║
  38. # ║   The script was written to work for airships.                     ║
  39. # ║   If you have other purposes, modifications are needed.            ║
  40. # ╚════════════════════════════════════════════════════════════════════╝
  41. # ╔════════════════════════════════════════════════════════════════════╗
  42. # ║ Updates:                                                           ║
  43. # ║ 1.00 - 28 Apr 2023 - Initial publish                               ║
  44. # ║                                                                    ║
  45. # ╚════════════════════════════════════════════════════════════════════╝
  46. # ╔════════════════════════════════════════════════════════════════════╗
  47. # ║ Credits and Thanks:                                                ║
  48. # ║   Roninator2                                                       ║
  49. # ║                                                                    ║
  50. # ╚════════════════════════════════════════════════════════════════════╝
  51. # ╔════════════════════════════════════════════════════════════════════╗
  52. # ║ Terms of use:                                                      ║
  53. # ║  Follow the original Authors terms of use where applicable         ║
  54. # ║    - When not made by me (Roninator2)                              ║
  55. # ║  Free for all uses in RPG Maker except nudity                      ║
  56. # ║  Anyone using this script in their project before these terms      ║
  57. # ║  were changed are allowed to use this script even if it conflicts  ║
  58. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  59. # ║  No part of this code can be used with AI programs or tools        ║
  60. # ║  Credit must be given                                              ║
  61. # ╚════════════════════════════════════════════════════════════════════╝
  62.  
  63. class Game_Player < Game_Character
  64.   #--------------------------------------------------------------------------
  65.   # * Get Off Vehicle
  66.   #    Assumes that the player is currently riding in a vehicle.
  67.   #--------------------------------------------------------------------------
  68.   def land_airship
  69.     set_direction(2)
  70.     @followers.synchronize(@x, @y, @direction)
  71.     vehicle.get_off
  72.     @vehicle_getting_off = true
  73.     @move_speed = 4
  74.     @through = false
  75.     make_encounter_count
  76.     @followers.gather
  77.     @vehicle_getting_off
  78.   end
  79. end
  80.  
  81. class Game_Vehicle < Game_Character
  82.   #--------------------------------------------------------------------------
  83.   # * Determine if Docking/Landing Is Possible
  84.   #     d:  Direction (2,4,6,8)
  85.   #--------------------------------------------------------------------------
  86.   alias r2_vehicle_land_movement land_ok?
  87.   def land_ok?(x, y, d)
  88.     if @type == :airship
  89.       #return true if
  90.       vehicle_port(x, y)
  91.     end
  92.     r2_vehicle_land_movement(x, y, d)
  93.   end
  94.   def vehicle_port(x, y)
  95.     if $game_map.events_xy(x, y).empty?
  96.       return
  97.     end
  98.     $game_map.events_xy(x, y).each do |evt|
  99.       evt.list.each do |cmt|
  100.         if cmt.code == 108
  101.           if cmt.parameters = ["land"]
  102.             $game_player.start_airship_event(x, y, [0,1,2])
  103.           end
  104.         end
  105.       end
  106.     end
  107.   end
  108. end
  109.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement