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

Project1

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

[已经解决] 如何做出口袋妖怪中的混乱状态

[复制链接]

Lv3.寻梦者

梦石
1
星屑
3913
在线时间
592 小时
注册时间
2007-8-14
帖子
182
跳转到指定楼层
1
发表于 2017-2-10 17:51:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
即中了混乱状态的角色,攻击或者使用技能时,会有三分之一的几率变成攻击自己
求大大们帮忙解答{:2_249:}
赞美灵魂……

Lv5.捕梦者 (版主)

鼬痴汉

梦石
29
星屑
3401
在线时间
1300 小时
注册时间
2010-4-24
帖子
971

短篇十吟唱者组别亚军开拓者

2
发表于 2017-2-11 16:54:53 | 只看该作者
本帖最后由 FHNBHJ 于 2017-2-11 17:19 编辑

RUBY 代码复制
  1. #============================================================
  2. #                                                   By FHNBHJ
  3. #·脚本说明
  4. #    使得进入新的混乱状态(和默认的混乱不一样)的角色/敌人有一定
  5. #    几率对自己使用普通攻击。
  6. #   (无论进行什么操作,攻击/防御/物品都是)
  7. #·使用说明
  8. #    在@new_confusion_state_id = 后面加上数组,
  9. #    数组内容是新的混乱的状态id。
  10. #    修改rand后括号内的数字可以改变混乱时攻击自己的几率。
  11. #============================================================
  12.  
  13.  
  14. #============================================================
  15. #·Game_BattlerBase
  16. #============================================================
  17.  
  18. class Game_BattlerBase
  19.  
  20.   alias initialize_fhn initialize
  21.   def initialize
  22.     initialize_fhn
  23.     @new_confusion_state_id = [27,28] # <---这里加新混乱状态id的数组
  24.   end
  25.  
  26.   def new_confusion?
  27.     in_new_confusion = false
  28.     @new_confusion_state_id.each do |id|
  29.       if state?(id)
  30.         in_new_confusion = true
  31.         break
  32.       end
  33.     end
  34.     exist? && in_new_confusion
  35.   end
  36.  
  37. end
  38.  
  39. #===========================================================
  40. #·Game_Action
  41. #===========================================================
  42.  
  43. class Game_Action
  44.  
  45.   def judge_attack_user
  46.     @attack_user = false
  47. #           ↓ 这里可以修改攻击自己的几率,rand(3)是1/3,rand(4)是1/4,以此类推。
  48.     if rand(3) == 0
  49.       @attack_user = true
  50.     end
  51.   end
  52.  
  53.   alias make_targets_fhn make_targets
  54.   def make_targets
  55.     if subject.new_confusion? && @attack_user
  56.       # p "attack_user!"
  57.       [subject]
  58.     else
  59.       make_targets_fhn
  60.     end
  61.   end
  62.  
  63.   alias prepare_fhn prepare
  64.   def prepare
  65.     prepare_fhn
  66.     set_new_confusion if subject.new_confusion? && !forcing
  67.   end
  68.  
  69.   def set_new_confusion
  70.     judge_attack_user
  71.     set_confusion if @attack_user
  72.   end
  73.  
  74. end
  75.  
  76. #===========================================================
  77. #·End
  78. #===========================================================


插在main前,
只经过初步测试,有问题请反馈。
有新的想法用事件却难以实现?想要酷炫的战斗系统?想要自定义的华丽UI?
学会脚本,梦想成真!

传送门戳:
https://rpg.blue/forum.php?mo ... 8047&extra=page%3D5
RGSS3脚本教程,目前火热施工中!

评分

参与人数 1星屑 +10 收起 理由
cryhades + 10 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
3913
在线时间
592 小时
注册时间
2007-8-14
帖子
182
3
 楼主| 发表于 2017-2-12 17:43:24 | 只看该作者
FHNBHJ 发表于 2017-2-11 16:54
#============================================================
#                                      ...

你好,非常感谢你的回答,实验成果成功了{:2_249:}
不知道能不能把打自己的普通攻击变成另一个技能呢?因为我这游戏的普通攻击有其他作用
在此先谢为敬{:2_249:}
赞美灵魂……
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

鼬痴汉

梦石
29
星屑
3401
在线时间
1300 小时
注册时间
2010-4-24
帖子
971

短篇十吟唱者组别亚军开拓者

4
发表于 2017-2-12 17:51:01 | 只看该作者
RUBY 代码复制
  1. #============================================================
  2. #                                                   By FHNBHJ
  3. #·脚本说明
  4. #    使得进入新的混乱状态(和默认的混乱不一样)的角色/敌人有一定
  5. #    几率对自己使用普通攻击。
  6. #   (无论进行什么操作,攻击/防御/物品都是)
  7. #·使用说明
  8. #    在@new_confusion_state_id = 后面加上数组,
  9. #    数组内容是新的混乱的状态id。
  10. #    修改rand后括号内的数字可以改变混乱时攻击自己的几率。
  11. #    修改set_skill后括号内的数字可以改变混乱时攻击自己的技能id。
  12. #============================================================
  13.  
  14.  
  15. #============================================================
  16. #·Game_BattlerBase
  17. #============================================================
  18.  
  19. class Game_BattlerBase
  20.  
  21.   alias initialize_fhn initialize
  22.   def initialize
  23.     initialize_fhn
  24.     @new_confusion_state_id = [27,28] # <---这里加新混乱状态id的数组
  25.   end
  26.  
  27.   def new_confusion?
  28.     in_new_confusion = false
  29.     @new_confusion_state_id.each do |id|
  30.       if state?(id)
  31.         in_new_confusion = true
  32.         break
  33.       end
  34.     end
  35.     exist? && in_new_confusion
  36.   end
  37.  
  38. end
  39.  
  40. #===========================================================
  41. #·Game_Action
  42. #===========================================================
  43.  
  44. class Game_Action
  45.  
  46.   def judge_attack_user
  47.     @attack_user = false
  48. #           ↓ 这里可以修改攻击自己的几率,rand(3)是1/3,rand(4)是1/4,以此类推。
  49.     if rand(3) == 0
  50.       @attack_user = true
  51.     end
  52.   end
  53.  
  54.   alias make_targets_fhn make_targets
  55.   def make_targets
  56.     if subject.new_confusion? && @attack_user
  57.       # p "attack_user!"
  58.       [subject]
  59.     else
  60.       make_targets_fhn
  61.     end
  62.   end
  63.  
  64.   alias prepare_fhn prepare
  65.   def prepare
  66.     prepare_fhn
  67.     set_new_confusion if subject.new_confusion? && !forcing
  68.   end
  69.  
  70.   def set_new_confusion
  71.     judge_attack_user
  72. #             ↓ 这里可以修改攻击自己的技能id。
  73. #      (如果混乱而且随机后判定为攻击自己时使用,目标会强制为使用者)
  74.     set_skill(8) if @attack_user
  75.   end
  76.  
  77. end
  78.  
  79. #===========================================================
  80. #·End
  81. #===========================================================

评分

参与人数 2星屑 +10 梦石 +2 收起 理由
RaidenInfinity + 2 认可答案
cryhades + 10 我很赞同

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
3913
在线时间
592 小时
注册时间
2007-8-14
帖子
182
5
 楼主| 发表于 2017-2-12 18:25:59 | 只看该作者
FHNBHJ 发表于 2017-2-12 17:51
#============================================================
#                                      ...

完美!!!感谢大神帮忙!!!{:2_264:}
赞美灵魂……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 03:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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