TheoAllen

Theo - Event Pointers

Jun 10th, 2013
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 4.18 KB | None | 0 0
  1. # =============================================================================
  2. # TheoAllen - Event Pointers
  3. # Version : 1.0
  4. # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
  5. # (This script documentation is written in informal indonesian language)
  6. # -----------------------------------------------------------------------------
  7. # Requires :
  8. # >> Theo - Basic Modules
  9. # =============================================================================
  10. ($imported ||= {})[:Theo_EventPointer] = true
  11. # =============================================================================
  12. # CHANGE LOGS:
  13. # -----------------------------------------------------------------------------
  14. # 2013.06.09 - Finised script
  15. # =============================================================================
  16. =begin
  17.  
  18.   Perkenalan :
  19.   Script ini bisa bikin kamu ngedraw line / panah untuk nunjuk dari event ke
  20.   event lain.
  21.  
  22.   Cara penggunaan :
  23.   pasang dibawah material namun diatas main
  24.   tulis script call sebagai berikut
  25.  
  26.   ----------------------------------------------------------------------
  27.   Untuk naruh line :
  28.   - set_arrow(pangkal,ujung)
  29.   - set_line(pangkal,ujung)
  30.  
  31.   Contoh penerapan :
  32.   - set_arrow($game_map.events[1],$game_map.events[2])
  33.   Ngeset panah dari event id 1 ke event id 2
  34.  
  35.   ----------------------------------------------------------------------
  36.   - clear_arrow
  37.   - clear_line
  38.   untuk bersihin layar
  39.  
  40.   TERMS OF USE :
  41.   Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
  42.   keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
  43.   dipake buat komersil, jangan lupa, gw dibagi gratisannya.
  44.  
  45.  
  46. =end
  47. # =============================================================================
  48. # Tidak ada konfigurasi
  49. # =============================================================================
  50. class Game_System
  51.   attr_accessor :arrow_vectors
  52.   attr_accessor :line_vectors
  53.  
  54.   alias pre_pointer_member_init initialize
  55.   def initialize
  56.     pre_pointer_member_init
  57.     init_pointer_members
  58.   end
  59.  
  60.   def init_pointer_members
  61.     @arrow_vectors = []
  62.     @line_vectors  = []
  63.   end
  64.  
  65. end
  66.  
  67. class Game_Interpreter
  68.  
  69.   def set_arrow(pangkal,ujung,color = Color.new(255,255,255))
  70.     vector = VectorObject.new(pangkal,ujung,color)
  71.     vector.offset_y -= 16
  72.     $game_system.arrow_vectors.push(vector)
  73.   end
  74.  
  75.   def set_line(pangkal,ujung,color = Color.new(255,255,255))
  76.     vector = VectorObject.new(pangkal,ujung,color)
  77.     vector.offset_y -= 16
  78.     $game_system.line_vectors.push(vector)
  79.   end
  80.  
  81.   def clear_arrow
  82.     $game_system.arrow_vectors = []
  83.   end
  84.  
  85.   def clear_line
  86.     $game_system.line_vectors = []
  87.   end
  88.  
  89.   def clear_all
  90.     $game_system.init_pointer_members
  91.   end
  92.  
  93. end
  94.  
  95. class Sprite_Arrows < Sprite_Screen
  96.  
  97.   def update
  98.     super
  99.     self.bitmap.clear
  100.     $game_system.arrow_vectors.each do |vector|
  101.       bitmap.draw_arrow(vector.to_v,vector.color)
  102.     end
  103.   end
  104.  
  105. end
  106.  
  107. class Sprite_Lines < Sprite_Screen
  108.  
  109.   def update
  110.     super
  111.     self.bitmap.clear
  112.     $game_system.line_vectors.each do |vector|
  113.       bitmap.draw_line(vector.to_v,vector.color)
  114.     end
  115.   end
  116.  
  117. end
  118.  
  119. class Spriteset_Map
  120.  
  121.   alias pre_pointer_viewports create_viewports
  122.   def create_viewports
  123.     pre_pointer_viewports
  124.     create_arrow_sprite
  125.     create_line_sprite
  126.   end
  127.  
  128.   def create_arrow_sprite
  129.     @arrows = Sprite_Arrows.new(@viewport2)
  130.   end
  131.  
  132.   def create_line_sprite
  133.     @lines = Sprite_Lines.new(@viewport2)
  134.   end
  135.  
  136.   alias pre_pointers_update update
  137.   def update
  138.     pre_pointers_update
  139.     update_arrow_pointers
  140.     update_line_pointers
  141.   end
  142.  
  143.   def update_arrow_pointers
  144.     @arrows.update
  145.   end
  146.  
  147.   def update_line_pointers
  148.     @lines.update
  149.   end
  150.  
  151.   alias pre_pointers_dispose dispose
  152.   def dispose
  153.     pre_pointers_dispose
  154.     dispose_arrows
  155.     dispose_lines
  156.   end
  157.  
  158.   def dispose_arrows
  159.     @arrows.dispose
  160.   end
  161.  
  162.   def dispose_lines
  163.     @lines.dispose
  164.   end
  165.  
  166. end
  167.  
  168. class Scene_Map < Scene_Base
  169.  
  170.   alias pointer_post_transfer post_transfer
  171.   def post_transfer
  172.     $game_system.init_pointer_members
  173.     pointer_post_transfer
  174.   end
  175.  
  176. end
Advertisement
Add Comment
Please, Sign In to add comment