Jump to content
Rpg²S Forum

*Skill Menu


Peco92
 Share

Recommended Posts

Skill Menu

Descrizione





Script che permette di classificare le skill praticamente in qualsiasi modo si voglia


Autore





Peco92


(ho preso spunto da un menu per oggetti realizzato da Tio)



Allegati

un piccolo screen:


 

http://img850.imageshack.us/img850/6150/aaat.jpg



questo è lo script:

 

# -> Questo script è stato creato da Ino (Peco92) prendendo spunto
#	  da un menu ad oggetti realizzato da Tio.
 
 
### Ora vi illustrerò come utilizzarlo, allora per prima cosa questo
#	 script classifica le magie in base alle loro capacità. Nel
#	 Database -> Skill scegliete una magia e noterete che ha tante
#	 caratteristiche come il costo mp il danno eccetera..
#   Io le ho divise per la loro usabilità (occasion), ma ora vi
#	 elenco le possibili classificazioni:
 
#	 occasion (Usabile in)
#	 power (Danno)
#	 sp_cost (costo)
#	 atk_f (attacco)
#	 eva_f (evasione)
#	 str_f (Forza)
#	 dex_f (Destrezza)
#	 agi_f (Agilità)
#	 int_f (Intelligenza)
#	 hit (Precisione)
#	 pdef_f (Difesa fisica)
#	 mdef_f (Difesa magica)
#	 variance (Variazione)
 
#	Per occasion la prima scelta equivale a 0 la seconda a 1 ed ecc.
#	Comunque per classificarle dovete scegliere un tipo di magia: ad
#	 esempio curative, vi basta scrivere:
#		if skill.power < 0
 
#	Allora per far si che lo script capisca l'ugualianza bisogna mettere
#	 2 uguali == .
#	allora: == ugualianza
#			!= diverso
#			< minore
#			> maggiore
#			<= minore o uguale
#			>= maggiore o uguale
 
#	Ora andate ad una di queste righe per modificare la classificazione:
#	 187, 261, 335, 410.
#	Per fare in modo che una magia sia classificata per due qualità
#	 basta aggiungere un and in questo modo
#		if skill.occasion == 0 and skill.power < 0
 
#	In pratica lo script ti classifica le skill per le loro capacità
#	 puoi ad esempio mettere a tutte le magie elementali una agilità
#	 pari ad 1 e nello script scriverai: if skill.agi_f == 1 . così
#	 quando sceglierai nel menu magie -> elementali ti appariranno solo
#	 di quel tipo.
#	é tutto chiaro?
 
#	Un'altra cosa andate alla riga 569 per modificare il nome delle scelte
#	Boh.. finito, se avete problemi non esitate a chiedere!!
 
#	Ciaoooo!!! =D
 
 
#### Help window ########################################################
 
class Window_Help_Skill < Window_Base
 
  def initialize
	super(0, 0, 640, 64)
	self.contents = Bitmap.new(width - 32, height - 32)
	self.back_opacity = 255
  end
 
  def set_text(text, align = 0)
	if text != @text or align != @align
	  self.contents.clear
	  self.contents.font.color = normal_color
	  self.contents.draw_text(4, 0, self.width - 40, 32, text, align)
	  @text = text
	  @align = align
	  @actor = nil
	end
	self.visible = true
  end
 
  def set_actor(actor)
	if actor != @actor
	  self.contents.clear
	  draw_actor_name(actor, 4, 0)
	  draw_actor_state(actor, 140, 0)
	  draw_actor_hp(actor, 284, 0)
	  draw_actor_sp(actor, 460, 0)
	  @actor = actor
	  @text = nil
	  self.visible = true
	end
  end
 
  def set_enemy(enemy)
	text = enemy.name
	state_text = make_battler_state_text(enemy, 112, false)
	if state_text != ""
	  text += "  " + state_text
	end
	set_text(text, 1)
  end
end
 
################################################## End Help window ##########
 
#############################################################################
 
#### Target window ##########################################################
 
class Window_Target_Skill < Window_Selectable
 
def initialize
super(0, 0, 320, 416)
self.index = 0
self.active = false
self.z += 10
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 24
self.back_opacity = 255
@item_max = $game_party.actors.size
refresh
end
 
def refresh
self.contents.clear
for i in 0...$game_party.actors.size
   x = 4
   y = i * 95
   actor = $game_party.actors[i]
   draw_actor_graphic(actor, x + 10, y + 75)
   draw_actor_name(actor, x, y)
   draw_actor_class(actor, x + 129, y)
   draw_actor_level(actor, x + 25, y + 32)
   draw_actor_state(actor, x + 25, y + 64)
   draw_actor_hp(actor, x + 137, y + 32)
   draw_actor_sp(actor, x + 137, y + 64)
end
end
 
def update_cursor_rect
if @index < 0
   self.cursor_rect.empty
else
   self.cursor_rect.set(0, @index * 95, self.width - 32, 96)
end
end
end
 
################################################ End Target window ##########
 
#############################################################################
 
#### Always window ##########################################################
 
class Window_Skill_Always < Window_Selectable
 
  def initialize(actor)
	super(0, 128, 320, 352)
	@actor = actor
	@column_max = 1
	self.active = false
	self.visible = false
	self.back_opacity = 5
	refresh
	self.index = 0
	if $game_temp.in_battle
	  self.y = 64
	  self.height = 256
	  self.back_opacity = 160
	end
  end
 
  def skill
	return @data[self.index]
  end
 
  def refresh
	if self.contents != nil
	  self.contents.dispose
	  self.contents = nil
	end
	@data = []
	for i in 0...@actor.skills.size
	  skill = $data_skills[@actor.skills[i]]
	  
	  if skill.occasion == 0
		@data.push(skill)
	  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
 
  def draw_item(index)
	skill = @data[index]
	if @actor.skill_can_use?(skill.id)
	  self.contents.font.color = normal_color
	else
	  self.contents.font.color = disabled_color
	end
	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(skill.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, 204, 32, skill.name, 0)
	self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
  end
 
  def update_help
	@help_window.set_text(self.skill == nil ? "" : self.skill.description)
  end
end
 
################################################ End Always window ##########
 
#############################################################################
 
#### In-Battle window #######################################################
 
class Window_Skill_In_Battle < Window_Selectable
 
  def initialize(actor)
	super(0, 128, 320, 352)
	@actor = actor
	@column_max = 1
	self.active = false
	self.visible = false
	self.back_opacity = 5
	refresh
	self.index = 0
	if $game_temp.in_battle
	  self.y = 64
	  self.height = 256
	  self.back_opacity = 160
	end
  end
 
  def skill
	return @data[self.index]
  end
 
  def refresh
	if self.contents != nil
	  self.contents.dispose
	  self.contents = nil
	end
	@data = []
	for i in 0...@actor.skills.size
	  skill = $data_skills[@actor.skills[i]]
	  
	  if skill.occasion == 1 #Only in Battle
		@data.push(skill)
	  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
 
  def draw_item(index)
	skill = @data[index]
	if @actor.skill_can_use?(skill.id)
	  self.contents.font.color = normal_color
	else
	  self.contents.font.color = disabled_color
	end
	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(skill.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, 204, 32, skill.name, 0)
	self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
  end
 
  def update_help
	@help_window.set_text(self.skill == nil ? "" : self.skill.description)
  end
end
 
############################################# End In-Battle window ##########
 
#############################################################################
 
#### Out-Battle window ######################################################
 
class Window_Skill_Out_Battle < Window_Selectable
 
  def initialize(actor)
	super(0, 128, 320, 352)
	@actor = actor
	@column_max = 1
	self.active = false
	self.visible = false
	self.back_opacity = 5
	refresh
	self.index = 0
	if $game_temp.in_battle
	  self.y = 64
	  self.height = 256
	  self.back_opacity = 160
	end
  end
 
  def skill
	return @data[self.index]
  end
 
  def refresh
	if self.contents != nil
	  self.contents.dispose
	  self.contents = nil
	end
	@data = []
	for i in 0...@actor.skills.size
	  skill = $data_skills[@actor.skills[i]]
	  
	  if skill.occasion == 2 #Only in Battle
		@data.push(skill)
	  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
 
  def draw_item(index)
	skill = @data[index]
	if @actor.skill_can_use?(skill.id)
	  self.contents.font.color = normal_color
	else
	  self.contents.font.color = disabled_color
	end
	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(skill.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, 204, 32, skill.name, 0)
	self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
  end
 
  def update_help
	@help_window.set_text(self.skill == nil ? "" : self.skill.description)
  end
end
 
############################################ End Out-Battle window ##########
 
#############################################################################
 
#### Never window ###########################################################
 
class Window_Skill_Never < Window_Selectable
 
  def initialize(actor)
	super(0, 128, 320, 352)
	@actor = actor
	@column_max = 1
	self.active = false
	self.visible = false
	self.back_opacity = 5
	refresh
	self.index = 0
 
	if $game_temp.in_battle
	  self.y = 64
	  self.height = 256
	  self.back_opacity = 160
	end
  end
 
  def skill
	return @data[self.index]
  end
 
  def refresh
	if self.contents != nil
	  self.contents.dispose
	  self.contents = nil
	end
	@data = []
	for i in 0...@actor.skills.size
	  skill = $data_skills[@actor.skills[i]]
	  
	  if skill.occasion == 3 #Only in Battle
		@data.push(skill)
	  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
 
  def draw_item(index)
	skill = @data[index]
	if @actor.skill_can_use?(skill.id)
	  self.contents.font.color = normal_color
	else
	  self.contents.font.color = disabled_color
	end
	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(skill.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, 204, 32, skill.name, 0)
	self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
  end
 
  def update_help
	@help_window.set_text(self.skill == nil ? "" : self.skill.description)
  end
end
 
################################################# End Never window ##########
 
#############################################################################
 
#### Base window ############################################################
 
class Window_Base < Window
 
  def draw_sp_chara_b(actor, x, y)
	self.contents.draw_text(x + 60, y, 32, 32, $data_system.words.sp + ":")
	self.contents.draw_text(x + 90, y, 48, 32, actor.sp.to_s, 1)#, 2)
	self.contents.draw_text(x + 128, y, 12, 32, "/", 1)
	self.contents.draw_text(x + 138, y, 48, 32, actor.maxsp.to_s)
  end
 
  def draw_actor_name_b(actor, x, y)
	self.contents.font.size = 24
	self.contents.font.color = normal_color
	p = contents.text_size(actor.name).width
	self.contents.draw_text(x, y, p, 32, actor.name)
	self.contents.font.color = normal_color
  end
 
  def draw_sp_chara(actor, x, y, width = 144)
	self.contents.font.color = system_color
	self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
	if width - 32 >= 108
	  sp_x = x + width - 108
	  flag = true
	elsif width - 32 >= 48
	  sp_x = x + width - 48
	  flag = false
	end
	sp_x = sp_x - 15
	self.contents.font.color = actor.sp == 0 ? knockout_color :
	  actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
	self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
	if flag
	  self.contents.font.color = normal_color
	  self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
	  self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
	end
  end
 
end
 
################################################## End Base window ##########
 
#############################################################################
 
#### Chara window ###########################################################
 
class Window_Skill_Chara < Window_Base
 
  def initialize(actor)
	super(0, 64, 320, 64)
	self.contents = Bitmap.new(width - 32, height - 32)
	self.back_opacity = 255
	@actor = actor
	@level_up_flags = [false, false, false, false]
	refresh
  end
 
  def dispose
	super
  end
 
  def level_up(actor_index)
	@level_up_flags[actor_index] = true
  end
 
  def refresh
	self.contents.clear
	@item_max = $game_party.actors.size
	for i in 0...$game_party.actors.size
	  actor = $game_party.actors[i]
	  actor_x = 4 + 20
	  draw_actor_graphic(@actor, 13, 45)
	  draw_actor_name(@actor, actor_x, 0)
	  draw_sp_chara(@actor, actor_x + 75 + 65, 0)
	  draw_actor_level(@actor,actor_x + 75, 0)
	end
  end
 
  def update
	super
	if $game_temp.battle_main_phase
	  self.contents_opacity -= 4 if self.contents_opacity > 191
	else
	  self.contents_opacity += 4 if self.contents_opacity < 255
	end
  end
end
 
################################################### End Chara window ########
 
#############################################################################
#############################################################################
#############################################################################
#############################################################################
#############################################################################
#############################################################################
 
 
##							Ino's Script
 
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#>>>>>>>>>>>>>>>>>>>>>>>>>>>  °Scene_Skill°  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
class Scene_Skill
 
  def initialize(actor_index = 0, equip_index = 0, menu_index = 0)
	@actor_index = actor_index
	@menu_index = menu_index
  end
 
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# $ Main
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
def main
s1 = "Always"
s2 = "Never"
s3 = "Out-Battle"
s4 = "In-Battle"
@actor = $game_party.actors[@actor_index]
@command_window = Window_Command.new(160, [s1, s2, s3, s4,])
@command_window.index = @menu_index
@command_window.x = 240
@command_window.y = 120
@command_window.index = 0
@command_window.z = 200
@command_window.back_opacity = 255
@command_window.active = true
 
@dummy_window = Window_Base.new(0, 128, 320, 416 - 64)
@dummy_window.back_opacity = 255
 
@s_al = Window_Skill_Always.new(@actor)
@s_i_b = Window_Skill_In_Battle.new(@actor)
@s_o_b = Window_Skill_Out_Battle.new(@actor)
@s_n = Window_Skill_Never.new(@actor)
 
@chara = Window_Skill_Chara.new(@actor)
 
 
@help_window = Window_Help_Skill.new
@s_al.help_window = @help_window
@s_i_b.help_window = @help_window
@s_o_b.help_window = @help_window
@s_n.help_window = @help_window
 
@target_window = Window_Target_Skill.new
@target_window.x = 320
@target_window.y = 64
@target_window.index = -1
 
Graphics.transition
loop do
   Graphics.update
   Input.update
   update
   if $scene != self
	 break
   end
end
Graphics.freeze
 
@help_window.dispose
@chara.dispose
@s_al.dispose
@target_window.dispose
@s_n.dispose
@s_o_b.dispose
@s_i_b.dispose
@dummy_window.dispose
end
 
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# $ Update
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
def update
 
  @help_window.update
  @s_al.update
  @target_window.update
  @command_window.update
  @s_n.update
  @s_o_b.update
  @s_i_b.update
 
  if @command_window.active
	update_command
	return
  end
  if @s_al.active
	update_s_al
	return
  end
  if @s_n.active
	update_s_n
	return
  end
  if @s_o_b.active
	update_s_o_b
	return
  end
  if @s_i_b.active
	update_s_i_b
	return
  end
  if @target_window.active
	update_target
	return
  end
end	  
 
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# $ Update Command
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
def update_command
 
  if Input.trigger?(Input::B)
	$game_system.se_play($data_system.cancel_se)
	@command_window.visible = false
	@command_window.active = false
	$scene = Scene_Menu.new (1)
	return
  end
 
if Input.trigger?(Input::C)
   @command_window.visible = false
   @command_window.active = false
   case @command_window.index
   when 0  # Always
	  $game_system.se_play($data_system.decision_se)
	 @s_al.visible = true
	 @s_al.active = true
	 @s_al.index = 0
   when 1  # Never
	 $game_system.se_play($data_system.decision_se)
	 @s_n.visible = true
	 @s_n.active = true
	 @s_n.index = 0
   when 2  # Out-Battle
	  $game_system.se_play($data_system.decision_se)
	  @s_o_b.visible = true
	  @s_o_b.active = true
	  @s_o_b.index = 0
   when 3  # In-Battle
	  $game_system.se_play($data_system.decision_se)
	  @s_i_b.visible = true
	  @s_i_b.active = true
	  @s_i_b.index = 0
   end
end
 
if Input.trigger?(Input::R)
	$game_system.se_play($data_system.cursor_se)
	@actor_index += 1
	@actor_index %= $game_party.actors.size
	@command_window.visible = false
	@command_window.active = false
	@command_window.refresh
	@chara.refresh
	$scene = Scene_Skill.new(@actor_index)
	update_nad
	return
  end
 
  if Input.trigger?(Input::L)
	$game_system.se_play($data_system.cursor_se)
	@actor_index += $game_party.actors.size - 1
	@actor_index %= $game_party.actors.size
	@command_window.visible = false
	@command_window.active = false
	@command_window.refresh
	@chara.refresh
	$scene = Scene_Skill.new(@actor_index)
	update_nad
	return
  end
end
 
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# $ Update Nad ( per cambiare personaggio) =)
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
def update_nad
  if Input.trigger?(Input::B)
	@command_window.index = @command_window.index
	@command_window.active = true
	@command_window.visible = true
  end
end
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# $ Update Always
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
	
def update_s_al
 
	if Input.trigger?(Input::B)
	  $game_system.se_play($data_system.cancel_se)
	  @command_window.index = @command_window.index
	  @command_window.active = true
	  @command_window.visible = true
	  @s_al.active = false
	  @s_al.visible = false
	  @s_al.index = -1
	  @help_window.set_text("")
	  @dummy_window.visible = true
	  return
	end
 
	if Input.trigger?(Input::C)
	  @skill = @s_al.skill
	  if @skill == nil or not @actor.skill_can_use?(@skill.id)
		$game_system.se_play($data_system.buzzer_se)
		return
	  end
	  $game_system.se_play($data_system.decision_se)
	  if @skill.scope >= 3
		@s_al.active = false
		@target_window.visible = true
		@target_window.active = true
		if @skill.scope == 4 || @skill.scope == 6
		  @target_window.index = -1
		elsif @skill.scope == 7
		  @target_window.index = @actor_index - 10
		else
		  @target_window.index = 0
		end
	  else
		if @skill.common_event_id > 0
		  $game_temp.common_event_id = @skill.common_event_id
		  $game_system.se_play(@skill.menu_se)
		  @actor.sp -= @skill.sp_cost
		  @s_al.refresh
		  @chara.refresh
		  @target_window.refresh
		  $scene = Scene_Map.new
		  return
		end
	  end
	  return
	end
  end
 
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# $ Update Never
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
def update_s_n
 
if Input.trigger?(Input::B)
   $game_system.se_play($data_system.cancel_se)
   @command_window.index = @command_window.index
   @command_window.active = true
   @command_window.visible = true
   @s_n.active = false
   @s_n.visible = false
   @s_n.index = -1
   @help_window.set_text("")
   @dummy_window.visible = true
   return
end
if Input.trigger?(Input::C)
	  @skill = @s_n.skill
	  if @skill == nil or not @actor.skill_can_use?(@skill.id)
		$game_system.se_play($data_system.buzzer_se)
		return
	  end
	  $game_system.se_play($data_system.decision_se)
	  
	  if @skill.scope >= 3
		@s_n.active = false
		@target_window.visible = true
		@target_window.active = true
		if @skill.scope == 4 || @skill.scope == 6
		  @target_window.index = -1
		elsif @skill.scope == 7
		  @target_window.index = @actor_index - 10
		else
		  @target_window.index = 0
		end
	  else
		
		if @skill.common_event_id > 0
		  $game_temp.common_event_id = @skill.common_event_id
		  $game_system.se_play(@skill.menu_se)
		  @actor.sp -= @skill.sp_cost
		  @s_n.refresh
		  @target_window.refresh
		  @chara.refresh
		  $scene = Scene_Map.new
		  return
		end
	  end
	  return
	end
end
 
 
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# $ Update Out Battle
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
def update_s_o_b
 
if Input.trigger?(Input::B)
   $game_system.se_play($data_system.cancel_se)
   @command_window.index = @command_window.index
   @command_window.active = true
   @command_window.visible = true
   @s_o_b.active = false
   @s_o_b.visible = false
   @s_o_b.index = -1
   @help_window.set_text("")
   @dummy_window.visible = true
   return
end
 
if Input.trigger?(Input::C)
	  @skill = @s_o_b.skill
	  
	  if @skill == nil or not @actor.skill_can_use?(@skill.id)
		$game_system.se_play($data_system.buzzer_se)
		return
	  end
	  $game_system.se_play($data_system.decision_se)
	  
	  if @skill.scope >= 3
		@s_o_b.active = false
		@target_window.visible = true
		@target_window.active = true
		if @skill.scope == 4 || @skill.scope == 6
		  @target_window.index = -1
		elsif @skill.scope == 7
		  @target_window.index = @actor_index - 10
		else
		  @target_window.index = 0
		end
	  else
 
		if @skill.common_event_id > 0
		  $game_temp.common_event_id = @skill.common_event_id
		  $game_system.se_play(@skill.menu_se)
		  @actor.sp -= @skill.sp_cost
		  @s_o_b.refresh
		  @target_window.refresh
		  @chara_refresh
		  $scene = Scene_Map.new
		  return
		end
	  end
	  return
	end
end
 
 
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# $ Update In Battle
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
def update_s_i_b
 
if Input.trigger?(Input::B)
   $game_system.se_play($data_system.cancel_se)
   @command_window.index = @command_window.index
   @command_window.active = true
   @command_window.visible = true
   @s_i_b.active = false
   @s_i_b.visible = false
   @s_i_b.index = -1
   @dummy_window.visible = true
   @help_window.set_text("")
   return
end
if Input.trigger?(Input::C)
	  @skill = @s_i_b.skill
	  if @skill == nil or not @actor.skill_can_use?(@skill.id)
		$game_system.se_play($data_system.buzzer_se)
		return
	  end
	  $game_system.se_play($data_system.decision_se)
 
	  if @skill.scope >= 3
		@s_i_b.active = false
		@target_window.visible = true
		@target_window.active = true
		if @skill.scope == 4 || @skill.scope == 6
		  @target_window.index = -1
		elsif @skill.scope == 7
		  @target_window.index = @actor_index - 10
		else
		  @target_window.index = 0
		end
	  else
 
		if @skill.common_event_id > 0
		  $game_temp.common_event_id = @skill.common_event_id
		  $game_system.se_play(@skill.menu_se)
		  @actor.sp -= @skill.sp_cost
		  @s_i_b.refresh
		  @target_window.refresh
		  @chara.refresh
		  $scene = Scene_Map.new
		  return
		end
	  end
	  return
	end
end
 
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# $ Update Target Window
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
def update_target
 
if Input.trigger?(Input::B)
   $game_system.se_play($data_system.cancel_se)
   unless $game_party.item_can_use?(@item.id)
	 @s_al.refresh
   end
   @s_al.active = true
   @target_window.active = false
   @target_window.index = -1
   return
end
 
if Input.trigger?(Input::C)
 
	  unless @actor.skill_can_use?(@skill.id)
		$game_system.se_play($data_system.buzzer_se)
		return
	  end
	  if @target_window.index == -1
		used = false
		for i in $game_party.actors
		  used |= i.skill_effect(@actor, @skill)
		end
	  end
	  if @target_window.index <= -2
		target = $game_party.actors[@target_window.index + 10]
		used = target.skill_effect(@actor, @skill)
	  end
	  if @target_window.index >= 0
		target = $game_party.actors[@target_window.index]
		used = target.skill_effect(@actor, @skill)
	  end
	  if used
		$game_system.se_play(@skill.menu_se)
		@actor.sp -= @skill.sp_cost
		@s_al.refresh
		@chara.refresh
		@target_window.refresh
 
		if $game_party.all_dead?
		  $scene = Scene_Gameover.new
		  return
		end
 
		if @skill.common_event_id > 0
		  $game_temp.common_event_id = @skill.common_event_id
		  $scene = Scene_Map.new
		  return
		end
	  end
 
	  unless used
		$game_system.se_play($data_system.buzzer_se)
	  end
	  return
	end
  end
end
 
  

 

 



se volete lo potete scaricare da qua:
http://www.mediafire...39a4z1lr6gesxlc


Istruzioni per l'uso

scaricate lo script da qua sopra, è un semplice file txt da 28 kb.
e copiatene il contenuto incollandolo sopra allo script main, nominatelo come vi pare.
eccovi le istruzioni


 

### Ora vi illustrerò come utilizzarlo, allora per prima cosa questo
# script classifica le magie in base alle loro capacità. Nel
# Database -> Skill scegliete una magia e noterete che ha tante
# caratteristiche come il costo mp il danno eccetera..
# Io le ho divise per la loro usabilità (occasion), ma ora vi
# elenco le possibili classificazioni:

# occasion (Usabile in)
# power (Danno)
# sp_cost (costo)
# atk_f (attacco)
# eva_f (evasione)
# str_f (Forza)
# dex_f (Destrezza)
# agi_f (Agilità)
# int_f (Intelligenza)
# hit (Precisione)
# pdef_f (Difesa fisica)
# mdef_f (Difesa magica)
# variance (Variazione)

# Per occasion la prima scelta equivale a 0 la seconda a 1 ed ecc.
# Comunque per classificarle dovete scegliere un tipo di magia: ad
# esempio curative, vi basta scrivere:
# if skill.power < 0

# Allora per far si che lo script capisca l'ugualianza bisogna mettere
# 2 uguali == .
# allora: == ugualianza
# != diverso
# < minore
# > maggiore
# <= minore o uguale
# >= maggiore o uguale

# Ora andate ad una di queste righe per modificare la classificazione:
# 187, 261, 335, 410.
# Per fare in modo che una magia sia classificata per due qualità
# basta aggiungere un and in questo modo
# if skill.occasion == 0 and skill.power < 0

# In pratica lo script ti classifica le skill per le loro capacità
# puoi ad esempio mettere a tutte le magie elementali una agilità
# pari ad 1 e nello script scriverai: if skill.agi_f == 1 . così
# quando sceglierai nel menu magie -> elementali ti appariranno solo
# di quel tipo.
# é tutto chiaro?

# Un'altra cosa andate alla riga 569 per modificare il nome delle scelte
# Boh.. finito, se avete problemi non esitate a chiedere!!




Bugs e Conflitti Noti

N/A


Altri Dettagli





Chiedete pure a me se avete bisogno di modificare un pò lo script. ^^
Ciaooo!!

Edited by Apo
applicato tag code

I progetto:///II progetto:

Blades of The Spirits///The secret of fairy world

completamento 1%///completamento 10%

 

http://www.ff-fan.com/chartest/banners/vincent.jpg

 

Spoiler

http://media.giantbomb.com/uploads/0/1476/239781-bof3kss_2_super.jpghttp://www.dragon-tear.net/bofquiz/bof4/bof4-equiz.jpghttp://www.ff-fan.com/chartest/banners/reno.jpg
Link to comment
Share on other sites

  • 1 year later...

Skill Menu

Descrizione

 

Script che permette di classificare le skill praticamente in qualsiasi modo si voglia

 

Autore

 

Peco92

 

(ho preso spunto da un menu per oggetti realizzato da Tio)

 

 

 

Allegati

un piccolo screen:

 

Spoiler

 

http://img850.imageshack.us/img850/6150/aaat.jpg

 

questo è lo script:

http://www.mediafire...39a4z1lr6gesxlc

 

 

Istruzioni per l'uso

 

scaricate lo script da qua sopra, è un semplice file txt da 28 kb.

e copiatene il contenuto incollandolo sopra allo script main, nominatelo come vi pare.

eccovi le istruzioni

 

Spoiler

 

### Ora vi illustrerò come utilizzarlo, allora per prima cosa questo

# script classifica le magie in base alle loro capacità. Nel

# Database -> Skill scegliete una magia e noterete che ha tante

# caratteristiche come il costo mp il danno eccetera..

# Io le ho divise per la loro usabilità (occasion), ma ora vi

# elenco le possibili classificazioni:

 

# occasion (Usabile in)

# power (Danno)

# sp_cost (costo)

# atk_f (attacco)

# eva_f (evasione)

# str_f (Forza)

# dex_f (Destrezza)

# agi_f (Agilità)

# int_f (Intelligenza)

# hit (Precisione)

# pdef_f (Difesa fisica)

# mdef_f (Difesa magica)

# variance (Variazione)

 

# Per occasion la prima scelta equivale a 0 la seconda a 1 ed ecc.

# Comunque per classificarle dovete scegliere un tipo di magia: ad

# esempio curative, vi basta scrivere:

# if skill.power < 0

 

# Allora per far si che lo script capisca l'ugualianza bisogna mettere

# 2 uguali == .

# allora: == ugualianza

# != diverso

# < minore

# > maggiore

# <= minore o uguale

# >= maggiore o uguale

 

# Ora andate ad una di queste righe per modificare la classificazione:

# 187, 261, 335, 410.

# Per fare in modo che una magia sia classificata per due qualità

# basta aggiungere un and in questo modo

# if skill.occasion == 0 and skill.power < 0

 

# In pratica lo script ti classifica le skill per le loro capacità

# puoi ad esempio mettere a tutte le magie elementali una agilità

# pari ad 1 e nello script scriverai: if skill.agi_f == 1 . così

# quando sceglierai nel menu magie -> elementali ti appariranno solo

# di quel tipo.

# é tutto chiaro?

 

# Un'altra cosa andate alla riga 569 per modificare il nome delle scelte

# Boh.. finito, se avete problemi non esitate a chiedere!!

 

Bugs e Conflitti Noti

 

N/A

 

Altri Dettagli

 

Chiedete pure a me se avete bisogno di modificare un pò lo script. ^^

Ciaooo!!

ciao non riesco a visualizzare lo script..

Link to comment
Share on other sites

Scusa non so perchè ma era finito come privato. Ora dovrebbe essere tutto ok.

Ciao

Edited by Peco92

I progetto:///II progetto:

Blades of The Spirits///The secret of fairy world

completamento 1%///completamento 10%

 

http://www.ff-fan.com/chartest/banners/vincent.jpg

 

Spoiler

http://media.giantbomb.com/uploads/0/1476/239781-bof3kss_2_super.jpghttp://www.dragon-tear.net/bofquiz/bof4/bof4-equiz.jpghttp://www.ff-fan.com/chartest/banners/reno.jpg
Link to comment
Share on other sites

Peco, dato che spesso e volentieri i link scadono o un giorno potresti decidere di cambiare account o mediafire cesserà di esistere, preferiamo sempre che gli script siano anche scritti sul topic.

Non tanto perchè è scritto nel regolamento del template o perchè ci arrabbiamo, ma solo perchè se dai un'occhiata alle prime pagine di questa sezione, vedrai come l'incuria ha divorato il passato e si sono salvati solo gli script effettivamente scritti nel topic.

 

Purtoppo non ho rpgmaker (sono solo un grafico, non lo uso da anni), perciò in questo momento non posso aprire il tuo script e scriverlo di persona (premesso che non saprei risconoscerlo probabilmente).

Ti chiedo di scrivere nel primo post, sotto spoiler, lo script. Se lo metti in questo tag

[ruby][/ruby]

viene letto come script e sarà ordinato e non sformato.

Se puoi metterlo mi faresti un favore :3

 

Ps: Se per qualche ragione non riesci a causa di un fastidioso bug non risolvibile del sistema di messaggistica avanzata, chiama che te lo copincollo meglio io.

Deviantart

ElfGamesWorks Forum

My adventure game
Little Briar Rose

Altri progetti: Oh! I'm Getting Taller! / Il pifferaio di Hamelin

I miei Fumetti: Folletto Vs Nenè / A.s.D. / A.s.D.2

http://www.rpg2s.net/img/fablecontest1st.pnghttp://rpg2s.net/gif/SCContest3Oct.gif http://i43.tinypic.com/1zokd2s.png http://i.imgur.com/qRfaRqE.png http://i43.tinypic.com/eger81.gifhttp://i.imgur.com/BEu6G.gifhttp://i43.tinypic.com/eger81.gif

Un sogno nel cassetto...

 

 

http://i.imgur.com/H1ARhq7.gif

 

 

Citaziò!

 

 

Il Coniglio, si sa, saltella con una gamba dietro ed una avanti, un braccino corto ed uno lungo, un'orecchia dritta ed una storta. Perchè il Coniglio odia la simmetria.

Flame: Io me lo sono fatto raccontare tutto il Sigmarillion ma ancora devo leggerlo (...)
Impaled Janus: Il Sighmarillion, un'opera molto triste.
Testament: Ma Flame mi sa che erra convinto, come al solito.

"Tu devi essere il chiacchierato FenriX, la cui fama deriva dall'arte di giungere rozzamente al sodo del concetto la maggior parte delle volte... detto in una via inoffensiva..." Una piaga in due righe, by Dr.Risolvo!

 

 


Scheda di Zuppo Del'Oquie


Nome - Zuppo Del'Oquie
Età - 76
Razza - Elvaan
Descrizione - Snello, faccia da cretino, cappelletto alla Robin Hood in testa con la piuma perennemente spiegazzata, maglia in pieno stile: "è la prima cosa che ho trovato in giro" e pantaloni uguali. Le scarpe invece sono forse l'unica cosa realmente sua. Di pelle morbida, salvo la base di cuoio, ottime per correre e fare poco rumore, prive di alcun tipo di tacco. Ed aldilà del vestiario, abbiamo una cerbottana, una fionda, un pugnaletto, una...un..ah no basta. Lo zainetto, si! Ma lì ci tiene il pane ed i suoi strumenti di dubbia qualità.
Poi..ha orecchie a punta come ogni Elvaan e capelli castano chiaro, bizzarremente brezzolati di ciocchette tendenti al biondo. E' un biondo fallito, in sostanza. Ah, ma a lui non importa molto. Detto, questo, null'altro di rilevante da segnalare.
Se non il fatto che, il più delle volte, sia vestiti che capelli che zaino sono ornati da una quasi perenne sensazione di Bagnato. Perchè ogni pozzanghera che esiste sulla faccia di questa terra, deve, senza via di scampo, finire contro il suo naso. O forse è lui che è legato all'elemento Acqua da un odio amore non espresso...?
Misteri del Fato.
Carattere - Simpatico, socievole, affabile, allegro, ed al tempo stesso estremamente indifferente alle questioni che non lo riguardano. Astuto, ma mai per cattiveria, decide lui a cosa affezionarsi ed a cosa no. Di mentalità molto..molto bizzarra, vive la vita con dei valori del tutto personali che possono essere a volte comprensibili ed in accordo con quelle altrui, o possono essere decisamente ridicoli agli occhi degli altri. Ma lui è fatto così e non ci ragiona poi molto su come è fatto. Finchè mantiene due braccia due gambe ed una testa, ritiene di essere fatto semplicemente perfetto per quel che gli serve!

Background - "Fratello minore. Si, minore! Oh si! DANNATAMENTE MINORE! E questo è un problema! Perchè è un problema, no? A logica dovrebbe essere un bel problema per chiunque abbia voglia di non essere sempre chiamato per secondo, interpellato solo all'ultimo come scorta, impegnato solo quando proprio tutti sono impegnati, considerato solo per fare numero. AH! Minore! Onta! Orgoglio! AH!
AH!
A...ahah! Ma col cavolo..è una pacchia!"

Tranquillamente adagiato sul suo enorme divano, perchè se l'erba è il cuscino, un colle è dunque un enorme divano, Zuppo stava fischiettando con una foglia di acetella in bocca, così univa l'utile (il fischiettare era molto utile a parer suo) con il dilettevole (e quella fogliolina aveva un buon sapore, perciò dilettevolmente saporita!).
Era a dir poco splendido compiere un'attività tanto impegnativa e semplice al contempo da giustificare la sua lunga, perenne, praticamente insindacabile assenza a qualsivoglia attività sociale.
Lui disegnava le mappe, ed il fratellone le spacciava per sue guadagnando una montagna di soldi, tanta era l'accuratezza delle zone anche più inesplorabili, ed in cambio il Brò gli garantiva una vita tranquilla e senza impegni. Oh, fratello minore, ma il maggiore era tutto merito suo!
Poi, all'improvviso, tutto cambiò.
Perchè serve sempre un grande cambiamento per una grande svolta, no?
Ebbene, da quel momento lui partì, viaggiò, abbandonò la sua colonia, perseguì la via del "faccio da solo e meglio mi sento".
Tutto questo a causa sua..a causa loro...!!

"Fra'? Dove hai messo il mio flauto di rape?"
"Uh..era ammuffito. L'ho buttato anni fa ormai."
"..che..CHE COSA HAI FATTO!?!?!"

Inaudito.
Ovvio e logico andarsene, no? Sono certo che voi tutti sarete daccordo con me! NON SI TOCCANO I FLAUTI DI RAPE ALTRUI! MUFFA O NON MUFFA!
Beh si, daccordo, forse lo aveva dimenticato per gli ultimi vent'anni, ma questo non cambiava le cose. Dannato fratello. E.....no, non se ne era andato solo per quello, cosa credete!?

"...Mamma...Fra' ha buttato il mio flauto di rape."
"Ah, deve essere ammuffito come l'ocarina di zucca che ho buttato l'altro ieri."
"...che...CHE COSA HAI FATTO!?!?!?!"

Ovvio che non bastava un flauto a mandarlo via. Ma due, dai è troppo! L'aveva terminata, quell'ocarina, appena tre anni prima. ERA NUOVA!
E così, imparata la lezione del "non si lascia nulla in casa altrui", perchè quella non era PIU' la sua casa, Zuppo prese ogni cosa di valore che aveva con se: dunque uno svariato elenco di strumenti da ortolano, a partire dal triangolo di selci alla trombetta di cavolfiore, e partì. Partì, lasciandosi dietro una città perfetta, con una vita perfetta, una famiglia perfetta, ed una stupida, sciocca, banale idea che questa perfezione sarebbe durata in eterno.
Ah. Ma non scordiamoci un dettaglio.

Partì. Attraversò la strada. Il ponte. Il fiume. Inciampò. Cadde nella pozza vicino al fiume. Si inzuppò. Si rialzò e ri-partì.
Perchè il nome se lo era guadagnato con molta sfigata fatica eh.

"Ma che bel bambino, signora Ouquie!"
"...oh...scusatemi, riposavo. Quale bambino?"
"Hemm..quello che tenete nella culla."
"Oh! Quel bambino! Oh si ve lo faccio vedere subit.." E con un braccio, la maldestra madre intruppò la culla, che era ovviamente posizionata di fianco alla finestra aperta, che vide ovviamente un infante venire catapultato fuori, e che, alfine, vide sempre ovviamente il medesimo infante finire a mollo nel fiume, per fortuna abbastanza profondo, che passava proprio adiacente le mura della piccola dimora.
Quando lo ripresero, era vivo. Zuppo, ma vivo.
E Zuppo rimase a vita.

I reumatismi sarebbero arrivati in vecchiaia.

Equip -
Pugnale comune - Prezzo: 9
Armatura di Cuio [1 PA] - Prezzo: 15
Borsa Comune - Prezzo: 10
Fionda - Prezzo(pagato da madre natura XD)

 

Link to comment
Share on other sites

Ok ho sistemato, scusate ma quando ho messo lo script non riuscivo a scriverlo direttamente nel topic e ho preferito mettere il download ahah.

I progetto:///II progetto:

Blades of The Spirits///The secret of fairy world

completamento 1%///completamento 10%

 

http://www.ff-fan.com/chartest/banners/vincent.jpg

 

Spoiler

http://media.giantbomb.com/uploads/0/1476/239781-bof3kss_2_super.jpghttp://www.dragon-tear.net/bofquiz/bof4/bof4-equiz.jpghttp://www.ff-fan.com/chartest/banners/reno.jpg
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...