[Script] [RPGXP] AIS: 2-Hand Weapons

DeathDeath Posts: 732Registered, Moderators
[align=center][size=xx-large]2-Hand Weapons[/size]
Require: Actor's Inventory System
Author: Death
Version: 1.0 (14/6/2013)[/align]
Giới thiệu: Script giúp tạo vũ khí 2 tay.
-Khi trang bị vũ khí 2 tay thì khiên sẽ bị tháo ra và ngược lại.
Script:
#==============================================================================
# ** AIS: 2-Hand Weapons v1.0 (14/6/2013)
# * Require: Actor's Inventory System v1.7
#------------------------------------------------------------------------------
# * Author: Death
# * http://taotrochoi.com
#==============================================================================
module DEATH
  TWOHAND = [2,3,4] #2-Hand Weapons ID
end
class Game_Actor < Game_Battler
	def equip(equip_type, id, actor=$actor_inventory)
		case equip_type
		when 0  # Weapon
			if id == 0 or $game_party.weapon_number(id) > 0
				$game_party.gain_weapon(@weapon_id, 1, actor)
				@weapon_id = id
				$game_party.lose_weapon(id, 1, actor)
        if DEATH::TWOHAND.include?(id) and @armor1_id > 0
          $game_party.gain_armor(@armor1_id, 1, actor)
          @armor1_id = 0
        end
			end
		when 1  # Shield
			if id == 0 or $game_party.armor_number(id) > 0
				update_auto_state($data_armors[@armor1_id], $data_armors[id])
				$game_party.gain_armor(@armor1_id, 1, actor)
				@armor1_id = id
				$game_party.lose_armor(id, 1, actor)
        if DEATH::TWOHAND.include?(@weapon_id)
          $game_party.gain_weapon(@weapon_id, 1, actor)
          @weapon_id = 0
        end
			end
		when 2  # Head
			if id == 0 or $game_party.armor_number(id) > 0
				update_auto_state($data_armors[@armor2_id], $data_armors[id])
				$game_party.gain_armor(@armor2_id, 1, actor)
				@armor2_id = id
				$game_party.lose_armor(id, 1, actor)
			end
		when 3  # Body
			if id == 0 or $game_party.armor_number(id) > 0
				update_auto_state($data_armors[@armor3_id], $data_armors[id])
				$game_party.gain_armor(@armor3_id, 1, actor)
				@armor3_id = id
				$game_party.lose_armor(id, 1, actor)
			end
		when 4  # Accessory
			if id == 0 or $game_party.armor_number(id) > 0
				update_auto_state($data_armors[@armor4_id], $data_armors[id])
				$game_party.gain_armor(@armor4_id, 1, actor)
				@armor4_id = id
				$game_party.lose_armor(id, 1, actor)
			end
		end
	end
end
class Scene_Equip
	def update_item
		if Input.trigger?(Input::B)
			$game_system.se_play($data_system.cancel_se)
			@right_window.active = true
			@item_window.active = false
			@item_window.index = -1
			refresh
			return
		end
		if Input.trigger?(Input::C)
			$game_system.se_play($data_system.equip_se)
			item = @item_window.item
			@actor.equip(@right_window.index, item == nil ? 0 : item.id, @actor.id)
			@right_window.active = true
			@item_window.active = false
			@item_window.index = -1
			@right_window.refresh
			@item_window.refresh
			@item_window1.refresh
			@item_window2.refresh
			refresh
			return
		end
	end
end
Credit:
-@finalholylight

Comments

  • WuakaWuaka Posts: 293Registered
    Script này viết ra hình như là để cho finalhollylight nhỉ :v
    Mà có vẻ hữu ích đây :v
    Wuaka rep 1 cái nhé :D
  • finalholylightfinalholylight Posts: 251Registered
    Ko ngo` nhanh the', tuyet. zoi` , iu the' :x , dang onl dt, mai test, thanks Death nhieu` lam' >:D< , g9
  • CryingWOLFCryingWOLF Posts: 1,766Registered
    Vãi ''iu the' '' .gay rồi. Gay rồi. Gay thật rồi
  • finalholylightfinalholylight Posts: 251Registered
    Hiện tại phát hiện 2 lỗi:
    1/ Khi đang mang 1-hand weapon và shield, tháo weapon ra thì shield cũng tự động tháo ra luôn.
    2/ Khi đang mang 1-hand weapon và shield, và lúc mang 2-hand weapon vào mà inventory chỉ dư 1 slot, thì mất luôn cái shield (do cái 2-hand weapon này có số lượng là 2 trong inventory, nên khi mang vào vẫn còn lại 1 cái chiếm slot, nên shield ko có chỗ, và mất tiu). Còn trong trường hợp cái 2-hand weapon này chỉ có 1 cái, thì lúc mang vào, vẫn thấy actor mặc 1-hand weapon, shield thì tự tháo ra, và cái 2-hand weapon thì biến mất tiu.
  • leequangsonleequangson Posts: 730Registered
    Hiện tại phát hiện 2 lỗi:
    1/ Khi đang mang 1-hand weapon và shield, tháo weapon ra thì shield cũng tự động tháo ra luôn.
    2/ Khi đang mang 1-hand weapon và shield, và lúc mang 2-hand weapon vào mà inventory chỉ dư 1 slot, thì mất luôn cái shield (do cái 2-hand weapon này có số lượng là 2 trong inventory, nên khi mang vào vẫn còn lại 1 cái chiếm slot, nên shield ko có chỗ, và mất tiu). Còn trong trường hợp cái 2-hand weapon này chỉ có 1 cái, thì lúc mang vào, vẫn thấy actor mặc 1-hand weapon, shield thì tự tháo ra, và cái 2-hand weapon thì biến mất tiu.

    v1.0 mà lỗi thì sẽ có v2.0
  • DeathDeath Posts: 732Registered, Moderators
    đắt gạch topic này trước còn fix gì thì tính sau :andua:
  • WuakaWuaka Posts: 293Registered
    Có lỗi thì chờ fix vậy :v
  • DeathDeath Posts: 732Registered, Moderators
    Cách update của XP sida quá kiểu này khó mà fix đc =="
  • finalholylightfinalholylight Posts: 251Registered
    Cố lên nào :danhtrong: , rồi cũng sẽ có cách :idea:
  • DeathDeath Posts: 732Registered, Moderators
    cái này do RGSS rồi giờ chẳng biết làm sao nữa :|
    căn bản là cái Scene_Equip hoạt đống bằng Input (bấm phím) nhiều quá nên nó đè lên nhau, mới thực hiện xong bước 1 nó đã vèo đến bước 3 rồi -.-
  • finalholylightfinalholylight Posts: 251Registered
    Cố lên đi T_T , thử dùng các lệnh điều kiện này nọ xem, hoặc là edit thẳng vào script có sẵn luôn, viết ở dòng trên để nó thực hiện trước.
  • finalholylightfinalholylight Posts: 251Registered
    Cốc cốc cốc, Death ơi đừng quên cái vụ này nhá :"< , script cuối cùng tui nhờ Death make đấy , cố lên, ráng tìm cách fix giúp đi.
  • DeathDeath Posts: 732Registered, Moderators
    @finalholylight
    có gì để liên lạc ko :-/
  • finalholylightfinalholylight Posts: 251Registered
    yahoo yeudoi55555, thường thì bắt đầu onl vào tầm giờ này
  • BướmBướm Posts: 1,220Registered
    n1 dude ... mine now
Sign In or Register to comment.