Project1

标题: 【悬赏】找人写个装备武器改变职业的脚本 [打印本页]

作者: v2sam    时间: 2010-6-17 16:07
标题: 【悬赏】找人写个装备武器改变职业的脚本
悬赏价格可以商量,具体是:

无装备时职业为“无业” ; 装备剑类时职业为“战士”  以此类推。 判断条件可以为武器属性 或者备注。
作者: 八云紫    时间: 2010-6-17 16:21
v2sam 大大好。

那个,职业技能什么的夜需要跟着换吗?
作者: 负零    时间: 2010-6-17 16:31
似乎武器是跟着职业换的,现在反过来,反了...!
作者: 八云紫    时间: 2010-6-17 16:32
回复 负零 的帖子

这个很正常,不同的武器可以产生不同的技能。
   
作者: 负零    时间: 2010-6-17 16:36
回复 提妲 的帖子


    比如吧,装备力量之剑变成剑士,但假如转成剑士不能装备力量之剑...当然,这个可以自己设定,觉得别扭而已,不如使用什么就变职业吧,最多无限使用...
作者: 八云紫    时间: 2010-6-17 16:43
回复 负零 的帖子

在某个范围内是可以变通的。

法师使用魔杖,法杖。战士使用剑,斧等。技能可能都不一样。

但是,法师是不可能去使用斧头啦什么的,NC除外。

以上~~
   
作者: 负零    时间: 2010-6-17 16:50
一不小心又晚生了4个月,谢谢指正
作者: darkdrium    时间: 2010-6-17 19:20
game_actor页397行   
when 0  # 武器
      if id == 0 or $game_party.weapon_number(id) > 0
        $game_party.gain_weapon(@weapon_id, 1)
        @weapon_id = id
        $game_party.lose_weapon(id, 1)
        self.class_id = $weapon_class[id]
      end

441行删除if行和end行,留下return true
if $data_classes[@class_id].weapon_set.include?(item.id)
        return true
      end

538行:删除这三行
      unless equippable?($data_weapon[@wepaon_id])
        equip(0, 0)
      end

最后在main脚本前插入
$weapon_class = [xx,xx,xx,xx] #从id=1的武器开始,依次对应的职业id

简单的实现了下
作者: darkdrium    时间: 2010-6-17 19:20
用xp做的。。。刚看到lz要求的是vx的。。。
作者: v2sam    时间: 2010-6-17 22:00
v2sam 大大好。

那个,职业技能什么的夜需要跟着换吗?
提妲 发表于 2010-6-17 16:21



提妲MM  我的确有用到武器决定技能脚本。
至于负零 提到的问题:在数据库中所有职业可以装备所有武器,但是装备了别的武器就变其他职业了,所以并没有冲突。至于更多细节问题就不在这里讨论了。

最后诚心期待提妲MM 能给与帮助XDDD
作者: 八云紫    时间: 2010-6-18 09:01
本帖最后由 提妲 于 2010-6-18 09:06 编辑

回复 v2sam 的帖子

好久好久没有碰 VX 的说,看看有没有有爱人士帮忙吧。

咱得回去看看脚本了。~
   
回复 darkdrium 的帖子

VX 有备注啦,说明什么可以使用的说。
作者: v2sam    时间: 2010-6-18 09:03
有爱人士很难等啊~
作者: 八云紫    时间: 2010-6-18 09:09
回复 v2sam 的帖子

我回家后看看吧。上班中~~~ 嘎哦。


   
作者: v2sam    时间: 2010-6-18 09:33
回复 提妲 的帖子


    嗯嗯~~等你哟~XDD
作者: 八云紫    时间: 2010-6-18 10:14
回复 v2sam 的帖子

那个,有没有使用外带关于 武器,职业的脚本的说?


   
作者: v2sam    时间: 2010-6-18 10:59
没有,只用了沉影的武器带技能脚本。还有zh99998帮我写的地图上显示武器装备窗口。
作者: darkdrium    时间: 2010-6-18 11:50
回复 darkdrium 的帖子

VX 有备注啦,说明什么可以使用的说。
这个什么意思啊?

刚看了下vx的actor页,改下应该比较容易的
不知道lz希望什么样的效果,是改变武器改变职业后,将原职业所有技能以往并且习得新职业到目前为止的所有技能吗?还有主角会有不论职业怎么改变都不变的技能?
作者: 八云紫    时间: 2010-6-18 12:43
本帖最后由 提妲 于 2010-6-18 12:44 编辑

回复 darkdrium 的帖子

VX 比 XP 多了一个备注栏可以用。

-------------------------------------------------------------------------

有爱人士出现~~~~ {:nm_4:}
作者: v2sam    时间: 2010-6-18 13:59
回复 darkdrium 的帖子

应该是和沉影的那个装备武器习得技能结合吧。

具体效果就是,装备武器学得某编号技能,并且改变当前职业。卸下武器则忘却该武器的技能及还原为默认职业。

以上

   
作者: 八云紫    时间: 2010-6-18 14:09
回复 v2sam 的帖子

添加的技能是自定的吧?

下载 VX 去,看起来不是很难。
作者: v2sam    时间: 2010-6-18 14:17
回复 提妲 的帖子

嗯,指定的,是根据备注来决定学几号技能。


顺道找来沉影的脚本。
  1. #==============================================================================
  2. # 武器带技能 by 沉影不器
  3. #------------------------------------------------------------------------------
  4. # 武器备注栏写 skill=技能号 表示武器带该技能.
  5. # 允许同时带多技能 skill=技能号,技能号,技能号...
  6. # 写法比较偷懒,bug未知
  7. #==============================================================================

  8. #==============================================================================
  9. # ■ RPG::Weapon
  10. #==============================================================================
  11. module RPG
  12.   class Weapon < BaseItem
  13.     def skill_ids
  14.       return read_note('skill').split(/,/)
  15.     end
  16.   end
  17.   class Armor < BaseItem
  18.     def skill_ids
  19.       return read_note('skill').split(/,/)
  20.     end
  21.   end  
  22. end

  23. #==============================================================================
  24. # ■ Game_Actor
  25. #==============================================================================
  26. class Game_Actor < Game_Battler
  27.   #--------------------------------------------------------------------------
  28.   # 技能绑定
  29.   #--------------------------------------------------------------------------
  30.   def skill_plus
  31.     @skills.clear
  32.     for i in self.class.learnings
  33.       learn_skill(i.skill_id) if i.level <= @level
  34.     end
  35.     unless @armor3_id == 0
  36.       ids = equips[3].skill_ids
  37.       for s in ids
  38.         learn_skill(s.to_i)
  39.       end
  40.     end
  41.     unless @armor4_id == 0
  42.       ids = equips[4].skill_ids
  43.       for s in ids
  44.         learn_skill(s.to_i)
  45.       end
  46.     end
  47.     unless @weapon_id == 0
  48.       ids = equips[0].skill_ids
  49.       for s in ids
  50.         learn_skill(s.to_i)
  51.       end
  52.     end
  53.     unless @armor1_id == 0
  54.       ids = equips[1].skill_ids
  55.       for s in ids
  56.         learn_skill(s.to_i)
  57.       end
  58.     end
  59.     unless @armor2_id == 0
  60.       ids = equips[2].skill_ids
  61.       for s in ids
  62.         learn_skill(s.to_i)
  63.       end
  64.     end
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 设置
  68.   #--------------------------------------------------------------------------
  69.   alias old_setup setup
  70.   def setup(actor_id)
  71.     old_setup(actor_id)
  72.     skill_plus
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 更改装备
  76.   #--------------------------------------------------------------------------
  77.   def change_equip(equip_type, item, test = false)
  78.     last_item = equips[equip_type]
  79.     unless test
  80.       return if $game_party.item_number(item) == 0 if item != nil
  81.       $game_party.gain_item(last_item, 1)
  82.       $game_party.lose_item(item, 1)
  83.     end
  84.     item_id = item == nil ? 0 : item.id
  85.     case equip_type
  86.     when 0  # 武器
  87.       @weapon_id = item_id
  88.       unless two_hands_legal?             # 违反双手拿取的情况下
  89.         change_equip(1, nil, test)        # 解除反手的装备
  90.       end
  91.     when 1  # 盾
  92.       @armor1_id = item_id
  93.       unless two_hands_legal?             # 违反双手拿取的情况下
  94.         change_equip(0, nil, test)        # 解除反手的装备
  95.       end
  96.     when 2  # 头
  97.       @armor2_id = item_id
  98.     when 3  # 身体
  99.       @armor3_id = item_id
  100.     when 4  # 装饰品
  101.       @armor4_id = item_id
  102.     end
  103.     skill_plus
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # ● 废弃装备
  107.   #--------------------------------------------------------------------------
  108.   def discard_equip(item)
  109.     if item.is_a?(RPG::Weapon)
  110.       if @weapon_id == item.id
  111.         @weapon_id = 0
  112.       elsif two_swords_style and @armor1_id == item.id
  113.         @armor1_id = 0
  114.       end
  115.     elsif item.is_a?(RPG::Armor)
  116.       if not two_swords_style and @armor1_id == item.id
  117.         @armor1_id = 0
  118.       elsif @armor2_id == item.id
  119.         @armor2_id = 0
  120.       elsif @armor3_id == item.id
  121.         @armor3_id = 0
  122.       elsif @armor4_id == item.id
  123.         @armor4_id = 0
  124.       end
  125.     end
  126.     skill_plus
  127.   end
  128. end
复制代码

作者: darkdrium    时间: 2010-6-18 14:58
本帖最后由 darkdrium 于 2010-6-18 15:01 编辑

使用该脚本显示read_note方法未定义,而且奇怪的是显示错误的armor行……

明白了,read_note在另外的页面定义的?先是plus_skill调用了armor的skill_ids。
作者: v2sam    时间: 2010-6-18 15:12
哈哈,这个我也不爱懂,天赋不在这上面= =
作者: darkdrium    时间: 2010-6-18 15:45
很忐忑的在沉影的脚本里添加了read_item方法,已经实现lz需要的效果
  1. #==============================================================================
  2. # 武器带技能 by 沉影不器
  3. #------------------------------------------------------------------------------
  4. # 武器备注栏写 skill=技能号 表示武器带该技能.
  5. # 允许同时带多技能 skill=技能号,技能号,技能号...
  6. # 写法比较偷懒,bug未知
  7. #==============================================================================

  8. #==============================================================================
  9. # ■ RPG::Weapon
  10. #==============================================================================
  11. module RPG
  12.   class BaseItem
  13.     def read_note(str)
  14.       [email protected]("\n")
  15.       note=notes.find do |line|
  16.         line.include?(str+'=')
  17.       end
  18.       if note
  19.         note.sub(str+"="){|m| ""}
  20.       else
  21.         ""
  22.       end
  23.     end
  24.   end
  25.   class Weapon < BaseItem
  26.     def skill_ids
  27.       return read_note('skill').split(/,/)
  28.     end
  29.     def class_ids
  30.       read_note('class')
  31.     end
  32.   end
  33.   class Armor < BaseItem
  34.     def skill_ids
  35.       return read_note('skill').split(/,/)
  36.     end
  37.   end  
  38. end

  39. #==============================================================================
  40. # ■ Game_Actor
  41. #==============================================================================
  42. class Game_Actor < Game_Battler
  43.   #--------------------------------------------------------------------------
  44.   # 技能绑定
  45.   #--------------------------------------------------------------------------
  46.   def skill_plus
  47.     @skills.clear
  48.     for i in self.class.learnings
  49.       learn_skill(i.skill_id) if i.level <= @level
  50.     end
  51.     unless @armor3_id == 0
  52.       ids = equips[3].skill_ids
  53.       for s in ids
  54.         learn_skill(s.to_i)
  55.       end
  56.     end
  57.     unless @armor4_id == 0
  58.       ids = equips[4].skill_ids
  59.       for s in ids
  60.         learn_skill(s.to_i)
  61.       end
  62.     end
  63.     unless @weapon_id == 0
  64.       ids = equips[0].skill_ids
  65.       for s in ids
  66.         learn_skill(s.to_i)
  67.       end
  68.     end
  69.     unless @armor1_id == 0
  70.       ids = equips[1].skill_ids
  71.       for s in ids
  72.         learn_skill(s.to_i)
  73.       end
  74.     end
  75.     unless @armor2_id == 0
  76.       ids = equips[2].skill_ids
  77.       for s in ids
  78.         learn_skill(s.to_i)
  79.       end
  80.     end
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 设置
  84.   #--------------------------------------------------------------------------
  85.   alias old_setup setup
  86.   def setup(actor_id)
  87.     old_setup(actor_id)
  88.     skill_plus
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ● 更改装备
  92.   #--------------------------------------------------------------------------
  93.   def change_equip(equip_type, item, test = false)
  94.     last_item = equips[equip_type]
  95.     unless test
  96.       return if $game_party.item_number(item) == 0 if item != nil
  97.       $game_party.gain_item(last_item, 1)
  98.       $game_party.lose_item(item, 1)
  99.     end
  100.     item_id = item == nil ? 0 : item.id
  101.     case equip_type
  102.     when 0  # 武器
  103.       @weapon_id = item_id
  104.       if equips[0] && equips[0].read_note("class") != ""
  105.         self.class_id = equips[0].read_note("class").to_i
  106.       else
  107.         self.class_id = $data_actors[@actor_id].class_id
  108.       end
  109.       unless two_hands_legal?             # 违反双手拿取的情况下
  110.         change_equip(1, nil, test)        # 解除反手的装备
  111.       end
  112.     when 1  # 盾
  113.       @armor1_id = item_id
  114.       unless two_hands_legal?             # 违反双手拿取的情况下
  115.         change_equip(0, nil, test)        # 解除反手的装备
  116.       end
  117.     when 2  # 头
  118.       @armor2_id = item_id
  119.     when 3  # 身体
  120.       @armor3_id = item_id
  121.     when 4  # 装饰品
  122.       @armor4_id = item_id
  123.     end
  124.     skill_plus
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● 废弃装备
  128.   #--------------------------------------------------------------------------
  129.   def discard_equip(item)
  130.     if item.is_a?(RPG::Weapon)
  131.       if @weapon_id == item.id
  132.         @weapon_id = 0
  133.       elsif two_swords_style and @armor1_id == item.id
  134.         @armor1_id = 0
  135.       end
  136.     elsif item.is_a?(RPG::Armor)
  137.       if not two_swords_style and @armor1_id == item.id
  138.         @armor1_id = 0
  139.       elsif @armor2_id == item.id
  140.         @armor2_id = 0
  141.       elsif @armor3_id == item.id
  142.         @armor3_id = 0
  143.       elsif @armor4_id == item.id
  144.         @armor4_id = 0
  145.       end
  146.     end
  147.     skill_plus
  148.   end
  149. end
复制代码

作者: darkdrium    时间: 2010-6-18 15:47
本帖最后由 darkdrium 于 2010-6-18 15:56 编辑

回复 v2sam 的帖子

动了两处,在module rpg处添加了BaseItem的read_note方法
还有更改武器的106-110行

使用方法,在备注中一行写skill=xx,xx,xx技能,回车换行,写class=xx。不写class=xx的恢复默认职业

ps:class和skill顺序可以变动
再ps:未完善异常处理,猜测如果你把职业id写的大于职业数量会出错
作者: v2sam    时间: 2010-6-18 16:24
啊,如果是备注行的识别,我还有另外一个脚本支持识别备注的标记,所以不用特地去写这个了。谢谢XDD
作者: darkdrium    时间: 2010-6-18 16:26
回复 v2sam 的帖子
:L 很显然由于你没给出备注识别脚本,导致我只好自己写了- -


   
作者: v2sam    时间: 2010-6-18 16:52
哈哈,对不起啊,补上:
  1. #==============================================================================
  2. # 读取rmvx备注栏指定字段 by 沉影不器
  3. # -----------------------------------------------------------------------------
  4. # 使用方法:
  5. #           在vx数据库比如1号物品的备注栏里书写: 耐久度 = 10
  6. #           读取时使用: p $data_items[1].read_note('耐久度')
  7. # 几点注意:
  8. #           ① 忽略空格
  9. #           ② 返回值为文本格式
  10. #==============================================================================
  11. module RPG
  12.   #=============================================================================
  13.   # ■ BaseItem
  14.   #=============================================================================
  15.   class BaseItem
  16.     #-------------------------------------------------------------------------
  17.     # ○ 读取rmvx备注栏指定字段
  18.     #     section : 字段名
  19.     #     ignore_caps : 忽略大小写(仅字段名)
  20.     #-------------------------------------------------------------------------
  21.     def read_note(section, ignore_caps = false)
  22.       result = ''
  23.       # 忽略大小写时,全部转大写
  24.       section.upcase! if ignore_caps
  25.       # 转symbol方便比较
  26.       s = section.to_sym
  27.       self.note.each_line{|line|
  28.         temp = line.split(/=/)
  29.         # 去掉干扰字符
  30.         temp.each {|i| i.strip!}
  31.         temp[0].upcase! if ignore_caps
  32.         if temp[0].to_sym == s
  33.           unless temp[1] == nil
  34.             result = temp[1]
  35.           end
  36.           # 如果希望同名字段值覆盖前面的字段,去掉下一行
  37.           break
  38.         end
  39.       }
  40.       return result
  41.     end
  42.   end
  43.   #=============================================================================
  44.   # ■ Enemy
  45.   #=============================================================================
  46.   class Enemy
  47.     #-------------------------------------------------------------------------
  48.     # ○ 读取rmvx备注栏指定字段
  49.     #     section : 字段名
  50.     #     ignore_caps : 忽略大小写(仅字段名)
  51.     #-------------------------------------------------------------------------
  52.     def read_note(section, ignore_caps = false)
  53.       result = ''
  54.       # 忽略大小写时,全部转大写
  55.       section.upcase! if ignore_caps
  56.       # 转symbol方便比较
  57.       s = section.to_sym
  58.       self.note.each_line{|line|
  59.         temp = line.split(/=/)
  60.         # 去掉干扰字符
  61.         temp.each {|i| i.strip!}
  62.         temp[0].upcase! if ignore_caps
  63.         if temp[0].to_sym == s
  64.           unless temp[1] == nil
  65.             result = temp[1]
  66.           end
  67.           # 如果希望同名字段值覆盖前面的字段,去掉下一行
  68.           break
  69.         end
  70.       }
  71.       return result
  72.     end
  73.   end
  74.   #=============================================================================
  75.   # ■ State
  76.   #=============================================================================
  77.   class State
  78.     #-------------------------------------------------------------------------
  79.     # ○ 读取rmvx备注栏指定字段
  80.     #     section : 字段名
  81.     #     ignore_caps : 忽略大小写(仅字段名)
  82.     #-------------------------------------------------------------------------
  83.     def read_note(section, ignore_caps = false)
  84.       result = ''
  85.       # 忽略大小写时,全部转大写
  86.       section.upcase! if ignore_caps
  87.       # 转symbol方便比较
  88.       s = section.to_sym
  89.       self.note.each_line{|line|
  90.         temp = line.split(/=/)
  91.         # 去掉干扰字符
  92.         temp.each {|i| i.strip!}
  93.         temp[0].upcase! if ignore_caps
  94.         if temp[0].to_sym == s
  95.           unless temp[1] == nil
  96.             result = temp[1]
  97.           end
  98.           # 如果希望同名字段值覆盖前面的字段,去掉下一行
  99.           break
  100.         end
  101.       }
  102.       return result
  103.     end
  104.   end
  105. end
复制代码

作者: darkdrium    时间: 2010-6-18 19:23
回复 v2sam 的帖子
那么只要106-110行就可以。
读取备注脚本上,我的思路跟沉影大大的比较相似,区别就是他做的比我完善多了……bow,差距啊差距,所幸接口统一,他的read_note返回结果和我的一样


   
作者: 小幽的马甲    时间: 2010-6-18 20:05
总觉得那个脚本的防具带技能那块是我加进去的T_T
顺便,我想知道如何处理二刀流= =
作者: v2sam    时间: 2010-6-18 20:58
回复 小幽的马甲 的帖子


    没错就是小幽你加的啊0 0  
作者: v2sam    时间: 2010-6-18 21:35
回复 darkdrium 的帖子


    放进去没有效果= =|||class=08
作者: wsffx13    时间: 2010-6-18 22:27
其实得说清职业影响
是一换装备,就改变职业后,技能,能力都完全改变呢,还是改变职业后,升级时能学相应的技能,和相对应的能力提升。
从你前面描述的看,貌似第一种。

那就重定义下人物职业的属性吧,另外武器附加职业id和技能。这里也可以取消武器附加技能,而在换物器时附加个技能变化操作,忘记所有技能,学会对应职业等级的所有技能。
作者: darkdrium    时间: 2010-6-18 22:28
回复 v2sam 的帖子
摊手,我测试了下,用沉影大大的读取备注脚本和武器改变技能脚本,加上我那5句就可以了
我用棒槌备注class=3,职业变成牧师


   
作者: v2sam    时间: 2010-6-19 11:51
回复 darkdrium 的帖子

依然没有效果= =|||   可不可以给个完整的看看
   
作者: darkdrium    时间: 2010-6-19 12:10
回复 v2sam 的帖子
Project1.rar (246.64 KB, 下载次数: 26)

直接给你我昨天的测试用范例

脚本添加了两页,读取备注和武器附带技能,武器附带技能里我添加了那几行

游戏中那个npc会给一根棍棒,棍棒我设置了职业是牧师
作者: v2sam    时间: 2010-6-19 13:01
嗯……这个BUG还有许多……

BUG1:如果角色默认装备了一个武器,该武器指定的职业无用。

BUG2:如果角色把所有武器卸下(或指向一个空白),就会出错。
作者: darkdrium    时间: 2010-6-19 13:13
回复 v2sam 的帖子
bug2解决办法:game_actor页630行
for i in 0..4     # 除去不可用的装备
改成for i in 1..4
bug原因:这个方法和我写的语句里的class_id=方法互相调用,陷入死循环
第一个bug……为什么要通过脚本解决?直接设置主角初始职业和武器职业匹配不就好了么

   
作者: 大喷菇    时间: 2010-6-19 13:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: v2sam    时间: 2010-6-19 14:40
这个……怎么结贴?
作者: ClaudeBell    时间: 2010-6-19 17:48

  1. #-------------------------------------------------------
  2. # 2010-6-19
  3. # 说明
  4. # $g_weapon_class 中存放 武器与职业 的对应关系
  5. # 第一个数是职业id,另一个是武器id
  6. # 例: 1号武器对应1号职业,2号武器对应3号职业
  7. # $g_weapon_class = {1=>1, 2=>2}
  8. # 注意:每个武器只能对应一种职业,即不能出现 1=>1, 2=>1 的情况
  9. # 若 $g_bForgetSkills = true 则换武器后遗忘原有技能,为false则不会
  10. # 若 $g_bLearnSkills = true 则换武器后学习有技能,为false则不会

  11. #-------------------------------------------------------
  12. # 定义哈希表,用以存储与武器对应的职业编号
  13. $g_weapon_class = {1=>1}

  14. # 定义无职业的id号
  15. $noClass = 9

  16. # 定义布尔变量,用以判断是否遗忘原有职业技能
  17. $g_bForgetSkills = true
  18. $g_bLearnSkills = true

  19. #--------------------------------------------------------

  20. # 重定义装备数据显示界面(未实现)

  21. # 重定义装备道具部分
  22. class Game_Actor < Game_Battler
  23.   def change_equip(equip_type, item, test = false)
  24.     last_item = equips[equip_type]
  25.     unless test
  26.       return if $game_party.item_number(item) == 0 if item != nil
  27.       $game_party.gain_item(last_item, 1)
  28.       $game_party.lose_item(item, 1)
  29.     end
  30.     item_id = item == nil ? 0 : item.id
  31.     case equip_type
  32.     when 0  # 武器
  33.       @weapon_id = item_id
  34.       unless two_hands_legal?             # 非双手装备的场合,自动卸下装备
  35.         change_equip(1, nil, test)
  36.       end
  37.       
  38.       # 遗忘原职业技能
  39.       if $g_bForgetSkills
  40.         for i in self.class.learnings
  41.           forget_skill(i.skill_id) if i.level <= @level
  42.         end
  43.       end
  44.       
  45.       # 变更职业
  46.       @newClassID = $g_weapon_class.index(item_id)
  47.       if @newClassID == nil
  48.         @class_id = $noClass
  49.       else
  50.         @class_id = @newClassID
  51.       end
  52.       
  53.       # 习得新职业技能
  54.       if $g_bLearnSkills
  55.         for i in self.class.learnings
  56.           learn_skill(i.skill_id) if i.level <= @level
  57.         end
  58.       end

  59.     when 1  # 盾
  60.       @armor1_id = item_id
  61.       unless two_hands_legal?             # 非双手装备的场合,自动卸下装备
  62.         change_equip(0, nil, test)
  63.       end
  64.     when 2  # 头部防具
  65.       @armor2_id = item_id
  66.     when 3  # 身体防具
  67.       @armor3_id = item_id
  68.     when 4  # 装饰品
  69.       @armor4_id = item_id
  70.     end
  71.   end
  72. end
复制代码
写了一个比较简单的...{:nm_3:}




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1