- 累计送礼:
 - 0 个
 
 - 累计收礼:
 - 0 个
 
 TA的每日心情  | 开心 2025-10-18 22:41 | 
|---|
 
  签到天数: 165 天 连续签到: 1 天 [LV.7]常住居民III 
  
管理员 
    
    
        - VIP
 
        - 6 
 
     
    
        - 卡币
 
        - 14829 
 
     
    
        - OK点
 
        - 16 
 
     
    
    - 推广点
 
    - 0 
 
     
	
    - 同能卷
 
    - 0 
 
     
  
	- 积分
 - 17954
 
 
  
 
  
 | 
 
那個啥?一個自動狀態根本就不夠用嘛! - #==============================================================================# 附加多於一個自動狀態# 禾西#==============================================================================module RPG  class Weapon    def auto_state_set      auto_state_set = []      return [] if @description.split(/@s/)[1].nil?      a = @description.split(/@s/)[1].split(/,/)      a.each {|i| auto_state_set.push(i.to_i)}      return auto_state_set.nil? ? [] : auto_state_set    end    def description      description = @description.split(/@s/)[0]      return description.nil? ? '' : description    end  end  class Armor    def auto_state_set      auto_state_set = []      return [] if @description.split(/@s/)[1].nil?      a = @description.split(/@s/)[1].split(/,/)      a.each {|i| auto_state_set.push(i.to_i)}      return auto_state_set.nil? ? [] : auto_state_set    end    def description      description = @description.split(/@s/)[0]      return description.nil? ? '' : description    end  endend#==============================================================================# ■ Game_Actor#------------------------------------------------------------------------------#  处理角色的类。本类在 Game_Actors 类 ($game_actors)# 的内部使用、Game_Party 类请参考 ($game_party) 。#==============================================================================class Game_Actor < Game_Battler  #--------------------------------------------------------------------------#  # ● 更新自动状态組(新方法)                                                #  #     old_armor : 卸下防具                                                 #  #     new_armor : 装备防具                                                 #  #--------------------------------------------------------------------------#  def update_auto_state_set(old_armor, new_armor)    # 强制解除卸下防具的自动状态    if old_armor != nil and old_armor.auto_state_set.empty? != true      for i in 0...old_armor.auto_state_set.size        if @states.include? old_armor.auto_state_set[i]          remove_state(old_armor.auto_state_set[i], true)        end      end    end    # 强制附加装备防具的自动状态    if new_armor != nil and new_armor.auto_state_set.empty? != true      for i in 0...new_armor.auto_state_set.size        add_state(new_armor.auto_state_set[i], true)      end    end  end #----------------------------------------------------------------------------# ● 召喚舊方法#----------------------------------------------------------------------------  #--------------------------------------------------------------------------  # ● 设置  #     actor_id : 角色 ID  #--------------------------------------------------------------------------  alias sidaf_setup setup  def setup(actor_id)    sidaf_setup(actor_id)#---------------------刷新自动状态組---------------------#    update_auto_state_set(nil, $data_weapons[@weapon_id])    update_auto_state_set(nil, $data_armors[@armor1_id])    update_auto_state_set(nil, $data_armors[@armor2_id])    update_auto_state_set(nil, $data_armors[@armor3_id])    update_auto_state_set(nil, $data_armors[@armor4_id])#--------------------------------------------------------#  end  #--------------------------------------------------------------------------  # ● 变更装备  #     equip_type : 装备类型  #     id    : 武器 or 防具 ID  (0 为解除装备)  #--------------------------------------------------------------------------  def equip(equip_type, id)    case equip_type    when 0  # 武器      if id == 0 or $game_party.weapon_number(id) > 0        # 刷新自動狀態組---------------------------------------------------------        update_auto_state_set($data_weapons[@weapon_id], $data_weapons[id])# 完了-------------------------------------------------------------------------                $game_party.gain_weapon(@weapon_id, 1)        @weapon_id = id        $game_party.lose_weapon(id, 1)      end    when 1  # 盾      if id == 0 or $game_party.armor_number(id) > 0                # 刷新自動狀態組---------------------------------------------------------        update_auto_state_set($data_armors[@armor1_id], $data_armors[id])# 完了-------------------------------------------------------------------------                update_auto_state($data_armors[@armor1_id], $data_armors[id])        $game_party.gain_armor(@armor1_id, 1)        @armor1_id = id        $game_party.lose_armor(id, 1)      end    when 2  # 头      if id == 0 or $game_party.armor_number(id) > 0                # 刷新自動狀態組---------------------------------------------------------        update_auto_state_set($data_armors[@armor2_id], $data_armors[id])# 完了-------------------------------------------------------------------------                update_auto_state($data_armors[@armor2_id], $data_armors[id])        $game_party.gain_armor(@armor2_id, 1)        @armor2_id = id        $game_party.lose_armor(id, 1)      end    when 3  # 身体      if id == 0 or $game_party.armor_number(id) > 0                # 刷新自動狀態組---------------------------------------------------------        update_auto_state_set($data_armors[@armor3_id], $data_armors[id])# 完了-------------------------------------------------------------------------                update_auto_state($data_armors[@armor3_id], $data_armors[id])        $game_party.gain_armor(@armor3_id, 1)        @armor3_id = id        $game_party.lose_armor(id, 1)      end    when 4  # 装饰品      if id == 0 or $game_party.armor_number(id) > 0        # 刷新自動狀態組---------------------------------------------------------        update_auto_state_set($data_armors[@armor4_id], $data_armors[id])# 完了-------------------------------------------------------------------------                update_auto_state($data_armors[@armor4_id], $data_armors[id])        $game_party.gain_armor(@armor4_id, 1)        @armor4_id = id        $game_party.lose_armor(id, 1)      end    end  endend复制代码
 
  复制代码使用方法如下圖:
  
說明 + @s + 狀態ID1, 狀態ID2, 狀態ID3 
設定方法武器防具通用 
放假很無聊……外加近來沒有找到想寫的東西T T
 
              [本贴由 风雪优游 于 2008-3-19 22:20:22 进行了编辑] 
             本帖来自P1论坛作者禾西,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=80420  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。  |   
 
		
		
		 
 
 |