|
[XP]Dhoom Script Workshop
5
5
6
| | [XP]Dhoom Script Workshop | |
| |
Fri 13 May 2011 - 22:08 |  [XP]Dhoom Script Workshop |
|---|
WhiteHopper Doomed Zombie

 Post Count: 519 Joined: 2010-02-12 Thanked: 22 Engine: Multi-Engine User Skill: Intermediate Type: Scripter
| | First topic message reminder :Ok... engg... (bingung mau nulis apaan). Karna aku sedang mendalami RGSS, tpi g punya ide mau bkin apaan, jadi aku bikin trid ini. Kalian bisa request script XP disini. Tapi, tidak semua request aku terima (seperti battle system yang aku masih belum sanggup). Hanya satu request yang kukerjakan hingga selesai, jadi yang lain ngantri ya  (copas dari yg VX  ) Ok, Request kubuka! Template RequestTipe/Nama Script: Deskripsi Script:   Basic Attack Common Event for nisamerica | Code: | #=============================================================================== #---------------------=• Basic Attack Common Event •=--------------------------- #---------------------------=• by: DrDhoom •=----------------------------------- # Version: 1.0 (For Default Battle System) # Date Published: 19 - 05 - 2011 # RPGMakerID Community #------------------------------------------------------------------------------- # Introduction: # Execute commont event when using basic attack #------------------------------------------------------------------------------- # How to use: # - Insert this script above Main #=============================================================================== ]module Dhoom module CEW COMMON_WEAPON = [] #<--- Don't Delete this line #COMMON_WEAPON[Weapon ID] = Common Event ID COMMON_WEAPON[1] = 4 COMMON_WEAPON[2] = 1 COMMON_WEAPON[3] = 2 ENEMY = [] #ENEMY[enemy id] = common event id ENEMY[1] = 1 #ENE_ACTIVE = [enemy id] ENE_ACTIVE = [1] #ACTIVE = [weapon id] ACTIVE = [1,2] end end
class Game_Enemy def enemy? return true end end
class Game_Actor def enemy? return false end end
class Scene_Battle alias dhoom_basic_action make_basic_action_result def make_basic_action_result dhoom_basic_action if @active_battler.current_action.basic == 0 if Dhoom::CEW::COMMON_WEAPON[@active_battler.weapon_id] != nil if Dhoom::CEW::ACTIVE.include?(@active_battler.weapon_id) common_event = $data_common_events[Dhoom::CEW::COMMON_WEAPON[@active_battler.weapon_id]] $game_system.battle_interpreter.setup(common_event.list, 0) else @common_event_id = Dhoom::CEW::COMMON_WEAPON[@active_battler.weapon_id] end elsif @active_battler.enemy? and Dhoom::CEW::ENEMY[@active_battler.id] != nil if Dhoom::CEW::ENE_ACTIVE.include?(@active_battler.id) common_event = $data_common_events[Dhoom::CEW::ENEMY[@active_battler.id]] $game_system.battle_interpreter.setup(common_event.list, 0) else @common_event_id = Dhoom::CEW::ENEMY[@active_battler.id] end end end end end |
| Code: | #=============================================================================== #---------------------=• Basic Attack Common Event •=--------------------------- #---------------------------=• by: DrDhoom •=----------------------------------- # Version: 1.0 (For Atoa CBS) # Date Published: 19 - 05 - 2011 # RPGMakerID Community #------------------------------------------------------------------------------- # Introduction: # Execute commont event when using basic attack #------------------------------------------------------------------------------- # How to use: # - Insert this script above Main #=============================================================================== module Dhoom module CEW COMMON_WEAPON = [] #<--- Don't Delete this line #COMMON_WEAPON[Weapon ID] = Common Event ID COMMON_WEAPON[1] = 4 COMMON_WEAPON[2] = 1 COMMON_WEAPON[3] = 2 ENEMY = [] #ENEMY[enemy id] = common event id ENEMY[1] = 1 #ENE_ACTIVE = [enemy id] ENE_ACTIVE = [1] #ACTIVE = [weapon id] ACTIVE = [1,2] end end
class Game_Enemy def enemy? return true end end
class Game_Actor def enemy? return false end end
class Scene_Battle alias dhoom_basic_action make_basic_action_result def make_basic_action_result(battler) dhoom_basic_action(battler) if battler.current_action.basic == 0 if Dhoom::CEW::COMMON_WEAPON[battler.weapon_id] != nil if Dhoom::CEW::ACTIVE.include?(battler.weapon_id) common_event = $data_common_events[Dhoom::CEW::COMMON_WEAPON[battler.weapon_id]] $game_system.battle_interpreter.setup(common_event.list, 0) else @common_event_id = Dhoom::CEW::COMMON_WEAPON[battler.weapon_id] end elsif battler.enemy? and Dhoom::CEW::ENEMY[battler.id] != nil if Dhoom::CEW::ENE_ACTIVE.include?(battler.id) common_event = $data_common_events[Dhoom::CEW::ENEMY[battler.id]] $game_system.battle_interpreter.setup(common_event.list, 0) else @common_event_id = Dhoom::CEW::ENEMY[battler.id] end end end end end |
Common Event Before Skill for nisamerica
| Code: | #=============================================================================== #---------------------=•Common Event Before Skill •=--------------------------- #---------------------------=• by: DrDhoom •=----------------------------------- # Version: 1.0 # Date Published: 18 - 05 - 2011 # RPGMakerID Community #------------------------------------------------------------------------------- # Introduction: # Execute commont event before using skill #------------------------------------------------------------------------------- # How to use: # - Insert this script above Main #=============================================================================== module Dhoom module CEBA COMMON_EVENT = [] #<--- Don't Delete this line #COMMON_EVENT[skill id] = common event id COMMON_EVENT[1] = 4 end end
class Scene_Battle alias dhoom_make_skill make_skill_action_result def make_skill_action_result dhoom_make_skill if Dhoom::CEBA::COMMON_EVENT[@skill.id] != nil common_event = $data_common_events[Dhoom::CEBA::COMMON_EVENT[@skill.id]] $game_system.battle_interpreter.setup(common_event.list, 0) end end end |
Inferno CMS V1.1 for superkudit
| Code: | http://www.media*fire.com/?oj0jxrt88muu8mq |
Note: hilangkan tanda *. Thanks untuk superkudit yang udah ngaplud ulang  Screenshoot:

Shortcut Scene V1.0 for rezpect & esamudra
| Code: | #=============================================================================== #---------------------------= Shortcut Scene =---------------------------------- #-----------------------------= by: DrDhoom =----------------------------------- # Version: 1.1 # Date Published: 27 - 12 - 2011 #------------------------------------------------------------------------------- # Introduction: # With this script, you can make a Shortcut for calling scene. #------------------------------------------------------------------------------- # How to use: # - Insert this script above Main #------------------------------------------------------------------------------- #===============================================================================
module Dhoom module ShortcutScene #Shortcut = [[Button, Scene], [Button, Scene], ...]
# Button = Input button, look at Game Properties>Keyboard(F1 when playing) # for more keys. The format is "Input::Keys". # Scene = Scene class. # You can add as many shortcut as you want. Shortcut = [[Input::R, Scene_Item],[Input::L, Scene_Skill]] end end
class Scene_Map include Dhoom::ShortcutScene alias dhoom_map_shortcut_update update def update dhoom_map_shortcut_update update_shortcut end def update_shortcut return if $game_system.map_interpreter.running? for key in Shortcut if Input.trigger?(key[0]) $game_player.straighten $scene = key[1].new return end end end end |
Semua script yang aku post di thread ini

Last edited by DrDhoom on Thu 29 Dec 2011 - 10:50; edited 8 times in total |
| | | |
Thu 29 Dec 2011 - 9:25 |  Re: [XP]Dhoom Script Workshop |
|---|
WhiteHopper Doomed Zombie
Post Count: 519 Joined: 2010-02-12
| | ada script mog shop nya?  |
| | | | Sat 31 Dec 2011 - 19:39 |  Re: [XP]Dhoom Script Workshop |
|---|
Kuru Advance RMer C


 Post Count: 422 Joined: 2011-04-23 Thanked: 1 Engine: RMXP Skill: Beginner Type: Writer
| | Seperti ini | Spoiler: | | | #_______________________________________________________________________________ # MOG_Scene_Shop V1.7 #_______________________________________________________________________________ # By Moghunter # http://www.atelier-rgss.com #_______________________________________________________________________________ module MOG #Transition Time. MNSHPT= 30 #Transition Type (Name) MNSHPTT= "006-Stripe02" end
#=============================================================================== # Window_Base #=============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # Draw_item_Name_Ex #-------------------------------------------------------------------------- def draw_item_name_ex(item, x, y) if item == nil return end bitmap = RPG::Cache.icon(item.icon_name) self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24)) self.contents.font.color = normal_color self.contents.draw_text(x + 28, y, 150, 32, item.name) end #-------------------------------------------------------------------------- # Nada #-------------------------------------------------------------------------- def nada face = RPG::Cache.picture("") end #-------------------------------------------------------------------------- # Drw_face #-------------------------------------------------------------------------- def drw_face(actor,x,y) face = RPG::Cache.picture(actor.name + "_fc") rescue nada cw = face.width ch = face.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y - ch, face, src_rect) end end
#=============================================================================== # Game_Actor #=============================================================================== class Win_Shop_Sel < Window_Base attr_reader :index #-------------------------------------------------------------------------- # Initialize #-------------------------------------------------------------------------- def initialize(x, y, width, height) super(x, y, width, height) @item_max = 1 @column_max = 1 @index = -1 end #-------------------------------------------------------------------------- # Index #-------------------------------------------------------------------------- def index=(index) @index = index update_cursor_rect end #-------------------------------------------------------------------------- # row_max #-------------------------------------------------------------------------- def row_max return (@item_max + @column_max - 1) / @column_max end #-------------------------------------------------------------------------- # Top_Row #-------------------------------------------------------------------------- def top_row return self.oy / 32 end #-------------------------------------------------------------------------- # Top_Row(Row) #-------------------------------------------------------------------------- def top_row=(row) if row < 0 row = 0 end if row > row_max - 1 row = row_max - 1 end self.oy = row * 32 end #-------------------------------------------------------------------------- # Page_Row_Max #-------------------------------------------------------------------------- def page_row_max return (self.height - 32) / 32 end #-------------------------------------------------------------------------- # Page_Item_Max #-------------------------------------------------------------------------- def page_item_max return page_row_max * @column_max end #-------------------------------------------------------------------------- # Update_Cursor_Rect #-------------------------------------------------------------------------- def update_cursor_rect if @index < 0 self.cursor_rect.empty return end row = @index / @column_max if row < self.top_row self.top_row = row end if row > self.top_row + (self.page_row_max - 1) self.top_row = row - (self.page_row_max - 1) end cursor_width = self.width / @column_max - 32 x = @index % @column_max * 80 y = @index / @column_max * 32 - self.oy self.cursor_rect.set(x, y, 32, 32) end #-------------------------------------------------------------------------- # Update #-------------------------------------------------------------------------- def update super if self.active and @item_max > 0 and @index >= 0 if Input.repeat?(Input::RIGHT) if @column_max >= 2 and @index < @item_max - 1 $game_system.se_play($data_system.cursor_se) @index += 1 end end if Input.repeat?(Input::LEFT) if @column_max >= 2 and @index > 0 $game_system.se_play($data_system.cursor_se) @index -= 1 end end end update_cursor_rect end end
#=============================================================================== # Window_ShopCommand #=============================================================================== class Window_ShopCommand < Win_Shop_Sel #-------------------------------------------------------------------------- # Initialize #-------------------------------------------------------------------------- def initialize super(58, 68, 230, 64) self.contents = Bitmap.new(width - 32, height - 32) @item_max = 3 @column_max = 3 @commands = ["", "", ""] self.index = 0 end end
#=============================================================================== # Window_ShopBuy #=============================================================================== class Window_ShopBuy < Window_Selectable #-------------------------------------------------------------------------- # Initialize #-------------------------------------------------------------------------- def initialize(shop_goods) super(-10, 180, 310, 225) @shop_goods = shop_goods refresh self.index = 0 end #-------------------------------------------------------------------------- # Ite #-------------------------------------------------------------------------- def item return @data[self.index] end #-------------------------------------------------------------------------- # Refresh #-------------------------------------------------------------------------- def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] for goods_item in @shop_goods case goods_item[0] when 0 item = $data_items[goods_item[1]] when 1 item = $data_weapons[goods_item[1]] when 2 item = $data_armors[goods_item[1]] end if item != nil @data.push(item) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max draw_item(i) end end end #-------------------------------------------------------------------------- # Draw_Item #-------------------------------------------------------------------------- def draw_item(index) self.contents.font.name = "Georgia" self.contents.font.bold = false item = @data[index] case item when RPG::Item number = $game_party.item_number(item.id) when RPG::Weapon number = $game_party.weapon_number(item.id) when RPG::Armor number = $game_party.armor_number(item.id) end x = 4 y = index * 32 if item.price <= $game_party.gold and number < 99 self.contents.font.color = normal_color else self.contents.font.color = disabled_color end rect = Rect.new(x, y, self.width - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 150, 32, item.name, 0) self.contents.font.color = Color.new(50,250,150,255) self.contents.draw_text(x + 150, y, 88, 32, "G", 1) if item.price <= $game_party.gold if number < 99 self.contents.font.color = Color.new(200,200,50,255) else self.contents.font.color = disabled_color end else self.contents.font.color = Color.new(250,100,50,255) end self.contents.draw_text(x + 180, y, 88, 32, item.price.to_s, 2) end #-------------------------------------------------------------------------- # Update_Help #-------------------------------------------------------------------------- def update_help @help_window.set_text(self.item == nil ? "" : self.item.description) end end
#=============================================================================== # Window_ShopSell #=============================================================================== class Window_ShopSell < Window_Selectable #-------------------------------------------------------------------------- # Initialize #-------------------------------------------------------------------------- def initialize super(-10, 180, 305, 225) @column_max = 1 refresh self.index = 0 end #-------------------------------------------------------------------------- # Item #-------------------------------------------------------------------------- def item return @data[self.index] end #-------------------------------------------------------------------------- # Refresh #-------------------------------------------------------------------------- def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] for i in 1...$data_items.size if $game_party.item_number(i) > 0 @data.push($data_items[i]) end end for i in 1...$data_weapons.size if $game_party.weapon_number(i) > 0 @data.push($data_weapons[i]) end end for i in 1...$data_armors.size if $game_party.armor_number(i) > 0 @data.push($data_armors[i]) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max draw_item(i) end end end #-------------------------------------------------------------------------- # Draw_item #-------------------------------------------------------------------------- def draw_item(index) item = @data[index] case item when RPG::Item number = $game_party.item_number(item.id) when RPG::Weapon number = $game_party.weapon_number(item.id) when RPG::Armor number = $game_party.armor_number(item.id) end if item.price > 0 self.contents.font.color = normal_color else self.contents.font.color = disabled_color end self.contents.font.name = "Georgia" x = 4 + index % 1 * (288 + 32) y = index / 1 * 32 rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 150, 32, item.name, 0) self.contents.draw_text(x + 230, y, 16, 32, ":", 1) self.contents.draw_text(x + 240, y, 24, 32, number.to_s, 2) end #-------------------------------------------------------------------------- # Update_Help #-------------------------------------------------------------------------- def update_help @help_window.set_text(self.item == nil ? "" : self.item.description) end end
#=============================================================================== # Window_ShopNumber #=============================================================================== class Window_ShopNumber < Window_Base #-------------------------------------------------------------------------- # Initialize #-------------------------------------------------------------------------- def initialize super(-10, 180, 310, 225) self.contents = Bitmap.new(width - 32, height - 32) @item = nil @max = 1 @price = 0 @number = 1 end #-------------------------------------------------------------------------- # Set #-------------------------------------------------------------------------- def set(item, max, price) @item = item @max = max @price = price @number = 1 refresh end #-------------------------------------------------------------------------- # Number #-------------------------------------------------------------------------- def number return @number end #-------------------------------------------------------------------------- # Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.name = "Georgia" self.contents.font.bold = true draw_item_name_ex(@item, 4, 66) self.contents.font.color = Color.new(50,150,250,255) self.contents.draw_text(185, 66, 32, 32, "x") self.contents.font.color = normal_color self.contents.draw_text(208, 66, 24, 32, @number.to_s, 2) self.cursor_rect.set(304, 66, 32, 32) total_price = @price * @number cx = contents.text_size("G").width self.contents.font.color = Color.new(200,200,50,255) self.contents.draw_text(4, 160, 228-2, 32, total_price.to_s, 2) self.contents.font.color = Color.new(50,250,150,255) self.contents.draw_text(90, 160, 88, 32, "G", 1) end #-------------------------------------------------------------------------- # Update #-------------------------------------------------------------------------- def update super if self.active if Input.repeat?(Input::RIGHT) and @number < @max $game_system.se_play($data_system.cursor_se) @number += 1 refresh end if Input.repeat?(Input::LEFT) and @number > 1 $game_system.se_play($data_system.cursor_se) @number -= 1 refresh end if Input.repeat?(Input::UP) and @number < @max $game_system.se_play($data_system.cursor_se) @number = [@number + 10, @max].min refresh end if Input.repeat?(Input::DOWN) and @number > 1 $game_system.se_play($data_system.cursor_se) @number = [@number - 10, 1].max refresh end end end end
#=============================================================================== # Window_ShopStatus #=============================================================================== class Window_ShopStatus < Window_Base #-------------------------------------------------------------------------- # Initialize #-------------------------------------------------------------------------- def initialize super(300, 128, 350, 300) self.contents = Bitmap.new(width - 32, height - 32) @item = nil refresh end #-------------------------------------------------------------------------- # Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.name = "Georgia" if @item == nil return end if $mog_rgss_Item_Limit != nil case @item when RPG::Item number = $game_party.item_number(@item.id) item_max = MOG::ITEM_LIMIT[@item.id] when RPG::Weapon number = $game_party.weapon_number(@item.id) item_max = MOG::WEAPON_LIMIT[@item.id] when RPG::Armor number = $game_party.armor_number(@item.id) item_max = MOG::ARMOR_LIMIT[@item.id] end self.contents.font.color = system_color self.contents.draw_text(190, 0, 200, 32, "Stock") self.contents.font.color = normal_color if item_max != nil self.contents.draw_text(230, 0, 80, 32, number.to_s + " / " + item_max.to_s, 2) else max_limit = MOG::DEFAULT_LIMIT self.contents.draw_text(230, 0, 80, 32, number.to_s + " / " + max_limit.to_s, 2) end else case @item when RPG::Item number = $game_party.item_number(@item.id) when RPG::Weapon number = $game_party.weapon_number(@item.id) when RPG::Armor number = $game_party.armor_number(@item.id) end self.contents.font.color = system_color self.contents.draw_text(210, 0, 200, 32, "Stock") self.contents.font.color = normal_color self.contents.draw_text(245, 0, 32, 32, number.to_s, 2) end if @item.is_a?(RPG::Item) return end for i in 0...$game_party.actors.size actor = $game_party.actors[i] if actor.equippable?(@item) self.contents.font.color = normal_color else self.contents.font.color = disabled_color end self.contents.draw_text(65, 0, 100, 32, "Equipped", 2) drw_face(actor,0 ,80 + 64 * i) if @item.is_a?(RPG::Weapon) item1 = $data_weapons[actor.weapon_id] elsif @item.kind == 0 item1 = $data_armors[actor.armor1_id] elsif @item.kind == 1 item1 = $data_armors[actor.armor2_id] elsif @item.kind == 2 item1 = $data_armors[actor.armor3_id] else item1 = $data_armors[actor.armor4_id] end if actor.equippable?(@item) if @item.is_a?(RPG::Weapon) atk1 = item1 != nil ? item1.atk : 0 atk2 = @item != nil ? @item.atk : 0 pdef1 = item1 != nil ? item1.pdef : 0 mdef1 = item1 != nil ? item1.mdef : 0 pdef2 = @item != nil ? @item.pdef : 0 mdef2 = @item != nil ? @item.mdef : 0 self.contents.draw_text(-20, 50 + 64 * i, 112, 32,"Atk", 2) self.contents.draw_text(70, 50 + 64 * i, 112, 32,"Pdef", 2) self.contents.draw_text(160, 50 + 64 * i, 112, 32,"Mdef", 2) change = atk2 - atk1 change2 = pdef2 - pdef1 change3 = mdef2 - mdef1 if atk2 > atk1 self.contents.font.color = Color.new(50,250,150,255) elsif atk2 == atk1 self.contents.font.color = disabled_color else self.contents.font.color = Color.new(250,100,50,255) end self.contents.draw_text(20, 50 + 64 * i, 112, 32,sprintf("%d", change), 2) if pdef2 > pdef1 self.contents.font.color = Color.new(50,250,150,255) elsif pdef2 == pdef1 self.contents.font.color = disabled_color else self.contents.font.color = Color.new(250,100,50,255) end self.contents.draw_text(110, 50 + 64 * i, 112, 32,sprintf("%d", change2), 2) if mdef2 > mdef1 self.contents.font.color = Color.new(50,250,150,255) elsif mdef2 == mdef1 self.contents.font.color = disabled_color else self.contents.font.color = Color.new(250,100,50,255) end self.contents.draw_text(200, 50 + 64 * i, 112, 32,sprintf("%d", change3), 2) end if @item.is_a?(RPG::Armor) pdef1 = item1 != nil ? item1.pdef : 0 mdef1 = item1 != nil ? item1.mdef : 0 eva1 = item1 != nil ? item1.eva : 0 pdef2 = @item != nil ? @item.pdef : 0 mdef2 = @item != nil ? @item.mdef : 0 eva2 = @item != nil ? @item.eva : 0 change = pdef2 - pdef1 change2 = mdef2 - mdef1 change3 = eva2 - eva1 self.contents.draw_text(-20, 50 + 64 * i, 112, 32,"Pdef", 2) self.contents.draw_text(70, 50 + 64 * i, 112, 32,"Mdef", 2) self.contents.draw_text(160, 50 + 64 * i, 112, 32,"Eva", 2) if pdef2 > pdef1 self.contents.font.color = Color.new(50,250,150,255) elsif pdef2 == pdef1 self.contents.font.color = disabled_color else self.contents.font.color = Color.new(250,100,50,255) end self.contents.draw_text(20, 50 + 64 * i, 112, 32,sprintf("%d", change), 2) if mdef2 > mdef1 self.contents.font.color = Color.new(50,250,150,255) elsif mdef2 == mdef1 self.contents.font.color = disabled_color else self.contents.font.color = Color.new(250,100,50,255) end self.contents.draw_text(110, 50 + 64 * i, 112, 32,sprintf("%d", change2), 2) if eva2 > eva1 self.contents.font.color = Color.new(50,250,150,255) elsif eva2 == eva1 self.contents.font.color = disabled_color else self.contents.font.color = Color.new(250,100,50,255) end self.contents.draw_text(200, 50 + 64 * i, 112, 32,sprintf("%d", change3), 2) end end if item1 != nil if actor.equippable?(@item) self.contents.font.color = normal_color else self.contents.font.color = disabled_color end x = 4 y = 64 + 64 * i bitmap = RPG::Cache.icon(item1.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x + 50, y - 35, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 75, y - 40, 212, 32, item1.name) end end end def item=(item) if @item != item @item = item refresh end end end
#=============================================================================== # Scene_Shop #=============================================================================== class Scene_Shop #-------------------------------------------------------------------------- # Main #-------------------------------------------------------------------------- def main @mshop_back = Plane.new @mshop_back.bitmap = RPG::Cache.picture("MN_BK2") @mshop_back.z = 10 @mshop_lay = Sprite.new @mshop_lay.bitmap = RPG::Cache.picture("Shop_Lay") @mshop_lay.z = 15 @mshop_com = Sprite.new @mshop_com.bitmap = RPG::Cache.picture("Shop_Com01") @mshop_com.z = 20 @help_window = Window_Help.new @help_window.contents.font.name = "Georgia" @help_window.y = 413 @command_window = Window_ShopCommand.new @command_window.visible = false @gold_window = Window_Gold.new @gold_window.x = 460 @gold_window.y = -5 @dummy_window = Window_Base.new(0, 128, 640, 352) @buy_window = Window_ShopBuy.new($game_temp.shop_goods) @buy_window.active = false @buy_window.visible = false @buy_window.help_window = @help_window @sell_window = Window_ShopSell.new @sell_window.active = false @sell_window.visible = false @sell_window.help_window = @help_window @number_window = Window_ShopNumber.new @number_window.active = false @number_window.visible = false @status_window = Window_ShopStatus.new @status_window.visible = false @help_window.opacity = 0 @status_window.opacity = 0 @sell_window.opacity = 0 @buy_window.opacity = 0 @gold_window.opacity = 0 @command_window.opacity = 0 @number_window.opacity = 0 @dummy_window.opacity = 0 Graphics.transition(MOG::MNSHPT, "Graphics/Transitions/" + MOG::MNSHPTT) loop do Graphics.update Input.update update if $scene != self break end end for i in 0..30 @mshop_back.ox += 1 @help_window.x -= 15 @gold_window.x += 15 @mshop_lay.zoom_x += 0.1 @mshop_lay.opacity -= 10 @command_window.x -= 15 @mshop_com.x -= 15 @buy_window.x -= 20 @sell_window.x -= 20 Graphics.update end Graphics.freeze @help_window.dispose @command_window.dispose @gold_window.dispose @dummy_window.dispose @buy_window.dispose @sell_window.dispose @number_window.dispose @status_window.dispose @mshop_back.dispose @mshop_lay.dispose @mshop_com.dispose end #-------------------------------------------------------------------------- # Update #-------------------------------------------------------------------------- def update @mshop_back.ox += 1 if @help_window.x < 0 @help_window.x += 10 @help_window.contents_opacity += 10 elsif @help_window.x >= 0 @help_window.x = 0 @help_window.contents_opacity = 255 end if @sell_window.active == true @sell_window.visible = true if @sell_window.x < -10 @sell_window.x += 15 @sell_window.contents_opacity += 10 elsif @sell_window.x >= -10 @sell_window.x = -10 @sell_window.contents_opacity = 255 end else if @sell_window.x > -300 @sell_window.x -= 15 @sell_window.contents_opacity -= 10 elsif @sell_window.x <= -300 @sell_window.x = -300 @sell_window.contents_opacity = 0 @sell_window.visible = false end end if @buy_window.active == true @buy_window.visible = true if @buy_window.x < -10 @buy_window.x += 15 @buy_window.contents_opacity += 10 elsif @buy_window.x >= -10 @buy_window.x = -10 @buy_window.contents_opacity = 255 end else if @buy_window.x > -300 @buy_window.x -= 15 @buy_window.contents_opacity -= 10 elsif @buy_window.x <= -300 @buy_window.x = -300 @buy_window.contents_opacity = 0 @buy_window.visible = false end end if @number_window.active == true @number_window.visible = true if @number_window.x < -10 @number_window.x += 15 @number_window.contents_opacity += 10 elsif @number_window.x >= -10 @number_window.x = -10 @number_window.contents_opacity = 255 end else if @number_window.x > -300 @number_window.x -= 15 @number_window.contents_opacity -= 10 elsif @number_window.x <= -300 @number_window.x = -300 @number_window.contents_opacity = 0 @number_window.visible = false end end if @number_window.active == false if Input.trigger?(Input.dir4) or Input.trigger?(Input::C) or Input.trigger?(Input::L) or Input.trigger?(Input::R) @help_window.x = -200 @help_window.contents_opacity = 0 end end @help_window.update @command_window.update @gold_window.update @dummy_window.update @buy_window.update @sell_window.update @number_window.update @status_window.update case @command_window.index when 0 @mshop_com.bitmap = RPG::Cache.picture("Shop_Com01") when 1 @mshop_com.bitmap = RPG::Cache.picture("Shop_Com02") when 2 @mshop_com.bitmap = RPG::Cache.picture("Shop_Com03") end if @command_window.active update_command return end if @buy_window.active update_buy return end if @sell_window.active update_sell return end if @number_window.active update_number return end end #-------------------------------------------------------------------------- # Update_Command #-------------------------------------------------------------------------- def update_command if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end if Input.trigger?(Input::C) case @command_window.index when 0 $game_system.se_play($data_system.decision_se) @command_window.active = false @dummy_window.visible = false @buy_window.active = true @buy_window.refresh @status_window.visible = true when 1 $game_system.se_play($data_system.decision_se) @command_window.active = false @dummy_window.visible = false @sell_window.active = true @sell_window.refresh when 2 $game_system.se_play($data_system.decision_se) $scene = Scene_Map.new end return end end #-------------------------------------------------------------------------- # Update Buy #-------------------------------------------------------------------------- def update_buy @status_window.item = @buy_window.item if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @command_window.active = true @dummy_window.visible = true @buy_window.active = false @status_window.visible = false @status_window.item = nil @help_window.set_text("") return end if Input.trigger?(Input::C) @item = @buy_window.item if @item == nil or @item.price > $game_party.gold $game_system.se_play($data_system.buzzer_se) return end case @item when RPG::Item number = $game_party.item_number(@item.id) when RPG::Weapon number = $game_party.weapon_number(@item.id) when RPG::Armor number = $game_party.armor_number(@item.id) end if number == 99 $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) max = @item.price == 0 ? 99 : $game_party.gold / @item.price max = [max, 99 - number].min @buy_window.active = false @number_window.set(@item, max, @item.price) @number_window.active = true end end #-------------------------------------------------------------------------- # Update Sell #-------------------------------------------------------------------------- def update_sell @status_window.item = @sell_window.item @status_window.visible = true if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @command_window.active = true @dummy_window.visible = true @sell_window.active = false @status_window.item = nil @help_window.set_text("") return end if Input.trigger?(Input::C) @item = @sell_window.item @status_window.item = @item if @item == nil or @item.price == 0 $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) case @item when RPG::Item number = $game_party.item_number(@item.id) when RPG::Weapon number = $game_party.weapon_number(@item.id) when RPG::Armor number = $game_party.armor_number(@item.id) end max = number @sell_window.active = false @number_window.set(@item, max, @item.price / 2) @number_window.active = true @status_window.visible = true end end #-------------------------------------------------------------------------- # Update Number #-------------------------------------------------------------------------- def update_number if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @number_window.active = false case @command_window.index when 0 @buy_window.active = true when 1 @sell_window.active = true @status_window.visible = false end return end if Input.trigger?(Input::C) $game_system.se_play($data_system.shop_se) @number_window.active = false case @command_window.index when 0 $game_party.lose_gold(@number_window.number * @item.price) case @item when RPG::Item $game_party.gain_item(@item.id, @number_window.number) when RPG::Weapon $game_party.gain_weapon(@item.id, @number_window.number) when RPG::Armor $game_party.gain_armor(@item.id, @number_window.number) end @gold_window.refresh @buy_window.refresh @status_window.refresh @buy_window.active = true when 1 $game_party.gain_gold(@number_window.number * (@item.price / 2)) case @item when RPG::Item $game_party.lose_item(@item.id, @number_window.number) when RPG::Weapon $game_party.lose_weapon(@item.id, @number_window.number) when RPG::Armor $game_party.lose_armor(@item.id, @number_window.number) end @gold_window.refresh @sell_window.refresh @status_window.refresh @sell_window.active = true @status_window.visible = false end return end end end
$mog_rgss_Scene_Shop = true |
|
| | | | Tue 31 Jan 2012 - 14:03 |  Re: [XP]Dhoom Script Workshop |
|---|
Mikaghi New RMer A


 Post Count: 80 Joined: 2012-01-11 Thanked: 7 Engine: RMXP Skill: Intermediate Type: Writer
| | dok, nih rekues ane, ini script buat pas attack jadi kaya legend of dragoon, jadi ada kotak2 gitu yg mesti di pencet biar kombo lanjut terus, bisa pak dokter modif ga jadi yg keluar bkn attack, tapi skill2, alias kombo skill  script ini addon dari tankentai ini demonya http://www.media*fire.com/?ozz00gwmotd semoga pak dokter bisa membantu   | Scriptnya Rusted: | | | #============================================================================== # COMBO ACTIVATOR FOR TANKENTAI SBS v.XP # by Rusted_71 #============================================================================== # Dengan script ini kamu bisa menampilkan aktifator kombo seperti yang ada # di game Legend of Dragoon... untuk visualnya mending di coba aja, cape jelasinnya... # # Selain itu kombo yang sudah dipelajari dapat di setting oleh player # pada menu status di dalam game... # # script ini membutuhkan script Individual Battle Commands by Atoa yang dah di # modif dikit method update_phase3_basic_command-nya, kamu bisa mengkopi script di # Demo ini... # # yang kamu harus lakukan adalah tinggal mensetting config di bawah ini, # lalu memanggil method... # # learn_combo(actor_id,combo_id) # # pada command script di event game... # method itu gunanya agar char di game menguasai combo... # # selebihnya biar script yang mengerjakannya... ^^ # thx before... # and don't forget to give credit to Rusted_71 #==============================================================================
module N01 NEW_ACTION = { #============================================================================== # di bawah ini kamu bisa masukin sequence dari combo yang akan dipanggil # cara modifnya sama kayak modif action di tankentai "GANBANTAIN" => ["Afterimage ON","PREV_STEP_ATTACK","WPN_SWING_VL","OBJ_ANIM_WEAPON", "WAIT(FIXED)","16","TIME_N","OBJ_ANIM_WEAPON","WPN_SWING_UNDER", "WPN_SWING_OVER","4","TIME_F","JUMP_FIELD_ATTACK","WPN_SWING_VL", "OBJ_ANIM_WEAPON","WAIT(FIXED)","16","TIME_F","OBJ_ANIM_WEAPON", "Invert","WPN_SWING_V","WPN_SWING_VL","12","TIME_F","Invert", "JUMP_FIELD_ATTACK","WPN_SWING_VL","OBJ_ANIM_WEAPON", "JUMP_AWAY","JUMP_AWAY","WAIT(FIXED)","8", "TIME_S", "OBJ_ANIM_WEAPON","DASH_ATTACK","WPN_SWING_VL","Can Collapse", "Afterimage OFF","16","FLEE_RESET"], "DUAL_SLASH" => ["Afterimage ON","PREV_STEP_ATTACK","WPN_SWING_VL","OBJ_ANIM_WEAPON", "WAIT(FIXED)","16","TIME_N","WPN_SWING_VL","OBJ_ANIM_WEAPON","4", "Can Collapse","Afterimage OFF","16","FLEE_RESET"], "TRIPLE_SLASH" => ["Afterimage ON","PREV_STEP_ATTACK","WPN_SWING_VL","OBJ_ANIM_WEAPON", "WAIT(FIXED)","16","TIME_N","WPN_SWING_VL","OBJ_ANIM_WEAPON", "WAIT(FIXED)","16","TIME_N","WPN_SWING_VL","OBJ_ANIM_WEAPON", "Can Collapse","Afterimage OFF","16","FLEE_RESET"] } #============================================================================== ACTION.merge!(NEW_ACTION) NEW_ANIME = { #============================================================================== # di bawah ini kamu bisa setting timming delay dari anime yang akan di panggil # di sequence, ikuti pola yang ada... # # "nama_anime" => ["Timing",time_set] # # "nama_anime" >> yang akan dipanggil pada sequence # "Timing" >> selalu masukin ini ya... # time_set >> angka delay... #============================================================================== "TIME_VF" => ["Timing", 15], "TIME_F" => ["Timing", 20], "TIME_N" => ["Timing", 30], "TIME_S" => ["Timing", 45] } #============================================================================== ANIME.merge!(NEW_ANIME) COMBOS = ["", #============================================================================== # dibawah ini untuk membuat combo yang bakal dipake sama char # polanya... # # ["nama_combo",hit_modifier,nama_sequence], # # "nama_combo" >> string yang bakal di tampilin di battle command # hit_modifier >> modifier dari attack... # bentuknya array dengan jumlah angka sesuai dengan hit dari kombo # [2,2,2,2,2,2], << kombo 6 hit dan 1x hit attack di kali 2 # nama_sequence >> isi dengan sequence yang kamu buat di atas # #============================================================================== ["Slash",[1],"NORMAL_ATTACK"], #<<< combo dengan id 1 ["Dual Slash",[0.5,0.6],"DUAL_SLASH"],#<<<< combo dengan id 2 dst... ["Triple Slash",[0.4,0.4,0.5],"TRIPLE_SLASH"], ["Ganbantain",[0.3,0.2,0.2,0.2,0.2,0.5],"GANBANTAIN"], #============================================================================== ] #============================================================================== # di bawah ini buat setting combo awal yang di pelajari oleh char # kamu tinggal tambahin array ini sesuai dengan jumlah char yang di game # polanya... # # [actor_id,combo_id], #============================================================================== DEFAULT_COMBO = [[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1]] end #============================================================================== #sepertinya cukup sampai disitu aja konfignya... #selamat mencoba... #klo ada bug, bilang2 yah
module RPG class Combo attr_accessor :id attr_accessor :name attr_accessor :hit_array attr_accessor :hit_sequence def initialize @id = 0 @name = "" @hit_array = [] @hit_sequence = "" end end end class Interpreter def learn_combo(actor_id,combo_id) $game_actors[actor_id].learn_combo($data_combos[combo_id]) end end class Scene_Title alias main_yuk main def main $data_combos = [nil] for i in 1...N01::COMBOS.size $data_combos.push(RPG::Combo.new) $data_combos[i].id = i $data_combos[i].name = N01::COMBOS[i][0] $data_combos[i].hit_array = N01::COMBOS[i][1] $data_combos[i].hit_sequence = N01::COMBOS[i][2] end main_yuk end alias command_new_game_cuy command_new_game def command_new_game command_new_game_cuy default_combo end def default_combo @interpreter = Interpreter.new for combo in N01::DEFAULT_COMBO @interpreter.learn_combo(combo[0],combo[1]) end for i in 1...$data_actors.size $game_actors[i].attack_cmd = $game_actors[i].combos[0].name $game_actors[i].attack_sequence = $game_actors[i].combos[0].hit_sequence end end end class Window_Combo < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization # shop_goods : goods #-------------------------------------------------------------------------- def initialize(actor) super(0, 155, 160, 325) @combos = actor.combos refresh self.index = 0 end #-------------------------------------------------------------------------- # * Item Acquisition #-------------------------------------------------------------------------- def combo return @data[self.index] end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] for item in @combos if item != nil @data.push(item) end end # If item count is not 0, make a bit map and draw all items @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max draw_item(i) end end end #-------------------------------------------------------------------------- # * Draw Item # index : item number #-------------------------------------------------------------------------- def draw_item(index) combo = @data[index] x = 0 y = index * 32 self.contents.draw_text(x,y,128,32,combo.name, 1) end end
class Scene_Status alias main_lagi_yuk main def main set_combo_window main_lagi_yuk @combo_window.dispose end def set_combo_window actor = $game_party.actors[@actor_index] @combo_window = Window_Combo.new(actor) @combo_window.z = 1000 @combo_window.opacity = 0 @combo_window.visible = false @combo_window.active = false @judul_sprite = Sprite.new @judul_sprite.bitmap = Bitmap.new(128,32) @judul_sprite.bitmap.draw_text(0,0,128,32,"COMBO") @judul_sprite.x = @combo_window.x - @combo_window.width + 8 @judul_sprite.y = @combo_window.y - 22 @judul_sprite.z = 1001 @judul_sprite.opacity = 0 @judul_sprite.visible = false end alias combo_update update def update if !@combo_window.active if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) update_combo_window(false) return end combo_update else @combo_window.update if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) $game_party.actors[@actor_index].attack_cmd = @combo_window.combo.name $game_party.actors[@actor_index].attack_sequence = @combo_window.combo.hit_sequence command_refresh update_combo_window(true) return end end end def command_refresh @command_window.dispose @command_window = nil actor = $game_party.actors[@actor_index] actor.refresh_commands s1 = $game_party.actors[@actor_index].attack_cmd s2 = $data_system.words.item s3 = $data_system.words.guard @individual_commands = [s1] + actor.individual_commands + [s2, s3] @command_window = Window_Command.new(160, @individual_commands, actor) @command_window.z = 1000 @command_window.y = Menu_Commands_Postition[1] @command_window.active = false @command_window.index = -1 end def update_combo_window(ada) if !ada i = 0 @combo_window.x = 0 - @combo_window.width @combo_window.visible = true @judul_sprite.visible = true j = @combo_window.width/20 k = @command_window.width/20 l = 255/20 loop do Graphics.update Input.update $game_system.update $game_screen.update @combo_window.x += j @combo_window.opacity += l @judul_sprite.x += j @judul_sprite.opacity += l @command_window.x -= k @command_window.opacity -= l break if i == 20 i += 1 end @command_window.visible = false @combo_window.active = true @combo_window.refresh else i = 0 @command_window.x = 0 - @command_window.width @command_window.visible = true j = @command_window.width/20 k = @combo_window.width/20 l = 255/20 loop do Graphics.update Input.update $game_system.update $game_screen.update @combo_window.x -= k @combo_window.opacity -= l @judul_sprite.x -= k @judul_sprite.opacity -= l @command_window.x += j @command_window.opacity += l break if i == 20 i += 1 end @combo_window.visible = false @judul_sprite.visible = false @combo_window.active = false @command_window.refresh end end end
#draw box method... credit to Trickster class Bitmap def draw_box(outer, color, width = 1, height = 1) fill_rect(outer, color) inner = Rect.new(outer.x + width, outer.y + height, outer.width - width * 2, outer.height - height * 2) fill_rect(inner, Color.new(0, 0, 0, 0)) end end class Window_Timing < Window_Base attr_accessor :time def initialize(time,x,y) super(0,0, 640, 480) @before_start = 60 @time = time @begin_time = time @target_x = x @target_y = y @size = 150 @size2 = 30 @jarak = 0.2*@begin_time.to_f @viewport1 = Viewport.new(0, 0, 640, 480) @viewport1.visible = true @viewport1.z = 7000 @activate_sprite = Sprite.new(@viewport1) @activate_sprite.bitmap = Bitmap.new(@size,@size) rect = Rect.new(0,0,@size,@size) @activate_sprite.bitmap.draw_box(rect, Color.new(150,100,100), 3, 3) @activate_sprite.x = @target_x - (@size/2) @activate_sprite.y = @target_y - (@size/2) self.z = 5000 self.opacity = 0 self.contents.dispose if self.contents != nil self.contents = Bitmap.new(width - 32, height - 32) rect = Rect.new(@target_x-@size2, @target_y-@size2, @size2, @size2) self.contents.draw_box(rect, Color.new(250,200,200,150), 4, 4) end def on_hit i = (@time.to_f/@begin_time.to_f) return i >= 0.05 && i <= 0.25 end def refresh i = (@time.to_f/@begin_time.to_f) @activate_sprite.zoom_x = i @activate_sprite.zoom_y = i @activate_sprite.x = @target_x - ((@size*i).to_i/2) @activate_sprite.y = @target_y - ((@size*i).to_i/2) end def result(success) self.contents.dispose if self.contents != nil self.contents = Bitmap.new(width - 32, height - 32) rect = Rect.new(@target_x-@size2, @target_y-@size2, @size2, @size2) if success self.contents.fill_rect(rect, Color.new(250,200,200,150)) else self.contents.fill_rect(rect, Color.new(200,200,250,150)) end end def dispose super @activate_sprite.dispose @activate_sprite = nil @time = 0 end def update super refresh @time -= 1 end end class Scene_Battle def playing_action loop do update_basic update_effects action = @active_battler.play next if action == 0 @active_battler.play = 0 if action[0] == "Individual" individual elsif action == "Timing" start_timing while $timing update_timing_window end elsif action == "Can Collapse" unimmortaling elsif action == "Cancel Action" break action_end elsif action == "End" break action_end elsif action[0] == "OBJ_ANIM" @target_battlers[0].set_modifier(@active_battler) damage_action(action[1]) end end end def start_timing x = @target_battlers[0].position_x y = @target_battlers[0].position_y @timing_window = Window_Timing.new(@active_battler.time_delay,x,y) $timing = true @skill_window.visible = false if @skill_window != nil @item_window.visible = false if @item_window != nil end def update_timing_window(basic = false) if !basic Graphics.update Input.update $game_system.update $game_screen.update end @timing_window.update update_timing end def update_timing if @timing_window.time == 0 @timing_window.result(false) $failure = true end_timing_process end if Input.trigger?(Input::C) && @timing_window != nil if @timing_window.on_hit @timing_window.result(true) end_timing_process else @timing_window.result(false) $failure = true end_timing_process end end end def end_timing_process i = 0 loop do Graphics.update Input.update $game_system.update $game_screen.update i += 1 break if i == 5 end $timing = false @timing_window.dispose @timing_window = nil @skill_window.visible = true if @skill_window != nil @item_window.visible = true if @item_window != nil end def execute_action_attack if @active_battler.actor? if @active_battler.weapon_id == 0 action = @active_battler.non_weapon immortaling else action = @active_battler.attack_sequence if $data_weapons[@active_battler.weapon_id].plus_state_set.include?(1) for member in $game_party.actors + $game_troop.enemies next if member.immortal next if member.dead? member.dying = true end else immortaling end end else if @active_battler.weapon == 0 action = @active_battler.base_action immortaling else action = $data_weapons[@active_battler.weapon].base_action if $data_weapons[@active_battler.weapon].plus_state_set.include?(1) for member in $game_party.actors + $game_troop.enemies next if member.immortal next if member.dead? member.dying = true end else immortaling end end end target_decision @spriteset.set_action(@active_battler.actor?, @active_battler.index, action) playing_action end end class Sprite_Battler def action return if @active_action == nil action = @active_action[0] return cek_invert if action == "Cek Invert" return mirroring if action == "Invert" return angling if action == "angle" return zooming if action == "zoom" return mirage_on if action == "Afterimage ON" return mirage_off if action == "Afterimage OFF" return picture if action == "pic" return @picture.visible = false && @picture_time = 0 if action == "Clear image" return graphics_change if action == "change" return battle_anime if action == "anime" return balloon_anime if action == "balloon" return sound if action == "sound" return $game_switches[@active_action[1]] = @active_action[2] if action == "switch" return variable if action == "variable" return two_swords if action == "Two Wpn Only" return non_two_swords if action == "One Wpn Only" return necessary if action == "nece" return derivating if action == "der" return individual_action if action == "Process Skill" return individual_action_end if action == "Process Skill End" return non_repeat if action == "Don't Wait" return @battler.change_base_position(self.x, self.y) if action == "Start Pos Change" return @battler.base_position if action == "Start Pos Return" return change_target if action == "target" return send_action(action) if action == "Can Collapse" return send_action(action) if action == "Cancel Action" return state_on if action == "sta+" return state_off if action == "sta-" return Graphics.frame_rate = @active_action[1] if action == "fps" return floating if action == "float" return eval(@active_action[1]) if action == "script" return force_action if @active_action.size == 4 return reseting if @active_action.size == 5 return moving if @active_action.size == 7 return battler_anime if @active_action.size == 9 return moving_anime if @active_action.size == 11 return anime_finish if action == "End" return timing_cont if action == "Timing" end def cek_invert if self.mirror self.mirror = false @weapon_R.mirroring if @anime_flug end end def next_action return @wait -= 1 if @wait > 0 return if @anime_end == false return @unloop_wait -= 1 if @unloop_wait > 0 if $failure @action = ACTION["FAILURE_ACTION"].dup $failure = false end active = @action.shift @active_action = ANIME[active] @wait = active.to_i if @active_action == nil action end def timing_cont @battler.play = 0 @battler.play = "Timing" if @battler.active @battler.time_delay = @active_action[1] if @battler.active end end class Game_Battler attr_accessor :time_delay alias timing_initialize initialize def initialize timing_initialize @time_delay = 0 end def set_modifier(battler) if battler == nil @modifier = nil else battler.hit_array != nil ? array = battler.hit_array : array = [1] @modifier = array.dup if @modifier == [] or @modifier == nil end end def set_attack_damage_value(attacker) case DAMAGE_ALGORITHM_TYPE when 0 atk = [attacker.atk - (self.pdef / 2), 0].max str = [20 + attacker.str, 0].max when 1 atk = [attacker.atk - ((attacker.atk * self.pdef) / 1000), 0].max str = [20 + attacker.str, 0].max when 2 atk = 20 str = [(attacker.str * 4) - (self.dex * 2) , 0].max when 3 atk = [(10 + attacker.atk) - (self.pdef / 2), 0].max str = [(20 + attacker.str) - (self.dex / 2), 0].max end i = @modifier.shift self.damage = (atk * str / 20 * i).to_i self.damage = 1 if self.damage == 0 and (rand(100) > 40) self.damage *= elements_correct(attacker.element_set) self.damage /= 100 end end module N01 ACTION.merge!("FAILURE_ACTION" => ["Can Collapse", "Afterimage OFF", "Cek Invert", "FLEE_RESET", "End"]) ANIME.merge!("Cek Invert" => ["Cek Invert"]) end class Game_Actor < Game_Battler attr_accessor :hit_array attr_accessor :hit_sequence attr_reader :combos attr_accessor :attack_cmd attr_accessor :attack_sequence alias initialize_a initialize def initialize(actor_id) @combos = [] @attack_cmd = $data_system.words.attack @attack_sequence = "NORMAL_ATTACK" initialize_a(actor_id) end def learn_combo(combo) unless @combos.include?(combo) @combos.push(combo) @combos.sort! do |a,b| a.id <=> b.id end end end end class Game_Enemy < Game_Battler attr_accessor :hit_array attr_accessor :hit_sequence end
|
|
| | | | Tue 31 Jan 2012 - 15:49 |  Re: [XP]Dhoom Script Workshop |
|---|
LiTTleDRAgo Senior RMer E


 Post Count: 617 Joined: 2010-09-12 Thanked: 18 Engine: RMXP Skill: Skilled Type: Scripter
| | masih buka yah workshopnya? |
| | | | Tue 31 Jan 2012 - 15:51 |  Re: [XP]Dhoom Script Workshop |
|---|
Mikaghi New RMer A


 Post Count: 80 Joined: 2012-01-11 Thanked: 7 Engine: RMXP Skill: Intermediate Type: Writer
| | @drago tadi sih ane abis ngomong2 ama pak dokter di CB, katanya ya uda coba post aja, tapi ga jamin selesai katanya, ya udah ane post deh disini  |
| | | | | | [XP]Dhoom Script Workshop | |
|
| Page 7 of 7 | Goto page : 1, 2, 3, 4, 5, 6, 7 |
| | Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| Survey | | | Hapus Introduce Yourself? | | Ya | | 44% | [ 34 ] | | Tidak | | 56% | [ 44 ] |
| | Total Votes : 78 |
|
|
Statistics
|
Members: [ 2874 ]
Topics: [ 5385 ]
Posts: [ 83377 ]
Newest member: [ avinderasa ]
|
|
|
|
|
|