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

Project1

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

[已经解决] 【已解决】如何让某些技能在某些状态下提高成功率

[复制链接]

Lv2.观梦者

梦石
0
星屑
526
在线时间
452 小时
注册时间
2009-7-17
帖子
276
跳转到指定楼层
1
发表于 2018-5-12 22:58:24 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 奉命在先 于 2018-5-13 08:51 编辑

虽然按照下面这两个脚本代码下 鼓捣出了自己要的效果 但是一次只能判定一个技能id 很麻烦 试了在 if item.is_a?(RPG::Skill) && item.id == 后面用[1,2,3]或者[1..3]这样写 都没有卵用  要么完全不判定,要么就只判定第一个技能ID
本来是想在某个状态(或者先制攻击的情况)下 让一些平时成功率很低的技能100%命中
物理攻击技能其实可以通过状态里的添加物理命中率来提升成功率  但是魔法攻击就不行了 因为没有添加魔法命中率的选项

https://rpg.blue/forum.php?mod=viewthread&tid=397315

https://rpg.blue/forum.php?mod=viewthread&tid=377047


我暂时鼓捣出的这个目前好像没啥问题,如果只需要个别技能这种效果的可以拿去用  如果改成if item.is_a?(RPG::Skill) && item.id = [1,2,3]  虽然1/2/3号技能都可以判定 但是再用时会跳错
RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2. #================================================
  3.  
  4.  
  5. #================================================
  6.   def item_hit(user, item)
  7.     rate = item.success_rate * 0.01
  8.     rate *= user.hit if item.physical?
  9.     if item.is_a?(RPG::Skill) && item.id == 194 and user.state?(6)#194号技能在6号状态下成功率为100
  10.       rate = 100#大概是成功率 可以自己改
  11.       return rate
  12.      end
  13.     if item.is_a?(RPG::Skill) && item.id == 195 and user.state?(6)#195号技能在6号状态下成功率为100
  14.       rate = 100#大概是成功率 可以自己改
  15.       return rate
  16.     end
  17.     return rate                           
  18.   end
  19. end



根据2楼的提示改的 暂时没什么问题,有需要的拿去用,我自己只是测试了在队伍只有一个人的情况下第一回合的判定,不保证多个队友或者后面几回合会不会出问题。
RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2. #================================================
  3.  
  4. #================================================
  5.   def item_hit(user, item)
  6.     rate = item.success_rate * 0.01
  7.     rate *= user.hit if item.physical?
  8.     if item.is_a?(RPG::Skill) && [194,195,196].include?(item.id) and user.state?(6)#194/195/196号技能在6号状态下成功率100,可以在[]内自行追加技能编号
  9.       rate = 100#大概是成功率 可以自己改
  10.       return rate
  11.     end
  12.     return rate                           
  13.   end
  14. end

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

4
发表于 2018-5-19 09:10:27 手机端发表。 | 只看该作者
应该可以直接改$data_skills吧,行动前缓存一个备份,然后直接改了,行动后改回来
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2333
在线时间
275 小时
注册时间
2017-7-25
帖子
163
3
发表于 2018-5-19 02:05:43 | 只看该作者
其实我想顺路问一下这个“失败”是指直接发动无效这回合白费还是另有一套公式
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7427
在线时间
948 小时
注册时间
2017-9-27
帖子
583
2
发表于 2018-5-13 00:12:57 | 只看该作者
我记得ruby中判断一个数组中是否包含某个值,是用"[1, 2, 3].include?(item.id)"这样的语法格式。

评分

参与人数 1+1 收起 理由
奉命在先 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 07:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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