RMVXA

장비슬롯 늘이기 스크립이 작동하질 않습니다.

by repola posted Apr 03, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
 스크립은 http://avangs.info/index.php?mid=rgss_vx_ace&category=969434&search_target=title&document_srl=378033

여기서 복붙했고요,

module Extra_Slots  
 
   Slots = []  
   # Edit here to add new slot types  
   # Slots[armour_type_id] = "name"  
   # I know it is named in the database but I don't believe you can access  
   # that name through Vocab  
   
   Slots[5] = "Additional"
   
 end 
 
 class Game_Actor < Game_Battler 
   #--------------------------------------------------------------------------
   # ● Rewrites equip_slots  
   #--------------------------------------------------------------------------  
   # Edit here to change what slots are available to your characters  
   # 0 - Weapon  
   # 1 - Shield  
   # 2 - Head  
   # 3 - Body  
   # 4 - Accessory  
   # 5+ a custom slot  
   def equip_slots    
     return [0,0,2,3,4,5,5,5] if dual_wield?    
     return [0,1,2,3,4,5,5,5]  
   end 

수정을 이렇게 했습니다.

문제는 게임을 켜봤는데 슬롯이 늘어나지를 않습니다. 이게 왜 그런건가요?

+ 위의 슬롯추가는 안건드리고 밑부분을 return [0,1,2,3,4,4,4,4]  이런식으로 고쳐봤는데도 적용이 되지를 않습니다.

스크립트는 에디터 맨 아래칸, main 바로 밑부분에다가 넣었고요.

+ 이도류로 캐릭터를 변경시켜봤지만 역시나 먹히지를 않네요. 그냥 스크립트 자체가 씹혀버리는거 같은데. 제가 설치를 잘못했나요? 해당 링크에서

#--------------------------------------------------------------------------
# ● New Module Extra_Slots
#--------------------------------------------------------------------------
module Extra_Slots

 
Slots = []
 
# Edit here to add new slot types
 
# Slots[armour_type_id] = "name"
 
# I know it is named in the database but I don't believe you can access
 
# that name through Vocab
 
Slots[7] = "Spell Tomes"

end

class Game_Actor < Game_Battler
 
#--------------------------------------------------------------------------
 
# ● Rewrites equip_slots
 
#--------------------------------------------------------------------------
 
# Edit here to change what slots are available to your characters
 
# 0 - Weapon
 
# 1 - Shield
 
# 2 - Head
 
# 3 - Body
 
# 4 - Accessory
 
# 5+ a custom slot
 
def equip_slots
   
return [0,0,2,3,4,4,4,7] if dual_wield?
   
return [0,1,2,3,4,4,4,7]
 
end
 
#--------------------------------------------------------------------------
 
# ● Rewrites change_equip
 
#--------------------------------------------------------------------------
 
def change_equip(slot_id, item)
   
return unless trade_item_with_party(item, equips[slot_id])
   
if item == nil
     
return if item && equip_slots[slot_id] != item.etype_id
   
else
     
if item.is_a?(RPG::Armor)
       
if Extra_Slots::Slots[item.atype_id] == nil
         
return if item && equip_slots[slot_id] != item.etype_id
       
else
         
return if item && equip_slots[slot_id] != item.atype_id
       
end
     
else
       
return if item && equip_slots[slot_id] != item.etype_id
     
end
   
end
   
@equips[slot_id].object = item
    refresh
 
end
 
#--------------------------------------------------------------------------
 
# ● Rewrites release_unequippable_items
 
#--------------------------------------------------------------------------
 
def release_unequippable_items(item_gain = true)
   
@equips.each_with_index do |item, i|
     
if !equippable?(item.object) || item.object.etype_id != equip_slots[i]
       
if item.is_armor?
         
unless Extra_Slots::Slots[equip_slots[i]] == nil
           
unless item.object.atype_id == equip_slots[i]
              trade_item_with_party
(nil, item.object) if item_gain
              item
.object = nil
           
end
         
else
            trade_item_with_party
(nil, item.object) if item_gain
            item
.object = nil
         
end
       
else
          trade_item_with_party
(nil, item.object) if item_gain
          item
.object = nil
       
end
     
end
   
end
 
end
end

class Window_EquipSlot < Window_Selectable
 
#--------------------------------------------------------------------------
 
# ● Rewrites slot_name
 
#--------------------------------------------------------------------------
 
def slot_name(index)
   
if @actor.equip_slots[index] >= 5
     
Extra_Slots::Slots[@actor.equip_slots[index]]
   
else
     
@actor ? Vocab::etype(@actor.equip_slots[index]) : ""
   
end
 
end
end

class Window_EquipItem < Window_ItemList
 
#--------------------------------------------------------------------------
 
# ● Rewrites include?
 
#--------------------------------------------------------------------------
 
def include?(item)
   
return true if item == nil
   
return false unless item.is_a?(RPG::EquipItem)
   
return false if @slot_id < 0
   
if item.is_a?(RPG::Armor)
     
if Extra_Slots::Slots[item.atype_id] == nil
       
return false if item.etype_id != @actor.equip_slots[@slot_id]
     
else
       
return false if item.atype_id != @actor.equip_slots[@slot_id]
     
end
   
else
     
return false if item.etype_id != @actor.equip_slots[@slot_id]
   
end
   
return @actor.equippable?(item)
 
end
end

class Scene_Equip < Scene_MenuBase
 
#--------------------------------------------------------------------------
 
# ● Aliases create_slot_window
 
#--------------------------------------------------------------------------
 
alias custom_slots_create_slot_window create_slot_window
 
def create_slot_window
    custom_slots_create_slot_window
   
@slot_window.create_contents
   
@slot_window.refresh
 
end
 
#--------------------------------------------------------------------------
 
# ● Aliases on_actor_change
 
#--------------------------------------------------------------------------
 
alias custom_slots_on_actor_change on_actor_change
 
def on_actor_change
    custom_slots_on_actor_change
   
@slot_window.create_contents
   
@slot_window.refresh
 
end
end

요 부분을 복사해서 스크립트 에디터 맨 아래칸 main칸 밑에다가 그대로 붙여넣기 한 다음에 수치만 변경시켰습니다.

부탁드려요 고수분들 이거 막혀서 진행이 안됩니다.