-
Posts
65 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by redXIII
-
-
grazzie io per ricambiarti se vuoi e se ti serve ti posso offrire qualcosa in 3d se ti serve qualcosa puoi chiederlo...grazie mi hai salvato lo sto a cercare da gg
-
ancora non lo provato ma sa k è bello complimenti
-
bello scrip...complimenti
-
si buona idea ci provo anche se abbiamo cambiato un po' la prospetiva perchè lo script ci dava problemi...cmq ora provo a modificare i chara e poi ti dico grazie per il suggerimento
-
bello lo provato...cio messo un po' per scaricarlo ma ne valeva la pena bello mi so bloccato al boss finale sarà k non mi so allenato per niente ma bel gioco...complimenti
-
bel modo di apprendimento
-
ciao ragazzi ho estremo bisogno di save point però devono essere della granadezza dei chara di ragnarok...non è che avete qualcosa, un cristallo un libro, qualcosa grazie fin da ora per l'aiuto
-
grazie stavo cercando prorprio questi...
-
si ma io non sto usando i titleset comuni anche se sono grandi non importa anzi meglio grandi che piccoli...
-
grazie ma io stavo cercando tutte le animazioni perchè devo fare il mostro che cammina, per quanto riguarda il bs io non sto usando quello Minkoff ne uso uno diverso e per ciò devo trovare i chara base...però non so dove, dal gioco non posso ripparli?
-
entrambi...
-
ciao ragazzi dove posso trovare i mostri stile Ragnarok con le varie posizioni??
-
ottimo script mi funziona alla perfezione sei un grande...
-
Grazie lo provo subito...poi ti facccio sapere...
-
Grazie...di tutto calcola e quel coso della nebbia non l'avevo proprio visto...cmq per gli script io stavo pensando non è che si può cambiare il numero della velocità direttamente sullo script senza crearlo uno nuovo??
-
avrei un paio di domande che saranno pure stupide ma non sono capace e risolvere...
1-come faccio a far muovere la nebbia...
2-nel rpg2000 si poteva far muovere il panorama qui non si può esiste uno script...se esiste non lo trovato...
3-come faccio a diminuire la velocità del pg, non con gli eventi, vorrei un andatura tra piano e veloce, una via di mezzo
mi sapreste aiutare
-
ci avevo pensato con i panorama l'unico prob. e che non riesco a vedere ciò che si vede sulla mappa così preferisco usare i titleset
-
all'ora la uso le texture per i paesaggi in 3d ma per applicarli sul gioco uso i titleset...lo schema e tipo quello dei vecchi ff quando la telecamera è fissa...
-
grazie per i consigli moltheni riguardo i titlese sono realizzati con 3d studio max non li ho rippati da un gioco, poi per il personaggiohai ragione ho gia effettuato le dovute modifiche come mi hanno suggerito pure gli altri, poi per lo script lo gia ideato,dallo screen non si vede niente ma nel gioco il pg se si allontana diventa piccolo e se si avvicina diventa grande. per quanto riguarda la poca ita nella città e perchè ancora devo riempire il posto con i chara abbitanti questo screen lo usato come prova...cmq grazie per i consigli...
-
non ci abbiamo pensato di truccare un po' i chara ora ci provo e poi vi faccio vedere...
-
si lo so i Chara stonano ma purtoppo in 3d non ci sono capace di farli o merglio li faccio ma fanno cacare... riguardo alla scritta la L e il fon che fa così e non sei il primo che mi dice che è poco leggibile...
grazie per i consigli
-
Dopo un lungo periodo di preparazione studio e molto altro vi presentiamo l'imperdibile GDR della Phoenix soft che con questo progetto rompe lo schema 2d per iniziare sempre con Rpg maker il nuovo progetto in 3d!!
SIAMO LIETI DI PRESENTARE LAST LEGEND nuova serie.
In passato abbiamo fatto dei progetti anche se non li conoscete perchè abbiamo deciso di iniziare direttamente con questo gioco.
No vi diciamo quasi niente in questa anteprima vi mostrerò solo qualche screen del gioco con qualche nostro commento, la data di rilascio del gioco e molto lontana anche perchè stiamo ancora finendo i titleset.
Ecco il logo e il nome di questo progetto...
http://img473.imageshack.us/img473/4876/002kg0.jpguno screen di una mappa nel gioco
ecco invece uno screen di una battaglia
poi giudicate voi...commentate...pure critiche
-
ok grazie ora ci proverò...
-
Ottimo tutorial utile...
Cmq senti visto che sei così informato sai se posso fare vedere un immagine mentre si istalla il game

PROBLEMA CON UNO SCRIPT
in Supporto XP
Posted · Edited by redXIII
ciao a tutti mi potete per favore dare una mano con uno script...
vi spiego: ho preso il menu di ProGM ispirato a final fantasy 12 e volevo madificare alcune cose, cioè alcuni cambiamenti li ho fatti gia da me ma qualcosa non mi funziona...
ora vi illustro il probblema:
Volevo modificare la classe mappa, nel menu:
Attualmente il comando apre un disegno o picture, che viene posto come sfondo al menu
io invece volevo far sì che teletrasportasse il pg in una mappa
così ho pensato di usare un switch...
ho usato questo codice per attivare la switch nello script:
ora il probblema è che non vuole partire e mi dà errore e non capisco il perché...mi potete dera una mano?
# ***CMS*** # Ispirato a FFXII. # By ProGM class Window_Base2 < Window_Base def draw_actor_face(actor, x, y) bitmap = RPG::Cache.picture(actor.name) cw = bitmap.width ch = bitmap.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end def draw_actor_level(actor, x, y) self.contents.font.color = normal_color self.contents.font.size = 40 self.contents.font.name = "Addled" if actor.level < 10 self.contents.draw_text(x + 32, y, 32, 32, "0" + actor.level.to_s, 2, 2) else self.contents.draw_text(x + 32, y, 32, 32, actor.level.to_s, 2, 2) end self.contents.font.size = $fontsize self.contents.font.name = $fontface end def draw_actor_exp(actor, x, y) 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 + 48, y, 84, 32, actor.exp_s, 1, 2) self.contents.font.color = Color.new(120, 120, 120) if actor.exp_s.to_i < 10 self.contents.font.color = Color.new(255, 255, 255, 120) self.contents.draw_text(x + 40, y, 84, 32, "0000", 0, 2) elsif actor.next_exp_s.to_i < 100 self.contents.draw_text(x + 40, y, 84, 32, "000", 0, 2) elsif actor.next_exp_s.to_i < 1000 self.contents.draw_text(x + 40, y, 84, 32, "00", 0, 2) elsif actor.next_exp_s.to_i < 10000 self.contents.draw_text(x + 40, y, 84, 32, "0", 0, 2) end self.contents.font.color = normal_color x = x + 140 self.contents.font.color = system_color self.contents.draw_text(x - 3, y, 40, 32, "NEXT") self.contents.font.color = normal_color self.contents.draw_text(x + 42, y, 84, 32, actor.next_exp_s, 1, 2) self.contents.font.color = Color.new(120, 120, 120) if actor.next_exp_s.to_i < 10 self.contents.font.color = Color.new(255, 255, 255, 120) self.contents.draw_text(x + 40, y, 84, 32, "0000", 0, 2) elsif actor.next_exp_s.to_i < 100 self.contents.draw_text(x + 40, y, 84, 32, "000", 0, 2) elsif actor.next_exp_s.to_i < 1000 self.contents.draw_text(x + 40, y, 84, 32, "00", 0, 2) elsif actor.next_exp_s.to_i < 10000 self.contents.draw_text(x + 40, y, 84, 32, "0", 0, 2) end self.contents.font.color = normal_color end def draw_actor_hp(actor, x, y, width = 144) # Draw "HP" text string self.contents.draw_text(x + 80, y - 25, 48, 32, "HP/Max", 0, 2) # Calculate if there is draw space for MaxHP if width - 32 >= 108 hp_x = x + width - 108 flag = true elsif width - 32 >= 48 hp_x = x + width - 48 flag = false end # Draw HP self.contents.font.size = 33 self.contents.font.color = actor.hp == 0 ? knockout_color : actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color self.contents.draw_text(hp_x, y - 6, 48, 32, actor.hp.to_s, 2, 2) # Draw MaxHP if flag self.contents.font.color = normal_color self.contents.font.size = $fontsize self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1, 2) self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s, 0, 2) end end def draw_actor_sp(actor, x, y, width = 144) # Draw "SP" text string self.contents.draw_text(x + 80, y - 25, 48, 32, "SP/Max", 0, 2) # Calculate if there is draw space for MaxHP if width - 32 >= 108 sp_x = x + width - 108 flag = true elsif width - 32 >= 48 sp_x = x + width - 48 flag = false end # Draw SP self.contents.font.color = actor.sp == 0 ? knockout_color : actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color self.contents.font.size = 33 self.contents.draw_text(sp_x, y - 6, 48, 32, actor.sp.to_s, 2, 2) # Draw MaxSP if flag self.contents.font.color = normal_color self.contents.font.size = $fontsize self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1, 2) self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s, 0, 2) end end 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.draw_text(x, y, 120, 32, parameter_name) self.contents.font.color = normal_color self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2) end end class Window_Selectable2 < Window_Base2 attr_reader :index # cursor position attr_reader :help_window # help window def initialize(x, y, width, height) super(x, y, width, height) @item_max = 1 @column_max = 1 @index = -1 end def index=(index) @index = index if self.active and @help_window != nil update_help end update_cursor_rect end def row_max return (@item_max + @column_max - 1) / @column_max end def top_row return self.oy / 32 end def top_row=(row) if row < 0 row = 0 end if row > row_max - 1 row = row_max - 1 end self.oy = row * 32 end def page_row_max return (self.height - 32) / 32 end def page_item_max return page_row_max * @column_max end def help_window=(help_window) @help_window = help_window if self.active and @help_window != nil update_help end end def update_cursor_rect if @index < 0 self.cursor_rect.empty return end row = @index / @column_max if row < self.top_row # Scroll so that current row becomes top row self.top_row = row end # If current row is more to back than back row if row > self.top_row + (self.page_row_max - 1) # Scroll so that current row becomes back row self.top_row = row - (self.page_row_max - 1) end # Calculate cursor width cursor_width = self.width / @column_max - 32 # Calculate cursor coordinates x = @index % @column_max * (cursor_width + 32) y = @index / @column_max * 32 - self.oy # Update cursor rectangle self.cursor_rect.set(x, y, cursor_width, 32) end def update super # If cursor is movable if self.active and @item_max > 0 and @index >= 0 # If pressing down on the directional buttons if Input.repeat?(Input::DOWN) if (@column_max == 1 and Input.trigger?(Input::DOWN)) or @index < @item_max - @column_max # Move cursor down $game_system.se_play($data_system.cursor_se) @index = (@index + @column_max) % @item_max end end # If the up directional button was pressed if Input.repeat?(Input::UP) if (@column_max == 1 and Input.trigger?(Input::UP)) or @index >= @column_max $game_system.se_play($data_system.cursor_se) @index = (@index - @column_max + @item_max) % @item_max end end # If the right directional button was pressed if Input.repeat?(Input::RIGHT) if @column_max >= 2 and @index < @item_max - 1 # Move cursor right $game_system.se_play($data_system.cursor_se) @index += 1 end end # If the left directional button was pressed if Input.repeat?(Input::LEFT) # If column count is 2 or more, and cursor position is more back than 0 if @column_max >= 2 and @index > 0 # Move cursor left $game_system.se_play($data_system.cursor_se) @index -= 1 end end # If R button was pressed if Input.repeat?(Input::R) # If bottom row being displayed is more to front than bottom data row if self.top_row + (self.page_row_max - 1) < (self.row_max - 1) # Move cursor 1 page back $game_system.se_play($data_system.cursor_se) @index = [@index + self.page_item_max, @item_max - 1].min self.top_row += self.page_row_max end end # If L button was pressed if Input.repeat?(Input::L) # If top row being displayed is more to back than 0 if self.top_row > 0 # Move cursor 1 page forward $game_system.se_play($data_system.cursor_se) @index = [@index - self.page_item_max, 0].max self.top_row -= self.page_row_max end end end # Update help text (update_help is defined by the subclasses) if self.active and @help_window != nil update_help end # Update cursor rectangle update_cursor_rect end end class Window_MenuStatus < Window_Selectable2 def initialize super(0, 0, 430, 416) self.contents = New_Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize refresh self.active = false self.index = -1 end def refresh self.contents.clear @item_max = $game_party.actors.size for i in 0...$game_party.actors.size x = 64 y = i * 90 actor = $game_party.actors[i] draw_actor_face(actor, x - 30, y + 38) draw_actor_level(actor, x - 32, y) draw_actor_exp(actor, x, y + 35) draw_actor_hp(actor, x + 50, y + 16) draw_actor_sp(actor, x + 180, y + 16) end end def update_cursor_rect if @index < 0 self.cursor_rect.empty else self.cursor_rect.set(0, @index * 90 - 7, self.width - 32, 70) end end end class Window_Help2 < Window_Base def initialize super(-10, 0, 672, 64) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize end 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.blt(0, 3, RPG::Cache.icon("Help.png"), Rect.new(0, 0, 32, 24)) self.contents.draw_text(36, 0, self.width - 40, 32, text, align) @text = text @align = align end self.visible = true end def choice(id) case id when 0 set_text("Per inserire o escudere dal gruppo i vari personaggi.") when 1 set_text("Per dare uno sguardo ai nostri personaggi e alle loro condizioni.") when 2 set_text("Per dotare i personaggi di nuove armi o armature.") when 3 set_text("Qui è contenuto l'elenco di oggetti posseduti dal gruppo.") when 4 set_text("Qui verranno mostrate le abilita di ogni eroe.") when 5 set_text("La mappa principale.") when 6 set_text("Per salvare la partita.") when 7 set_text("Per caricare una partita salvata.") when 8 set_text("Per uscire dal gioco.") end end end class New_Bitmap < Bitmap def draw_text(x, y, w, h, text, m = 0, command = 0) case command when 0 super (x, y, w, h, text, m) when 1 old_color = font.color.dup font.color = Color.new(0, 0, 0, 120) super (x - 2, y + 2, w, h, text, m) font.color = old_color super (x, y, w, h, text, m) when 2 old_color = font.color.dup font.color = Color.new(0, 0, 0, 255) super (x - 1, y - 1, w, h, text, m) super (x - 1, y + 1, w, h, text, m) super (x + 1, y - 1, w, h, text, m) super (x + 1, y + 1, w, h, text, m) font.color = old_color super (x, y, w, h, text, m) end end end class Scene_Menu def initialize(menu_index = 0) @menu_index = menu_index end def main @background = Sprite.new @background.bitmap = RPG::Cache.picture("BackGround.png") # Make command window s1 = "1 Battle Member" s2 = "2 Status" s3 = "3 Inventario" s4 = "4 Oggetti" s5 = "5 Magie" s6 = "6 Mappa" s7 = "7 Salva" s8 = "8 Carica" s9 = "9 Esci" @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7, s8, s9]) @command_window.index = @menu_index @command_window.x = 20 @command_window.y = 64 @command_window.opacity = 76 # If number of party members is 0 if $game_party.actors.size == 0 # Disable items, skills, equipment, and status @command_window.disable_item(0) @command_window.disable_item(1) @command_window.disable_item(2) @command_window.disable_item(3) end # If save is forbidden if $game_system.save_disabled # Disable save @command_window.disable_item(4) end @help_window = Window_Help2.new @help_window.opacity = 0 # Make status window @status_window = Window_MenuStatus.new @status_window.x = 180 @status_window.y = 64 @status_window.opacity = 0 # Make gold window @gold_window = Window_Gold.new @gold_window.x = 20 @gold_window.y = 400 @gold_window.opacity = 76 # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze # Dispose of windows @background.dispose @help_window.dispose @command_window.dispose @status_window.dispose @gold_window.dispose @map.dispose if @map != nil end def update # Update windows @command_window.update @status_window.update @gold_window.update @help_window.choice(@command_window.index) # If command window is active: call update_command if @command_window.active update_command return end # If status window is active: call update_status if @status_window.active update_status return end end def update_command # If B button was pressed if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Map.new return end # If C button was pressed if Input.trigger?(Input::C) # If command other than save or end game, and party members = 0 if $game_party.actors.size == 0 and @command_window.index < 4 # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Branch by command window cursor position case @command_window.index when 3 # item mod # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to item screen $scene = Scene_Item.new when 0 # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to item screen $scene = Scene_Battler.new when 4 # skill mod # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @status_window.active = true @status_window.index = 0 when 5 # map mod $game_system.se_play($data_system.decision_se) $game_switches[008] = true $scene = Scene_Map.new when 2 # equipment mod # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @status_window.active = true @status_window.index = 0 when 1 # status mod # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @status_window.active = true @status_window.index = 0 when 6 # save mod # If saving is forbidden if $game_system.save_disabled # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to save screen $scene = Scene_Save.new when 7 # load mod $game_system.se_play($data_system.decision_se) $scene = Scene_Load.new(true) when 8 # end game mod # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to end game screen $scene = Scene_End.new end return end end def update_status # If B button was pressed if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Make command window active @command_window.active = true @status_window.active = false @status_window.index = -1 return end # If C button was pressed if Input.trigger?(Input::C) # Branch by command window cursor position case @command_window.index when 4 # skill # If this actor's action limit is 2 or more if $game_party.actors[@status_window.index].restriction >= 2 # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to skill screen $scene = Scene_Skill.new(@status_window.index) when 2 # equipment # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to equipment screen $scene = Scene_Equip.new(@status_window.index) when 1 # status # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to status screen $scene = Scene_Status.new(@status_window.index) end return end end end class Game_Actor < Game_Battler attr_accessor :active alias other_setup setup def setup(actor_id) other_setup(actor_id) @active = true end end class Scene_Battle def phase3_next_actor begin if @active_battler != nil @active_battler.blink = false end if @actor_index == $game_party.actors.size-1 start_phase4 return end @actor_index += 1 if $game_party.actors[@actor_index].active == false @actor_index += 1 $game_party.actors[@actor_index].current_action.basic == 1 unless @actor_index == $game_party.actors.size end if @actor_index == $game_party.actors.size start_phase4 return end @active_battler = $game_party.actors[@actor_index] @active_battler.blink = true end until @active_battler.inputable? phase3_setup_command_window end end class Scene_Battler def main @names=[] for i in $game_party.actors @names.push(i.name) end @command_window = Window_Command.new(200, @names) for i in 0...$game_party.actors.size if $game_party.actors[i].active == false @command_window.disable_item(i) end end @command_window.x = 120 @command_window.y = 100 # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze @command_window.dispose end def update @command_window.update if Input.trigger?(Input::C) case @command_window.index when 0 if $game_party.actors[0].active == false $game_party.actors[0].active = true else $game_party.actors[0].active = false end when 1 if $game_party.actors[1].active == false $game_party.actors[1].active = true else $game_party.actors[1].active = false end when 2 if $game_party.actors[2].active == false $game_party.actors[2].active = true else $game_party.actors[2].active = false end when 3 if $game_party.actors[3].active == false $game_party.actors[3].active = true else $game_party.actors[3].active = false end end @command_window.dispose @names=[] for i in $game_party.actors @names.push(i.name) end @command_window = Window_Command.new(200, @names) for i in 0...$game_party.actors.size if $game_party.actors[i].active == false @command_window.disable_item(i) end end @command_window.x = 120 @command_window.y = 100 end if Input.trigger?(Input::B) $scene = Scene_Menu.new(0) end end end class Sprite_Battler < RPG::Sprite alias old_update update def update old_update self.opacity = 120 if @battler.is_a?(Game_Actor) and @battler.active == false self.color = Color.new(255, 255, 255, 90) if @battler.is_a?(Game_Actor) and @battler.active == false end end class Scene_Load alias old_initialize initialize def initialize(menu = false) @menu = menu old_initialize end def on_cancel $game_system.se_play($data_system.cancel_se) if @menu $scene = Scene_Menu.new(7) else $scene = Scene_Title.new end end end