mistercirro Posted July 6, 2007 Share Posted July 6, 2007 Quando copio gli script presenti sul sito, e li incollo nello scipt edtor di rpg maker xp, mi coo tutti su una sola riga, e non funzionano, sapete spiegarmi il motivo? Link to comment Share on other sites More sharing options...
0 marigno Posted July 6, 2007 Share Posted July 6, 2007 Perché purtroppo se si usa il codebox viene così. Link to comment Share on other sites More sharing options...
0 mistercirro Posted July 6, 2007 Author Share Posted July 6, 2007 Non c'è un mod per risolvere il problema? Link to comment Share on other sites More sharing options...
0 marigno Posted July 6, 2007 Share Posted July 6, 2007 Sì, copiare lo script prima su un documento nuovo e poi nello scripts editor. Link to comment Share on other sites More sharing options...
0 mistercirro Posted July 7, 2007 Author Share Posted July 7, 2007 Ho provato sia su word che su TX ma nn funziona. Link to comment Share on other sites More sharing options...
0 Broly88 Posted July 9, 2007 Share Posted July 9, 2007 o.O Stranissimo! A me funziona alla perfezione: prima copio lo script e lo incollo su word, e poi lo copio nuovamente e lo incollo direttamente nell'editor di Rpg Maker. Il mondo è il cancro... Io la cura... Il mio sport preferito:Gli altri --> (T_T#)O==(^_^Q) <-- IO I miei alias:http://www.naruto-kun.com/images/narutotest/shikamaru.jpg-----------------------------------------------------http://www.naruto-kun.com/images/narutotest/rocklee.jpg-----------------------------------------------------http://www.ff-fan.com/chartest/banners/auron.jpg Broly88'shttp://pokejungle.net/other/pokepet/trainers/e4k2.png http://pokejungle.net/other/pokepet/Charizard.gifFlame Dancer the level 99 Charizard! http://img259.imageshack.us/img259/7446/rockleeoj1.gif http://img233.imageshack.us/img233/7449/sorajm1.gif Link to comment Share on other sites More sharing options...
0 mistercirro Posted July 9, 2007 Author Share Posted July 9, 2007 Io ho provato così con uno script ed ha funzionato, poi ho provato cn lo script del menù ad ogetti in stile diablo, ma si è messo tutto su una riga. Link to comment Share on other sites More sharing options...
0 Broly88 Posted July 10, 2007 Share Posted July 10, 2007 Boh... mistero della fede informatica... Il mondo è il cancro... Io la cura... Il mio sport preferito:Gli altri --> (T_T#)O==(^_^Q) <-- IO I miei alias:http://www.naruto-kun.com/images/narutotest/shikamaru.jpg-----------------------------------------------------http://www.naruto-kun.com/images/narutotest/rocklee.jpg-----------------------------------------------------http://www.ff-fan.com/chartest/banners/auron.jpg Broly88'shttp://pokejungle.net/other/pokepet/trainers/e4k2.png http://pokejungle.net/other/pokepet/Charizard.gifFlame Dancer the level 99 Charizard! http://img259.imageshack.us/img259/7446/rockleeoj1.gif http://img233.imageshack.us/img233/7449/sorajm1.gif Link to comment Share on other sites More sharing options...
0 mistercirro Posted July 10, 2007 Author Share Posted July 10, 2007 Non è che me lo puoi passare tu lo script del menù degli ogetti in stile diablo? Link to comment Share on other sites More sharing options...
0 Timisci Posted July 10, 2007 Share Posted July 10, 2007 Più che riportare lo script non posso fare: #============================================================================== # Item System Diablo Style #------------------------------------------------------------------------------ # By DarkSchneider # www.rpg2s.net #------------------------------------------------------------------------------ # Credit to Schwarz for draw_line #============================================================================== class Scene_Item2 def initialize(actor_index = 0) @actor_index = actor_index end def main # Make help window, item window s1 = "Usa" s2 = "Sposta" s3 = "Lascia" @command_window = Window_Command.new(193, [s1, s2 , s3]) @command_window.y = 64 @help_window = Window_Help.new @grid = Window_Grid.new(@actor_index) @grid.active = false # Associate help window @grid.help_window = @help_window # Make target window (set to invisible / inactive) @target_window = Window_Target.new @target_window.visible = false @target_window.active = false @window_pc = Window_Base.new(0,192,193,287) @window_pc.contents = Bitmap.new(161,255) @window_pc.draw_actor_name($game_party.actors[@actor_index], 10, 0) @window_pc.draw_actor_picture($game_party.actors[@actor_index], 80, 250) # 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 @cursor_icon.dispose if @cursor_icon != nil # Dispose of windows @command_window.dispose @help_window.dispose #@item_window.dispose @target_window.dispose @grid.dispose @window_pc.dispose end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update # Update windows @command_window.update @help_window.update @target_window.update @grid.update if @command_window.active update_command return end # If item window is active: call update_item if @grid.active case @grid.mode when 0 update_usa when 1 @cursor_icon = Cursor_Icon.new if @cursor_icon == nil @cursor_icon.visible = false update_muovi when 2 update_lascia when 3 @cursor_icon.update update_muovi2 end return end # If target window is active: call update_target if @target_window.active update_target 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 menu screen $scene = Scene_Menu.new(0) return end if Input.trigger?(Input::C) # Branch by command window cursor position case @command_window.index when 0 # usa # Play decision SE $game_system.se_play($data_system.decision_se) @command_window.active = false @grid.active = true @grid.set = 0 @grid.mode = @command_window.index when 1 # sposta # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @grid.active = true @grid.set = 0 @grid.mode = @command_window.index when 2 # lascia # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @grid.active = true @grid.set = 0 @grid.mode = @command_window.index end return end end #-------------------------------------------------------------------------- # * Frame Update (when item window is active) #-------------------------------------------------------------------------- def update_usa # If B button was pressed if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to menu screen @command_window.active = true @grid.active = false @grid.set = - 1 return end # If C button was pressed if Input.trigger?(Input::C) # Get currently selected data on the item window @item = @grid.item # If not a use item unless @item.is_a?(RPG::Item) # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # If it can't be used unless $game_party.item_can_use?(@item.id) # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # If effect scope is an ally if @item.scope >= 3 # Activate target window @grid.active = false #@target_window.x = (@item_window.index + 1) % 2 * 304 @target_window.visible = true @target_window.active = true # Set cursor position to effect scope (single / all) if @item.scope == 4 || @item.scope == 6 @target_window.index = -1 else @target_window.index = 0 end # If effect scope is other than an ally else # If command event ID is valid if @item.common_event_id > 0 # Command event call reservation $game_temp.common_event_id = @item.common_event_id # Play item use SE $game_system.se_play(@item.menu_se) # If consumable if @item.consumable # Decrease used items by 1 $game_party.lose_item(@item.id, 1, false) # Draw item window item @grid.delete_item end # Switch to map screen $scene = Scene_Map.new return end end return end end #-------------------------------------------------------------------------- # * Frame Update (when target window is active) #-------------------------------------------------------------------------- def update_target # If B button was pressed if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # If unable to use because items ran out unless $game_party.item_can_use?(@item.id) # Remake item window contents @grid.refresh end # Erase target window @grid.active = true @target_window.visible = false @target_window.active = false return end # If C button was pressed if Input.trigger?(Input::C) # If items are used up if @grid.item_del? # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # If target is all if @target_window.index == -1 # Apply item effects to entire party used = false for i in $game_party.actors used |= i.item_effect(@item) end end # If single target if @target_window.index >= 0 # Apply item use effects to target actor target = $game_party.actors[@target_window.index] used = target.item_effect(@item) end # If an item was used if used # Play item use SE $game_system.se_play(@item.menu_se) # If consumable if @item.consumable # Decrease used items by 1 $game_party.lose_item(@item.id, 1, false) # Redraw item window item @grid.delete_item end # Remake target window contents @target_window.refresh # If all party members are dead if $game_party.all_dead? # Switch to game over screen $scene = Scene_Gameover.new return end # If common event ID is valid if @item.common_event_id > 0 # Common event call reservation $game_temp.common_event_id = @item.common_event_id # Switch to map screen $scene = Scene_Map.new return end end # If item wasn't used unless used # Play buzzer SE $game_system.se_play($data_system.buzzer_se) end return end end def update_muovi if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to menu screen @command_window.active = true @grid.active = false @grid.set = - 1 return end if Input.trigger?(Input::C) if @grid.item != nil @grid.get_item bitmap = Bitmap.new(32,32) x = 4 + (@grid.cursor_rect.width == 32 ? 0 : 18) y = 4 + (@grid.cursor_rect.height == 32 ? 0 : 32) bitmap.blt(0,0,@grid.contents,Rect.new(@grid.cursor_rect.x + x, @grid.cursor_rect.y + y,@grid.cursor_rect.width,@grid.cursor_rect.height)) @cursor_icon.refresh(bitmap, @grid.item_saved[1]) @grid.cursor_rect.width = @cursor_icon.bitmap.width @grid.cursor_rect.height = @cursor_icon.bitmap.height @cursor_icon.x = @grid.cursor_rect.x + @grid.x + 16 @cursor_icon.y = @grid.cursor_rect.y + @grid.y + 16 @cursor_icon.visible = true @grid.delete_item @grid.mode = 3 end return end end def update_lascia if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to menu screen @command_window.active = true @grid.active = false @grid.set = - 1 return end if Input.trigger?(Input::C) if @grid.item != nil @grid.delete_item end return end end def update_muovi2 @grid.cursor_rect.width = @cursor_icon.bitmap.width @grid.cursor_rect.height = @cursor_icon.bitmap.height @cursor_icon.x = @grid.cursor_rect.x + @grid.x + 16 @cursor_icon.y = @grid.cursor_rect.y + @grid.y + 16 if @grid.empty? @cursor_icon.blink_on @cursor_icon.tone.set(0,0,0,0) else @cursor_icon.blink_off @cursor_icon.tone.set(0,0,0,255) end if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to menu screen @grid.redraw_item(false) @grid.mode = 1 return end if Input.trigger?(Input::C) if @grid.empty? @grid.redraw_item @cursor_icon.visible = false @grid.mode = 1 end return end end end class Window_Selectable < Window_Base alias old_initialize initialize def initialize(x, y, width, height) old_initialize(x, y, width, height) if self.is_a?(Window_Grid) @x = 0 @y = 0 end end alias old_update update def update if !self.is_a?(Window_Grid) old_update return end super item = $game_party.actors[@actor_index].item_grid # If cursor is movable if self.active and @item_max > 0 and @x >= 0 # If pressing down on the directional buttons if Input.repeat?(Input::DOWN) @y = -1 if @y == item.size - (self.cursor_rect.height == 96 ? 3 : 1) @y += 2 if item[@y][@x][1] == "w" or item[@y][@x][1] == "a" if item[@y + 1][@x][1] == "r" and item[@y + 1][@x - 1][1] == "a" @x -= 1 end @y += 1 $game_system.se_play($data_system.cursor_se) end # If the up directional button was pressed if Input.repeat?(Input::UP) @y = item.size if @y - 1 == -1 @y -= 2 if item[@y - 1][@x][1] == "e" or item[@y - 1][@x][1] == "r" @x -= 1 if item[@y - 1][@x - 1][1] == "a" @y -= 1 $game_system.se_play($data_system.cursor_se) end # If the right directional button was pressed if Input.repeat?(Input::RIGHT) if @x + (self.cursor_rect.width == 64 ? 2 : 1) == item[@y].size @x = 0 @y -= 1 if item[@y - 1][@x][1] == "a" @y -= 2 if item[@y - 2][@x][1] == "a" else @x += 1 if item[@y][@x][1] == "a" if item[@y][@x + 1][1] == "r" @y -= 1 if item[@y - 1][@x + 1][1] == "a" @y -= 2 if item[@y - 2][@x + 1][1] == "a" end if item[@y][@x + 1][1] == "e" @y -= 1 @y -= 1 if item[@y - 1][@x + 1][1] == "w" end @x += 1 end $game_system.se_play($data_system.cursor_se) end # If the left directional button was pressed if Input.repeat?(Input::LEFT) @x = item[@y].size if @x - 1 == -1 if item[@y][@x - 1][1] == "r" @x -= 1 @y -= 1 if item[@y - 1][@x - 1][1] == "a" @y -= 2 if item[@y - 2][@x - 1][1] == "a" end if item[@y][@x - 1][1] == "e" @y -= 1 @y -= 1 if item[@y - 1][@x - 1][1] == "w" end @x -= 1 $game_system.se_play($data_system.cursor_se) 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_Grid < Window_Selectable attr_accessor :mode attr_reader :item_saved def initialize(actor_index) super(192,64,448,416) self.contents = Bitmap.new(width - 32, height - 32) #icone oggetti self.opacity = 0 @window = Window_Base.new(x , y , width, height) #griglia bianca @window.contents = Bitmap.new(width - 32, height - 32) @window.z = self.z - 4 @grid_color = Sprite.new #colori oggetti @grid_color.bitmap = Bitmap.new(width - 32, height - 32) @grid_color.x = self.x + 16 @grid_color.y = self.y + 16 @grid_color.z = @window.z + 2 @actor_index = actor_index @mode = 0 @mini_help = Mini_Help.new self.set = -1 n = self.contents.width / 32 m = self.contents.height / 32 @column_max = n draw_grid refresh end def draw_grid @window.contents.fill_rect(0, 0, width - 32, height - 32, Color.new(255,255,255)) i = 0 color = Color.new(0,0,0) while i < self.contents.height draw_line(0, i, self.contents.width, i, color) i += 32 end i = 0 while i < self.contents.width draw_line(i, 0, i, self.contents.width, color) i += 32 end end def draw_line(sx, sy, ex, ey, color) rad = Math.atan2(ey-sy, ex-sx) dx = Math.cos(rad) dy = Math.sin(rad) while (sx - ex).abs > 1 || (sy - ey).abs > 1 sx += dx sy += dy @window.contents.set_pixel(sx, sy, color) end end def refresh @item_max = 0 item = $game_party.actors[@actor_index].item_grid for i in 0..item.size - 1 for j in 0..item[i].size - 1 if item[i][j][0]!= 0 and item[i][j][1] != "r" and item[i][j][1] != "e" @item_max += 1 end end end for i in 0..item.size - 1 for j in 0..item[i].size - 1 draw_item(item[i][j][0], item[i][j][1], i , j) end end end def update_cursor_rect # If cursor position is less than 0 if @x < 0 self.cursor_rect.empty return end # Calculate cursor width case $game_party.actors[@actor_index].item_grid[@y][@x][1] when "i" cursor_width = 32 cursor_height = 32 when "w" cursor_width = 32 cursor_height = 96 when "a" cursor_width = 64 cursor_height = 96 else cursor_width = 32 cursor_height = 32 end # Calculate cursor coordinates x = @x * 32 y = @y * 32 # Update cursor rectangle self.cursor_rect.set(x, y, cursor_width, cursor_height) end def delete_item case $game_party.actors[@actor_index].item_grid[@y][@x][1] when "i" @grid_color.bitmap.fill_rect(@x*32+1, @y*32+1, 31, 31, Color.new(0,0,0,0)) self.contents.fill_rect(@x*32, @y*32, 32, 32, Color.new(0,0,0,0)) $game_party.actors[@actor_index].item_grid[@y][@x][0] = 0 $game_party.actors[@actor_index].item_grid[@y][@x][1] = "" when "w" @grid_color.bitmap.fill_rect(@x*32+1, @y*32+1, 31, 95, Color.new(0,0,0,0)) self.contents.fill_rect(@x*32, @y*32 + 4 + 32, 32, 32, Color.new(0,0,0,0)) $game_party.actors[@actor_index].item_grid[@y][@x][0] = 0 $game_party.actors[@actor_index].item_grid[@y][@x][1] = "" $game_party.actors[@actor_index].item_grid[@y + 1][@x][0] = 0 $game_party.actors[@actor_index].item_grid[@y + 1][@x][1] = "" $game_party.actors[@actor_index].item_grid[@y + 2][@x][0] = 0 $game_party.actors[@actor_index].item_grid[@y + 2][@x][1] = "" when "a" @grid_color.bitmap.fill_rect(@x*32+1, @y*32+1, 63, 95, Color.new(0,0,0,0)) self.contents.fill_rect(@x*32 + 18, @y*32 + 4 + 32, 32, 32, Color.new(0,0,0,0)) $game_party.actors[@actor_index].item_grid[@y][@x][0] = 0 $game_party.actors[@actor_index].item_grid[@y][@x][1] = "" $game_party.actors[@actor_index].item_grid[@y + 1][@x][0] = 0 $game_party.actors[@actor_index].item_grid[@y + 1][@x][1] = "" $game_party.actors[@actor_index].item_grid[@y + 2][@x][0] = 0 $game_party.actors[@actor_index].item_grid[@y + 2][@x][1] = "" $game_party.actors[@actor_index].item_grid[@y][@x + 1][0] = 0 $game_party.actors[@actor_index].item_grid[@y][@x + 1][1] = "" $game_party.actors[@actor_index].item_grid[@y + 1][@x + 1][0] = 0 $game_party.actors[@actor_index].item_grid[@y + 1][@x + 1][1] = "" $game_party.actors[@actor_index].item_grid[@y + 2][@x + 1][0] = 0 $game_party.actors[@actor_index].item_grid[@y + 2][@x + 1][1] = "" end end def item i = $game_party.actors[@actor_index].item_grid[@y][@x][0] case $game_party.actors[@actor_index].item_grid[@y][@x][1] when "i" return $data_items[i] when "w" return $data_weapons[i] when "a" return $data_armors[i] else return nil end end def item_del? if $game_party.actors[@actor_index].item_grid[@y][@x][0] == 0 # Unusable return true else return false end end def dispose super @window.dispose @grid_color.dispose @mini_help.dispose end def update_help @mini_help.contents.font.color = (($game_party.item_can_use?(item.id) and item.is_a?(RPG::Item))? normal_color : disabled_color) @help_window.set_text(item == nil ? "" : item.description) @mini_help.set_text(item == nil ? "" : item.name) @mini_help.visible = false if item == nil @mini_help.x = self.cursor_rect.x + self.cursor_rect.width + 192 + (self.contents.width - self.cursor_rect.x - self.cursor_rect.width < @mini_help.width ? -@mini_help.width : 18) @mini_help.y = self.cursor_rect.y + self.cursor_rect.height + 64 + (self.contents.height - self.cursor_rect.y - self.cursor_rect.height < @mini_help.height ? -@mini_help.height : 18) end def get_item @item_saved = [$game_party.actors[@actor_index].item_grid[@y][@x][0], $game_party.actors[@actor_index].item_grid[@y][@x][1], @x, @y] end def redraw_item(f = true) if f x = 4 + (@x * 32) y = @y * 32 else x = 4 + (@item_saved[2] * 32) y = @item_saved[3] * 32 tx = @x ty = @y @x = @item_saved[2] @y = @item_saved[3] end draw_item(@item_saved[0], @item_saved[1], @y , @x) case @item_saved[1] when "i" $game_party.actors[@actor_index].item_grid[@y][@x][0] = @item_saved[0] $game_party.actors[@actor_index].item_grid[@y][@x][1] = @item_saved[1] when "w" $game_party.actors[@actor_index].item_grid[@y][@x][0] = @item_saved[0] $game_party.actors[@actor_index].item_grid[@y][@x][1] = @item_saved[1] $game_party.actors[@actor_index].item_grid[@y + 1][@x][0] = @item_saved[0] $game_party.actors[@actor_index].item_grid[@y + 1][@x][1] = "e" $game_party.actors[@actor_index].item_grid[@y + 2][@x][0] = @item_saved[0] $game_party.actors[@actor_index].item_grid[@y + 2][@x][1] = "e" when "a" $game_party.actors[@actor_index].item_grid[@y][@x][0] = @item_saved[0] $game_party.actors[@actor_index].item_grid[@y][@x][1] = @item_saved[1] $game_party.actors[@actor_index].item_grid[@y + 1][@x][0] = @item_saved[0] $game_party.actors[@actor_index].item_grid[@y + 1][@x][1] = "r" $game_party.actors[@actor_index].item_grid[@y + 2][@x][0] = @item_saved[0] $game_party.actors[@actor_index].item_grid[@y + 2][@x][1] = "r" $game_party.actors[@actor_index].item_grid[@y][@x + 1][0] = @item_saved[0] $game_party.actors[@actor_index].item_grid[@y][@x + 1][1] = "r" $game_party.actors[@actor_index].item_grid[@y + 1][@x + 1][0] = @item_saved[0] $game_party.actors[@actor_index].item_grid[@y + 1][@x + 1][1] = "r" $game_party.actors[@actor_index].item_grid[@y + 2][@x + 1][0] = @item_saved[0] $game_party.actors[@actor_index].item_grid[@y + 2][@x + 1][1] = "r" end @x = tx if @x != tx and tx != nil @y = ty if @y != ty and ty != nil end def empty? case @item_saved[1] when "i" return true if $game_party.actors[@actor_index].item_grid[@y][@x][1] == "" when "w" if $game_party.actors[@actor_index].item_grid[@y][@x][1] == "" and $game_party.actors[@actor_index].item_grid[@y + 1][@x][1] == "" and $game_party.actors[@actor_index].item_grid[@y + 2][@x][1] == "" return true end when "a" if $game_party.actors[@actor_index].item_grid[@y][@x][1] == "" and $game_party.actors[@actor_index].item_grid[@y + 1][@x][1] == "" and $game_party.actors[@actor_index].item_grid[@y + 2][@x][1] == "" and $game_party.actors[@actor_index].item_grid[@y][@x + 1][1] == "" and $game_party.actors[@actor_index].item_grid[@y + 1][@x + 1][1] == "" and $game_party.actors[@actor_index].item_grid[@y + 2][@x + 1][1] == "" return true end end return false end def set=(set) @x = set @y = set @mini_help.visible = (set == 0 ? true : false) end def draw_item(item_id, type, i , j) if type == "i" and $game_party.item_can_use?($data_items[item_id].id) opacity = 255 else opacity = 128 end if item_id != 0 case type when "i" x = 4 + (j * 32) y = i * 32 bitmap = RPG::Cache.icon($data_items[item_id].icon_name) @grid_color.bitmap.fill_rect(j*32+1, i*32+1, 31, 31, Color.new(0,0,200)) self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) when "w" x = 4 + (j * 32) y = i * 32 bitmap = RPG::Cache.icon($data_weapons[item_id].icon_name) @grid_color.bitmap.fill_rect(j*32+1, i*32+1, 31, 95, Color.new(200,0,0)) self.contents.blt(x, y + 4 + 32, bitmap, Rect.new(0, 0, 24, 24), opacity) when "a" x = 4 + (j * 32) y = i * 32 bitmap = RPG::Cache.icon($data_armors[item_id].icon_name) @grid_color.bitmap.fill_rect(j*32+1, i*32+1, 63, 95, Color.new(0,200,0)) self.contents.blt(x + 18, y + 4 + 32, bitmap, Rect.new(0, 0, 24, 24), opacity) end end end end class Mini_Help < Window_Base alias old_initialize initialize def initialize super(0, 0, 180, 40) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.size = 14 self.back_opacity = 170 self.z = 102 self.visible = false end def set_text(text, align = 1) # 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, -12, self.width - 40, 32, text, align) #self.width = self.contents.text_size(text).width @text = text @align = align @actor = nil end self.visible = true end end class Game_Actor < Game_Battler attr_accessor :item_grid alias old_initialize initialize def initialize(actor_id) old_initialize(actor_id) @item_grid = Array.new(12) for i in 0..@item_grid.size - 1 @item_grid[i] = Array.new(13) for k in 0..@item_grid[i].size - 1 @item_grid[i][k] = Array.new(2) @item_grid[i][k][0] = 0 @item_grid[i][k][1] = "" end end end end class Game_Party def gain_item(item_id, n) if item_id > 0 for k in 1..n for i in 0..self.actors.size - 1 break if set_item(item_id, "i", i) == nil end end end end def gain_weapon(weapon_id, n) if weapon_id > 0 for k in 1..n for i in 0..self.actors.size - 1 break if set_item(weapon_id, "w", i) == nil end end end end def gain_armor(armor_id, n) if armor_id > 0 for k in 1..n for i in 0..self.actors.size - 1 break if set_item(armor_id, "a", i) == nil end end end end def lose_item(item_id, n, random = true) if random == true if item_id > 0 for k in 1..n del_item(item_id, "i") end end end @items[item_id] = [[item_number(item_id) + -n, 0].max, 99].min end def lose_weapon(weapon_id, n, random = true) if random == true if weapon_id > 0 for k in 1..n del_item(weapon_id, "w") end end end @weapons[weapon_id] = [[weapon_number(weapon_id) + -n, 0].max, 99].min end def lose_armor(armor_id, n, random = true) if random == true if armor_id > 0 for k in 1..n del_item(armor_id, "a") end end end @armors[armor_id] = [[armor_number(armor_id) + -n, 0].max, 99].min end def set_item(item_id, type, i) for a in 0..self.actors[i].item_grid.size - 1 for b in 0..self.actors[i].item_grid[a].size - 1 if self.actors[i].item_grid[a][b][0] == 0 case type when "i" self.actors[i].item_grid[a][b][0] = item_id self.actors[i].item_grid[a][b][1] = type @items[item_id] = [[item_number(item_id) + 1, 0].max, 99].min return when "w" if a < self.actors[i].item_grid.size - 2 if self.actors[i].item_grid[a + 1][b][0] == 0 and self.actors[i].item_grid[a + 2][b][0] == 0 self.actors[i].item_grid[a][b][0] = item_id self.actors[i].item_grid[a][b][1] = type self.actors[i].item_grid[a + 1][b][0] = item_id self.actors[i].item_grid[a + 1][b][1] = "e" self.actors[i].item_grid[a + 2][b][0] = item_id self.actors[i].item_grid[a + 2][b][1] = "e" @weapons[item_id] = [[weapon_number(item_id) + 1, 0].max, 99].min return end end when "a" if b < self.actors[i].item_grid[a].size - 1 and a < self.actors[i].item_grid.size - 2 if self.actors[i].item_grid[a + 1][b][0] == 0 and self.actors[i].item_grid[a + 2][b][0] == 0 and self.actors[i].item_grid[a][b + 1][0] == 0 and self.actors[i].item_grid[a + 1][b + 1][0] == 0 and self.actors[i].item_grid[a + 2][b + 1][0] == 0 self.actors[i].item_grid[a][b][0] = item_id self.actors[i].item_grid[a][b][1] = type self.actors[i].item_grid[a + 1][b][0] = item_id self.actors[i].item_grid[a + 1][b][1] = "r" self.actors[i].item_grid[a + 2][b][0] = item_id self.actors[i].item_grid[a + 2][b][1] = "r" self.actors[i].item_grid[a][b + 1][0] = item_id self.actors[i].item_grid[a][b + 1][1] = "r" self.actors[i].item_grid[a + 1][b + 1][0] = item_id self.actors[i].item_grid[a + 1][b + 1][1] = "r" self.actors[i].item_grid[a + 2][b + 1][0] = item_id self.actors[i].item_grid[a + 2][b + 1][1] = "r" @armors[item_id] = [[armor_number(item_id) + 1, 0].max, 99].min return end end end end end end end def del_item(item_id, type) for i in 0..self.actors.size - 1 for a in 0..self.actors[i].item_grid.size - 1 for b in 0..self.actors[i].item_grid[a].size - 1 if self.actors[i].item_grid[a][b][0] == item_id and self.actors[i].item_grid[a][b][1] == type case type when "i" self.actors[i].item_grid[a][b][0] = 0 self.actors[i].item_grid[a][b][1] = "" return when "w" self.actors[i].item_grid[a][b][0] = 0 self.actors[i].item_grid[a][b][1] = "" self.actors[i].item_grid[a + 1][b][0] = 0 self.actors[i].item_grid[a + 1][b][1] = "" self.actors[i].item_grid[a + 2][b][0] = 0 self.actors[i].item_grid[a + 2][b][1] = "" return when "a" self.actors[i].item_grid[a][b][0] = 0 self.actors[i].item_grid[a][b][1] = "" self.actors[i].item_grid[a + 1][b][0] = 0 self.actors[i].item_grid[a + 1][b][1] = "" self.actors[i].item_grid[a + 2][b][0] = 0 self.actors[i].item_grid[a + 2][b][1] = "" self.actors[i].item_grid[a][b + 1][0] = 0 self.actors[i].item_grid[a][b + 1][1] = "" self.actors[i].item_grid[a + 1][b + 1][0] = 0 self.actors[i].item_grid[a + 1][b + 1][1] = "" self.actors[i].item_grid[a + 2][b + 1][0] = 0 self.actors[i].item_grid[a + 2][b + 1][1] = "" return end end end end end end end class Cursor_Icon < RPG::Sprite def initialize super @color = Color.new(255,255,0,150) @rect = Rect.new(0, 0, 24, 24) end def refresh(bitmap, item) case item when "i" x = 4 y = 4 width = 32 height = 32 when "w" x = 4 y = 36 width = 32 height = 96 when "a" x = 22 y = 36 width = 64 height = 96 end if self.bitmap == nil or (self.bitmap.width != width or self.bitmap.height != height) self.bitmap = Bitmap.new(width, height) else self.bitmap.clear end self.bitmap.fill_rect(0,0,width,height, @color) self.bitmap.blt(x, y , bitmap, @rect) self.z = 9999 end end class Window_Base def draw_actor_picture(actor, x, y) bitmap = RPG::Cache.battler(actor.character_name, actor.character_hue) 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 end class Scene_Menu 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 0 # item # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to item screen @command_window.active = false @status_window.active = true @status_window.index = 0 when 1 # skill # 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 2 # equipment # 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 3 # status # 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 4 # save # 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 5 # end game # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to end game screen $scene = Scene_End.new end return end end #-------------------------------------------------------------------------- # * Frame Update (when status window is active) #-------------------------------------------------------------------------- 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 0 $game_system.se_play($data_system.decision_se) $scene = Scene_Item2.new(@status_window.index) when 1 # 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 3 # 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 Progetto in corso: "Hero Walking: Toward Another Life" Video Old Intro su Youtube Visite: 11.896! http://img212.imageshack.us/img212/1060/logheryb0.jpg *Posizioni raggiunte nei contest* http://www.rpg2s.net/awards/bestuser1.jpghttp://www.rpg2s.net/awards/beststaff1.jpg http://www.rpg2s.net/awards/bestmaker3.jpghttp://www.rpg2s.net/awards/bestcritical1.jpghttp://www.rpg2s.net/awards/mostcharismatic2.jpg http://www.rpg2s.net/awards/mosthelpful1.jpghttp://www.rpg2s.net/awards/mostpolite1.jpghttp://www.rpg2s.net/awards/mostpresent1.jpg http://img204.imageshack.us/img204/8039/sccontest3octpl3.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img118.imageshack.us/img118/181/sccontest1octdt9.gif http://img230.imageshack.us/img230/1273/sccontest1batio5.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img143.imageshack.us/img143/3755/destroyae4.png http://img141.imageshack.us/img141/3081/comics3od3.gif http://img118.imageshack.us/img118/181/sccontest1octdt9.gif SE VUOI AVERE RENS PER RISORSE, TUTORIAL, DEMO, ECC... LEGGI QUI Link to comment Share on other sites More sharing options...
0 mistercirro Posted July 17, 2007 Author Share Posted July 17, 2007 Grazie Link to comment Share on other sites More sharing options...
Question
mistercirro
Link to comment
Share on other sites
10 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now