Jump to content
Rpg²S Forum

-Scene_Vittoria Animato


Valentino
 Share

Recommended Posts

Scene_Vittoria

 

Descrizione

 

Questo script crea una schermata dopo le battaglie vinte che mostra exp, soldi e tesori ottenuti in battaglia.

Mostra eventuali Lv Up.

 

Autore

Avon Valentino (Io)

 

Allegati

 

ScreenShots:

Purtroppo con delle immagini le animazioni non si riescono a vedere.

 

 

http://img811.imageshack.us/img811/369/scenevittoria1.png

http://img442.imageshack.us/img442/981/scenevittoria2.png

http://img210.imageshack.us/img210/5986/scenevittoria3.png

 

 

 

Script:

 

#-------------------------Scene_Vittoria-------------------------#Script creato da Valentino Avon, se usate questo script, creditatemi ;) #Sistema di wait via script preso dallo script Tankentai di Enu.#Questo script crea una schermata dopo ogni battaglia vinta mostrando#exp, soldi e tesori e eventuali lv up. #------------------------CONFIGURAZIONE------------------------------- #pictures di sotto fondo.SFONDO = "Sfondo_Battaglia"  #pictures di level upLV = "Livello" #testo visualizzato per i tesoriTESTO_TESORI = "Tesori Ricevuti:" #esegue una canzone con il loop se trueBGM_VITTORIA = true  #nome del bgm riprodotto (se BGM_VITTORIA = true ) da inserire in audio/bgmBGM = "Bgm_Vittoria" #nome del suono riprodotto dall'esperienza che saleSE = "032-Switch01" #nome del suono riprodotto quando si sale di livelloSE_LEVEL = "056-Right02"  #icona visualizzata per i soldi nei tesori da inserire in Graphics/IconsSOLDI_ICONA = "Monete" MAX_LEVEL = 99 #livello massimo raggiunto dai personaggi  #==============================================================================# ** Window_Help_Vittoria#------------------------------------------------------------------------------#  This window shows skill and item explanations along with actor status.#============================================================================== class Window_Help_Vittoria < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #--------------------------------------------------------------------------  def initialize	super(0, 0, 320, 64)	self.contents = Bitmap.new(width - 32, height - 32)  end  #--------------------------------------------------------------------------  # * Set Text  #  text  : text string displayed in window  #  align : alignment (0..flush left, 1..center, 2..flush right)  #--------------------------------------------------------------------------  def set_text(text, align = 0)	# If at least one part of text and alignment differ from last time	if text != @text or align != @align	  # Redraw text	  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  endend  #==============================================================================# ** Window_Vittoria#------------------------------------------------------------------------------#  This window displays amount of gold and EXP acquired at the end of a battle.#============================================================================== class Window_Vittoria < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #	 exp	   : EXP  #	 gold	  : amount of gold  #	 treasures : treasures  #--------------------------------------------------------------------------  attr_accessor :exp  def initialize(actor, exp)	@exp = exp	@actor = actor	super(0, 0, 210, 128)	self.contents = Bitmap.new(width - 32, height - 32)	self.back_opacity = 160	self.z = 1000	self.visible = true	refresh  end   def update_basic	Graphics.update	Input.update	$game_system.update	$game_screen.update  end    #--------------------------------------------------------------------------  def wait(duration)	for i in 0...duration	  update_basic	end  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh	self.contents.clear 	if @actor != nil	  self.contents.font.size = 17	ac = contents.text_size(@actor.name).width	draw_actor_level(@actor, 34+ac, 0)	self.contents.draw_text(4, 0, ac, 32, @actor.name)   	  if @actor.level != MAX_LEVEL	x = 4	 self.contents.font.color = system_color	if @actor.cant_get_exp? == false 	cx = contents.text_size("EXP:").width	self.contents.draw_text(4, 32, cx, 32,"EXP:")	x += cx + 4  self.contents.font.color = normal_color	self.contents.draw_text(20 + cx, 32, 64, 32, @exp.to_s)  else	self.contents.font.color = normal_color	self.contents.draw_text(4, 32, 210, 32,"Impossibile ottenere EXP!" )	endelseself.contents.draw_text(4, 32, 210, 32,"Impossibile ottenere EXP!" )endx = 4cx = contents.text_size("EXP:").widthx += cx + 4	y = 32	if @actor.cant_get_exp? == false	 self.contents.font.color = system_color	cx = contents.text_size("PER LV UP:").width	self.contents.draw_text(4, 64, 160, 32, "PER LV UP:")	x += cx + 4	self.contents.font.color = normal_color	self.contents.draw_text(20 + cx, 64, 64, 32, @actor.next_rest_exp_s)	end	end  endend  #==============================================================================# ** Window_BattleResult#------------------------------------------------------------------------------#  This window displays amount of gold and EXP acquired at the end of a battle.#============================================================================== class Window_BattleResult < Window_Base  #--------------------------------------------------------------------------  # * Object Initialization  #	 exp	   : EXP  #	 gold	  : amount of gold  #	 treasures : treasures  #--------------------------------------------------------------------------  def initialize(gold)	@gold = gold	super(160, 120, 320, 240)	self.contents = Bitmap.new(width - 32, height - 32)	self.back_opacity = 160	self.z = 1000	self.visible = false	refresh  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh	self.contents.clear	x = 4	self.contents.font.color = normal_color	bitmap = RPG::Cache.icon(SOLDI_ICONA)	self.contents.blt(x,0 + 4, bitmap, Rect.new(0, 0, 24, 24))	cx = contents.text_size(@gold.to_s).width	self.contents.draw_text(30, 0, cx, 32, @gold.to_s)	x += cx + 30	self.contents.font.color = system_color	self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)	y = 32	for item in $treasures	  draw_item_name(item, 4, y)	  y += 32	end  endend  #==============================================================================# ** Scene_Vittoria#------------------------------------------------------------------------------#  This class performs menu screen processing.#============================================================================== class Scene_Vittoria   def update_basic	Graphics.update	Input.update	$game_system.update	$game_screen.update  end    #--------------------------------------------------------------------------  def wait(duration)	for i in 0...duration	  update_basic	end  end  #--------------------------------------------------------------------------  # * Object Initialization  #	 menu_index : command cursor's initial position  #--------------------------------------------------------------------------  def initialize(exp,gold)	@gold = gold	@exp = exp  end  #--------------------------------------------------------------------------  # * Main Processing  #--------------------------------------------------------------------------  def main	@fase = 0	# Make command window	# If save is forbidden	# Make play time window	@sfondo = Sprite.new	@sfondo.bitmap = RPG::Cache.picture(SFONDO) 	@sprite1 = Sprite.new	@sprite1.bitmap = RPG::Cache.picture(LV)	@sprite1.x = 210	@sprite1.y = 62	@sprite1.z = 1500  	@sprite2 = Sprite.new	@sprite2.bitmap = RPG::Cache.picture(LV)	@sprite2.x = 210	@sprite2.y = 274	@sprite2.z = 1500 	@sprite3 = Sprite.new	@sprite3.bitmap = RPG::Cache.picture(LV)	@sprite3.z = 1500	@sprite3.x = 512	@sprite3.y = 62 	@sprite4 = Sprite.new	@sprite4.bitmap = RPG::Cache.picture(LV)	@sprite4.z = 1500	@sprite4.x = 512	@sprite4.y = 274 	@sprite1.opacity = 0	@sprite2.opacity = 0	@sprite3.opacity = 0	@sprite4.opacity = 0 	@sfondo.z = -1	@vittoria1 = Window_Vittoria.new($game_party.actors[0], @exp)	@vittoria1.x = 64	@vittoria1.y = -274#64 	@vittoria2 = Window_Vittoria.new($game_party.actors[1], @exp)	@vittoria2.x = 64	@vittoria2.y = 498#288 	@vittoria3 = Window_Vittoria.new($game_party.actors[2], @exp)	@vittoria3.x = 366	@vittoria3.y = -274#64 	@vittoria4 = Window_Vittoria.new($game_party.actors[3], @exp)	@vittoria4.x = 366	@vittoria4.y = 498#288 	@help_window = Window_Help_Vittoria.new	@help_window.x = 160	@help_window.y = 56	@help_window.visible = false  	# Execute transition	Graphics.transition	# Main loop	loop do 	  # Update game screen	  Graphics.update	  # Update input information	  Input.update	  # Frame update 	@vittoria1.update	@vittoria2.update	@vittoria3.update	@vittoria4.update	@help_window.update  	case @fase	  when 0	  update	  when 1 	if Input.trigger?(Input::C)	  premi_c 	  else	  update_2	end 	  when 2	  update_3	  when 3	  update_4	end 	  # Abort loop if screen is changed	  if $scene != self		break	  end	end	# Prepare for transition	Graphics.freeze	# Dispose of windows	@vittoria1.dispose	@vittoria2.dispose	@vittoria3.dispose	@vittoria4.dispose	@sfondo.bitmap.dispose	@sfondo.dispose	@sprite1.dispose	@sprite2.dispose	@sprite3.dispose	@sprite4.dispose	@sprite1.bitmap.dispose	@sprite2.bitmap.dispose	@sprite3.bitmap.dispose	@sprite4.bitmap.dispose	@help_window.dispose  end  #--------------------------------------------------------------------------  # * Frame Update (when command window is active)  #--------------------------------------------------------------------------  def premi_c	if $exp > 0	  for actor in $game_party.actors		  if actor.cant_get_exp? == false			last_level = actor.level			actor.exp += $exp			@vittoria1.exp -= $exp if actor == $game_party.actors[0]			@vittoria2.exp -= $exp if actor == $game_party.actors[1]			@vittoria3.exp -= $exp if actor == $game_party.actors[2]			@vittoria4.exp -= $exp if actor == $game_party.actors[3] 			@vittoria1.refresh			@vittoria2.refresh			@vittoria3.refresh			@vittoria4.refresh			if actor.level > last_level			  Audio.se_play("Audio/SE/"+ SE_LEVEL,100,100)			  if actor == $game_party.actors[0]			@sprite1.opacity = 255		  end		   if actor == $game_party.actors[1]			@sprite2.opacity = 255		  end		  if actor == $game_party.actors[2]			@sprite3.opacity = 255		  end		  if actor == $game_party.actors[3]			@sprite4.opacity = 255			end			end		  end		end		$exp = 0		 wait(1)	   end	 end    def update	unless @vittoria1.y > 64	loop do	  @vittoria1.y += 10	  @vittoria3.y += 10	  wait(1)	  break if @vittoria1.y > 64	end  end  unless @vittoria2.y < 288	loop do	  @vittoria2.y -= 10	  @vittoria4.y -= 10	  wait(1)	  break if @vittoria2.y < 288	end	end 	@fase = 1  end     def update_2		@sprite1.opacity -= 15 if @sprite1.opacity != 0		@sprite2.opacity -= 15 if @sprite2.opacity != 0		@sprite3.opacity -= 15 if @sprite3.opacity != 0		@sprite4.opacity -= 15 if @sprite4.opacity != 0	  if $exp > 0 		Audio.se_play("Audio/SE/"+ SE,100,100)		$exp -= 1		for actor in $game_party.actors		  #aumento di 1 l'esperienza per ogni ciclo		  if actor.cant_get_exp? == false and actor.level != MAX_LEVEL			last_level = actor.level			actor.exp += 1			@vittoria1.exp -= 1 if actor == $game_party.actors[0]			@vittoria2.exp -= 1 if actor == $game_party.actors[1]			@vittoria3.exp -= 1 if actor == $game_party.actors[2]			@vittoria4.exp -= 1 if actor == $game_party.actors[3]			if actor.level > last_level			  Audio.se_play("Audio/SE/"+ SE_LEVEL,100,100)			  if actor == $game_party.actors[0]			@sprite1.opacity = 255		  end		   if actor == $game_party.actors[1]			@sprite2.opacity = 255		  end		  if actor == $game_party.actors[2]			@sprite3.opacity = 255		  end		  if actor == $game_party.actors[3]			@sprite4.opacity = 255			end			end		  end		end	  end 	  @sprite1.opacity -= 15 if @sprite1.opacity != 0	  @sprite2.opacity -= 15 if @sprite2.opacity != 0	  @sprite3.opacity -= 15 if @sprite3.opacity != 0	  @sprite4.opacity -= 15 if @sprite4.opacity != 0 	@vittoria1.refresh	@vittoria2.refresh	@vittoria3.refresh	@vittoria4.refresh	wait(2)	@fase = 2 if $exp <= 0  end     def update_3	# If C button was pressed	if Input.trigger?(Input::C)	  #rendo i lv up invisibili	  @sprite1.visible = false	  @sprite2.visible = false	  @sprite3.visible = false	  @sprite4.visible = false	  $game_system.se_play($data_system.decision_se)	  #sposto le window	loop do	  @vittoria1.x -= 7.5	  @vittoria1.y -= 10 	  @vittoria2.x -= 7.5	  @vittoria2.y += 10 	  @vittoria3.x += 7.5	  @vittoria3.y -= 10 	  @vittoria4.x += 7.5	  @vittoria4.y += 10 	  @vittoria1.opacity -= 16	  @vittoria2.opacity -= 16	  @vittoria3.opacity -= 16	  @vittoria4.opacity -= 16 	  @vittoria1.contents_opacity  -= 16	  @vittoria2.contents_opacity  -= 16	  @vittoria3.contents_opacity  -= 16	  @vittoria4.contents_opacity  -= 16   	  wait(1)	  break if @vittoria1.y < -274	end	#rendo le window invisibili	@vittoria1.visible = false	@vittoria2.visible = false	@vittoria3.visible = false	@vittoria4.visible = false  	#creo la window per i soldi e i tesori	@result_window = Window_BattleResult.new(@gold)	@result_window.opacity = 0	@result_window.contents_opacity = 0	@help_window.opacity = 0	  @help_window.contents_opacity = 0	@result_window.visible = true	@help_window.visible = true	loop do	  @help_window.opacity += 10	  @help_window.contents_opacity += 10 	  @help_window.back_opacity = 160	  #Testo della window_help	  @help_window.set_text(TESTO_TESORI,1) 	  @result_window.opacity += 10	  @result_window.contents_opacity += 10	  wait(1)	  break if @result_window.opacity == 250	end	@fase = 3	  wait(1)  endend  def update_4	# If C button was pressed	if Input.trigger?(Input::C)	  $game_system.se_play($data_system.decision_se)	  loop do	  @result_window.opacity -= 10	  @result_window.contents_opacity -= 10	  @help_window.opacity -= 10	  @help_window.contents_opacity -= 10	  wait(1)	  break if @result_window.opacity == 0	end	  @result_window.dispose	  $game_system.bgm_play($game_temp.map_bgm)	  wait(20)	  $scene = Scene_Map.new unless $BTEST	  $scene = nil if $BTEST  endendend  #==============================================================================# ** Scene_Battle#------------------------------------------------------------------------------#  This class performs battle screen processing.#============================================================================== class Scene_Battle   #--------------------------------------------------------------------------  # * Start After Battle Phase  #--------------------------------------------------------------------------  def start_phase5	# Shift to phase 5	@phase = 5	# Play battle end ME	$game_system.me_play($game_system.battle_end_me) unless BGM_VITTORIA	 Audio.bgm_play("Audio/BGM/"+ BGM,100,100) if BGM_VITTORIA	# Return to BGM before battle started 	# Initialize EXP, amount of gold, and treasure	exp = 0	gold = 0	$exp = 0	$gold = 0	$treasures = []	# Loop 	for enemy in $game_troop.enemies	  # If enemy is not hidden	  unless enemy.hidden		# Add EXP and amount of gold obtained		exp += enemy.exp		gold += enemy.gold		$exp += enemy.exp		$gold += enemy.gold		# Determine if treasure appears 		if rand(100) < enemy.treasure_prob		  if enemy.item_id > 0			$treasures.push($data_items[enemy.item_id])		  end		  if enemy.weapon_id > 0			$treasures.push($data_weapons[enemy.weapon_id])		  end		  if enemy.armor_id > 0			$treasures.push($data_armors[enemy.armor_id])		  end		end	  end	end   	# Treasure is limited to a maximum of 6 items	$treasures = $treasures[0..5]  	# Obtaining EXP 	# Obtaining gold	$game_party.gain_gold(gold)	# Obtaining treasure	for item in $treasures	  case item	  when RPG::Item		$game_party.gain_item(item.id, 1)	  when RPG::Weapon		$game_party.gain_weapon(item.id, 1)	  when RPG::Armor		$game_party.gain_armor(item.id, 1)	  end	end	@phase5_wait_count = 100  end  #--------------------------------------------------------------------------  # * Frame Update (after battle phase)  #--------------------------------------------------------------------------  def update_phase5	if @phase5_wait_count > 0	  # Decrease wait count	  @phase5_wait_count -= 1	  # If wait count reaches 0	  if @phase5_wait_count == 0		# Show result window		# Clear main phase flag		$game_temp.battle_main_phase = false		# Refresh status window		@status_window.refresh	  end	  return	end	# If C button was pressed	#if Input.trigger?(Input::C)	  # Battle ends	  battle_end(0)	#end  end    def battle_end(result)	# Clear in battle flag	$game_temp.in_battle = false	# Clear entire party actions flag	$game_party.clear_actions	# Remove battle states	for actor in $game_party.actors	  actor.remove_states_battle	end	# Clear enemies	$game_troop.enemies.clear	# Call battle callback	if $game_temp.battle_proc != nil	  $game_temp.battle_proc.call(result)	  $game_temp.battle_proc = nil	end	# Switch to map screen   if result == 0	$scene = Scene_Vittoria.new($exp,$gold)  else	$scene = Scene_Map.new	end  endend

 

 

Demo Link:

http://www.mediafire.com/download.php?5dpm29ulsq02s6l

 

Istruzioni per l'uso

Trovate tutto all'interno dello script, se lo usate creditatemi per favore
:cool:

 

Bugs e Conflitti Noti

Non riesco a sistemare il fatto che premendo il tasto C si salta lo scalare lento dell esperienza solo in certi periodi di tempo, se qualcuno sa come fare può scriverlo qui e sistemerò lo script! Comunque funziona lo stesso perfettamente.

Edited by Flame
Link to comment
Share on other sites

Un altro buono script per la personalizzazione! ^ ^

Non riesco a sistemare il fatto che premendo il tasto C si salta lo scalare lento dell esperienza

Sistemare? Non è una buona cosa? XD Solitamente è fatto apposta per satare velocemente la schermata! XD

^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Link to comment
Share on other sites

Avrei una domanda...Vi risulta compatibile anche con l'RATB?

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

Lo script non sovvrascrive molto della Scene_Battle, quindi non dovrebbe creare problemi, e se ne crea renderlo compatibile rimane comunque semplice. :D

Chiedimi se vuoi questa modifica.

Link to comment
Share on other sites

  • 4 months later...

ciao, o un problema, questo script non funziona sul bs ke utilizzo, mi da un errore di sintassi, non potresti riadattarmelo x il mio BS pls??

il mio bs e questo:

 

 

class Bitmapif not method_defined?('original_draw_text')alias original_draw_text draw_textdef draw_text(*arg) original_color = self.font.color.dupself.font.color = Color.new(0, 0, 0, 128) if arg[0].is_a?(Rect)arg[0].x += 2arg[0].y += 2self.original_draw_text(*arg)arg[0].x -= 2arg[0].y -= 2elsearg[0] += 2arg[1] += 2self.original_draw_text(*arg)arg[0] -= 2arg[1] -= 2end self.font.color = original_colorself.original_draw_text(*arg) endenddef gradation_rect(x, y, width, height, color1, color2, align = 0)if align == 0for i in x...x + widthred = color1.red + (color2.red - color1.red) * (i - x) / (width - 1)green = color1.green +(color2.green - color1.green) * (i - x) / (width - 1)blue = color1.blue +(color2.blue - color1.blue) * (i - x) / (width - 1)alpha = color1.alpha +(color2.alpha - color1.alpha) * (i - x) / (width - 1)color = Color.new(red, green, blue, alpha)fill_rect(i, y, 1, height, color)endelsif align == 1for i in y...y + heightred = color1.red +(color2.red - color1.red) * (i - y) / (height - 1)green = color1.green +(color2.green - color1.green) * (i - y) / (height - 1)blue = color1.blue +(color2.blue - color1.blue) * (i - y) / (height - 1)alpha = color1.alpha +(color2.alpha - color1.alpha) * (i - y) / (height - 1)color = Color.new(red, green, blue, alpha)fill_rect(x, i, width, 1, color)endelsif align == 2for i in x...x + widthfor j in y...y + heightred = color1.red + (color2.red - color1.red) *((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2green = color1.green + (color2.green - color1.green) *((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2blue = color1.blue + (color2.blue - color1.blue) *((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2alpha = color1.alpha + (color2.alpha - color1.alpha) *((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2color = Color.new(red, green, blue, alpha)set_pixel(i, j, color)endendelsif align == 3for i in x...x + widthfor j in y...y + heightred = color1.red + (color2.red - color1.red) *((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2green = color1.green + (color2.green - color1.green) *((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2blue = color1.blue + (color2.blue - color1.blue) *((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2alpha = color1.alpha + (color2.alpha - color1.alpha) *((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2color = Color.new(red, green, blue, alpha)set_pixel(i, j, color)endendendendend module RPGclass Sprite < ::Spritedef damage(value, critical)dispose_damageif value.is_a?(Numeric)damage_string = value.abs.to_selsedamage_string = value.to_sendbitmap = Bitmap.new(160, 48)bitmap.font.name = "Arial Black"bitmap.font.size = 32bitmap.font.color.set(0, 0, 0)bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)if value.is_a?(Numeric) and value < 0bitmap.font.color.set(176, 255, 144)elsebitmap.font.color.set(255, 255, 255)endbitmap.draw_text(0, 12, 160, 36, damage_string, 1)if criticalbitmap.font.size = 20bitmap.font.color.set(0, 0, 0)bitmap.draw_text(-1, -1, 160, 20, "CRITICAL", 1)bitmap.draw_text(+1, -1, 160, 20, "CRITICAL", 1)bitmap.draw_text(-1, +1, 160, 20, "CRITICAL", 1)bitmap.draw_text(+1, +1, 160, 20, "CRITICAL", 1)bitmap.font.color.set(255, 255, 255)bitmap.draw_text(0, 0, 160, 20, "CRITICAL", 1)end@_damage_sprite = ::Sprite.new@_damage_sprite.bitmap = bitmap@_damage_sprite.ox = 80 + self.viewport.ox@_damage_sprite.oy = 20 + self.viewport.oy@_damage_sprite.x = self.x + self.viewport.rect.x@_damage_sprite.y = self.y - self.oy / 2 + self.viewport.rect.y@_damage_sprite.z = 3000@_damage_duration = 40enddef animation(animation, hit)dispose_animation@_animation = animationreturn if @_animation == nil@_animation_hit = hit@_animation_duration = @_animation.frame_maxanimation_name = @_animation.animation_nameanimation_hue = @_animation.animation_huebitmap = RPG::Cache.animation(animation_name, animation_hue)if @@_reference_count.include?(bitmap)@@_reference_count[bitmap] += 1else@@_reference_count[bitmap] = 1end@_animation_sprites = []if @_animation.position != 3 or not @@_animations.include?(animation)for i in 0..15sprite = ::Sprite.newsprite.bitmap = bitmapsprite.visible = false@_animation_sprites.push(sprite)endunless @@_animations.include?(animation)@@_animations.push(animation)endendupdate_animationenddef loop_animation(animation)return if animation == @_loop_animationdispose_loop_animation@_loop_animation = animationreturn if @_loop_animation == nil@_loop_animation_index = 0animation_name = @_loop_animation.animation_nameanimation_hue = @_loop_animation.animation_huebitmap = RPG::Cache.animation(animation_name, animation_hue)if @@_reference_count.include?(bitmap)@@_reference_count[bitmap] += 1else@@_reference_count[bitmap] = 1end@_loop_animation_sprites = []for i in 0..15sprite = ::Sprite.newsprite.bitmap = bitmapsprite.visible = false@_loop_animation_sprites.push(sprite)endupdate_loop_animationenddef animation_set_sprites(sprites, cell_data, position)for i in 0..15sprite = sprites[i]pattern = cell_data[i, 0]if sprite == nil or pattern == nil or pattern == -1sprite.visible = false if sprite != nilnextendsprite.visible = truesprite.src_rect.set(pattern % 5 * 192, pattern / 5 * 192, 192, 192)if position == 3if self.viewport != nilsprite.x = self.viewport.rect.width / 2sprite.y = self.viewport.rect.height - 160elsesprite.x = 320sprite.y = 240endelsesprite.x = self.x + self.viewport.rect.x -self.ox + self.src_rect.width / 2sprite.y = self.y + self.viewport.rect.y -self.oy + self.src_rect.height / 2sprite.y -= self.src_rect.height / 4 if position == 0sprite.y += self.src_rect.height / 4 if position == 2endsprite.x += cell_data[i, 1]sprite.y += cell_data[i, 2]sprite.z = 2000sprite.ox = 96sprite.oy = 96sprite.zoom_x = cell_data[i, 3] / 100.0sprite.zoom_y = cell_data[i, 3] / 100.0sprite.angle = cell_data[i, 4]sprite.mirror = (cell_data[i, 5] == 1)sprite.opacity = cell_data[i, 6] * self.opacity / 255.0sprite.blend_type = cell_data[i, 7]endendendend class Game_Actor < Game_Battlerdef screen_xif self.index != niln_split = [($game_party.actors.length * 0.5).ceil, 4].mincase n_splitwhen 1n_index = self.index * 2when 2if self.index < ($game_party.actors.length - 2)n_index = 0.5 + (2 * self.index)elseif $game_party.actors.length == 3 thenn_index = (self.index * 2) + 2elsif $game_party.actors.length == 4 thenn_index = self.index * 2endendwhen 3n_index = self.index + (0.25 * (self.index + 1))if $game_party.actors.length == 5if self.index < 2n_index = self.index + (0.25 * (self.index + 1))elsen_index = self.index + (0.25 * (self.index + 2)) + 1endendwhen 4n_index = self.indexif $game_party.actors.length == 7if self.index < 3n_index = self.indexelsen_index = self.index + 1endendendreturn (n_index - ((n_index / 4).floor) * 4) * ((160 / (4)) / 5) + 480 + ((n_index / 4).floor * 60)elsereturn 0endend#--------------------------------------------------------------------------# ? ????? Y ?????#--------------------------------------------------------------------------def screen_yn_split = [($game_party.actors.length * 0.5).ceil, 4].mincase n_splitwhen 1n_index = self.index * 2when 2if self.index < ($game_party.actors.length - 2)n_index = 0.5 + (2 * self.index)elseif $game_party.actors.length == 3 thenn_index = (self.index * 2) + 2elsif $game_party.actors.length == 4 thenn_index = self.index * 2endendwhen 3n_index = self.index + (0.25 * (self.index + 1))if $game_party.actors.length == 5if self.index < 2n_index = self.index + (0.25 * (self.index + 1))elsen_index = self.index + (0.25 * (self.index + 2)) + 1endendwhen 4n_index = self.indexif $game_party.actors.length == 7if self.index < 3n_index = self.indexelsen_index = self.index + 1endendendreturn (n_index - ((n_index / 4).floor) * 4) * ((160 / (4)) * 1.6) + 270 - ((n_index / 4).floor * (110 - (4 * 20)))end#--------------------------------------------------------------------------# ? ????? Z ?????#--------------------------------------------------------------------------def screen_z# ??????????? Z ?????????if self.index != nilreturn self.indexelsereturn 0endendend class Game_Enemy < Game_Battlerdef screen_xn_split = [($game_troop.enemies.length * 0.5).ceil, 4].mincase n_splitwhen 1n_index = self.index * 2when 2if self.index < ($game_troop.enemies.length - 2)n_index = 0.5 + (2 * self.index)elseif $game_troop.enemies.length == 3 thenn_index = (self.index * 2) + 2elsif $game_troop.enemies.length == 4 thenn_index = self.index * 2endendwhen 3n_index = self.index + (0.25 * (self.index + 1))if $game_troop.enemies.length == 5if self.index < 2n_index = self.index + (0.25 * (self.index + 1))elsen_index = self.index + (0.25 * (self.index + 2)) + 2endendwhen 4n_index = self.indexif $game_troop.enemies.length == 7if self.index < 3n_index = self.indexelsen_index = self.index + 1endendendreturn (n_index - ((n_index / 4).floor) * 4) * ((-160 / (4)) / 5) + 160 - ((n_index / 4).floor * 60)end#--------------------------------------------------------------------------# ? ????? Y ?????#--------------------------------------------------------------------------def screen_yn_split = [($game_troop.enemies.length * 0.5).ceil, 4].mincase n_splitwhen 1n_index = self.index * 2when 2if self.index < ($game_troop.enemies.length - 2)n_index = 0.5 + (2 * self.index)elseif $game_troop.enemies.length == 3 thenn_index = (self.index * 2) + 2elsif $game_troop.enemies.length == 4 thenn_index = self.index * 2endendwhen 3n_index = self.index + (0.25 * (self.index + 1))if $game_troop.enemies.length == 5if self.index < 2n_index = self.index + (0.25 * (self.index + 1))elsen_index = self.index + (0.25 * (self.index + 2)) + 1endendwhen 4n_index = self.indexif $game_troop.enemies.length == 7if self.index < 3n_index = self.indexelsen_index = self.index + 1endendendreturn (n_index - ((n_index / 4).floor) * 4) * ((160 / (4)) * 1.6) + 270 - ((n_index / 4).floor * (110 - (4 * 20)))end#--------------------------------------------------------------------------# ? ????? Z ?????#--------------------------------------------------------------------------def screen_zreturn @member_index + 1endend #==============================================================================# ¦ Sprite_Battler#------------------------------------------------------------------------------# ????????????????Game_Battler ???????????????# ????????????????????#============================================================================== class Sprite_Battler < RPG::Sprite#--------------------------------------------------------------------------# ? ??????????#--------------------------------------------------------------------------attr_accessor :battler # ????attr_accessor :moving # Is the sprite moving?attr_reader :indexattr_accessor :target_indexattr_accessor :directionattr_accessor :pattern#--------------------------------------------------------------------------# ? ?????????# viewport : ??????# battler : ???? (Game_Battler)#--------------------------------------------------------------------------def initialize(viewport, battler = nil)super(viewport)change@old = Graphics.frame_count # For the delay method@goingup = true # Increasing animation? (if @rm2k_mode is true)@once = false # Is the animation only played once?@animated = true # Used to stop animation when @once is trueself.opacity = 0@index = 0@pattern_b = 0@counter_b = 0@trans_sprite = Sprite.new@trans_sprite.opacity = 0@bar_hp_sprite = Sprite.new@bar_hp_sprite.bitmap = Bitmap.new(64, 10)@bar_sp_sprite = Sprite.new@bar_sp_sprite.bitmap = Bitmap.new(64, 10)@color1 = Color.new(0, 0, 0, 192)@color2 = Color.new(255, 255, 192, 192)@color3 = Color.new(0, 0, 0, 192)@color4 = Color.new(64, 0, 0, 192)@old_hp = -1@old_sp = -1@battler = battler@battler_visible = false@first = true@pattern = 0if $target_index == nil$target_index = 0end@battler.is_a?(Game_Enemy) ? enemy_pose(0, 1) : pose(0, 1)end#--------------------------------------------------------------------------# ? ??#--------------------------------------------------------------------------def disposeif self.bitmap != nilself.bitmap.disposeendif @trans_sprite.bitmap != nil@trans_sprite.bitmap.disposeend@trans_sprite.dispose@bar_hp_sprite.bitmap.dispose@bar_hp_sprite.dispose@bar_sp_sprite.bitmap.dispose@bar_sp_sprite.disposesuperend def change(frames = 0, delay = 0, offx = 0, offy = 0, startf = 0, once = false)@frames = frames@delay = delay@offset_x, @offset_y = offx, offy@current_frame = startf@once = once@goingup = true@animated = trueend#--------------------------------------------------------------------------# ? ??????#--------------------------------------------------------------------------def updatebar_check = true if @_damage_duration == 1super@trans_sprite.blend_type = self.blend_type@trans_sprite.color = self.colorif @_collapse_duration > 0@trans_sprite.opacity = self.opacityelse@trans_sprite.opacity = [self.opacity, 160].minendif (@_damage_duration == 0 and bar_check == true) or @first == true@first = false if @first == truebar_check = false@bar_must_change = trueend@bar_hp_sprite.opacity = self.opacity@bar_sp_sprite.opacity = self.opacity# ????? nil ???if @battler == nilself.bitmap = nil@trans_sprite.bitmap = nilloop_animation(nil)returnend# ????????????????????if @battler.battler_name != @battler_name or@battler.battler_hue != @battler_hue# ????????????@battler_name = @battler.battler_name@battler_hue = @battler.battler_hueif @battler.is_a?(Game_Actor)@battler_name = @battler.character_name@battler_hue = @battler.character_hue@direction = 4else@direction = 6endself.bitmap = RPG::Cache.character(@battler_name, @battler_hue)@width = bitmap.width / 4@height = bitmap.height / 4@frame_width = @width@frame_height = @heightself.ox = @width / 2self.oy = @height@pattern = @current_frame@direction = @offset_ysx = @pattern * @widthsy = (@direction - 2) / 2 * @heightself.src_rect.set(sx, sy, @width, @height)@current_frame = (@current_frame + 1) unless @frames == 0@animated = false if @current_frame == @frames and @once@current_frame %= @frames@trans_sprite.bitmap = self.bitmap@trans_sprite.ox = self.ox@trans_sprite.oy = self.oy@trans_sprite.src_rect.set(sx, sy, @width, @height)# ?????????????????? 0 ???if @battler.dead? or @battler.hiddenself.opacity = 0@trans_sprite.opacity = 0@bar_hp_sprite.opacity = 0@bar_sp_sprite.opacity = 0endself.x = @battler.screen_xself.y = @battler.screen_yself.z = @battler.screen_zendchange_sp_bar if @old_sp != @battler.spif delay(@delay) and @animated@pattern = @current_frame@direction = @offset_ysx = @pattern * @widthsy = (@direction - 2) / 2 * @heightself.src_rect.set(sx, sy, @width, @height)@current_frame = (@current_frame + 1) unless @frames == 0@animated = false if @current_frame == @frames and @once@current_frame %= @frames@trans_sprite.ox = self.ox@trans_sprite.oy = self.oy@trans_sprite.src_rect.set(sx, sy, @width, @height)end# ??????? ID ????????????if @battler.damage == nil and@battler.state_animation_id != @state_animation_id@state_animation_id = @battler.state_animation_idloop_animation($data_animations[@state_animation_id])end# ??????????????#if @battler.is_a?(Game_Actor) and @battler_visible# ???????????????????????#if $game_temp.battle_main_phase#self.opacity += 3 if self.opacity < 255#else#self.opacity -= 3 if self.opacity > 207#end#end# ??if @battler.blinkblink_onelseblink_offend# ??????unless @battler_visible# ??if not @battler.hidden and not @battler.dead? and(@battler.damage == nil or @battler.damage_pop)appear@battler_visible = trueendend# ?????if @battler_visible# ??if @battler.hidden$game_system.se_play($data_system.escape_se)escape@trans_sprite.opacity = 0@battler_visible = falseend# ??????if @battler.white_flashwhiten@battler.white_flash = falseend# ???????if @battler.animation_id != 0animation = $data_animations[@battler.animation_id]animation(animation, @battler.animation_hit)@battler.animation_id = 0end# ????if @battler.damage_popdamage(@battler.damage, @battler.critical)@battler.damage = nil@battler.critical = false@battler.damage_pop = falseendif @bar_must_change == true@bar_must_change = falseif @old_hp != @battler.hpchange_hp_barendif @battler.damage == nil and @battler.dead?if @battler.is_a?(Game_Enemy)$game_system.se_play($data_system.enemy_collapse_se)else$game_system.se_play($data_system.actor_collapse_se)endcollapse@battler_visible = falseendendend# ???????????@trans_sprite.x = self.x@trans_sprite.y = self.y@trans_sprite.z = self.z@bar_hp_sprite.x = @battler.screen_x - 32@bar_hp_sprite.y = @battler.screen_y - (@height +18) if @height != nil@bar_hp_sprite.z = 100@bar_sp_sprite.x = @battler.screen_x - 32@bar_sp_sprite.y = @battler.screen_y - (@height + 8) if @height != nil@bar_sp_sprite.z = 100end #--------------------------------------------------------------------------# - Move the sprite# x : X coordinate of the destination point# y : Y coordinate of the destination point# speed : Speed of movement (0 = delayed, 1+ = faster)# delay : Movement delay if speed is at 0#--------------------------------------------------------------------------def move(x, y, speed = 1, delay = 0)@destx = x@desty = y@move_speed = speed@move_delay = delay@move_old = Graphics.frame_count@moving = trueend #--------------------------------------------------------------------------# - Move sprite to destx and desty#--------------------------------------------------------------------------def update_movereturn unless @movingmovinc = @move_speed == 0 ? 1 : @move_speedif Graphics.frame_count - @move_old > @move_delay or @move_speed != 0self.x += movinc if self.x < @destxself.x -= movinc if self.x > @destxself.y += movinc if self.y < @destyself.y -= movinc if self.y > @desty@move_old = Graphics.frame_countendif @move_speed > 1 # Check if sprite can't reach that pointself.x = @destx if (@destx - self.x).abs % @move_speed != 0 and(@destx - self.x).abs <= @move_speedself.y = @desty if (@desty - self.y).abs % @move_speed != 0 and(@desty - self.y).abs <= @move_speedendif self.x == @destx and self.y == @desty@moving = falseendend #--------------------------------------------------------------------------# - Pause animation, but still updates movement# frames : Number of frames#--------------------------------------------------------------------------def delay(frames)update_moveif (Graphics.frame_count - @old >= frames)@old = Graphics.frame_countreturn trueendreturn falseend def change_hp_barj = false@old_hp = @battler.hp if @old_hp == -1i = @old_hploop doi -= 10if i < @battler.hpi = @battler.hpj = trueendrate = i.to_f / @battler.maxhp@color5 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192)@color6 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192)@bar_hp_sprite.bitmap.clear@bar_hp_sprite.bitmap.fill_rect(0, 0, 64, 10, @color1)@bar_hp_sprite.bitmap.fill_rect(1, 1, 62, 8, @color2)@bar_hp_sprite.bitmap.gradation_rect(2, 2, 60, 6, @color3, @color4, 1)#@bar_hp_sprite.bitmap.fill_rect(2, 2, 60, 6, @color3)@bar_hp_sprite.bitmap.gradation_rect(2, 2, 64 * rate - 4, 6, @color5, @color6, 0)#@bar_hp_sprite.bitmap.fill_rect(2, 2, 64 * rate - 4, 6, @color5)@bar_hp_sprite.opacity = self.opacityGraphics.updateif j == truej = falsebreakendend@old_hp = @battler.hpend def change_sp_barj = false@old_sp = @battler.sp if @old_sp == -1i = @old_sploop doi -= 10if i < @battler.spi = @battler.spj = trueendrate = i.to_f / @battler.maxsp@color7 = Color.new(14 * rate, 80 - 24 * rate, 80 * rate, 192)@color8 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)@bar_sp_sprite.bitmap.clear@bar_sp_sprite.bitmap.fill_rect(0, 0, 64, 10, @color1)@bar_sp_sprite.bitmap.fill_rect(1, 1, 62, 8, @color2)@bar_sp_sprite.bitmap.gradation_rect(2, 2, 60, 6, @color3, @color4, 1)#@bar_hp_sprite.bitmap.fill_rect(2, 2, 60, 6, @color3)@bar_sp_sprite.bitmap.gradation_rect(2, 2, 64 * rate - 4, 6, @color7, @color8, 0)#@bar_hp_sprite.bitmap.fill_rect(2, 2, 64 * rate - 4, 6, @color5)@bar_sp_sprite.opacity = self.opacityGraphics.updateif j == truej = falsebreakendend@old_sp = @battler.spend def enemy #$target_index += $game_troop.enemies.size$target_index %= $game_troop.enemies.sizereturn $game_troop.enemies[$target_index] #end # def actor #$target_index += $game_party.actors.size$target_index %= $game_party.actors.sizereturn $game_party.actors[$target_index] #end def index=(index)@index = indexupdateend def pose(number, frames = 4)case numberwhen 0change(frames, 4, 0, 4, 0)when 1change(frames, 4, 0, 4)when 2change(frames, 4, 0, 6)elsechange(frames, 4, 0, 0, 0)endend def enemy_pose(number ,enemy_frames = 4)case numberwhen 0change(enemy_frames, 4, 0, 6, 0)when 1change(enemy_frames, 4, 0, 4)when 2change(enemy_frames, 4, 0, 6)elsechange(enemy_frames, 4, 0, 0, 0)endend def default_posepose(0, 1)endend #==============================================================================# ¦ Spriteset_Battle#------------------------------------------------------------------------------# ???????????????????????????? Scene_Battle ??# ????????????#============================================================================== class Spriteset_Battle#--------------------------------------------------------------------------# ? ??????????#--------------------------------------------------------------------------attr_reader :viewport1 # ????????????attr_reader :viewport2 # ????????????attr_accessor :actor_spritesattr_accessor :enemy_sprites#--------------------------------------------------------------------------# ? ?????????#--------------------------------------------------------------------------def initialize# ?????????@viewport1 = Viewport.new(0, 0, 640, 480)@viewport2 = Viewport.new(0, 0, 640, 480)@viewport3 = Viewport.new(0, 0, 640, 480)@viewport4 = Viewport.new(0, 0, 640, 480)@viewport2.z = 101@viewport3.z = 200@viewport4.z = 5000if $game_temp.battleback_name == ""@battleback_sprite = nil@tilemap = Tilemap.new(@viewport1)@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)for i in 0..6autotile_name = $game_map.autotile_names[i]@tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)end@tilemap.map_data = $game_map.data@tilemap.priorities = $game_map.prioritieselse# ??????????????@tilemap = nil@battleback_sprite = Sprite.new(@viewport1)end# ????????????@enemy_sprites = []for enemy in $game_troop.enemies#.reverse@enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))end# ????????????@actor_sprites = []for j in 0..7# Æ’AÆ’NÆ’^ÂÂ[Æ’XÆ’vƒ‰ƒCÆ’g‚ð’Ã#‡â€°ÃÂ@actor_sprites.push(Sprite_Battler.new(@viewport1, $game_party.actors[j]))end# ?????@weather = RPG::Weather.new(@viewport1)# ????????????@picture_sprites = []for i in 51..100@picture_sprites.push(Sprite_Picture.new(@viewport3,$game_screen.pictures[i]))end# ????????????@timer_sprite = Sprite_Timer.new# ??????updateend#--------------------------------------------------------------------------# ? ??#--------------------------------------------------------------------------def disposeif @tilemap != nil# ?????????@tilemap.tileset.disposefor i in 0..6@tilemap.autotiles[i].disposeend@tilemap.disposeend# ??????????????if @battleback_sprite != nil# ??????????????????????if @battleback_sprite.bitmap != nil@battleback_sprite.bitmap.disposeend@battleback_sprite.disposeend# ??????????????????????for sprite in @enemy_sprites + @actor_spritessprite.disposeend# ?????@weather.dispose# ????????????for sprite in @picture_spritessprite.disposeend# ????????????@timer_sprite.dispose# ?????????@viewport1.dispose@viewport2.dispose@viewport3.dispose@viewport4.disposeend#--------------------------------------------------------------------------# ? ??????????#--------------------------------------------------------------------------def effect?# ??????????????? true ???for sprite in @enemy_sprites + @actor_spritesreturn true if sprite.effect?endreturn falseend#--------------------------------------------------------------------------# ? ??????#--------------------------------------------------------------------------def update# ???????????????????????if @battleback_sprite != nilif @battleback_name != $game_temp.battleback_name@battleback_name = $game_temp.battleback_nameif @battleback_sprite.bitmap != nil@battleback_sprite.bitmap.disposeendbg_bitmap = RPG::Cache.battleback(@battleback_name)bg_bitmap_stretch = Bitmap.new(640, 480)bg_bitmap_stretch.stretch_blt(Rect.new(0, 0, 640, 480), bg_bitmap, bg_bitmap.rect)@battleback_sprite.bitmap = bg_bitmap_stretchendendif @tilemap != nil@tilemap.ox = $game_map.display_x / 4@tilemap.oy = $game_map.display_y / 4@tilemap.updateend# ????????????for sprite in @enemy_sprites + @actor_spritessprite.updateend# ???????????@weather.type = $game_screen.weather_type@weather.max = $game_screen.weather_max@weather.update# ????????????for sprite in @picture_spritessprite.updateend# ????????????@timer_sprite.update# ???????????????@viewport1.tone = $game_screen.tone@viewport1.ox = $game_screen.shake# ????????????@viewport4.color = $game_screen.flash_color# ?????????@viewport1.update@viewport2.update@viewport4.updateendend #==============================================================================# ¦ Window_Command#------------------------------------------------------------------------------# ?????????????????????#============================================================================== class Window_Command < Window_Selectable#--------------------------------------------------------------------------# ? ?????????# width : ???????# commands : ??????????#--------------------------------------------------------------------------def initialize(width, commands, column_max = 1, style = 0, inf_scroll = 1)# ????????????????????super(0, 0, width, (commands.size * 1.0 / column_max).ceil * 32 + 32)@inf_scroll = inf_scroll@item_max = commands.size@commands = commands@column_max = column_max@style = styleself.contents = Bitmap.new(width - 32, (@item_max * 1.0 / @column_max).ceil * 32)self.contents.font.name = "Tahoma"self.contents.font.size = 22refreshself.index = 0end#--------------------------------------------------------------------------# ? ??????#--------------------------------------------------------------------------def refreshself.contents.clearfor i in 0...@item_maxdraw_item(i, normal_color)endend#--------------------------------------------------------------------------# ? ?????# index : ????# color : ???#--------------------------------------------------------------------------def draw_item(index, color)self.contents.font.color = colorrect = Rect.new(index%@column_max * (self.width / @column_max) + 4, 32 * (index/@column_max), self.width / @column_max - 40, 32)self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))self.contents.draw_text(rect, @commands[index], @style)end#--------------------------------------------------------------------------# ? ??????# index : ????#--------------------------------------------------------------------------def disable_item(index)draw_item(index, disabled_color)end def update_help@help_window.set_actor($game_party.actors[$scene.actor_index])endend #==============================================================================# ¦ Arrow_Enemy#------------------------------------------------------------------------------# ????????????????????????????? Arrow_Base ??# ????????#============================================================================== class Arrow_Enemy < Arrow_Base#--------------------------------------------------------------------------# ? ?????????????????#--------------------------------------------------------------------------def enemyreturn $game_troop.enemies[@index]end#--------------------------------------------------------------------------# ? ??????#--------------------------------------------------------------------------def updatesuper# ???????????????????$game_troop.enemies.size.times dobreak if self.enemy.exist?@index += 1@index %= $game_troop.enemies.sizeend# ?????if Input.repeat?(Input::DOWN)$game_system.se_play($data_system.cursor_se)$game_troop.enemies.size.times do@index += 1@index %= $game_troop.enemies.sizebreak if self.enemy.exist?endend# ?????if Input.repeat?(Input::UP)$game_system.se_play($data_system.cursor_se)$game_troop.enemies.size.times do@index += $game_troop.enemies.size - 1@index %= $game_troop.enemies.sizebreak if self.enemy.exist?endendif Input.repeat?(Input::RIGHT)$game_system.se_play($data_system.cursor_se)$game_troop.enemies.size.times do@index += ((($game_troop.enemies.length) * 0.5).ceil)@index %= $game_troop.enemies.sizebreak if self.enemy.exist?endendif Input.repeat?(Input::LEFT)$game_system.se_play($data_system.cursor_se)$game_troop.enemies.size.times do@index += $game_troop.enemies.size - ((($game_troop.enemies.length) * 0.5).ceil)@index %= $game_troop.enemies.sizebreak if self.enemy.exist?endend# ???????????if self.enemy != nilself.x = self.enemy.screen_x + 4self.y = self.enemy.screen_y + 36self.z = self.enemy.screen_z + 1endend#--------------------------------------------------------------------------# ? ?????????#--------------------------------------------------------------------------def update_help# ????????????????????????@help_window.set_enemy(self.enemy)endend #==============================================================================# ¦ Arrow_Actor#------------------------------------------------------------------------------# ????????????????????????????? Arrow_Base ??# ????????#============================================================================== class Arrow_Actor < Arrow_Base#--------------------------------------------------------------------------# ? ?????????????????#--------------------------------------------------------------------------def actorreturn $game_party.actors[@index]end#--------------------------------------------------------------------------# ? ??????#--------------------------------------------------------------------------def updatesuper# ?????if Input.repeat?(Input::DOWN)$game_system.se_play($data_system.cursor_se)@index += 1@index %= $game_party.actors.sizeend# ?????if Input.repeat?(Input::UP)$game_system.se_play($data_system.cursor_se)@index += $game_party.actors.size - 1@index %= $game_party.actors.sizeendif Input.repeat?(Input::RIGHT)$game_system.se_play($data_system.cursor_se)@index += ($game_party.actors.length * 0.5).ceil@index %= $game_party.actors.sizeend# ?????if Input.repeat?(Input::LEFT)$game_system.se_play($data_system.cursor_se)@index += $game_party.actors.size - (($game_party.actors.length * 0.5).ceil)@index %= $game_party.actors.sizeend# ???????????if self.actor != nilself.x = self.actor.screen_xself.y = self.actor.screen_y + 36self.z = self.actor.screen_z + 1endend#--------------------------------------------------------------------------# ? ?????????#--------------------------------------------------------------------------def update_help# ??????????????????????@help_window.set_actor(self.actor)endend class Scene_Battleattr_accessor :actor_indexdef main# ???????????????$game_temp.in_battle = true$game_temp.battle_turn = 0$game_temp.battle_event_flags.clear$game_temp.battle_abort = false$game_temp.battle_main_phase = false$game_temp.battleback_name = $game_map.battleback_name$game_temp.forcing_battler = nil# ??????????????????$game_system.battle_interpreter.setup(nil, 0)# ???????@troop_id = $game_temp.battle_troop_id$game_troop.setup(@troop_id)# ????????????????s1 = $data_system.words.attacks2 = $data_system.words.skills3 = $data_system.words.guards4 = $data_system.words.item@actor_command_window = Window_Command.new(640, [s1, s2, s3, s4], 4)@actor_command_window.y = 64@actor_command_window.back_opacity = 160@actor_command_window.active = false@actor_command_window.visible = false# ????????????@party_command_window = Window_PartyCommand.new@help_window = Window_Help.new@help_window.back_opacity = 160@help_window.visible = false#@status_window = Window_BattleStatus.new@message_window = Window_Message.new# ???????????@spriteset = Spriteset_Battle.new# ????????????@wait_count = 0# ?????????if $data_system.battle_transition == ""Graphics.transition(20)elseGraphics.transition(40, "Graphics/Transitions/" +$data_system.battle_transition)end# ???????????start_phase1# ??????loop do# ????????Graphics.update# ???????Input.update# ??????update# ????????????????if $scene != selfbreakendend# ??????????$game_map.refresh# ?????????Graphics.freeze# ????????@actor_command_window.dispose@party_command_window.dispose@help_window.dispose#@status_window.dispose@message_window.disposeif @skill_window != nil@skill_window.disposeendif @item_window != nil@item_window.disposeendif @result_window != nil@result_window.disposeend# ???????????@spriteset.dispose# ???????????????if $scene.is_a?(Scene_Title)# ??????????Graphics.transitionGraphics.freezeend# ???????????????????????????if $BTEST and not $scene.is_a?(Scene_Gameover)$scene = nilendend def update# ?????????????if $game_system.battle_interpreter.running?# ?????????$game_system.battle_interpreter.update# ?????????????????????????if $game_temp.forcing_battler == nil# ?????????????????unless $game_system.battle_interpreter.running?# ??????????????????????????unless judgesetup_battle_eventendend# ????????????????if @phase != 5# ?????????????????#@status_window.refreshendendend# ???? (????)??????$game_system.update$game_screen.update# ????? 0 ??????if $game_system.timer_working and $game_system.timer == 0# ?????$game_temp.battle_abort = trueend# ????????@help_window.update@party_command_window.update@actor_command_window.update#@status_window.update@message_window.update# ???????????@spriteset.update# ?????????????if $game_temp.transition_processing# ?????????????????$game_temp.transition_processing = false# ?????????if $game_temp.transition_name == ""Graphics.transition(20)elseGraphics.transition(40, "Graphics/Transitions/" +$game_temp.transition_name)endend# ????????????????if $game_temp.message_window_showingreturnend# ???????????if @spriteset.effect?returnend# ??????????if $game_temp.gameover# ??????????????$scene = Scene_Gameover.newreturnend# ???????????if $game_temp.to_title# ???????????$scene = Scene_Title.newreturnend# ????????if $game_temp.battle_abort# ??????? BGM ???$game_system.bgm_play($game_temp.map_bgm)# ?????battle_end(1)returnend# ????????if @wait_count > 0# ????????????@wait_count -= 1returnend # this one holds the battle while the player movesfor actor in @spriteset.actor_spritesif actor.movingreturnendend# and this one is for the enemy...for enemy in @spriteset.enemy_spritesif enemy.moving# and $game_system.animated_enemyreturnendend# ???????????????????????# ????????????????if $game_temp.forcing_battler == nil and$game_system.battle_interpreter.running?returnend# ??????????case @phasewhen 1 # ?????????update_phase1when 2 # ????????????update_phase2when 3 # ????????????update_phase3when 4 # ???????update_phase4when 5 # ???????????update_phase5endend def start_phase2# ???? 2 ???@phase = 2# ?????????????@actor_index = -1@active_battler = nil# ?????????????????@party_command_window.active = true@party_command_window.visible = true# ?????????????????@actor_command_window.active = false@actor_command_window.visible = false@help_window.visible = false# ??????????????$game_temp.battle_main_phase = false# ????????????????$game_party.clear_actions# ????????????unless $game_party.inputable?# ?????????start_phase4endend def update_phase2_escape# ??????????????enemies_agi = 0enemies_number = 0for enemy in $game_troop.enemiesif enemy.exist?enemies_agi += enemy.agienemies_number += 1endendif enemies_number > 0enemies_agi /= enemies_numberend# ??????????????actors_agi = 0actors_number = 0for actor in $game_party.actorsif actor.exist?actors_agi += actor.agiactors_number += 1endendif actors_number > 0actors_agi /= actors_numberend# ??????success = rand(100) < 50 * actors_agi / enemies_agi# ???????if success# ?? SE ???$game_system.se_play($data_system.escape_se)for actor in $game_party.actors@spriteset.actor_sprites[actor.index].pose(2)@spriteset.actor_sprites[actor.index].move(660, actor.screen_y, 10)endcheck = escape_moveuntil check == false@spriteset.updateGraphics.updatecheck = escape_moveend# ??????? BGM ???$game_system.bgm_play($game_temp.map_bgm)# ?????battle_end(1)# ???????else# ????????????????$game_party.clear_actions# ?????????start_phase4endend def escape_movefor actor in @spriteset.actor_spritesif actor.movingreturn trueendendreturn falseend def start_phase5# ???? 5 ???@phase = 5# ????? ME ???$game_system.me_play($game_system.battle_end_me)# ??????? BGM ???$game_system.bgm_play($game_temp.map_bgm)# EXP???????????????exp = 0gold = 0treasures = []# ???for enemy in $game_troop.enemies# ??????????????unless enemy.hidden# ?? EXP????????exp += enemy.expgold += enemy.gold# ?????????if rand(100) < enemy.treasure_probif enemy.item_id > 0treasures.push($data_items[enemy.item_id])endif enemy.weapon_id > 0treasures.push($data_weapons[enemy.weapon_id])endif enemy.armor_id > 0treasures.push($data_armors[enemy.armor_id])endendendend# ???????? 6 ??????treasures = treasures[0..5]# EXP ??for i in 0...$game_party.actors.sizeactor = $game_party.actors[i]if actor.cant_get_exp? == falselast_level = actor.levelactor.exp += expif actor.level > last_level#@status_window.level_up(i)endendend# ??????$game_party.gain_gold(gold)# ???????for item in treasurescase itemwhen RPG::Item$game_party.gain_item(item.id, 1)when RPG::Weapon$game_party.gain_weapon(item.id, 1)when RPG::Armor$game_party.gain_armor(item.id, 1)endend# ???????????????@result_window = Window_BattleResult.new(exp, gold, treasures)# ???????????@phase5_wait_count = 100end #--------------------------------------------------------------------------# ? ?????? (???????????)#--------------------------------------------------------------------------def update_phase5# ????????? 0 ???????if @phase5_wait_count > 0# ????????????@phase5_wait_count -= 1# ????????? 0 ??????if @phase5_wait_count == 0# ????????????@result_window.visible = true# ??????????????$game_temp.battle_main_phase = false# ?????????????????#@status_window.refreshendreturnend# C ??????????if Input.trigger?(Input::C)# ?????battle_end(0)endend def phase3_setup_command_window# ?????????????????@party_command_window.active = false@party_command_window.visible = false# ?????????????????@actor_command_window.active = true@actor_command_window.visible = true@help_window.visible = true# ???????????????????if @actor_command_window.help_window == nil@actor_command_window.help_window = @help_windowend@actor_command_window.update_help#@actor_command_window.x = @actor_index * 160# ??????? 0 ???@actor_command_window.index = 0enddef start_enemy_select# ??????????@enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2)# ?????????????@enemy_arrow.help_window = @help_window# ?????????????????@actor_command_window.active = false@actor_command_window.visible = falseend def update_phase4case @phase4_stepwhen 1update_phase4_step1when 2update_phase4_step2when 3update_phase4_step3when 4update_phase4_step4when 5update_phase4_step5when 6update_phase4_step6when 7update_phase4_step7endend def update_phase4_step1 # Change actor poses to default#if @active_battler.is_a?(Game_Actor)# @spriteset.actor_sprites[@active_battler.index].default_pose#endfor i in 0...$game_party.actors.sizeactor = $game_party.actors[i]@spriteset.actor_sprites[i].default_poseend @help_window.visible = falseif judgereturnendif $game_temp.forcing_battler == nilsetup_battle_eventif $game_system.battle_interpreter.running?returnendendif $game_temp.forcing_battler != nil@action_battlers.delete($game_temp.forcing_battler)@action_battlers.unshift($game_temp.forcing_battler)endif @action_battlers.size == 0start_phase2returnend@animation1_id = 0@animation2_id = 0@common_event_id = 0@active_battler = @action_battlers.shiftif @active_battler.index == nilreturnendif @active_battler.hp > 0 and @active_battler.slip_damage?@active_battler.slip_damage_effect@active_battler.damage_pop = trueend@active_battler.remove_states_auto#@status_window.refresh@phase4_step = 2end def make_basic_action_result if @active_battler.is_a?(Game_Actor)$actor_on_top = trueelsif @active_battler.is_a?(Game_Enemy)$actor_on_top = falseendif @active_battler.current_action.basic == 0@animation1_id = @active_battler.animation1_id@animation2_id = @active_battler.animation2_idif @active_battler.is_a?(Game_Enemy)if @active_battler.restriction == 3target = $game_troop.random_target_enemyelsif @active_battler.restriction == 2target = $game_party.random_target_actorelseindex = @active_battler.current_action.target_indextarget = $game_party.smooth_target_actor(index)end#======== here is the setting for the movement & animation...x = target.screen_x - 32@spriteset.enemy_sprites[@active_battler.index].enemy_pose(2)@spriteset.enemy_sprites[@active_battler.index].move(x, target.screen_y, 10)#========= here if you look at the RPG's movement settings you'll see#========= that he takes the number 40 for the speed of the animation...#========= i thing thats too fast so i settet it down to 10 so looks smoother...endif @active_battler.is_a?(Game_Actor)weapon = $data_weapons[@active_battler.weapon_id]range = falseif weapon != nilfor id in weapon.element_setif $data_system.elements[id] == "Range"range = truebreakendendendif @active_battler.restriction == 3target = $game_party.random_target_actorelsif @active_battler.restriction == 2target = $game_troop.random_target_enemyelseindex = @active_battler.current_action.target_indextarget = $game_troop.smooth_target_enemy(index)end#======= the same thing for the player... ^-^x = target.screen_x + 32@spriteset.actor_sprites[@active_battler.index].pose(1)@spriteset.actor_sprites[@active_battler.index].move(x * (range ? 2 : 1), target.screen_y, 10)range = falseend@target_battlers = [target]for target in @target_battlerstarget.attack_effect(@active_battler)endreturnendif @active_battler.current_action.basic == 1if @active_battler.is_a?(Game_Actor)@spriteset.actor_sprites[@active_battler.index].pose(0, 1) #defenceelse@spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1) #defenceend@help_window.set_text($data_system.words.guard, 1)returnendif @active_battler.is_a?(Game_Enemy) and@active_battler.current_action.basic == 2@help_window.set_text("Escape", 1)@active_battler.escapereturnendif @active_battler.current_action.basic == 3$game_temp.forcing_battler = nil@phase4_step = 1returnend if @active_battler.current_action.basic == 4if $game_temp.battle_can_escape == false$game_system.se_play($data_system.buzzer_se)returnend$game_system.se_play($data_system.decision_se)update_phase2_escapereturnendend def make_skill_action_result @skill = $data_skills[@active_battler.current_action.skill_id]unless @active_battler.current_action.forcingunless @active_battler.skill_can_use?(@skill.id)$game_temp.forcing_battler = nil@phase4_step = 1returnendend@active_battler.sp -= @skill.sp_cost#@status_window.refresh@help_window.set_text(@skill.name, 1)@animation1_id = @skill.animation1_id@animation2_id = @skill.animation2_idif @active_battler.is_a?(Game_Enemy)#@spriteset.enemy_sprites[@active_battler.index].change_sp_barx = @active_battler.screen_x + 48@spriteset.enemy_sprites[@active_battler.index].enemy_pose(2)@spriteset.enemy_sprites[@active_battler.index].move(x, @active_battler.screen_y, 5)@spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1)endif @active_battler.is_a?(Game_Actor)#@spriteset.actor_sprites[@active_battler.index].change_sp_barx = @active_battler.screen_x - 48@spriteset.actor_sprites[@active_battler.index].pose(1)@spriteset.actor_sprites[@active_battler.index].move(x, @active_battler.screen_y, 5)@spriteset.actor_sprites[@active_battler.index].pose(0, 1)end@common_event_id = @skill.common_event_idset_target_battlers(@skill.scope)for target in @target_battlerstarget.skill_effect(@active_battler, @skill)endend def make_item_action_result # sorry i didnt work on this...# couse i dont have a sprite that uses items....# so i just added the standby sprite here...# when i get more time for this i'll try what i can do for this one... ^-^# its the same as the ones above...if @active_battler.is_a?(Game_Actor)@spriteset.actor_sprites[@active_battler.index].pose(0, 1)else@spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1)end @item = $data_items[@active_battler.current_action.item_id]unless $game_party.item_can_use?(@item.id)@phase4_step = 1returnendif @item.consumable$game_party.lose_item(@item.id, 1)end@help_window.set_text(@item.name, 1)@animation1_id = @item.animation1_id@animation2_id = @item.animation2_id@common_event_id = @item.common_event_idindex = @active_battler.current_action.target_indextarget = $game_party.smooth_target_actor(index)set_target_battlers(@item.scope)for target in @target_battlerstarget.item_effect(@item)endend def update_phase4_step3if @active_battler.current_action.kind == 0 and@active_battler.current_action.basic == 0# in this one... we have our weapon animations... for player and monsterif @active_battler.is_a?(Game_Actor)@spriteset.actor_sprites[@active_battler.index].pose(0,1)elsif @active_battler.is_a?(Game_Enemy)@spriteset.enemy_sprites[@active_battler.index].enemy_pose(0,1)endendif @animation1_id == 0@active_battler.white_flash = trueelse@active_battler.animation_id = @animation1_id@active_battler.animation_hit = trueend@phase4_step = 4end def update_phase4_step4# this here is for the hit animation...for target in @target_battlerstarget.animation_id = @animation2_idtarget.animation_hit = (target.damage != "Miss")end@wait_count = 8@phase4_step = 5end def update_phase4_step5if @active_battler.hp > 0 and @active_battler.slip_damage?@active_battler.slip_damage_effect@active_battler.damage_pop = trueend# ???????????@help_window.visible = false# ?????????????????#@status_window.refresh# ?????? if @active_battler.is_a?(Game_Actor)@spriteset.actor_sprites[@active_battler.index].pose(0, 1)else@spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1)endfor target in @target_battlersif target.damage != niltarget.damage_pop = trueif @active_battler.is_a?(Game_Actor)@spriteset.actor_sprites[@active_battler.index].pose(0, 1)else@spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1)endendend# ???? 6 ???@phase4_step = 6end def update_phase4_step6 # here we are asking if the player is dead and is a player or an enemy...# these lines are for the running back and standby animation....if @active_battler.is_a?(Game_Actor)if @active_battler.current_action.basic == 1@spriteset.actor_sprites[@active_battler.index].pose(0, 1)else@spriteset.actor_sprites[@active_battler.index].move(@active_battler.screen_x, @active_battler.screen_y, 20)@spriteset.actor_sprites[@active_battler.index].pose(2)endelseif @active_battler.current_action.basic == 1@spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1)else@spriteset.enemy_sprites[@active_battler.index].move(@active_battler.screen_x, @active_battler.screen_y, 20)@spriteset.enemy_sprites[@active_battler.index].enemy_pose(1)endendfor target in @target_battlersif target.is_a?(Game_Actor)@spriteset.actor_sprites[target.index].pose(0, 1)else@spriteset.enemy_sprites[target.index].enemy_pose(0, 1)endend$game_temp.forcing_battler = nilif @common_event_id > 0common_event = $data_common_events[@common_event_id]$game_system.battle_interpreter.setup(common_event.list, 0)end@phase4_step = 7end def update_phase4_step7 # here we are asking if the player is dead and is a player or an enemy...# these lines are for the running back and standby animation....if @active_battler.is_a?(Game_Actor)@spriteset.actor_sprites[@active_battler.index].pose(0, 1)else@spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1)end $game_temp.forcing_battler = nilif @common_event_id > 0common_event = $data_common_events[@common_event_id]$game_system.battle_interpreter.setup(common_event.list, 0)end@phase4_step = 1endend#==============================================================================# ** Seph's Test Bed Log#------------------------------------------------------------------------------# SephirothSpawn# Version 0.41# 2007-08-29# Total Scripts : 84=begin ======================================================================== ** Table Of Contents ** A) Version Updates* Version 0.10 : 2006-10-09* Version 0.20 : 2006-10-20* Version 0.25 : 2006-11-08* Version 0.30 : 2006-12-12* Version 0.40 : 2007-07-31* Version 0.41 : 2007-08-29cool.gif Catagory DescriptionsC) Current Scripts ListingsD) Scripts to be UpdatedE) Possible Future Releases #============================================================================== A) Version Updates * Version 0.1 : 2006-10-09 - Following Scripts Were Released :SCRIPT NAME (VERSION) : DATE UPDATED~ Quick Treasure Chest (1.0) : 2006-07-09~ Shift Puzzles (2.0) : 2006-07-28~ Trickster's Curve Generator (1.0) : 2006-07-28~ Damage Reductions (1.0) : 2006-07-29~ Character Class Graphics (1.0) : 2006-08-01~ Game Difficulty (2.0) : 2006-08-03~ Introduction & Splash System (3.0) : 2006-08-04~ Sudoku Puzzles (1.0) : 2006-08-06~ Encounter Control (1.0) : 2006-08-12~ Bitmap File Dump (1.0) : 2006-08-22~ Event Text Display (3.0) : 2006-08-22~ Gameover to Inn (3.0) : 2006-08-22~ Stat Skills (1.0) : 2006-08-22~ Learn Skills From Items (1.0) : 2006-08-23~ Blue, Geomancy & Level Skills (1.0) : 2006-08-24~ Class Based Stats (1.0) : 2006-08-27~ Multiple Languages (2.0) : 2006-08-27~ Quick Animations (2.0) : 2006-08-27~ Advanced Title Screen (1.0) : 2006-08-30~ Crafting System (1.0) : 2006-09-06~ Scene Base (2.0) : 2006-09-06~ Keyword Encyclopedia (1.0) : 2006-09-09~ Dynamic Currencies (1.0) : 2006-09-10~ SP Cost Modifers (1.0) : 2006-09-15~ Action Battlers (1.0) : 2006-09-20~ Actor Stat Bonuses (2.0) : 2006-09-20~ Aditional Item Drops (2.0) : 2006-09-20~ Virtual Database (2.0) : 2006-10-02~ Character Holograms (1.0) : 2006-10-07~ Dynamic Enemies (2.0) : 2006-10-07~ Animated Battlebacks (1.0) : 2006-10-08~ File Error Fix & Report (1.0) : 2006-10-08 - Following Scripts Were Updated :~ None --------------------------------------------------------------------------- * Version 0.2 : 2006-10-20 - Following Scripts Were Released :SCRIPT NAME (VERSION) : DATE UPDATED~ Skills Use Items (1.0) : 2006-10-15~ Event Collisions (1.0) : 2006-10-16~ Alternate Game Difficulty (1.0) : 2006-10-18~ Inn & Savepoint System (2.0) : 2006-10-19~ Dynamic Enemy Actions (1.0) : 2006-10-22~ Unarmed Stats & Development (1.0) : 2006-10-22~ Character Icon Graphics (1.0) : 2006-10-23~ Class Support (1.0) : 2006-10-24 (SDK Conversions)~ Goldenshadow : Adv. Fishing (1.8) : 2005-07-29~ Ccoa : Minecart Mayhem (1.0) : 2005-07-30 - Following Scripts Were Updated :SCRIPT NAME (VERSION) : DATE UPDATED~ Animated Battlebacks (1.1) : 2006-10-17~ Crafting System (1.1) : 2006-10-17~ Introduction & Splash System (3.1) : 2006-10-17~ Advanced Title Screen (1.01) : 2006-10-18~ Scene Base (2.01) : 2006-10-18~ Trickster's Curve Generator (2.0) : 2006-10-22~ Character Holograms (1.01) : 2006-10-23~ Encounter Control (1.01) : 2006-10-23~ Event Text Display (3.01) : 2006-10-23~ Action Battlers (1.1) : 2006-10-24~ Dynamic Currencies (1.01) : 2006-10-24~ Virtual Database (2.01) : 2006-10-24 --------------------------------------------------------------------------- * Version 0.25 : 2006-11-08- Following Scripts Were Released :SCRIPT NAME (VERSION) : DATE UPDATED~ State Pops (1.0) : 2006-10-29~ Equipment, Item & Skill Reqs (0.9) : 2006-10-30~ Party SP (1.0) : 2006-11-02~ Weapon Specials (1.0) : 2006-11-04~ Tilemap (0.9) : 2006-11-06~ Scroll Status Display (1.0) : 2006-11-07 - Following Scripts Were Updated :SCRIPT NAME (VERSION) : DATE UPDATED~ Character Icon Graphics (1.01) : 2006-11-01 --------------------------------------------------------------------------- * Version 0.3 : 2006-12-13- Following Scripts Were Released :SCRIPT NAME (VERSION) : DATE UPDATED~ Party Switcher + Extra Parties (1.0) : 2006-11-25~ FFVIII Skill Points (1.0) : 2006-12-01~ Skill Learn Display (1.0) : 2006-12-04~ Event Spawner (2.0) : 2006-12-09 - Following Scripts Were Updated :SCRIPT NAME (VERSION) : DATE UPDATED~ Actor Stat Bonuses (2.1) : 2006-11-30~ Gameover to Inn (3.1) : 2006-11-30~ Quick Animations (3.0) : 2006-12-01~ Animated Battleback (2.0) : 2006-12-04~ Introduction & Splash System (4.0) : 2006-12-06~ Method & Class Library Adds. (0.2) : 2006-12-11~ Additional Enemy Drops (2.1) : 2006-12-13 --------------------------------------------------------------------------- * Version 0.4 : 2007-07-31- Following Scripts Were Released :SCRIPT NAME (VERSION) : DATE UPDATED~ Perspective Sprites (1.0) : 2007-01-05~ Stat Bonus Base (1.0) : 2007-01-26~ Extra Terrains (1.01) : 2007-01-24~ File Use Log (2.0) : 2007-02-25~ Multiple Damages (1.0) : 2007-02-12~ Analog Movement (2.0) : 2007-02-16~ WorldMap Teleporter (2.0) : 2007-02-26~ Dynamic + Add. Enemy Drops (3.0) : 2007-03-01~ Skills Use Element Sets (1.0) : 2007-03-01~ Multiple Animations (1.0) : 2007-03-06~ Save Event Locations (1.0) : 2007-03-12~ Enhanced BattleStatus Window (1.1) : 2007-03-13~ Auto-Save System (1.0) : 2007-03-17~ Sound Interaction System (1.0) : 2007-03-21~ Anti Event Lag System (2.1) : 2007-04-02~ Blur Screenshot (1.0) : 2007-04-02~ Equipment Autostates (1.0) : 2007-04-02~ Sprite Blink Colors (1.0) : 2007-04-02~ Mouse Selectable Windows (2.0) : 2007-04-03~ Multiple BGMS (1.0) : 2007-04-09~ Skill Mana System (2.0) : 2007-04-23~ Battle Leaders (1.0) : 2007-05-07~ Tilemap (Extra Autotiles) (1.0) : 2007-06-01~ Battle Simulator (1.0) : 2007-06-02~ Multiple Poison Effects (1.0) : 2007-06-03~ On Map Party Cycler (1.0) : 2007-06-15~ Enhanced Item Parameters (1.0) : 2007-06-28~ Enemy Troops Extender (1.1) : 2007-07-09~ Battle Equipping (1.0) : 2007-07-18~ Character Sprite Frame Count (1.0) : 2007-07-18~ Map Screenshot Maker (1.1) : 2007-07-21~ Escaping Cost (1.0) : 2007-07-25~ Mapping Layers (2.1) : 2007-07-25~ Action Encounters (1.01) : 2007-07-26~ Draw HP/SP/Exp Percents (1.0) : 2007-07-27~ Battle Command Memory (1.0) : 2007-07-28~ Battle Escaping (1.0) : 2007-07-28~ Dynamic Defending (1.0) : 2007-07-28~ Battle Switching (2.1) : 2007-07-29~ Tilemap (Flash Data) (1.01) : 2007-07-30 - Following Scripts Were Updated :SCRIPT NAME (VERSION) : DATE UPDATED~ Character Class Graphics (1.1) : 2007-01-24~ Character Icon Graphics (1.02) : 2007-01-24~ Damage Reductions (1.01) : 2007-01-24~ Skills Use Items (1.01) : 2007-01-24~ SP Cost Modifers (1.1) : 2007-01-24~ Actor Stat Bonuses (3.0) : 2007-01-28~ Class Support (2.0) : 2007-01-28~ Blue, Geomancy & Level Skills (1.11) : 2007-02-10~ Party Switcher + Extra Parties (1.2) : 2007-02-14~ Skill Learn Display (2.0) : 2007-02-16~ State Pops (2.0) : 2007-02-16~ Class Based Stats (2.0) : 2007-02-19~ Learn Skills From Items (1.1) : 2007-02-20~ Unarmed Stats & Development (2.0) : 2007-02-20~ Animated Battlebacks (2.1) : 2007-02-28~ Advanced Title Screen (2.0) : 2007-03-01~ Dynamic Enemy Actions (1.1) : 2007-03-01~ Game Difficulty (3.0) : 2007-03-01~ Game Difficulty (Alt.) (2.0) : 2007-03-01~ Keyword Encyclopedia (1.1) : 2007-03-02~ Multiple Languages (2.1) : 2007-03-02~ Virtual Database (2.2) : 2007-04-11~ File Error Fix & Report (1.02) : 2007-04-28~ Dynamic Enemies (3.01) : 2007-05-11~ Stat Skills (1.1) : 2007-05-15~ Quick Treasure Chest (2.2) : 2007-07-13~ Event Collisions (2.01) : 2007-07-23~ Scroll Status Display (1.1) : 2007-07-26~ Encounter Control (2.1) : 2007-07-30~ Event Text Display (4.0) : 2007-07-30~ Tilemap (Basic) (1.11) : 2007-07-31 - Following Scripts Were Re-formated :SCRIPT NAME ---> NEW SCRIPT NAME~ Additional Enemy Drops ---> Dynamic + Add. Enemy Drops - Following Scripts Were Moved to the Method & Class Library or SDK :SCRIPT NAME (VERSION) : DATE UPDATED~ Bitmap File Dump (1.0) : 2006-08-22~ Scene Base (2.01) : 2006-10-18~ Trickster's Curve Generator (2.0) : 2006-10-22~ Quick Animations (3.0) : 2006-12-01~ Event Spawner (2.0) : 2006-12-09 - Following Scripts Were Temporarily Removed Until Next Update :SCRIPT NAME (VERSION) : DATE UPDATED~ Goldenshadow : Adv. Fishing (1.8) : 2005-07-29~ Ccoa : Minecart Mayhem (1.0) : 2005-07-30~ Shift Puzzles (2.0) : 2006-07-28~ Sudoku Puzzles (1.0) : 2006-08-06~ Crafting System (1.1) : 2006-10-17~ Inn & Savepoint System (2.0) : 2006-10-19~ Character Holograms (1.01) : 2006-10-23~ Event Text Display (3.01) : 2006-10-23~ Action Battlers (1.1) : 2006-10-24~ Dynamic Currencies (1.01) : 2006-10-24~ Equipment, Item & Skill Reqs (0.9) : 2006-10-30~ Party SP (1.0) : 2006-11-02~ Weapon Specials (1.0) : 2006-11-04~ Gameover to Inn (3.1) : 2006-11-30~ FFVIII Skill Points (1.0) : 2006-12-01~ Introduction & Splash System (4.0) : 2006-12-06 --------------------------------------------------------------------------- * Version 0.41: 2007-08-29- Following Scripts Were Released :SCRIPT NAME (VERSION) : DATE UPDATED~ Damage Limits (1.0) : 2007-08-06~ Dynamic Enemies - Database + (1.0) : 2007-08-06~ Final Fantasy I Magic System (1.0) : 2007-08-06~ Party Stats (2.0) : 2007-08-06~ Skill/Equipment S & E Percents (1.0) : 2007-08-10~ Encounter Detection Chaser (1.0) : 2007-08-16~ Auto-Revive System (1.0) : 2007-08-20~ Battler Sprite Bars (1.0) : 2007-08-21~ Battleback Screen Stretch (1.0) : 2007-08-22~ Map Battlebacks (1.0) : 2007-08-23 - Following Scripts Were Re-formated :SCRIPT NAME ---> NEW SCRIPT NAME~ Party SP ---> Party Stats - Following Scripts Were Updated :SCRIPT NAME (VERSION) : DATE UPDATED~ Draw HP/SP/Exp Percents (1.01) : 2007-08-01~ Escaping Cost (1.01) : 2007-08-01~ Party Switcher + Extra Parties (1.21) : 2007-08-01~ Game Difficulty (Alt.) (2.01) : 2007-08-02~ Battle Command Memory (1.01) : 2007-08-05~ Battle Equipping (1.01) : 2007-08-05~ Multiple Languages (2.11) : 2007-08-05~ Enhanced Item Parameters (1.01) : 2007-08-21~ Learn Skills from Items (1.11) : 2007-08-21~ Multiple Poison Effects (1.01) : 2007-08-21~ Skill Mana System (2.01) : 2007-08-21~ State Pops (2.01) : 2007-08-21~ Quick Treasure Chest (2.21) : 2007-08-22~ Analog Movement (2.01) : 2007-08-23~ Yeyinde's RSC Require (1.5.0) : 2007 #============================================================================== cool.gif Category Descriptions * Library DevelopmentThese systems are all designed to be used as tools for otherscripts to function. They are usually useful modules or newlibrary classes that make the creation of scripts a bit easier.Many other scripts rely on these, so it is a good idea to have them.* RGSS RewritesThese systems are all designed to rewrite a hidden RGSS object class,or modify an exhisting one.* Developer ToolsThese systems are all designed to provide support for furtherdevelopment of the actors, classes, items, etc. These scripts willoften be expansions to the default database or tools for scripters.* Visual EnhancementThese systems are all designed to add physical apperance to your game.* Character DevelopmentThese systems are all designed to allow your characters to developedynamically, either their stats, skills or new features for them.* Enemy DevelopmentThese systems are all designed to allow your enemies to develpedynamically, either their stats, skills or new features for them.* System EnhancementThese systems are all designed to add or modify the default systems.* Additional SystemThese systems are all designed to add more gameplay. They are allnew systems to RMXP bringing more for the players to do.* Mini GamesThese systems are all designed to give your players something todo besides the main game. They are just specialized Additionalsystems that are games themselves.* Battle EnhancementThese systems are all designed to add to the default battle system.* Battle SystemsCompletely New Battle Systems, that will either modify the defaultor create a new one.* SDK ConversionsNon-SDK scripts made SDK. The idea is to re-write problem areasthat re-write SDK created methods and format the scripts to theSDK standards.* Mini Systems & RequestThese system are all little mini-scripts, that don't really fit intoany other catagory. Just little things I thought I would share. #============================================================================== C) Current Script Listings * Required Scripts (03)~ RSC Require (By Yeyinde) (1.5) : 2007~ The RMXP SDK (2.3) : 2007-07-22~ Method & Class Library (2.1) : 2007-07-22* Library Development (09)~ Blur Screenshot (1.0) : 2007-04-02~ File Error Fix & Report (1.02) : 2007-04-28~ File Use Log (2.0) : 2007-02-25~ Map Screenshot Maker (1.1) : 2007-07-21~ Mouse Selectable Windows (2.0) : 2007-04-03~ Multiple Animations (1.0) : 2007-03-06~ Multiple Damages (1.0) : 2007-02-12~ Stat Bonus Base (1.0) : 2007-01-26~ Virtual Database (2.2) : 2007-04-11* RGSS Rewrites (03)~ Tilemap (Basic) (1.11) : 2007-07-31~ Tilemap (Flash Data) (1.01) : 2007-07-30~ Tilemap (Extra Autotiles) (1.0) : 2007-06-01* Developer Tools (30)~ Actor Stat Bonuses (3.0) : 2007-01-28~ Analog Movement (2.01) : 2007-08-23~ Anti Event Lag System (2.1) : 2007-04-02~ Auto-Revive System (1.0) : 2007-08-20~ Auto-Save System (1.0) : 2007-03-17~ Character Class Graphics (1.1) : 2007-01-24~ Character Icon Graphics (1.02) : 2007-01-24~ Character Sprite Frame Count (1.0) : 2007-07-18~ Class Based Stats (2.0) : 2007-02-19~ Class Support (2.0) : 2007-01-28~ Damage Limits (1.0) : 2007-08-06~ Damage Reductions (1.01) : 2007-01-24~ Encounter Control (2.1) : 2007-07-30~ Encounter Detection Chaser (1.0) : 2007-08-16~ Enhanced Item Parameters (1.01) : 2007-08-21~ Enemy Troops Extender (1.1) : 2007-07-09~ Equipment Autostates (1.0) : 2007-04-02~ Event Collisions (2.01) : 2007-07-23~ Extra Terrains (1.01) : 2007-01-24~ Mapping Layers (2.1) : 2007-07-25~ Multiple BGMS (1.0) : 2007-04-09~ Multiple Poison Effects (1.01) : 2007-08-21~ Save Event Locations (1.0) : 2007-03-12~ Skill/Equipment S & E Percents (1.0) : 2007-08-10~ Skills Use Element Sets (1.0) : 2007-03-01~ Skills Use Items (1.01) : 2007-01-24~ Sound Interaction System (1.0) : 2007-03-21~ SP Cost Modifers (1.1) : 2007-01-24~ Sprite Blink Colors (1.0) : 2007-04-02~ Stat Skills (1.1) : 2007-05-15~ Unarmed Stats & Development (2.0) : 2007-02-20* Visual Enhancement (10)~ Animated Battlebacks (2.1) : 2007-02-28~ Battleback Screen Stretch (1.0) : 2007-08-22~ Battler Sprite Bars (1.0) : 2007-08-21~ Enhanced BattleStatus Window (1.1) : 2007-03-13~ Event Text Display (4.0) : 2007-07-30~ Map Battlebacks (1.0) : 2007-08-23~ Perspective Sprites (1.0) : 2007-01-05~ Scroll Status Display (1.1) : 2007-07-26~ Skill Learn Display (2.0) : 2007-02-16~ State Pops (2.01) : 2007-08-21* Character Development (05)~ Blue, Geomancy & Level Skills (1.11) : 2007-02-10~ Final Fantasy I Magic System (1.0) : 2007-08-06~ Learn Skills from Items (1.11) : 2007-08-21~ Party Stats (2.0) : 2007-08-06~ Skill Mana System (2.01) : 2007-08-21* Enemy Development (06)~ Dynamic Enemies (3.01) : 2007-05-11~ Dynamic Enemies - Database + (1.0) : 2007-08-06~ Dynamic Enemy Actions (1.1) : 2007-03-01~ Dynamic + Add. Enemy Drops (3.0) : 2007-03-01~ Game Difficulty (3.0) : 2007-03-01~ Game Difficulty (Alt.) (2.01) : 2007-08-02* System Enhancement (01)~ Advanced Title Screen (2.0) : 2007-03-01* Additional System (07)~ Action Encounters (1.01) : 2007-07-26~ Battle Simulator (1.0) : 2007-06-02~ Keyword Encyclopedia (1.1) : 2007-03-02~ Multiple Languages (2.11) : 2007-08-05~ Party Switcher + Extra Parties (1.21) : 2007-08-01~ Quick Treasure Chest (2.21) : 2007-08-22~ WorldMap Teleporter (2.0) : 2007-02-26* Mini Games (00)* Battle Enhancement (07)~ Battle Equipping (1.01) : 2007-08-05~ Battle Escaping (1.0) : 2007-07-28~ Battle Leaders (1.0) : 2007-05-07~ Battle Switching (2.1) : 2007-07-29~ Dynamic Defending (1.0) : 2007-07-28~ Escaping Cost (1.01) : 2007-08-01~ Battle Command Memory (1.01) : 2007-08-05* Battle Systems (00)* SDK Conversions (00)* Mini Systems & Request (02)~ Draw HP/SP/Exp Percents (1.0) : 2007-07-27~ On Map Party Cycler (1.0) : 2007-06-15#============================================================================== D) Scripts to be Updated / Finished SCRIPT NAME (VERSION) : DATE UPDATED ~ Action Battlers (1.1) : 2006-10-24~ Character Holograms (1.01) : 2006-10-23~ Crafting System (1.1) : 2006-10-17~ Dodger Mini-Game (1.9) : 2007-04-05~ Dynamic Banking System (1.0) : 2005-11-12~ Dynamic Currencies (1.01) : 2006-10-24~ Equipment, Item & Skill Reqs (0.9) : 2006-10-30~ Equipment Skills (2.01) : 2006-04-13~ FFVIII Skill Points (1.0) : 2006-12-01~ Gameover to Inn (3.1) : 2006-11-30~ Hero Database (1.0) : 2006-02-22~ Inn & Savepoint System (2.0) : 2006-10-19~ Introduction & Splash System (4.0) : 2006-12-06~ Item Inventory (1.0) : 2005-12-03~ Map Effects (2.0) : 2006-03-04~ Path Finding (1.0) : 2005-11-29~ Shift Puzzles (2.0) : 2006-07-28~ Skill Shop (1.0) : 2006-04-06~ Skill & Item Sorting (0.9) : 2006-08-06~ Star Ocean Battle Arena (1.0) : 2005-12-22~ Storage Box System (1.0) : 2006-04-16~ Sudoku Puzzles (1.0) : 2006-08-06~ Tilemap (Extra Autotiles) (1.1) : 2007-06-03~ Vehicle System (1.0) : 2006-04-12~ Weapon Specials (1.0) : 2006-11-04~ Goldenshadow : Adv. Fishing (1.8) : 2005-07-29~ Ccoa : Minecart Mayhem (1.0) : 2005-07-30 ~ Skill Mana System - Restore Options~ Zelda Title System And MUCH MUCH MORE! GO ME!#============================================================================== E) Possible Future Releases =end #=========================================================================

 

Link to comment
Share on other sites

allora prima di tutto scusa il necropost ma alla fine della battaglia nn sio potrebbero mettere delle barre per l'esperianza? comunque bello script lo usero senz'altro

http://mypsn.eu.playstation.com/psn/profile/gianlu9767.png

 

Il mio progetto personale: (Sospeso)

 

http://img833.imageshack.us/img833/3821/progresso.png <-------Clicca sul banner per vedere il mio sito

Cercasi personale (anche alle prime armi) possibilmente grafico e storyboarder

 

 

Link to comment
Share on other sites

@shuji gasp... è un po lunghetto il tuo bs XD Errore di sintassi mmm.. Prova a dirmiesattamente che errore ti da.

@Gianlu per le barre beh non penso ci voglia molto basta integrare qualasiasi script che faccia le barre e inserirle all interno delle finestre...

Link to comment
Share on other sites

Il tuo battle system sostituisce il main della battaglia cancellando la finestra denominata @status_window XD

QUindi prova a cancellare la linea del mio script che ti da errore, e vedi se funziona

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...