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

Project1

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

[已经解决] VA如何做出普通攻击后随机释放技能?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
跳转到指定楼层
1
发表于 2013-8-3 21:49:51 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 tan12345 于 2013-8-10 20:53 编辑

我想做个普通攻击后随机释放技能,比如学习A技能后普通攻击有几率释放技能,以前用RMXP,已经能实现了,但是换成VA后代码什么的变化太大,所以只能求救大家了

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
6
 楼主| 发表于 2013-8-4 22:40:39 | 只看该作者
感谢各位大大的帮助,还有别的脚本能实现吗?我在主站上找到一个XP的,自己改了半天没改出来,求帮助。以下是主站上XP的脚本http://www.66rpg.com/articles/4439
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2011-2-21
帖子
5
5
发表于 2013-8-4 13:41:28 | 只看该作者
本帖最后由 szhb89122 于 2013-8-4 13:43 编辑

楼上的方法可行但玩起来比较蛋疼,每次都要选技能...建议改一下脚本,让每个角色的普通攻击跟其他角色的普通攻击区分开来。比如说根据武器类型来区分,再为每个角色指定固定的武器类型,再用2L的方法为这些武器类型对应的普通攻击技能增加公共事件,就可以实现LZ的效果。

举个例子,把这段代码插到main前。效果是装备斧头的话普通攻击就会变成火球,装备其他武器就还是普通攻击。想要对应更多的武器类型,只要在set_attack_skill里增加if判断就可以了就行了。
PS:我是新手,不敢保证这脚本没其他问题哈...
  1. #encoding:utf-8

  2. # ★ 根据武器类型改变普通攻击技能
  3. # ★ szhb89122

  4. #==============================================================================
  5. # ■ Game_BattlerBase
  6. #------------------------------------------------------------------------------
  7. #  管理战斗者的类。主要含有能力值计算的方法。Game_Battler 类的父类。
  8. #==============================================================================

  9. class Game_BattlerBase
  10.   #--------------------------------------------------------------------------
  11.   # ● 定义实例变量
  12.   #--------------------------------------------------------------------------
  13.   attr_reader   :attack_skill_id
  14.   #--------------------------------------------------------------------------
  15.   # ● 初始化对象
  16.   #--------------------------------------------------------------------------
  17.   alias initialize_ace initialize
  18.   def initialize
  19.     initialize_ace
  20.     @attack_skill_id = 1
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 获取普通攻击的技能 ID
  24.   #--------------------------------------------------------------------------
  25.   def attack_skill_id
  26.     return @attack_skill_id
  27.   end
  28. end


  29. #==============================================================================
  30. # ■ Game_Actor
  31. #------------------------------------------------------------------------------
  32. #  管理角色的类。
  33. #   本类在 Game_Actors 类 ($game_actors) 的内部使用。
  34. #   具体使用请查看 Game_Party 类 ($game_party) 。
  35. #==============================================================================

  36. class Game_Actor < Game_Battler
  37.   #--------------------------------------------------------------------------
  38.   # ● 设置
  39.   #--------------------------------------------------------------------------
  40.   alias setup_ace setup
  41.   def setup(actor_id)
  42.     setup_ace(actor_id)
  43.     set_attack_skill
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 更换装备
  47.   #     slot_id : 装备栏 ID
  48.   #     item    : 武器/护甲(为 nil 时装备解除)
  49.   #--------------------------------------------------------------------------
  50.   alias change_equip_ace change_equip
  51.   def change_equip(slot_id, item)
  52.     change_equip_ace(slot_id, item)
  53.     set_attack_skill
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 强制更换装备
  57.   #     slot_id : 装备栏 ID
  58.   #     item    : 武器/护甲(为 nil 时装备解除)
  59.   #--------------------------------------------------------------------------
  60.   alias force_change_equip_ace force_change_equip
  61.   def force_change_equip(slot_id, item)
  62.     force_change_equip_ace(slot_id, item)
  63.     set_attack_skill
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 设置普通攻击的技能
  67.   #--------------------------------------------------------------------------
  68.   def set_attack_skill
  69.     if wtype_equipped?(1)
  70.       set_attack_skill_id(51)
  71.     else
  72.       set_attack_skill_id(1)
  73.     end
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 设置普通攻击的技能 ID
  77.   #--------------------------------------------------------------------------
  78.   def set_attack_skill_id(id)
  79.     return @attack_skill_id = id
  80.   end
  81. end
复制代码
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
665
在线时间
194 小时
注册时间
2012-6-1
帖子
720
4
发表于 2013-8-4 09:35:19 | 只看该作者
本帖最后由 1715063941 于 2013-8-4 09:44 编辑

用那个坑爹的Battle symppoy试试?
不妨试试孤的想法?
直接删掉普通攻击
全部人物习得各自的技能,其中一个无消耗,作为普通攻击

点评

大概就是这个名字吧  发表于 2013-8-4 09:35
死亡
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2011-2-21
帖子
5
3
发表于 2013-8-4 01:18:22 | 只看该作者
楼上的方法应该会导致无论任何角色(包括敌人)使用普通攻击时,只要艾利克学会了84号技能,都会放出一次84号技能来。使用这个方法前还要先让艾利克的普通攻击跟其他角色的普通攻击区分开来才行。

点评

好吧,在下有技術上的困難...不曉得如何獲取行動中的角色。  发表于 2013-8-4 01:24
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1179
在线时间
209 小时
注册时间
2013-6-19
帖子
138
2
发表于 2013-8-4 00:32:45 | 只看该作者
本帖最后由 a0936459772 于 2013-8-4 01:34 编辑

攻擊插入公共事件


這是公共事件的設定,我只弄得出針對一個主角而已...



只親測過一次有效,應該還會有問題...

13.08.04 AM 01:33
沒錯真的出問題了,其他人普攻也會觸發這個效果
如果有使用職業對應普攻腳本,應該可以解決

评分

参与人数 1星屑 +100 收起 理由
Sion + 100 感谢帮忙

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 12:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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