Project1

标题: 想要一个可以使武器和技能可以触发公共事件的脚本 [打印本页]

作者: 公孙少    时间: 2015-7-7 18:22
标题: 想要一个可以使武器和技能可以触发公共事件的脚本
求大神赐教,使武器攻击时有几率触发公共事件,以及使用技能有几率触发公共事件
作者: 橙光    时间: 2015-7-7 20:35
版本差异 我这个就忽略不计了,
思路如下:
攻击时 应用效果
随机数判定
返回true就执行 否则什么都不干。

全局搜索 应用效果 就能找到相应的方法了。
作者: 公孙少    时间: 2015-7-7 20:39
橙光 发表于 2015-7-7 20:35
版本差异 我这个就忽略不计了,
思路如下:
攻击时 应用效果

QAQ我还是先去学脚本了
作者: taroxd    时间: 2015-7-12 14:37
关于技能那个,可以把那个“一定几率”写在公共事件里。

也就是 如果随机数(x..y)小于 z
  公共事件本体
分支结束

至于武器嘛, http://taroxd.github.io/rgss/  看完规约和说明之后找「普通攻防技能的扩展」,之后同技能
作者: 橙光    时间: 2015-7-12 16:32
本帖最后由 橙光 于 2015-7-12 16:36 编辑
  1. #注释:在使用的该技能的备注栏写上<发动率 x 公共事件Id y>
  2. #x代表几率,值为0~100,y代表要执行的公共事件的id。


  3. class RPG::Skill
  4.   def event_r
  5.     n = 0
  6.     /<发动率\s*(\d+)\s*公共事件Id\s*(\d+)>/ =~ note ? n = $1.to_i : 0
  7.     n = [[n,0].max,100].min
  8.   end
  9.   def event_id
  10.     /<发动率\s*(\d+)\s*公共事件Id\s*(\d+)>/ =~ note ? $2.to_i : 0
  11.   end
  12. end
  13. class Game_Battler
  14.   def item_apply(user, item)
  15.     @result.clear
  16.     @result.used = item_test(user, item)
  17.     @result.missed = (@result.used && rand >= item_hit(user, item))
  18.     @result.evaded = ([email protected] && rand < item_eva(user, item))
  19.     if @result.hit?
  20.       unless item.damage.none?
  21.         @result.critical = (rand < item_cri(user, item))
  22.         make_damage_value(user, item)
  23.         execute_damage(user)
  24.       end
  25.       item.effects.each {|effect| item_effect_apply(user, item, effect) }
  26.       item_user_effect(user, item)
  27.     end
  28.     if item.is_a?(RPG::Skill)
  29.       if (rand()*100).to_i <= item.event_r
  30.         $game_temp.reserve_common_event(item.event_id)
  31.       end
  32.     end
  33.   end
  34. end
复制代码

作者: 踢腿水上飘    时间: 2015-11-7 18:38
如果想要换成武器。。。怎么改呢





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