设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2402|回复: 11
打印 上一主题 下一主题

[已经解决] 关于装备技能的事件方法

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2013-12-29
帖子
51
跳转到指定楼层
1
发表于 2014-2-5 18:26:35 手机端发表。 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
设置好佩戴装备获得技能的条件分歧之后,不知道该怎么让人物在佩戴装备之后就执行公共事件(语文水平不好,大致就是在公共事件里设置好佩戴装备获得技能之后该怎么执行事件吧。。)

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
2
发表于 2014-2-5 19:10:55 | 只看该作者
  1. # 装备附带技能
  2. # 举例
  3. # 铜剑,10  该武器附带ID为10的特技
  4. # 防具亦然




  5. module RPG
  6.   class Weapon
  7.     def name
  8.       return @name.split(",")[0] == nil ? "" : @name.split(",")[0]
  9.     end
  10.     def skill
  11.       return @name.split(",")[1] == nil ? 0 : @name.split(",")[1].to_i
  12.     end
  13.   end
  14.   class Armor
  15.     def name
  16.       return @name.split(",")[0] == nil ? "" : @name.split(",")[0]
  17.     end
  18.     def skill
  19.       return @name.split(",")[1] == nil ? 0 : @name.split(",")[1].to_i
  20.     end
  21.   end
  22. end
  23. class Game_Actor < Game_Battler
  24.   def equip(equip_type, id)
  25.     case equip_type
  26.     when 0
  27.       if id == 0 or $game_party.weapon_number(id) > 0
  28.         $game_party.gain_weapon(@weapon_id, 1)
  29.         if $data_weapons[@weapon_id] != nil and
  30.           $data_weapons[@weapon_id].skill != 0
  31.           forget_skill($data_weapons[@weapon_id].skill)
  32.         end
  33.         @weapon_id = id
  34.         $game_party.lose_weapon(id, 1)
  35.         if $data_weapons[id] != nil and
  36.           $data_weapons[id].skill != 0
  37.           learn_skill($data_weapons[id].skill)
  38.         end
  39.       end
  40.     when 1
  41.       if id == 0 or $game_party.armor_number(id) > 0
  42.         update_auto_state($data_armors[@armor1_id], $data_armors[id])
  43.         $game_party.gain_armor(@armor1_id, 1)
  44.         if $data_armors[@armor1_id] != nil and
  45.           $data_armors[@armor1_id].skill != 0
  46.           forget_skill($data_armors[@armor1_id].skill)
  47.         end
  48.         @armor1_id = id
  49.         $game_party.lose_armor(id, 1)
  50.         if $data_armors[id] != nil and
  51.           $data_armors[id].skill != 0
  52.           learn_skill($data_armors[id].skill)
  53.         end
  54.       end
  55.     when 2
  56.       if id == 0 or $game_party.armor_number(id) > 0
  57.         update_auto_state($data_armors[@armor2_id], $data_armors[id])
  58.         $game_party.gain_armor(@armor2_id, 1)
  59.         if $data_armors[@armor2_id] != nil and
  60.           $data_armors[@armor2_id].skill != 0
  61.           forget_skill($data_armors[@armor2_id].skill)
  62.         end
  63.         @armor2_id = id
  64.         $game_party.lose_armor(id, 1)
  65.         if $data_armors[id] != nil and
  66.           $data_armors[id].skill != 0
  67.           learn_skill($data_armors[id].skill)
  68.         end
  69.       end
  70.     when 3
  71.       if id == 0 or $game_party.armor_number(id) > 0
  72.         update_auto_state($data_armors[@armor3_id], $data_armors[id])
  73.         $game_party.gain_armor(@armor3_id, 1)
  74.         if $data_armors[@armor3_id] != nil and
  75.           $data_armors[@armor3_id].skill != 0
  76.           forget_skill($data_armors[@armor3_id].skill)
  77.         end
  78.         @armor3_id = id
  79.         $game_party.lose_armor(id, 1)
  80.         if $data_armors[id] != nil and
  81.           $data_armors[id].skill != 0
  82.           learn_skill($data_armors[id].skill)
  83.         end
  84.       end
  85.     when 4
  86.       if id == 0 or $game_party.armor_number(id) > 0
  87.         update_auto_state($data_armors[@armor4_id], $data_armors[id])
  88.         $game_party.gain_armor(@armor4_id, 1)
  89.         if $data_armors[@armor4_id] != nil and
  90.           $data_armors[@armor4_id].skill != 0
  91.           forget_skill($data_armors[@armor4_id].skill)
  92.         end
  93.         @armor4_id = id
  94.         $game_party.lose_armor(id, 1)
  95.         if $data_armors[id] != nil and
  96.           $data_armors[id].skill != 0
  97.           learn_skill($data_armors[id].skill)
  98.         end
  99.       end
  100.     end
  101.   end
  102. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2013-12-29
帖子
51
3
 楼主| 发表于 2014-2-5 19:30:21 手机端发表。 | 只看该作者
恋′挂机 发表于 2014-2-5 19:10

木有事件版的办法么。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2013-12-29
帖子
51
4
 楼主| 发表于 2014-2-5 22:48:29 | 只看该作者
恋′挂机 发表于 2014-2-5 19:10

不太明白应该把数字和名字插在哪里。。试了30分钟都没试出来

点评

数据库中武器或者防具名称后追加技能id用“,”隔开 比如 铜剑,10  发表于 2014-2-5 22:50
回复 支持 反对

使用道具 举报

Lv3.寻梦者

○赛

梦石
0
星屑
1249
在线时间
1276 小时
注册时间
2013-1-22
帖子
2246

贵宾

5
发表于 2014-2-6 02:32:53 | 只看该作者
设置并行处理的公共事件。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2013-12-29
帖子
51
6
 楼主| 发表于 2014-2-6 09:25:31 手机端发表。 | 只看该作者
天地有正气 发表于 2014-2-6 02:32
设置并行处理的公共事件。

每个地图都设置么

点评

在公共时间里这只一个并行处理就可以了,不需要每个地图都设置。  发表于 2014-2-7 06:35
公共事件,只是打开一个开关 让他自己执行  发表于 2014-2-6 09:28
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2013-12-29
帖子
51
7
 楼主| 发表于 2014-2-6 22:58:46 | 只看该作者
恋′挂机 发表于 2014-2-5 19:10

如果是把防具技能的话,用铜剑,10的方法放在这几个(",")或者是 ""里都没反应。。
class Armor
    def name
      return @name.split(",")[0] == nil ? "" : @name.split(",")[0]
    end
    def skill
      return @name.split(",")[1] == nil ? 0 : @name.split(",")[1].to_i
    end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2013-12-29
帖子
51
8
 楼主| 发表于 2014-2-6 23:03:30 | 只看该作者
恋′挂机 发表于 2014-2-5 19:10

好像已经可以了,不过第一次出场的角色在初始装备上设置好带技能装备后第一次战斗并不能拥有技能,这个有没有办法解决
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2013-12-29
帖子
51
9
 楼主| 发表于 2014-2-6 23:07:29 | 只看该作者
恋′挂机 发表于 2014-2-5 19:10

方法是用的公共事件的方法,脚本的还是不知道添哪。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
10
发表于 2014-2-6 23:15:35 | 只看该作者
本帖最后由 恋′挂机 于 2014-2-7 09:22 编辑

脚本无误!只是改变了定义技能的方式而已(降低冲突,@name.split 很多人都用)!!!!!!

另外你说的技能无法使用,是你数据库设置技能有误与本脚本无关!!!!!
  1. # -----------------------------------------------
  2. # 装备附加技能
  3. # -----------------------------------------------

  4. Weapon_Skill = {}
  5. Armor_Skill = {}

  6. # -----------------------------------------------
  7. # 武器设置
  8. # -----------------------------------------------
  9. Weapon_Skill[1] = 10 # 1号武器附加10号技能
  10. Weapon_Skill[2] = 11 # 2号武器附加11号技能
  11. Weapon_Skill[3] = 12 # 3号武器附加12号技能

  12. # -----------------------------------------------
  13. # 防具设置
  14. # -----------------------------------------------
  15. Armor_Skill[1] = 13 # 1号防具附加13号技能
  16. Armor_Skill[5] = 14 # 5号防具附加14号技能



  17. # -----------------------------------------------
  18. # 正文
  19. # -----------------------------------------------

  20. class Game_Actor < Game_Battler
  21.   alias setup_old_plus_skill setup
  22.   def setup(actor_id)
  23.     setup_old_plus_skill(actor_id)
  24.     # 如果角色装备有武器,并且该武器附带技能
  25.     if $data_weapons[@weapon_id] != nil and
  26.       Weapon_Skill[@weapon_id] != nil
  27.       # 学会该技能
  28.       learn_skill(Weapon_Skill[@weapon_id])
  29.     end
  30.     # 如果角色装备有防具,并且该防具附带技能
  31.     if $data_armors[@armor1_id] != nil and
  32.       Armor_Skill[@armor1_id] != nil
  33.       # 学会该技能
  34.       learn_skill(Armor_Skill[@armor1_id])
  35.     end
  36.     # 如果角色装备有防具,并且该防具附带技能
  37.     if $data_armors[@armor2_id] != nil and
  38.       Armor_Skill[@armor2_id] != nil
  39.       # 学会该技能
  40.       learn_skill(Armor_Skill[@armor2_id])
  41.     end
  42.     # 如果角色装备有防具,并且该防具附带技能
  43.     if $data_armors[@armor3_id] != nil and
  44.       Armor_Skill[@armor3_id] != nil
  45.       # 学会该技能
  46.       learn_skill(Armor_Skill[@armor3_id])
  47.     end
  48.     # 如果角色装备有防具,并且该防具附带技能
  49.     if $data_armors[@armor4_id] != nil and
  50.       Armor_Skill[@armor4_id] != nil
  51.       # 学会该技能
  52.       learn_skill(Armor_Skill[@armor4_id])
  53.     end
  54.   end
  55.   def equip(equip_type, id)
  56.     case equip_type
  57.     when 0
  58.       if id == 0 or $game_party.weapon_number(id) > 0
  59.         $game_party.gain_weapon(@weapon_id, 1)
  60.         # 如果原装备有武器,并且该武器附带技能
  61.         if $data_weapons[@weapon_id] != nil and
  62.           Weapon_Skill[@weapon_id] != nil
  63.           # 遗忘该技能
  64.           forget_skill(Weapon_Skill[@weapon_id])
  65.         end
  66.         @weapon_id = id
  67.         $game_party.lose_weapon(id, 1)
  68.         # 如果当前装备的武器附带技能
  69.         if $data_weapons[id] != nil and
  70.           Weapon_Skill[id] != nil
  71.           # 学会该技能
  72.           forget_skill(Weapon_Skill[id])
  73.         end
  74.       end
  75.     when 1
  76.       if id == 0 or $game_party.armor_number(id) > 0
  77.         update_auto_state($data_armors[@armor1_id], $data_armors[id])
  78.         $game_party.gain_armor(@armor1_id, 1)
  79.         # 如果原装备有防具,并且该防具附带技能
  80.         if $data_armors[@armor1_id] != nil and
  81.           Armor_Skill[@armor1_id] != nil
  82.           # 遗忘该技能
  83.           forget_skill(Armor_Skill[@armor1_id])
  84.         end
  85.         @armor1_id = id
  86.         $game_party.lose_armor(id, 1)
  87.         # 如果当前装备的防具附带技能
  88.         if $data_armors[id] != nil and
  89.           Armor_Skill[id] != nil
  90.           # 学会该技能
  91.           forget_skill(Armor_Skill[id])
  92.         end
  93.       end
  94.     when 2
  95.       if id == 0 or $game_party.armor_number(id) > 0
  96.         update_auto_state($data_armors[@armor2_id], $data_armors[id])
  97.         $game_party.gain_armor(@armor2_id, 1)
  98.         # 如果原装备有防具,并且该防具附带技能
  99.         if $data_armors[@armor2_id] != nil and
  100.           Armor_Skill[@armor2_id] != nil
  101.           # 遗忘该技能
  102.           forget_skill(Armor_Skill[@armor2_id])
  103.         end
  104.         @armor2_id = id
  105.         $game_party.lose_armor(id, 1)
  106.         # 如果当前装备的防具附带技能
  107.         if $data_armors[id] != nil and
  108.           Armor_Skill[id] != nil
  109.           # 学会该技能
  110.           forget_skill(Armor_Skill[id])
  111.         end
  112.       end
  113.     when 3
  114.       if id == 0 or $game_party.armor_number(id) > 0
  115.         update_auto_state($data_armors[@armor3_id], $data_armors[id])
  116.         $game_party.gain_armor(@armor3_id, 1)
  117.         # 如果原装备有防具,并且该防具附带技能
  118.         if $data_armors[@armor3_id] != nil and
  119.           Armor_Skill[@armor3_id] != nil
  120.           # 遗忘该技能
  121.           forget_skill(Armor_Skill[@armor3_id])
  122.         end
  123.         @armor3_id = id
  124.         $game_party.lose_armor(id, 1)
  125.         # 如果当前装备的防具附带技能
  126.         if $data_armors[id] != nil and
  127.           Armor_Skill[id] != nil
  128.           # 学会该技能
  129.           forget_skill(Armor_Skill[id])
  130.         end
  131.       end
  132.     when 4
  133.       if id == 0 or $game_party.armor_number(id) > 0
  134.         update_auto_state($data_armors[@armor4_id], $data_armors[id])
  135.         $game_party.gain_armor(@armor4_id, 1)
  136.         # 如果原装备有防具,并且该防具附带技能
  137.         if $data_armors[@armor4_id] != nil and
  138.           Armor_Skill[@armor4_id] != nil
  139.           # 遗忘该技能
  140.           forget_skill(Armor_Skill[@armor4_id])
  141.         end
  142.         @armor4_id = id
  143.         $game_party.lose_armor(id, 1)
  144.         # 如果当前装备的防具附带技能
  145.         if $data_armors[id] != nil and
  146.           Armor_Skill[id] != nil
  147.           # 学会该技能
  148.           forget_skill(Armor_Skill[id])
  149.         end
  150.       end
  151.     end
  152.   end
  153. end
复制代码

点评

已解决!!麻烦你了、、、、、、、、万分感谢  发表于 2014-2-8 19:57
还是不行。。在第13 15行全部填写上 防具名字,技能代号,人物还是不能使用该技能  发表于 2014-2-7 00:05
抱歉刚有个小失误  发表于 2014-2-6 23:24

评分

参与人数 1梦石 +1 收起 理由
myownroc + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-1 20:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表