查看: 2335|回复: 3

[已经解决] 技能事件学习方法

[复制链接]
梦石
0
星屑
50
在线时间
46 小时
注册时间
2014-1-13
回帖
21
发表于 2014-10-26 18:07:59 来自手机 | 显示全部楼层 |阅读模式

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

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

×
我想设计一个技能,这个技能在角色80级及以上时使用第x号技能15次后才能获得。

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-10-26 18:49:26 | 显示全部楼层
如果只有一个角色,那么第x号技能触发一个公共事件,如果该角色等级在80级以上则某变量+1,如果某变量大于等于15则该角色习得技能

如果有多个角色,那么就每个角色对应不同的“第x号技能”、不同的公共事件、不同的变量

评分

参与人数 1星屑 +150 收起 理由
VIPArcher + 150 今日第三撞(~ o ~)Y

查看全部评分

回复

使用道具 举报

无限の剣制

梦石
0
星屑
10450
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2014-10-26 18:51:42 | 显示全部楼层
我提供一个并不怎么优秀的做法的思路吧
用技能挂钩公共事件做到
第X号技能伤害公式这么写$use_id = a.id;原公式
第X号技能使用效果里加一个公共事件,
分歧条件-脚本:$use_id == 1
  变量1号角色使用次数 += 1
分歧结束
分歧条件-脚本:$use_id == 2
  变量2号角色使用次数 += 1
分歧结束
............
这里继续添加所有可以学会这个技能的角色分歧
............
分歧条件1号角色等级>=80
  分歧条件变量1号角色使用次数 >= 15
    1号角色学会某技能
  分歧结束
分歧结束
分歧条件2号角色等级>=80
  分歧条件变量2号角色使用次数 >= 15
    2号角色学会某技能
  分歧结束
分歧结束
...........
这里继续添加可以学会该技能的角色
只是思路未测试
回复

使用道具 举报

闇吼者の災悪眷族

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
回帖
6408
发表于 2014-10-26 19:12:06 | 显示全部楼层
本帖最后由 三途亚梦 于 2014-10-26 19:25 编辑

你可以直接到 game_battler
大概第358行的
    value = apply_guard(value)
下面加上这么一段就搞定了
请留出1号变量用来积累使用次数
  1.     if item.is_a?(RPG::Skill)
  2.     case item.id
  3.       when 15 #这个数字使用的技能的id
  4.         $game_variables[1] += 1 if user.level >= 80 #这里的变量就是累计次数用的了(但是准确的说是技能造成伤害的次数)。
  5.         if $game_variables[1] >= 15
  6.            $game_actors[user.id].skill_learn?($data_skills[16]) ? nil : $game_actors[user.id].learn_skill(16)  
  7.            #上面的两个16就是将会学会的技能,前面的16是判断是否已经学会了16号技能
  8.         end
  9.       end
  10.     end
复制代码
我觉得这个思路十分酷炫(正色

点评

好像不能直接用user,会报错  发表于 2014-10-26 19:25
$game_actors[user.id] 不就是 user 么  发表于 2014-10-26 19:23
当然这个思路有缺陷,所有人会共用一个变量来累计使用次数。如果你不想这样的话稍作加工就可以。  发表于 2014-10-26 19:14
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部