Jump to content
Rpg²S Forum
  • 0

Problema script espansione party


Depa Marco
 Share

Question

ciao a tutti...

io ho un grosso problema... ho prelevato da QUI' uno script in grado di ampliare il gruppo fino a 8...

lo script introduce una voce nuova nel menu "ordina", in modo tale che solo i primi 4 in gruppo possono combattere...

dopo aver seguito alla lettera le istruzioni (ho anche ricontrollato tutto 2 volte XDXD), succedono due cose:

- se siamo in 4 in gruppo, il combattimento si svolge benissimo... però se salvo e poi ricarico la partita, alla prima battaglia mi esce questo errore:

http://img255.imageshack.us/img255/1770/errorebattaglia.png

(alla riga indicata c'è $battle_party.setup_battle_members)

 

- se invece siamo + di 4 in gruppo, mentre combattiamo ci sono dei momenti dove il 5o, il 6o, il 7o e l'8o giocatore possono combattere, anche se la loro grafica relativa non viene visualizzata...

 

(mamma mia quanto ho scritto :D ma spero di essere stato chiaro...)

 

intanto, grazie a tutti!!!

Edited by Depa Marco
Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0
Io non me ne intendo di script, ma è probabile che quello script va in conflitto con altri, hai provato a copiare lo stesso progetto in un'altra cartella e eliminare tutti gli script che hai aggiunto tranne questo?. Forse se lo fai ti funziona.

http://i47.tinypic.com/245zg48.jpg

Epic win:

A nessuno è mai successo di fare sogni lucidi?
Ne faccio solo opachi... =(

Progetto in corso:

  • Lands Siege

Lands Siege, il destino è nelle tue mani. Se volete vedere un gioco degno del suo nome cliccate sul banner. Il gioco è ancora in via di sviluppo.

 

Collaborazione speciale al progetto Lands Siege:

Valentino Avon (Scripter)

http://i33.tinypic.com/112fq1l.jpg

 

Storia l l l l l l l l l l

Grafica l l l l l l l l l l

Sonoro l l l l l l l l l l

Eventi l l l l l l l l l l

Script l l l l l l l l l l

 

Completamento gioco l l l l l l l l l l

 

 

Contest

http://i52.tinypic.com/2lazfpg.jpg

 

 

Link to comment
Share on other sites

  • 0

Lo script che hai indicato è una versione obsoleta, ed il problema che hai riscontrato è risolvibile, un po' macchinosamente, ma risolvibile . . . (Tra l'altro è indicato anche quasi in fondo alla pagina che hai linkato tu, e non ti avrebbe dato errore se le avessi eseguite . . . :cool: )

Basta eseguire con attenzione le istruzioni che trovi nel seguente topic: 8 personaggi nel party (con fix per le battaglie) by Tio @ RPG2S

 

E ti conviene leggerlo per intero, questa volta . . . :smile:

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 0

Hai sostituito battle_party a game_party come spiegato nel topic?

Magari hai saltato una classe da modoficare.

-Avatar imperioso-Teca delle glorie(lol):

 

 

Terzo posto Poetry&Letterature Contest(inglesizzato perchè fa serio)

http://img806.imageshack.us/img806/3015/terzoposto.png

Il 3 grasso di Thokk XDScarica La Guerra di Piero

 

"Il segreto per un buon soufflè di patate...sono le patate! - Maestro Yoda (Lo Svarione degli Anelli 3, Il ritorno del Padrino x°°°D)

Primo Ren, conserverò gelosamente xD - Il primo ba-*hem* Ren non si scorda mai.Chazzate

 

Apo esegue un incantesimo sciamanico molto potente e molto duro per cui si concentra in silenzio per molti minuti, finchè, ritenendosi pronto, riesce infine ad evocare il Grande Spirito che col suo immenso potere disintegra tutti

http://www.iaza.com/work/110609C/iaza11020742952300.gifUn dono di Hash (<3)

 

 

http://i1141.photobucket.com/albums/n597/RazakGik/Psy-Kita-Kita.gif

 

 

 

 

 

 

Apo resta per me un mistero.

 

Link to comment
Share on other sites

  • 0

Allora, ho realizzato un fix per le battaglie per i giochi che usano questo script, diverso e più semplice da applicare rispetto a quello proposto da Tio . . .

 

Quindi, per usare lo script di Tio che estende il party a 8 PG, adesso dovreste fare così:

1) Inserire nello script editor questa versione dello script di Tio

 

 

 

 

## Script per avere fino a 8 personaggi nel gruppo V 3.0# Codice creato da Tio con l'aiuto di Alato# Per domande o informazioni visitate www.rpgshrine.altervista.org# Si ringrazia www.phylomortis.com da cui è stato preso lo script per riordinare i personaggi# ==========class Game_Partydef add_actor(actor_id)   # Acquisizione Eroe   actor = $game_actors[actor_id]   # Quando ci sono meno di 4 eroi e l'eroe non è già nel gruppo   if @actors.size < 8 and not @actors.include?(actor)	 # Aggiungi Eroe	 @actors.push(actor)	 # Aggiornamento Giocatore	 $game_player.refresh   endendend class Window_Base < Window#--------------------------------------------------------------------------# - Disegna il nome#	 actor : Personaggio#	 x	 : Posizione del disegno: Coordinate X#	 y	 : Posizione del disegno: Coordinate Y#--------------------------------------------------------------------------def draw_actor_name(actor, x, y)   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.font.color = system_color   self.contents.draw_text(x, y, 120, 32, actor.name)end#--------------------------------------------------------------------------# - Disegna la classe#	 actor : Personaggio#	 x	 : Posizione del disegno: Coordinate X#	 y	 : Posizione del disegno: Coordinate Y#--------------------------------------------------------------------------def draw_actor_class(actor, x, y)   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.font.color = normal_color   self.contents.draw_text(x, y, 236, 32, actor.class_name)end#--------------------------------------------------------------------------# - Disegna il livello#	 actor : Personaggio#	 x	 : Posizione del disegno: Coordinate X#	 y	 : Posizione del disegno: Coordinate Y#--------------------------------------------------------------------------def draw_actor_level(actor, x, y)   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.font.color = system_color   self.contents.draw_text(x, y, 32, 32, "Lv")   self.contents.font.color = normal_color   self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)end#--------------------------------------------------------------------------# - Disegna lo stato#	 actor : Personaggio#	 x	 : Posizione del disegno: Coordinate X#	 y	 : Posizione del disegno: Coordinate Y#	 width : Ampiezza del disegno#--------------------------------------------------------------------------def draw_actor_state(actor, x, y, width = 120)   text = make_battler_state_text(actor, width, true)   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color   self.contents.draw_text(x, y, width, 32, text)end#--------------------------------------------------------------------------# - Disegna i punti EXP#	 actor : Personaggio#	 x	 : Posizione del disegno: Coordinate X#	 y	 : Posizione del disegno: Coordinate Y#--------------------------------------------------------------------------def draw_actor_exp(actor, x, y)   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.font.color = system_color   self.contents.draw_text(x, y, 40, 32, "EXP")   self.contents.font.color = normal_color   self.contents.draw_text(x + 40, y, 84, 32, actor.exp_s, 2)   self.contents.draw_text(x + 124, y, 12, 32, "/", 1)   self.contents.draw_text(x + 136, y, 84, 32, actor.next_exp_s)end#--------------------------------------------------------------------------# - Disegna i punti HP#	 actor : Personaggio#	 x	 : Posizione del disegno: Coordinate X#	 y	 : Posizione del disegno: Coordinate Y#	 width : Ampiezza del disegno#--------------------------------------------------------------------------def draw_actor_hp(actor, x, y, width = 144)   # Disegna la sequenza dei caratteri: "HP"   self.contents.font.color = system_color   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)   # Calcola se c'è qualche spazio che disegna i punti MaxHp   if width - 32 >= 108	 hp_x = x + width - 108	 flag = true   elsif width - 32 >= 48	 hp_x = x + width - 48	 flag = false   end   # Disegna i punti HP   self.contents.font.color = actor.hp == 0 ? knockout_color :	 actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color	 self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)   # Disegna i punti MaxHP   if flag	 self.contents.font.color = normal_color	 self.contents.font.name = "Arial"	 self.contents.font.size = 20	 self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)	 self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)   endend#--------------------------------------------------------------------------# - Disegna i punti MP#	 actor : Personaggio#	 x	 : Posizione del disegno: Coordinate X#	 y	 : Posizione del disegno: Coordinate Y#	 width : Ampiezza del disegno#--------------------------------------------------------------------------def draw_actor_sp(actor, x, y, width = 144)   # Disegna la sequenza dei caratteri: "MP"   self.contents.font.color = system_color   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)   # Calcola se c'è qualche spazio che disegna i punti MaxMp   if width - 32 >= 108	 sp_x = x + width - 108	 flag = true   elsif width - 32 >= 48	 sp_x = x + width - 48	 flag = false   end   # Disegna i punti MP   self.contents.font.color = actor.sp == 0 ? knockout_color :	 actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color	 self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)   # Disegna i punti MaxMP   if flag	 self.contents.font.color = normal_color	 self.contents.font.name = "Arial"	 self.contents.font.size = 20	 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)   endend#--------------------------------------------------------------------------# - Disegna un parametro#	 actor : Personaggio#	 x	 : Posizione del disegno: Coordinate X#	 y	 : Posizione del disegno: Coordinate Y#	 type  : Tipo di parametro (0~6)#--------------------------------------------------------------------------def draw_actor_parameter(actor, x, y, type)   case type   when 0	 parameter_name = $data_system.words.atk	 parameter_value = actor.atk   when 1	 parameter_name = $data_system.words.pdef	 parameter_value = actor.pdef   when 2	 parameter_name = $data_system.words.mdef	 parameter_value = actor.mdef   when 3	 parameter_name = $data_system.words.str	 parameter_value = actor.str   when 4	 parameter_name = $data_system.words.dex	 parameter_value = actor.dex   when 5	 parameter_name = $data_system.words.agi	 parameter_value = actor.agi   when 6	 parameter_name = $data_system.words.int	 parameter_value = actor.int   end   self.contents.font.color = system_color   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.draw_text(x, y, 120, 32, parameter_name)   self.contents.font.color = normal_color   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)end#--------------------------------------------------------------------------# - Disegna il nome di un oggetto#	 item : Oggetto#	 x	: Posizione del disegno: Coordinate X#	 y	: Posizione del disegno: Coordinate Y#--------------------------------------------------------------------------def draw_item_name(item, x, y)   if item == nil	 return   end   bitmap = RPG::Cache.icon(item.icon_name)   self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))   self.contents.font.color = normal_color   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.contents.draw_text(x + 28, y, 212, 32, item.name)endend class Window_Command < Window_Selectable #--------------------------------------------------------------------------# - Disegna un oggetto#	 index : Numero dell'oggetto#	 color : Colore del personaggio#--------------------------------------------------------------------------def draw_item(index, color)   self.contents.font.color = color   self.contents.font.name = "Arial"   self.contents.font.size = 20   rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)   self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))   self.contents.draw_text(rect, @commands[index])endend #====================================================# ■ Window_Steps#------------------------------------------------------------------------------#  メニュー画面で歩数を表示するウィンドウです。#==================================================== class Window_Steps < Window_Base#--------------------------------------------------------------------------# ● オブジェクト初期化#--------------------------------------------------------------------------def initialize   super(0, 0, 160, 74)   self.contents = Bitmap.new(width - 32, height - 32)   self.contents.font.name = "Arial"   self.contents.font.size = 24   refreshend#--------------------------------------------------------------------------# ● リフレッシュ#--------------------------------------------------------------------------def refresh   self.contents.clear   self.contents.font.color = system_color   self.contents.draw_text(4, 0, 120, 32, "Passi")   self.contents.font.color = normal_color   self.contents.draw_text(4, 10, 120, 32, $game_party.steps.to_s, 2)endend#====================================================# - Window_Target#------------------------------------------------------------------------------# E' lo schermo degli oggetti e delle abilità ed è la finestra dalla quale# si sceglie il personaggio da usare#==================================================== class Window_Target < Window_Selectable#--------------------------------------------------------------------------# - Inizializzazione dell'oggetto#--------------------------------------------------------------------------def initialize   super(0, 0, 280, 480)   self.contents = Bitmap.new(width - 32, height - 32)   self.contents.font.name = "Arial"   self.contents.font.size = 20   self.z += 10   @item_max = $game_party.actors.size   refreshend#--------------------------------------------------------------------------# - Aggiornamento#--------------------------------------------------------------------------def refresh   self.contents.clear   for i in 0...$game_party.actors.size	 x = 30	 y = i * 55	 actor = $game_party.actors[i]	 draw_actor_graphic(actor, x - 10, y + 55)	 draw_actor_name(actor, x, y)	 draw_actor_class(actor, x + 80, y)	 draw_actor_level(actor, x + 8, y + 18)	 draw_actor_state(actor, x + 8, y + 35)	 draw_actor_hp(actor, x + 88, y + 18)	 draw_actor_sp(actor, x + 88, y + 35)   endend#--------------------------------------------------------------------------# - Aggiornamento del rettangolo del cursore#--------------------------------------------------------------------------def update_cursor_rect   # Posizione del cursore: -1 tutte le selezione e sotto   # -2 sono selezioni indipendenti (l'utente stesso)   if @index <= -6	 self.cursor_rect.set(0, (@index + 10) * 55, self.width - 32, 62)#   elsif @index == -5	 self.cursor_rect.set(0, 0, self.width - 32, @item_max * 55 - 20)#   else	 self.cursor_rect.set(0, @index * 55, self.width - 32, 62)#   endendend #====================================================# - Window_MenuStatus#------------------------------------------------------------------------------# E' la finestra che mostra lo stato di un membro del gruppo nella# schermata di menù#====================================================class Window_MenuStatus < Window_Selectable#--------------------------------------------------------------------------# - Inizializzazione dell'oggetto#--------------------------------------------------------------------------def initialize   super(0, 0, 480, 480)   self.contents = Bitmap.new(width - 32, height - 32)   refresh   self.active = false   self.index = -1end#--------------------------------------------------------------------------# - Aggiornamento#--------------------------------------------------------------------------def refresh   self.contents.clear   self.contents.font.name = "Arial"   self.contents.font.size = 24   @item_max = $game_party.actors.size   for i in 0...$game_party.actors.size	 x = 0	 y = i * 57	 actor = $game_party.actors[i]	 draw_actor_graphic(actor, x + 20, y + 45)	 draw_actor_name(actor, x + 30, y)	 draw_actor_class(actor, x + 30, y + 24)	 draw_actor_level(actor, x + 120, y)	 draw_actor_state(actor, x + 120, y + 24)	 draw_actor_exp(actor, x + 190, y + 24)	 draw_actor_hp(actor, x + 190, y )	 draw_actor_sp(actor, x + 320, y)   endend#--------------------------------------------------------------------------# - Aggiornamento del rettangolo del cursore#--------------------------------------------------------------------------def update_cursor_rect   if @index < 0	 self.cursor_rect.empty   else	 self.cursor_rect.set(0, @index * 57, self.width - 32, 57)   endendend class Window_Steps < Window_Basedef initialize   super(0, 0, 160, 74)   self.contents = Bitmap.new(width - 32, height - 32)   self.contents.font.name = "Arial"   self.contents.font.size = 24   refreshendend #======# - Window_PlayTime#------# E' la finestra che mostra il tempo di gioco sulla schermata di menù#====== class Window_PlayTime < Window_Base#------# - Inizialiazzazione dell'oggetto#------def initialize  super(0, 0, 160, 86)  self.contents = Bitmap.new(width - 32, height - 32)  refreshend def refresh  self.contents.clear  self.contents.font.color = system_color  self.contents.font.name = "Arial"  self.contents.font.size = 24# self.back_opacity = 160  self.contents.draw_text(4, 0, 120, 32, "Tempo:")  @total_sec = Graphics.frame_count / Graphics.frame_rate  hour = @total_sec / 60 / 60  min = @total_sec / 60 % 60  sec = @total_sec % 60  # Verifico che sia trascorsa un'ora e calcolo il denaro da sommare  if sec == 59 and min == 59	calcola  end  text = sprintf("%02d:%02d:%02d", hour, min, sec)  self.contents.font.color = normal_color  self.contents.draw_text(4, 28, 120, 32, text, 2)endend

 

 

 

 

2) Se volete poter cambiare ordine ai PG nel party, inserite anche questo script, fatto da Tio (credo che funzioni solo con il Menu di base, ma non ho verificato . . .)

 

 

 

 

class Scene_Menu# --------------------------------  def initialize(menu_index = 0)	@menu_index = menu_index	@changer = 0	@where = 0	@checker = 0  end# --------------------------------  def main	s1 = $data_system.words.item	s2 = $data_system.words.skill	s3 = $data_system.words.equip	s4 = "Status"	s5 = "Ordina"	s6 = "Salva"	s7 = "Esci"	@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])	@command_window.index = @menu_index	if $game_party.actors.size == 0	  @command_window.disable_item(0)	  @command_window.disable_item(1)	  @command_window.disable_item(2)	  @command_window.disable_item(3)	end	if $game_system.save_disabled	  @command_window.disable_item(4)	end	if $game_party.actors.size == 1	  @command_window.disable_item(6)	end	@playtime_window = Window_PlayTime.new	@playtime_window.x = 0	@playtime_window.y = 256	@gold_window = Window_Gold.new	@gold_window.x = 0	@gold_window.y = 416	@steps_window = Window_Steps.new	@steps_window.x = 0	@steps_window.y = 342	@status_window = Window_MenuStatus.new	@status_window.x = 160	@status_window.y = 0	Graphics.transition	loop do	  Graphics.update	  Input.update	  update	  if $scene != self		break	  end	end	Graphics.freeze	@command_window.dispose	@playtime_window.dispose	@steps_window.dispose	@gold_window.dispose	@status_window.dispose  end# --------------------------------  def update	@command_window.update	@playtime_window.update	@gold_window.update	@steps_window.update	@status_window.update	if @command_window.active	  update_command	  return	end	if @status_window.active	  update_status	  return	end  end# --------------------------------  def update_command	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  $scene = Scene_Map.new	  return	end	if Input.trigger?(Input::C)	  if $game_party.actors.size == 0 and @command_window.index < 4		$game_system.se_play($data_system.buzzer_se)		return	  end	  if $game_party.actors.size == 1 and @command_window.index ==6		$game_system.se_play($data_system.buzzer_se)		return	  end	  case @command_window.index	  when 0		$game_system.se_play($data_system.decision_se)		$scene = Scene_Item.new	  when 1		$game_system.se_play($data_system.decision_se)		@command_window.active = false		@status_window.active = true		@status_window.index = 0	  when 2		$game_system.se_play($data_system.decision_se)		@command_window.active = false		@status_window.active = true		@status_window.index = 0	  when 3		$game_system.se_play($data_system.decision_se)		@command_window.active = false		@status_window.active = true		@status_window.index = 0	  when 4		$game_system.se_play($data_system.decision_se)		@checker = 0		@command_window.active = false		@status_window.active = true		@status_window.index = 0	  when 5		if $game_system.save_disabled		  $game_system.se_play($data_system.buzzer_se)		  return		end		$game_system.se_play($data_system.decision_se)		$scene = Scene_Save.new	  when 6		$game_system.se_play($data_system.decision_se)		$scene = Scene_End.new	  end	  return	end  end# --------------------------------  def update_status	if Input.trigger?(Input::B)	  $game_system.se_play($data_system.cancel_se)	  @command_window.active = true	  @status_window.active = false	  @status_window.index = -1	  return	end	if Input.trigger?(Input::C)	  case @command_window.index	  when 1		if $game_party.actors[@status_window.index].restriction >= 2		  $game_system.se_play($data_system.buzzer_se)		  return		end		$game_system.se_play($data_system.decision_se)		$scene = Scene_Skill.new(@status_window.index)	  when 2		$game_system.se_play($data_system.decision_se)		$scene = Scene_Equip.new(@status_window.index)	  when 3		$game_system.se_play($data_system.decision_se)		$scene = Scene_Status.new(@status_window.index)	  when 4		$game_system.se_play($data_system.decision_se)		if @checker == 0		  @changer = $game_party.actors[@status_window.index]		  @where = @status_window.index		  @checker = 1		else		  $game_party.actors[@where] = $game_party.actors[@status_window.index]		  $game_party.actors[@status_window.index] = @changer		  @checker = 0		  @status_window.refresh		end	  end	  return	end  endend

 

 

 

 

3) Ora, al posto di quel casino di roba da modificare per evitare problemi in battaglia, andate a fare una piccola ma importantissima modifica allo Script Game_Party di Default:

eliminate (!!!) la riga con scritto

attr_reader   :actors								  # actors

Dopodichè inserite questo script

 

 

 

class Game_Party  #''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''# Per far funzionare questo metodo bisogna ELIMINARE# la riga dello script di base Game_Party dove c'è scritto##	 attr_reader  :actors						  # actors#  def actors	if $game_temp.in_battle and @actors.size > 4	  return @actors[0..3]	end	return @actors  end  #''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''  #--------------------------------------------------------------------------  # * Determine if Command is Inputable  #--------------------------------------------------------------------------  def inputable?	# Return true if input is possible for one person as well	for actor in actors	 # @actors	  if actor.inputable?		return true	  end	end	return false  end  #--------------------------------------------------------------------------  # * Determine Everyone is Dead  #--------------------------------------------------------------------------  def all_dead?	# If number of party members is 0	if $game_party.actors.size == 0	  return false	end	# If an actor is in the party with 0 or more HP	for actor in actors	  # @actors	  if actor.hp > 0		return false	  end	end	# All members dead	return true  end  #--------------------------------------------------------------------------  # * Random Selection of Target Actor  #	 hp0 : limited to actors with 0 HP  #--------------------------------------------------------------------------  def random_target_actor(hp0 = false)	# Initialize roulette	roulette = []	# Loop	for actor in actors	 # @actors	  # If it fits the conditions	  if (not hp0 and actor.exist?) or (hp0 and actor.hp0?)		# Get actor class [position]		position = $data_classes[actor.class_id].position		# Front guard: n = 4; Mid guard: n = 3; Rear guard: n = 2		n = 4 - position		# Add actor to roulette n times		n.times do		  roulette.push(actor)		end	  end	end	# If roulette size is 0	if roulette.size == 0	  return nil	end	# Spin the roulette, choose an actor	return roulette[rand(roulette.size)]  end  #--------------------------------------------------------------------------  # * Random Selection of Target Actor (HP 0)  #--------------------------------------------------------------------------  def random_target_actor_hp0	return random_target_actor(true)  end  #--------------------------------------------------------------------------  # * Smooth Selection of Target Actor  #	 actor_index : actor index  #--------------------------------------------------------------------------  def smooth_target_actor(actor_index)	# Get an actor	actor = actors[actor_index]	  # @actor	# If an actor exists	if actor != nil and actor.exist?	  return actor	end	# Loop	for actor in actors	 # @actors	  # If an actor exists	  if actor.exist?		return actor	  end	end  end  #--------------------------------------------------------------------------  # * Getting Maximum Level  #--------------------------------------------------------------------------  def max_level	# If 0 members are in the party	if @actors.size == 0	  return 0	end	# Initialize local variable: level	level = 0	# Get maximum level of party members	for actor in actors	 # @actor	  if level < actor.level		level = actor.level	  end	end	return level  end  #end

 

 

 

 

Tra l'altro questa modifica ha un simpatico effetto collaterale: se il party contiene più di 4 membri ed in battaglia rimuovete uno di quelli che stanno combattendo, al suo posto entrerà in campo la prima della lista delle "riserve" . . .

E per far rientrare tra le riserve il PG appena tolto dal party, basta reinserirlo con l'apposito comando evento . . .

Come dicevo: Simpatico, no ? ;)

Edited by giver

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 0

Ma ti riferisci ai tre script che ho postato nel mio ultimo messaggio ?

 

A me non danno alcun errore, e se vuoi ti preparo una piccola demo . . .

 

Prova a creare un nuovo progetto, copiare lo script Scene_Title "nuovo", ossia senza modifiche, ed incollarlo al posto di quello che ti dà errore . . .

Perchè sembra che manchi la creazione di un'istanza di Game_Party, che magari hai cancellato per sbaglio . . .

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 0
Ma ti riferisci ai tre script che ho postato nel mio ultimo messaggio ?

 

A me non danno alcun errore, e se vuoi ti preparo una piccola demo . . .

 

Prova a creare un nuovo progetto, copiare lo script Scene_Title "nuovo", ossia senza modifiche, ed incollarlo al posto di quello che ti dà errore . . .

Perchè sembra che manchi la creazione di un'istanza di Game_Party, che magari hai cancellato per sbaglio . . .

si, mi riferisco ai messaggi....

ho provato con un progetto nuovo...

non so...

Link to comment
Share on other sites

  • 0

Forse ho capito cosa è successo . . .

Magari mi sono spiegato male io, ma bisognava cancellare solo una riga dallo script Game_Party di default, non l'intero script . . .

Questi script si limitano ad aggiungere funzioni e non funzionano autonomamente se non c'è l'originale . . .

 

Comunque, per eliminare ogni problema, ecco la demo funzionante:

http://hotfile.com/dl/68401444/912a77e/Par...-giver.zip.html

 

Nota: Io l'ho realizzata con la versione 1.02a, ma ho fatto in modo che si possa aprire il progetto anche con la 1.01.

Purtroppo, però, ho dimenticato di modificare il nome della DLL, ma puoi farlo tu aprendo il progetto con la tua versione di rpg maker xp e SALVANDOLO immediatamente . . .

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



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