查看: 4165|回复: 5

[讨论] 敌人行动条件修改

[复制链接]
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2018-12-23 15:50:27 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 soulsaga 于 2018-12-23 23:08 编辑

[pre lang="ruby"]STATEIF = [1,2,3]#判断的状态ID

class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ● 生成行动
#--------------------------------------------------------------------------
def make_action
# 清除当前行动
self.current_action.clear
# 无法行动的情况
unless self.movable?
# 过程结束
return
end
# 抽取现在有效的行动
available_actions = []
rating_max = 0
for action in self.actions
# 确认回合条件
n = $game_temp.battle_turn
a = action.condition_turn_a
b = action.condition_turn_b
if (b == 0 and n != a) or
(b > 0 and (n < 1 or n < a or n % b != a % b))
next
end
# 确认 HP 条件
if self.hp * 100.0 / self.maxhp > action.condition_hp
next
end
# 确认等级条件
if $game_party.max_level < action.condition_level
next
end
# 确认开关条件
switch_id = action.condition_switch_id
if switch_id > 0 and $game_switches[switch_id] == false
next
end
# 确认状态条件BY:灯笼菜刀王修改
next if $game_switches[switch_id] and (STATEIF & self.states).empty?
# 符合条件 : 添加本行动
available_actions.push(action)
if action.rating > rating_max
rating_max = action.rating
end
end
# 最大概率值作为 3 合计计算(0 除外)
ratings_total = 0
for action in available_actions
if action.rating > rating_max - 3
ratings_total += action.rating - (rating_max - 3)
end
end
# 概率合计不为 0 的情况下
if ratings_total > 0
# 生成随机数
value = rand(ratings_total)
# 设置对应生成随机数的当前行动
for action in available_actions
if action.rating > rating_max - 3
if value < action.rating - (rating_max - 3)
self.current_action.kind = action.kind
self.current_action.basic = action.basic
self.current_action.skill_id = action.skill_id
self.current_action.decide_random_target_for_enemy
return
else
value -= action.rating - (rating_max - 3)
end
end
end
end
end
end[/pre]

用法:敌人行动条件随便打勾一个开关,当敌人拥有1或2或3号状态时才许可使用该技能 1,2,3,可以自行修改

评分

参与人数 2赞 +2 收起 理由
asd5891037 + 1 我很赞同
张咚咚 + 1 精品文章

查看全部评分

梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2018-12-23 22:56:43 | 显示全部楼层
能否加上一些转载的来源呢?

点评

基本是我改的..只是发到群里被脚本大神指点了其他更简浩的用法就改成现在这样了..  发表于 2018-12-24 13:44
按照比较死板的道理说是不能“分享”这种没有注明任何来源的脚本素材。比较好的做法可以是自己重写一个然后按照原创发布来算。  发表于 2018-12-23 23:11
是在群里讨论坛得出来的..  发表于 2018-12-23 23:08
没有来源啊..只是没有分享这个分类又不是原创就只能用转载了..  发表于 2018-12-23 23:03
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部