TheoAllen

Idle sprite (with glitch)

Aug 25th, 2013
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. # =============================================================================
  2. # TheoAllen - Idle Sprite
  3. # Version : 0.9
  4. # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
  5. # (This script documentation is written in informal indonesian language)
  6. # =============================================================================
  7. ($imported ||= {})[:Theo_IdleSprite] = true
  8. # =============================================================================
  9. # CHANGE LOGS:
  10. # -----------------------------------------------------------------------------
  11. # 2013.08.12 - Finished script (with glitch)
  12. # =============================================================================
  13. =begin
  14.  
  15. Perkenalan :
  16. Script ini berfungsi untuk menambahkan idle sprite jika player tidak bergerak
  17. selama sekian waktu
  18.  
  19. Cara penggunaan :
  20. Pasang dibawah material namun diatas main.
  21. Pastikan kamu mempunyai gambar sprite dengan tambahan "_idle" dibelakang nama
  22. sprite berjalan yg kamu pake buat actor
  23.  
  24. Terms of Use :
  25. Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
  26. keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
  27. dipake buat komersil, jangan lupa, gw dibagi gratisannya.
  28.  
  29. =end
  30. # =============================================================================
  31. # Konfigurasi
  32. # =============================================================================
  33. module THEO
  34. module Idle
  35.  
  36. Count_Delay = 150
  37. Anim_Speed = 0.5
  38.  
  39. end
  40. end
  41. # =============================================================================
  42. # Akhir dari konfigurasi
  43. # =============================================================================
  44. class Game_Player < Game_Character
  45.  
  46. alias theo_idle_init initialize
  47. def initialize
  48. theo_idle_init
  49. init_idle_member
  50. end
  51.  
  52. def init_idle_member
  53. refresh_idle_members
  54. clear_idle
  55. end
  56.  
  57. alias theo_idle_refresh refresh
  58. def refresh
  59. theo_idle_refresh
  60. refresh_idle_members
  61. end
  62.  
  63. def refresh_idle_members
  64. @ori_charname = @character_name
  65. @ori_index = @character_index
  66. @ori_dir = @direction
  67. @idle_charname = @character_name + "_idle"
  68. @idle_index = 0
  69. end
  70.  
  71. def clear_idle(ext = true)
  72. @idle_count = 0
  73. if ext
  74. @direction = @ori_dir
  75. else
  76. @step_anime = false
  77. end
  78. if idle_sprite?
  79. set_graphic(@ori_charname, @ori_index)
  80. end
  81. end
  82.  
  83. alias theo_idle_update update
  84. def update
  85. theo_idle_update
  86. update_idle
  87. end
  88.  
  89. def idle_sprite?
  90. @character_name != @ori_charname
  91. end
  92.  
  93. def non_idle_sprite?
  94. @character_name != @idle_charname
  95. end
  96.  
  97. def idle?
  98. @idle_count >= THEO::Idle::Count_Delay
  99. end
  100.  
  101. def update_idle
  102. @idle_count += 1
  103. if $game_map.interpreter.running?
  104. clear_idle
  105. elsif idle?
  106. if non_idle_sprite?
  107. set_idle_anim
  108. end
  109. end
  110. end
  111.  
  112. def set_idle_anim
  113. @ori_dir = @direction
  114. @direction = 2
  115. @step_anime = true
  116. set_graphic(@idle_charname, @idle_index)
  117. end
  118.  
  119. alias theo_idle_move_straight move_straight
  120. def move_straight(d, turn_ok = true)
  121. theo_idle_move_straight(d, turn_ok = true)
  122. clear_idle(false)
  123. end
  124.  
  125. alias theo_idle_rmove_speed real_move_speed
  126. def real_move_speed
  127. return THEO::Idle::Anim_Speed if idle?
  128. return theo_idle_rmove_speed
  129. end
  130.  
  131. end
Advertisement
Add Comment
Please, Sign In to add comment