# ============================================================================= # TheoAllen - AfterImage # Version : 1.0 # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com # (This script documentation is written in informal indonesian language) # ----------------------------------------------------------------------------- # Requires : # >> Theo - Clone Image (Basic Modules) # ============================================================================= ($imported ||= {})[:Theo_AfterImage] = true # ============================================================================= # Change Logs: # ----------------------------------------------------------------------------- # 2013.10.22 - Finished script # ============================================================================= =begin ----------------------------------------------------------------------------- Perkenalan : Script ini nambahin effect "after image". Apa itu after image? Semacem efek ninggalin bekas gambar kalo bergerak. ----------------------------------------------------------------------------- Cara penggunaan : Pasang script ini dibawah material namu diatas main Gunakan comment pada event untuk menentukan event tersebut ada afterimagenya atawa kaga seperti ini Keterangan : Tag ini menandakan bahwa event (dengan page saat) itu menggunakan afterimage Pergantian opacity tiap frame. Ganti n dengan angka. Semakin tinggi nilainya, semakin cepat pula efek afterimage ilang Jarak antara after image satu dengan yang lain. Semakin gede, semakin jauh pula jaraknya ----------------------------------------------------------------------------- Script call : Kamu juga bisa aktivasi afterimage melalui script call dari set move route. Caranya gini. Buka event > Set Move Route > Script : self.afterimage = true / false self.afterimage_opac = angka self.afterimage_rate = angka ^ Script call ini kegunaannya sama kek diatas ----------------------------------------------------------------------------- Terms of use : Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau dipake buat komersil, jangan lupa, gw dibagi gratisannya. =end # ============================================================================= # Sedikit Konfig # ============================================================================= module Theo module AfterIMG Default_Opacity = 10 # Nilai default untuk pergantian opacity Default_Rate = 5 # Nilai default untuk jarak antar gambar Dash_AfterImage = true # Jika true, maka saat kamu dashing akan keluar # effect afterimage end end # ============================================================================= # Akhir dari konfig # ============================================================================= class Game_CharacterBase attr_accessor :afterimage attr_accessor :afterimage_opac attr_accessor :afterimage_rate alias theo_afterimg_public_members init_public_members def init_public_members theo_afterimg_public_members init_afterimage end def init_afterimage @afterimage = false @afterimage_opac = Theo::AfterIMG::Default_Opacity @afterimage_rate = Theo::AfterIMG::Default_Rate end end class Game_Player < Game_Character def afterimage super || (moving? && (Theo::AfterIMG::Dash_AfterImage ? dash? : false)) end end class Game_Event def afterimage super && near_the_screen? end alias theo_afterimage_setup_page setup_page def setup_page(new_page) theo_afterimage_setup_page(new_page) init_afterimage setup_afterimage if @page end def setup_afterimage @list.each do |list| code = list.code next if code != 108 && code != 408 case list.parameters[0] when //i @afterimage = true when /<(?:aft opact|AFT_OPACT):\s*(\d+)\s*>/ @afterimage_opac = $1.to_i when /<(?:aft rate|AFT_rate):\s*(\d+)\s*>/ @afterimage_rate = $1.to_i end end end end class Sprite_Character < Sprite_Base def afterimage return @character.afterimage end def on_after_cloning(cloned) cloned.char = character end def clone_class Sprite_AfterImage end def updating_afterimages? return true end alias theo_afterimage_char_update update def update theo_afterimage_char_update update_afterimage_info end def update_afterimage_info @afterimage_opac = @character.afterimage_opac @afterimage_rate = @character.afterimage_rate end end class Sprite_AfterImage < Sprite def char=(char) @char = char @rx = char.real_x @ry = char.real_y @shift_y = char.shift_y @jump_height = char.jump_height set_map_display_value end def set_map_display_value @display_x = $game_map.display_x @display_y = $game_map.display_y end def screen_x $game_map.adjust_x(@rx) * 32 + 16 end def screen_y $game_map.adjust_y(@ry) * 32 + 32 - @shift_y - @jump_height end def diff_display_x @display_x - $game_map.display_x end def diff_display_y @display_y - $game_map.display_y end def x_case screen_x + diff_display_x end def y_case screen_y + diff_display_y end def update super self.x = x_case self.y = y_case end end