Jump to content
Rpg²S Forum

*3 accessori invece che uno...


friday666
 Share

Recommended Posts

Descrizione: Avere 3 accessori invece che 1

Autore: Sconosciuto (...come sempre rielaborato da me...)

Come usarlo: Create una classe sopra main e impiccicateci questo code...

 

 

 

#============================================
# AccessoireX3 edit by Friday666
#============================================
module XRXS_MP8_Fixed_Valuables
	EQUIP_KINDS = [1, 2, 3, 4, 4, 4]
	EQUIP_KIND_NAMES = []
	WINDOWS_STRETCH = true
	STATUS_WINDOW_ARRANGE = true
	STATUS_WINDOW_EX_EQUIP_ROW_SIZE = 24
	STATUS_WINDOW_EX_EQUIP_X = 336
	STATUS_WINDOW_EX_EQUIP_Y = 256
end

#============================================
# ¡ Game_Actor
#============================================
class Game_Actor < Game_Battler
	#------------------------------------------
	# ? ?C???N??[?h
	#------------------------------------------
	include XRXS_MP8_Fixed_Valuables
	#------------------------------------------
	# ? ?ö?J?C???X?^???X?Ï?
	#------------------------------------------
	attr_reader :armor_ids
	#------------------------------------------
	# ? ?Z?b?g?A?b?v
	#------------------------------------------
	alias xrxs_mp8_setup setup
	def setup(actor_id)
		xrxs_mp8_setup(actor_id)
		@armor_ids = []
		# ?g?£?—
		for i in 4...EQUIP_KINDS.size
			@armor_ids[i+1] = 0
		end
	end
	#------------------------------------------
	# ? ?î–{?r—Í?Ì?æ?¾
	#------------------------------------------
	alias xrxs_mp8_base_str base_str
	def base_str
		n = xrxs_mp8_base_str
		for i in 4...EQUIP_KINDS.size
			armor = $data_armors[@armor_ids[i+1]]
			n += armor != nil ? armor.str_plus : 0
		end
		return n
	end
	#------------------------------------------
	# ? ?î–{?í—p?³?Ì?æ?¾
	#------------------------------------------
	alias xrxs_mp8_base_dex base_dex
	def base_dex
		n = xrxs_mp8_base_dex
		for i in 4...EQUIP_KINDS.size
			armor = $data_armors[@armor_ids[i+1]]
			n += armor != nil ? armor.dex_plus : 0
		end
		return n
	end
	#------------------------------------------
	# ? ?î–{?f??³?Ì?æ?¾
	#------------------------------------------
	alias xrxs_mp8_base_agi base_agi
	def base_agi
		n = xrxs_mp8_base_agi
		for i in 4...EQUIP_KINDS.size
			armor = $data_armors[@armor_ids[i+1]]
			n += armor != nil ? armor.agi_plus : 0
		end
		return n
	end
	#------------------------------------------
	# ? ?î–{–?—Í?Ì?æ?¾
	#------------------------------------------
	alias xrxs_mp8_base_int base_int
	def base_int
		n = xrxs_mp8_base_int
		for i in 4...EQUIP_KINDS.size
			armor = $data_armors[@armor_ids[i+1]]
			n += armor != nil ? armor.int_plus : 0
		end
		return n
	end
	#------------------------------------------
	# ? ?î–{?¨—–h?ä?Ì?æ?¾
	#------------------------------------------
	alias xrxs_mp8_base_pdef base_pdef
	def base_pdef
		n = xrxs_mp8_base_pdef
		for i in 4...EQUIP_KINDS.size
			armor = $data_armors[@armor_ids[i+1]]
			n += armor != nil ? armor.pdef : 0
		end
		return n
	end
	#------------------------------------------
	# ? ?î–{–?–@–h?ä?Ì?æ?¾
	#------------------------------------------
	alias xrxs_mp8_base_mdef base_mdef
	def base_mdef
		n = xrxs_mp8_base_mdef
		for i in 4...EQUIP_KINDS.size
			armor = $data_armors[@armor_ids[i+1]]
			n += armor != nil ? armor.mdef : 0
		end
		return n
	end
	#------------------------------------------
	# ? ?î–{?ñ?ðC³?Ì?æ?¾
	#------------------------------------------
	alias xrxs_mp8_base_eva base_eva
	def base_eva
		n = xrxs_mp8_base_eva
		for i in 4...EQUIP_KINDS.size
			armor = $data_armors[@armor_ids[i+1]]
			n += armor != nil ? armor.eva : 0
		end
		return n
	end
	#------------------------------------------
	# ? ???õ?Ì?ÏX
	# equip_type : ???õ?^?C?v
	# id : ??í or –h?ï ID (0 ?È?ç???õ?ð?)
	#------------------------------------------
	alias xrxs_mp8_equip equip
	def equip(equip_type, id)
		xrxs_mp8_equip(equip_type, id)
		if equip_type >= 5
			if id == 0 or $game_party.armor_number(id) > 0
				update_auto_state($data_armors[@armor_ids[equip_type]], $data_armors[id])
				$game_party.gain_armor(@armor_ids[equip_type], 1)
				@armor_ids[equip_type] = id
				$game_party.lose_armor(id, 1)
			end
		end
	end
end
#============================================
# ¡ Window_EquipRight
#============================================
class Window_EquipRight < Window_Selectable
	#------------------------------------------
	# ? ?C???N??[?h
	#------------------------------------------
	include XRXS_MP8_Fixed_Valuables
	#------------------------------------------
	# ? ?I?u?W?F?N?g??ú?»
	# actor : ?A?N?^[
	#------------------------------------------
	if WINDOWS_STRETCH
		def initialize(actor)
			super(272, 64, 368, 192)
			h = (EQUIP_KINDS.size + 1) * 32
			self.contents = Bitmap.new(width - 32, h)
			@actor = actor
			refresh
			self.index = 0
		end
	end
	#------------------------------------------
	# ? ???t???b?V??
	#------------------------------------------
	alias xrxs_mp8_refresh refresh
	def refresh
		xrxs_mp8_refresh
		@item_max = EQUIP_KINDS.size + 1
		for i in 4...EQUIP_KINDS.size
			@data.push($data_armors[@actor.armor_ids[i+1]])
			self.contents.font.color = system_color
			self.contents.draw_text(5, 32 * (i+1), 92, 32, EQUIP_KIND_NAMES[i-4].to_s)
			draw_item_name(@data[i+1], 92, 32 * (i+1))
		end
	end
end
#============================================
# ¡ Window_EquipItem
#============================================
class Window_EquipItem < Window_Selectable
	#------------------------------------------
	# ? ???õ?í?Ê?ÌÝ?è
	#------------------------------------------
	def equip_type=(et)
		@equip_type = et
		refresh
	end
	#------------------------------------------
	# ? ???t???b?V??
	#------------------------------------------
	alias xrxs_mp8_refresh refresh
	def refresh
		xrxs_mp8_refresh
		if @equip_type >= 5
			if self.contents != nil
				self.contents.dispose
				self.contents = nil
			end
			@data = []
			armor_set = $data_classes[@actor.class_id].armor_set
			for i in 1...$data_armors.size
				if $game_party.armor_number(i) > 0 and armor_set.include?(i)
					type = $data_armors[i].kind + 1
					if !@equip_type.to_s.scan(/#{type}/).empty?
						@data.push($data_armors[i])
					end
				end
			end
			@data.push(nil)
			@item_max = @data.size
			self.contents = Bitmap.new(width - 32, row_max * 32)
			for i in 0...@item_max-1
				draw_item(i)
			end
		end
	end
end
#============================================
# ¡ Window_Status
#============================================
class Window_Status < Window_Base
	#------------------------------------------
	# ? ?C???N??[?h
	#------------------------------------------
	include XRXS_MP8_Fixed_Valuables
	#------------------------------------------
	# ?J?X?^?}?C?Y?|?C???gu?X?e[?^?X?æ–Ê?Ì?f?U?C???ð?ÏX?•?év
	#------------------------------------------
	if STATUS_WINDOW_ARRANGE
		def refresh
			self.contents.clear
			draw_actor_graphic(@actor, 40, 112)
			draw_actor_name(@actor, 4, 0)
			draw_actor_class(@actor, 4 + 144, 0)
			draw_actor_level(@actor, 96, 32)
			draw_actor_state(@actor, 96, 64)
			draw_actor_hp(@actor, 96, 112, 172)
			draw_actor_sp(@actor, 96, 144, 172)
			draw_actor_parameter(@actor, 96, 192, 0)
			draw_actor_parameter(@actor, 96, 224, 1)
			draw_actor_parameter(@actor, 96, 256, 2)
			draw_actor_parameter(@actor, 96, 304, 3)
			draw_actor_parameter(@actor, 96, 336, 4)
			draw_actor_parameter(@actor, 96, 368, 5)
			draw_actor_parameter(@actor, 96, 400, 6)
			self.contents.font.color = system_color
			self.contents.draw_text(320, 48, 80, 32, "EXP")
			self.contents.draw_text(320, 80, 80, 32, "NEXT")
			self.contents.font.color = normal_color
			self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2)
			self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2)
			self.contents.font.color = system_color
			self.contents.draw_text(320, 112, 96, 32, "Equipement")
			draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 136)
			draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 160)
			draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 184)
			draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 208)
			draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 232)
		end
	end
	#------------------------------------------
	# ? ???t???b?V??
	#------------------------------------------
	alias xrxs_mp8_refresh refresh
	def refresh
		xrxs_mp8_refresh
		# ?g?£?—
		for i in 4...EQUIP_KINDS.size
			armor = $data_armors[@actor.armor_ids[i+1]]
			draw_item_name($data_armors[@actor.armor_ids[i+1]], STATUS_WINDOW_EX_EQUIP_X, STATUS_WINDOW_EX_EQUIP_Y + STATUS_WINDOW_EX_EQUIP_ROW_SIZE * (i-4))
		end
	end
end
#============================================
# ¡ Scene_Equip
#============================================
class Scene_Equip
	#------------------------------------------
	# ? ?C???N??[?h
	#------------------------------------------
	include XRXS_MP8_Fixed_Valuables
	#------------------------------------------
	# ? ??C???—
	#------------------------------------------
	alias xrxs_mp8_main main
	def main
		@addition_initialize_done = false
		xrxs_mp8_main
		for i in 4...EQUIP_KINDS.size
			@item_windows[i+2].dispose
		end
	end
	#------------------------------------------
	# ? ???t???b?V??
	#------------------------------------------
	alias xrxs_mp8_refresh refresh
	def refresh
		unless @addition_initialize_done
			@item_windows = []
			@item_window2.equip_type = EQUIP_KINDS[0]
			@item_window3.equip_type = EQUIP_KINDS[1]
			@item_window4.equip_type = EQUIP_KINDS[2]
			@item_window5.equip_type = EQUIP_KINDS[3]
			for i in 4...EQUIP_KINDS.size
				@item_windows[i+2] = Window_EquipItem.new(@actor, EQUIP_KINDS[i])
				@item_windows[i+2].help_window = @help_window
			end
			if WINDOWS_STRETCH
				@right_window.height = (EQUIP_KINDS.size + 2) * 32
				if @left_window.y + @left_window.height == 256
					@left_window.height = @right_window.height
				end
				y_pos = (@right_window.y + @right_window.height)
				y_space = 480 - y_pos
				@item_window1.y = y_pos
				@item_window2.y = y_pos
				@item_window3.y = y_pos
				@item_window4.y = y_pos
				@item_window5.y = y_pos
				@item_window1.height = y_space
				@item_window2.height = y_space
				@item_window3.height = y_space
				@item_window4.height = y_space
				@item_window5.height = y_space
				for i in 4...EQUIP_KINDS.size
					@item_windows[i+2].y = y_pos
					@item_windows[i+2].height = y_space
				end
			end
			@addition_initialize_done = true
		end
		for i in 4...EQUIP_KINDS.size
			@item_windows[i+2].visible = (@right_window.index == i+1)
		end
		if @right_window.index >= 5
			@item_window = @item_windows[@right_window.index + 1]
		end
		xrxs_mp8_refresh
	end
	#------------------------------------------
	# ? ?t??[??XV (?A?C?e???E?B???h?E?ª?A?N?e?B?u?Ìê?)
	#------------------------------------------
	alias xrxs_mp8_update_item update_item
	def update_item
		xrxs_mp8_update_item
		if Input.trigger?(Input::C)
			@item_window1.refresh
			@item_window2.refresh
			@item_window3.refresh
			@item_window4.refresh
			@item_window5.refresh
			for i in 4...EQUIP_KINDS.size
				@item_windows[i+2].refresh
			end
			Graphics.frame_reset
			return
		end
	end
end

 


Edited by Dilos
Applicato tag code.

(\__/)

(='.'=)

(")_(")

Questo è Bunny. Ho deciso di aiutarlo nella sua missione di conquista del mondo.

Compagni di Bunny unitevi a me!

 

http://img170.imageshack.us/img170/1858/pizzelartzzennm9.png

I chara da me postati: CLICCA QUI! PER XP - CLICCA QUI! PER XP(2) - CLICCA QUI! PER VX - CLICCA QUI! PER 2K/2K3!

I tileset da me postati:CLICCA QUI! PER XP

I Personaggi Completi da me postati: CLICCA QUI! PER XP

I Face da me postati: CLICCA QUI! PER XP

I Battlers da me postati: CLICCA QUI! PER XP!

Le Windowskin da me postate: CLICCA QUI! PER XP!

Risorse sonore da me postate: CLICCA QUI! PER SCARICARLE!

Guida al Ruby: CLICCA QUI! PER SCARICARLA!

Vi prego di inserirmi nei crediti...Grazie!

Link to comment
Share on other sites

Hai ragione scusa...

(\__/)

(='.'=)

(")_(")

Questo è Bunny. Ho deciso di aiutarlo nella sua missione di conquista del mondo.

Compagni di Bunny unitevi a me!

 

http://img170.imageshack.us/img170/1858/pizzelartzzennm9.png

I chara da me postati: CLICCA QUI! PER XP - CLICCA QUI! PER XP(2) - CLICCA QUI! PER VX - CLICCA QUI! PER 2K/2K3!

I tileset da me postati:CLICCA QUI! PER XP

I Personaggi Completi da me postati: CLICCA QUI! PER XP

I Face da me postati: CLICCA QUI! PER XP

I Battlers da me postati: CLICCA QUI! PER XP!

Le Windowskin da me postate: CLICCA QUI! PER XP!

Risorse sonore da me postate: CLICCA QUI! PER SCARICARLE!

Guida al Ruby: CLICCA QUI! PER SCARICARLA!

Vi prego di inserirmi nei crediti...Grazie!

Link to comment
Share on other sites

  • 1 year later...

scusate se riesumo... una domanda... ho visto in questo script che è possibile... tramite queste righe:

#============================================

# AccessoireX3 edit by Friday666

#============================================

module XRXS_MP8_Fixed_Valuables

EQUIP_KINDS = [1, 2, 3, 4, 4, 4]

EQUIP_KIND_NAMES = []

WINDOWS_STRETCH = true

STATUS_WINDOW_ARRANGE = true

STATUS_WINDOW_EX_EQUIP_ROW_SIZE = 24

STATUS_WINDOW_EX_EQUIP_X = 336

STATUS_WINDOW_EX_EQUIP_Y = 256

end

 

Sistemare l'EQUIP_KINDS... ho visto che ci sta per 3 volte il numero 4... quindi 3 accessori... ma se io metto tipo

[1,1,2,2,3,4]... mi aumenta gli slot per gli altri equip?

 

 

Membro # 8-8-8 [Hachi] della:

http://img3.imageshack.us/img3/9636/bannergm.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...