Project1

标题: 技能事件学习方法 [打印本页]

作者: xiaoxiyp    时间: 2014-10-26 18:07
标题: 技能事件学习方法
我想设计一个技能,这个技能在角色80级及以上时使用第x号技能15次后才能获得。
作者: taroxd    时间: 2014-10-26 18:49
如果只有一个角色,那么第x号技能触发一个公共事件,如果该角色等级在80级以上则某变量+1,如果某变量大于等于15则该角色习得技能

如果有多个角色,那么就每个角色对应不同的“第x号技能”、不同的公共事件、不同的变量
作者: VIPArcher    时间: 2014-10-26 18:51
我提供一个并不怎么优秀的做法的思路吧
用技能挂钩公共事件做到
第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号角色学会某技能
  分歧结束
分歧结束
...........
这里继续添加可以学会该技能的角色
只是思路未测试
作者: 三途亚梦    时间: 2014-10-26 19:12
本帖最后由 三途亚梦 于 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
复制代码
我觉得这个思路十分酷炫(正色




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