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

Project1

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

[已经解决] 求助如何让防具调用公共事件?

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-4-13
帖子
121
跳转到指定楼层
1
发表于 2009-11-18 17:05:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv4.逐梦者

梦石
0
星屑
6940
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

2
发表于 2009-11-18 17:11:29 | 只看该作者
恐怕要动脚本才会有效率....
用事件做的话....好像要用N多N多的条件分歧- -











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
306 小时
注册时间
2009-8-21
帖子
119
3
发表于 2009-11-18 17:31:11 | 只看该作者
本帖最后由 wxs29 于 2009-11-18 17:34 编辑

公共事件  (并行处理)
条件分歧:持有[某某]        (某某指你要用的防具)
  增减特技:[阿尔西斯]+[某某]      (某某指学会的特技)

   除此以外的场合:
   增减特技:[阿尔西斯]-[某某]

   分歧结束
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-4-13
帖子
121
4
 楼主| 发表于 2009-11-18 18:14:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
2287 小时
注册时间
2008-8-3
帖子
1505
5
发表于 2009-11-18 18:21:33 | 只看该作者
随便指定一个开关
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-4-13
帖子
121
6
 楼主| 发表于 2009-11-18 18:25:24 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-4-13
帖子
121
7
 楼主| 发表于 2009-11-18 18:32:28 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-4-13
帖子
121
8
 楼主| 发表于 2009-11-18 18:50:07 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
306 小时
注册时间
2009-8-21
帖子
119
9
发表于 2009-11-18 21:28:22 | 只看该作者
我试了持有是行的通,但是为什么我设置成装备的时候就成无效了呢?
迷糊! 发表于 2009-11-18 18:32

这个.....装备后学会技能似乎无法实现,只有携带时才可以......

真的想要实现就去找那些脚本大师吧....
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6940
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

10
发表于 2009-11-19 00:01:54 | 只看该作者
本帖最后由 后知后觉 于 2009-11-19 00:08 编辑

设置方法
在数据库-武器和防具的名字后面加 @技能ID
这个技能ID指的是1号角色的学会的技能ID
比如  铜剑@1
那么1号角色拿上铜剑学会1号技能.2号角色拿上铜剑学会2号技能
比如  铜盾@5
那么1号角色拿上铜盾学会5号技能.2号角色拿上就学会6号技能.3号角色拿上就学会7号技能
大概就是这样.应该能理解了吧?- -
脚本:
  1. #==============================================================================
  2. # ■ Game_Actor
  3. #==============================================================================

  4. class Game_Actor < Game_Battler
  5.   #--------------------------------------------------------------------------
  6.   # ● 更新自动状态
  7.   #--------------------------------------------------------------------------
  8.   def update_auto_state(old_armor, new_armor)
  9.     if old_armor != nil and old_armor.auto_state_id != 0
  10.       remove_state(old_armor.auto_state_id, true)
  11.     end
  12.     if new_armor != nil and new_armor.auto_state_id != 0
  13.       add_state(new_armor.auto_state_id, true)
  14.     end
  15.     if old_armor != nil and old_armor.skill_id > 0
  16.       forget_skill(old_armor.skill_id + self.id - 1)
  17.     end
  18.     if new_armor != nil and new_armor.skill_id > 0
  19.       learn_skill(new_armor.skill_id + self.id - 1)
  20.     end
  21.   end

  22.     #--------------------------------------------------------------------------
  23.   # ● 变更武器刷新技能
  24.   #--------------------------------------------------------------------------
  25.   def update_weapon_skill(old_weapon, new_weapon)
  26.     if old_weapon != nil and old_weapon.skill_id > 0
  27.       forget_skill(old_weapon.skill_id + self.id - 1)
  28.     end
  29.     if new_weapon != nil and new_weapon.skill_id > 0
  30.       learn_skill(new_weapon.skill_id + self.id - 1)
  31.     end
  32.   end
  33.   #--------------------------------------------------------------------------
  34.   # ● 变更装备
  35.   #--------------------------------------------------------------------------
  36.   def equip(equip_type, id)
  37.     case equip_type
  38.     when 0  # 武器
  39.       if id == 0 or $game_party.weapon_number(id) > 0
  40.         update_weapon_skill($data_weapons[@weapon_id], $data_weapons[id])
  41.         $game_party.gain_weapon(@weapon_id, 1)
  42.         @weapon_id = id
  43.         $game_party.lose_weapon(id, 1)
  44.       end
  45.     when 1  # 盾
  46.       if id == 0 or $game_party.armor_number(id) > 0
  47.         update_auto_state($data_armors[@armor1_id], $data_armors[id])
  48.         $game_party.gain_armor(@armor1_id, 1)
  49.         @armor1_id = id
  50.         $game_party.lose_armor(id, 1)
  51.       end
  52.     when 2  # 头
  53.       if id == 0 or $game_party.armor_number(id) > 0
  54.         update_auto_state($data_armors[@armor2_id], $data_armors[id])
  55.         $game_party.gain_armor(@armor2_id, 1)
  56.         @armor2_id = id
  57.         $game_party.lose_armor(id, 1)
  58.       end
  59.     when 3  # 身体
  60.       if id == 0 or $game_party.armor_number(id) > 0
  61.         update_auto_state($data_armors[@armor3_id], $data_armors[id])
  62.         $game_party.gain_armor(@armor3_id, 1)
  63.         @armor3_id = id
  64.         $game_party.lose_armor(id, 1)
  65.       end
  66.     when 4  # 装饰品
  67.       if id == 0 or $game_party.armor_number(id) > 0
  68.         update_auto_state($data_armors[@armor4_id], $data_armors[id])
  69.         $game_party.gain_armor(@armor4_id, 1)
  70.         @armor4_id = id
  71.         $game_party.lose_armor(id, 1)
  72.       end
  73.     end
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 设置
  77.   #--------------------------------------------------------------------------
  78.   alias hzhj_actor_setup setup
  79.   def setup(actor_id)
  80.     hzhj_actor_setup(actor_id)
  81.     update_weapon_skill(nil, $data_weapons[@weapon_id])
  82.   end
  83. end

  84. module RPG
  85.   class Weapon
  86.     def name
  87.       new_name = @name.split(/@/)[0]
  88.       new_name = new_name == nil ? "" : new_name
  89.       return new_name
  90.     end
  91.     def skill_id
  92.       skillid = @name.split(/@/)[1]
  93.       skillid = skillid == nil ? 0 : skillid.to_i.abs
  94.       return skillid
  95.     end
  96.   end
  97.   class Armor
  98.     def name
  99.       new_name = @name.split(/@/)[0]
  100.       new_name = new_name == nil ? "" : new_name
  101.       return new_name
  102.     end
  103.     def skill_id
  104.       skillid = @name.split(/@/)[1]
  105.       skillid = skillid == nil ? 0 : skillid.to_i.abs
  106.       return skillid
  107.     end
  108.   end
  109. end
复制代码
.
范例工程一只
Project2.rar (185.56 KB, 下载次数: 70)
.
如果还要更细致的效果
比如1号角色拿上铜盾学会5号技能
2号和3号角色却什么也不学会.而4号角色拿上能学会8号技能
像这样的效果就自己想办法吧~











你知道得太多了

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-24 01:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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