Jump to content
Rpg²S Forum

Belxebu

Utenti
  • Posts

    186
  • Joined

  • Last visited

Posts posted by Belxebu

  1. Io utilizzo Minkoff(uno speciale che permette di usare Battler standard,chara di qualsiasi numero di frame da 4x4 a 4x11)ebbene ho un problema col bestiario perchè i mostri quando li sconfiggo li segna però appena ci clicco per vedere la descrizione mi crasha il programma(stranamente senza dare nemmeno errore...)come risolvo?
  2. #============================================================================
    #============================================================================
    #============================================================================
    
    #			  CIS (Custom Item System)	V1.0
     #						 by Samo, the thief
    #						  modificato e tradotto by Rinnegatamante
    #
    
    #INSTRUCTIONS:
    
    #- Place this script above Main.
    
    #- Go to Scene_Menu (or your CMS (CUSTOM MENU SYSTEM)) and find any line that
    #says this:
    
    #$scene = Scene_Item.new
    
    #and replace them with
    
    ##----------CIS--------------
    
    #$scene = Scene_Samo_Item.new
    
    #-#---------CIS---------------
    
    
    
     #FEATURES:
     #<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    #- Colors Added.
    #- Animations of Windows added.
    #- More Nice and Organized Inventory
    ##- Better targeting characters
    #- Information of Items when selecting one
    #- Map Background added
      # - You can make Unique items, so they draw in brown (like in D2)
     #  - Giving a better look at a boring window.
    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    # <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
    
     # CUSTOMIZING:
     # -----------
     # - Go and find the lines with
     
     #	$UNIQUE_ITEMS = [X, X, X ,X]
     #   $UNIQUE_WEAPONS = [X, X]
     #   $UNIQUE_ARMORS = [X, X, X, X, X, X, X]
     
     #  and put there all the numbers you want. Have in mind that these are the ids
     #  of Items, Weapons, and armors that will have the mod [UNIQUE].
     
     
    #   Please, give me the credit if you use it. Enjoy it!
    #							   Samo, the thief.
     
     
    # ============================================================================ 
    # ============================================================================ 
    # ============================================================================ 
    
    
    class Scene_Samo_Item
     def initialize
    $UNIQUE_ITEMS = []
    $UNIQUE_WEAPONS = [1]
    $UNIQUE_ARMORS = [1, 6, 13]
    end
    # ------------------------------------  
     def main
    @help_window = Window_Help.new
    @help_window.y = 480
    @help_window.opacity = 215
    @item_window = Window_Samo_Item.new
    @item_window.x = -320
    @item_window.y = 64
    @item_window.opacity = 200
    @item_window.help_window = @help_window
    @target_window = Window_Samo_Target.new
    @target_window.x = 640
    @target_window.y = 0
    @target_window.opacity = 175
    @inventory_window = Window_Inventory.new
    @inventory_window.y = -64
    @inventory_window.opacity = 215
    @item = @item_window.item
    @spriteset = Spriteset_Map.new
    @window_information = Window_Information_CIS.new(@item)
    @window_information.opacity = 200
    @window_information.x = 640
    @window_information.visible = true
    @target_window.visible = false
    @target_window.active = false
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
    	break
      end
    end
    Graphics.freeze
    @help_window.dispose
    @spriteset.dispose
    @item_window.dispose
    @target_window.dispose
    @window_information.dispose
    @inventory_window.dispose
     end
    # ------------------------------------  
     def update
    if @help_window.y != 416
      @help_window.y -= 4
    end
    if @inventory_window.y != 0
      @inventory_window.y += 4
    end
    if @item_window.x != 0
      @item_window.x += 20
    end
    if @window_information.x != 320
      @window_information.x -= 20
    end
    if @target_window.x != 320
      @target_window.x -= 20
    end
    @help_window.update
    @item_window.update
    @target_window.update
    @window_information.update
    if @item_window.active
      update_item
      return
    end
    if @target_window.active
      update_target
      return
    end
     end
    # ------------------------------------  
    
     def update_item
    @item = @item_window.item
    if Input.repeat?(Input::DOWN)
      @window_information.refresh (@item)
      end
      if Input.repeat?(Input::UP)
      @window_information.refresh (@item)
    end
      if Input.repeat?(Input::L)
      @window_information.refresh (@item)
    end
    	  if Input.repeat?(Input::R)
      @window_information.refresh (@item)
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(0)
      return
    end
    if Input.trigger?(Input::C)
      @item = @item_window.item
      unless @item.is_a?(RPG::Item)
    	$game_system.se_play($data_system.buzzer_se)
    	return
      end
      unless $game_party.item_can_use?(@item.id)
    	$game_system.se_play($data_system.buzzer_se)
    	return
      end
      $game_system.se_play($data_system.decision_se)
      if @item.scope >= 3
    	@item_window.active = false
    	@target_window.visible = true
    	@target_window.active = true
    	@target_window.x = 640
    	if @item.scope == 4 || @item.scope == 6
    	  @target_window.index = -1
    	else
    	  @target_window.index = 0
    	end
      else
    	if @item.common_event_id > 0
    	  $game_temp.common_event_id = @item.common_event_id
    	  $game_system.se_play(@item.menu_se)
    	  if @item.consumable
    		$game_party.lose_item(@item.id, 1)
    		@item_window.draw_item(@item_window.index)
    	  end
    	  $scene = Scene_Map.new
    	  return
    	end
      end
      return
    end
     end
    # ------------------------------------  
     def update_target
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      unless $game_party.item_can_use?(@item.id)
    	@item_window.refresh
      end
      @item_window.active = true
      @target_window.visible = false
      @target_window.active = false
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.item_number(@item.id) == 0
    	$game_system.se_play($data_system.buzzer_se)
    	return
      end
      if @target_window.index == -1
    	used = false
    	for i in $game_party.actors
    	  used |= i.item_effect(@item)
    	end
      end
      if @target_window.index >= 0
    	target = $game_party.actors[@target_window.index]
    	used = target.item_effect(@item)
      end
      if used
    	$game_system.se_play(@item.menu_se)
    	if @item.consumable
    	  $game_party.lose_item(@item.id, 1)
    	  @item_window.draw_item(@item_window.index)
    	end
    	@target_window.refresh
    	if @item.common_event_id > 0
    	  $game_temp.common_event_id = @item.common_event_id
    	  $scene = Scene_Map.new
    	  return
    	end
      end
      unless used
    	$game_system.se_play($data_system.buzzer_se)
      end
      return
    end
     end
    end
    
    
    
    
    
    #==============================================================================
    # ■ Window_Item
    #------------------------------------------------------------------------------
    
    class Window_Samo_Item < Window_Selectable
     #--------------------------------------------------------------------------
     def initialize
    super(0, 64, 320, 300)
    @column_max = 1
    refresh
    self.index = 0
    if $game_temp.in_battle
      self.y = 64
      self.height = 256
      self.back_opacity = 160
    end
     end
     #--------------------------------------------------------------------------
     def item
    return @data[self.index]
     end
     #--------------------------------------------------------------------------
     def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in 1...$data_items.size
      if $game_party.item_number(i) > 0
    	@data.push($data_items[i])
      end
    end
    unless $game_temp.in_battle
      for i in 1...$data_weapons.size
    	if $game_party.weapon_number(i) > 0
    	  @data.push($data_weapons[i])
    	end
      end
      for i in 1...$data_armors.size
    	if $game_party.armor_number(i) > 0
    	  @data.push($data_armors[i])
    	end
      end
    end
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      self.contents.font.name = $fontface
      self.contents.font.size = $fontsize
      for i in 0...@item_max
    	draw_item(i)
      end
    end
     end
     #--------------------------------------------------------------------------
     def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    
    	case item
    when RPG::Item
      number = $game_party.item_number(item.id)
      color = Color.new(60,175,0,255) 
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
      color = Color.new(0,175,255,255) 
    when RPG::Armor
      number = $game_party.armor_number(item.id)
       color  =Color.new(0,95,107,255) 
     end
      case item
    when RPG::Item
    if $UNIQUE_ITEMS.include?(item.id)
    color = Color.new(164,143,121,255) 
    end
    when RPG::Weapon
    if $UNIQUE_WEAPONS.include?(item.id)
    color =  Color.new(164,143,121,255) 
    end
    when RPG::Armor
    if $UNIQUE_ARMORS.include?(item.id)
    color =  Color.new(164,143,121,255) 
    end
      end
    
    if item.is_a?(RPG::Item) and
       $game_party.item_can_use?(item.id)
      self.contents.font.color = color
      @opacity = 255
    else
      self.contents.font.color = color
      @opacity = 128
    end
    x = 4 + index % 2
    y =  index / 1 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.draw_text(x + 28, y, 212, 32, item.name, @opacity)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
     end
     #--------------------------------------------------------------------------
     def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
     end
    end
    
    
    
    
    
    
    #==============================================================================
    #  Window_Target
    #------------------------------------------------------------------------------
    #Es la ventana que aparece al usar un objeto o una tecnica para seleccionar al objetivo de estos
    #==============================================================================
    
    class Window_Samo_Target < Window_Selectable
     #--------------------------------------------------------------------------
     # - Inicializar objeto
     #--------------------------------------------------------------------------
     def initialize
    super(320, 0, 320, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Comic Sans MS"
    self.contents.font.size = 20
    self.z += 10
    @item_max = $game_party.actors.size
    refresh
     end
     #--------------------------------------------------------------------------
     # - Refrescar
     #--------------------------------------------------------------------------
     def refresh
    self.contents.clear
    self.contents.font.color = Color.new(60,175,0,255) 
    for i in 0...$game_party.actors.size
      x = 10
      y = i * 116
      actor = $game_party.actors[i]
      draw_actor_graphic(actor, 12, y + 48)
      draw_actor_name(actor, x + 12, y)
      draw_actor_class(actor, x + 144, y)
      draw_actor_level(actor, x + 8, y + 32)
      draw_actor_state(actor, x + 8, y + 64)
      draw_actor_hp(actor, x + 152, y + 32)
      draw_actor_sp(actor, x + 152, y + 64)
    end
     end
     #--------------------------------------------------------------------------
     # -La renovación del rectángulo de cursor
     #--------------------------------------------------------------------------
     def update_cursor_rect
    # Se eleige la posicion actual -1
    if @index < 0
      self.cursor_rect.set(0, 0, self.width - 32, @item_max * 116 - 20)
    else
      self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
    end
     end
    end
    
    
    
    #==============================================================================
    # ¡ Window_Information
    #------------------------------------------------------------------------------
    #==============================================================================
    
    class Window_Information_CIS < Window_Base
     #--------------------------------------------------------------------------
     #- Inicializar Objeto
     #--------------------------------------------------------------------------
     def initialize(item)
    super(320, 64, 320, 320)
    @item = item
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Comic Sans MS"
    self.contents.font.size = 18
    refresh (@item)
     end
     #--------------------------------------------------------------------------
     # - Refrescar
     #--------------------------------------------------------------------------
     def refresh(item)
    @item = item
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 200, 32, "Informazioni:")
    bitmap = RPG::Cache.icon(item.icon_name)
    
     
      case @item
    when RPG::Item
      number = $game_party.item_number(@item.id)
      color = Color.new(60,175,0,255) 
    when RPG::Weapon
      number = $game_party.weapon_number(@item.id)
      color = Color.new(0,175,255,255) 
    when RPG::Armor
      number =$game_party.armor_number(@item.id)
    	  color =  Color.new(164,143,121,255)  
    end
    
     case @item
    when RPG::Item
    if $UNIQUE_ITEMS.include?(@item.id)
    color = Color.new(164,143,121,255) 
    self.contents.draw_text(200, 32, 212, 32, "Unico", 0)
    end
    when RPG::Weapon
    if $UNIQUE_WEAPONS.include?(@item.id)
    color =  Color.new(164,143,121,255) 
    self.contents.draw_text(200, 32, 212, 32, "Unico", 0)
    end
    when RPG::Armor
    if $UNIQUE_ARMORS.include?(@item.id)
    color =  Color.new(164,143,121,255) 
    self.contents.draw_text(200, 32, 212, 32, "Unico", 0)
    end
     end
    
     
    self.contents.font.color = color
    
    	case @item
    when RPG::Item
      draw_item_info
    when RPG::Weapon
     draw_weapon_info
    when RPG::Armor
     draw_armor_info
    end
    self.contents.blt(2, 32, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.draw_text(28, 32, 212, 32, @item.name, 0)
    
     end
     
     
     def draw_item_info
    if @item.price != 0
    self.contents.draw_text(28, 56, 212, 32, "Prezzo:", 0)
    self.contents.draw_text(128, 56, 212, 32, @item.price.to_s, 0)
     end
     if @item.recover_hp_rate != 0
    self.contents.draw_text(28, 80, 212, 32, "Ristora PV %:", 0)
    self.contents.draw_text(128, 80, 212, 32, @item.recover_hp_rate.to_s, 0)
     end
     if @item.recover_hp != 0
    self.contents.draw_text(28, 104, 212, 32, "Ristora PV:", 0)
    self.contents.draw_text(128,104, 212, 32, @item.recover_hp.to_s, 0)
     end
     if @item.recover_sp_rate != 0
    self.contents.draw_text(28, 128, 212, 32, "Ristora PM %:", 0)
    self.contents.draw_text(128, 128, 212, 32,@item.recover_sp_rate.to_s, 0)
     end
     if @item.recover_sp != 0
    self.contents.draw_text(28, 152, 212, 32, "Ristora PM:", 0)
    self.contents.draw_text(128,152, 212, 32, @item.recover_sp.to_s, 0)
     end
     if @item.consumable == false
    self.contents.draw_text(28, 176, 212, 32, "Oggetto da missione", 0)
     end
       case @item.scope
    when 0
      @range = "Niente"
    when 1
      @range = "Un nemico"
    when 2
     @range ="Tutti i nemici"
    when 3
     @range ="Un alleato"
    when 4
      @range ="Tutti gli alleati"
    when 5
     @range = "Alleati morti"
    when 6
     @range = "Usatore"
      end
      if @item.scope != 0
    self.contents.draw_text(28, 200, 212, 32, "Raggio:", 0)
    self.contents.draw_text(128, 200, 212, 32, @range, 0)
     end
    
    end
     end
     
     
     
      def draw_weapon_info
    if @item.price != 0
    self.contents.draw_text(28, 56, 212, 32, "Prezzo:", 0)
    self.contents.draw_text(128, 56, 212, 32, @item.price.to_s, 0)
     end
     if @item.atk != 0
    self.contents.draw_text(28, 80, 212, 32, "Attacco:", 0)
    self.contents.draw_text(128, 80, 212, 32, @item.atk.to_s, 0)
     end
     if @item.pdef != 0
    self.contents.draw_text(28, 104, 212, 32, "Dif.Fis.:", 0)
    self.contents.draw_text(128,104, 212, 32, @item.pdef.to_s, 0)
     end
     if @item.mdef != 0
    self.contents.draw_text(28, 128, 212, 32, "Dif.Mag.:", 0)
    self.contents.draw_text(128, 128, 212, 32,@item.mdef.to_s, 0)
     end
     if @item.str_plus != 0
    self.contents.draw_text(28, 152, 212, 32, "BonusForza:", 0)
    self.contents.draw_text(128,152, 212, 32, @item.str_plus.to_s, 0)
     end
    if @item.dex_plus != 0
    self.contents.draw_text(28, 176, 212, 32, "BonusDestrezza::", 0)
    self.contents.draw_text(128,176, 212, 32, @item.dex_plus.to_s, 0)
     end
    if @item.agi_plus != 0
    self.contents.draw_text(28, 200, 212, 32, "BonusAgilità:", 0)
    self.contents.draw_text(128, 200, 212, 32, @item.agi_plus.to_s, 0)
     end
    if @item.int_plus != 0
    self.contents.draw_text(28, 224, 212, 32, "BonusIntelligenza:", 0)
    self.contents.draw_text(128, 224, 212, 32, @item.int_plus.to_s, 0)
     end
     
    self.contents.draw_text(200, 56, 212, 32, "Inflitti:", 0)
    plus_status_data = []
    for i in 1...$data_states.size
      if @item.plus_state_set.include?(i)
    	plus_status_data.push($data_states[i].name)
      end
    end
    for i in 0...plus_status_data.size
      self.contents.font.size = 16
      self.contents.draw_text(200 + ((i % 2) * 45), 76 + (i / 2 * 12), 120, 32, plus_status_data[i])
    end
    
    self.contents.draw_text(200, 152, 212, 32, "Elementi:", 0)
    element_data = []
    for i in 1...$data_system.elements.size
      if @item.element_set.include?(i)
    	element_data.push($data_system.elements[i])
      end
    end
    for i in 0...element_data.size
      self.contents.font.size = 16
      self.contents.draw_text(200 + ((i % 2) * 45), 176 + (i / 2 * 12), 120, 32, element_data[i])
    end
      end
    
      
      
    def draw_armor_info
      if @item.price != 0
    self.contents.draw_text(28, 56, 212, 32, "Prezzo:", 0)
    self.contents.draw_text(128, 56, 212, 32, @item.price.to_s, 0)
     end
     if @item.eva != 0
    self.contents.draw_text(28, 80, 212, 32, "Evasione:", 0)
    self.contents.draw_text(128, 80, 212, 32, @item.eva.to_s, 0)
     end
     
    if @item.pdef != 0
    self.contents.draw_text(28, 104, 212, 32, "Dif.Fis.:", 0)
    self.contents.draw_text(128,104, 212, 32, @item.pdef.to_s, 0)
     end
     if @item.mdef != 0
    self.contents.draw_text(28, 128, 212, 32, "Dif.Mag.:", 0)
    self.contents.draw_text(128, 128, 212, 32,@item.mdef.to_s, 0)
     end
     if @item.str_plus != 0
    self.contents.draw_text(28, 152, 212, 32, "BonusForza:", 0)
    self.contents.draw_text(128,152, 212, 32, @item.str_plus.to_s, 0)
     end
    if @item.dex_plus != 0
    self.contents.draw_text(28, 176, 212, 32, "BonusDestrezza::", 0)
    self.contents.draw_text(128,176, 212, 32, @item.dex_plus.to_s, 0)
     end
    if @item.agi_plus != 0
    self.contents.draw_text(28, 200, 212, 32, "BonusAgilità:", 0)
    self.contents.draw_text(128, 200, 212, 32, @item.agi_plus.to_s, 0)
     end
    if @item.int_plus != 0
    self.contents.draw_text(28, 224, 212, 32, "BonusIntelligenza:", 0)
    self.contents.draw_text(128, 224, 212, 32, @item.int_plus.to_s, 0)
     end
    self.contents.draw_text(200, 56, 212, 32, "Protezione:", 0)
    plus_status_data = []
    for i in 1...$data_states.size
      if @item.guard_state_set.include?(i)
    	plus_status_data.push($data_states[i].name)
      end
    end
    for i in 0...plus_status_data.size
      self.contents.font.size = 16
      self.contents.draw_text(200 + ((i % 2) * 45), 76 + (i / 2 * 12), 120, 32, plus_status_data[i])
    end
    self.contents.draw_text(200, 152, 212, 32, "Elementi Protettivi:", 0)
    element_data = []
    for i in 1...$data_system.elements.size
      if @item.guard_element_set.include?(i)
    	element_data.push($data_system.elements[i])
      end
    end
    for i in 0...element_data.size
      self.contents.font.size = 16
      self.contents.draw_text(200 + ((i % 2) * 45), 176 + (i / 2 * 12), 120, 32, element_data[i])
    end
    
    
     if @item.auto_state_id != 0
     auto_state = $data_states[@item.auto_state_id]
     name = auto_state.name
     
     self.contents.draw_text(200, 200, 212, 32, "Stato Automatico:", 0)
     self.contents.draw_text(200, 232, 212, 32, name, 0) 
    end
     end
     
     
     
     #==========================================================================
    ====
    # ¡ Window_Inventory
    #------------------------------------------------------------------------------
    #==============================================================================
    
    class Window_Inventory < Window_Base
     #--------------------------------------------------------------------------
     #- Inicializar Objeto
     #--------------------------------------------------------------------------
     def initialize
    super(0, 0, 240, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Comic Sans MS"
    self.contents.font.size = 26
    refresh
     end
     #--------------------------------------------------------------------------
     # - Refrescar
     #--------------------------------------------------------------------------
     def refresh
    self.contents.clear
    self.contents.font.color = text_color(5)
    self.contents.draw_text(4, 0, 200, 32, "Inventario:")
     end
     end

    Mi da errore alla stringa delle icone n°452 di tipo NoMethodError.Se serve vi passo il progetto del mio game così potete vedere eventuali incompatibilità ma vi prego di rispondermi,è di quasi vitale importanza XD

×
×
  • Create New...