赞 | 405 |
VIP | 0 |
好人卡 | 11 |
积分 | 390 |
经验 | 242285 |
最后登录 | 2024-11-8 |
在线时间 | 5716 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 39009
- 在线时间
- 5716 小时
- 注册时间
- 2006-11-10
- 帖子
- 6618
|
本帖最后由 灯笼菜刀王 于 2019-11-12 10:01 编辑
- #-------------------------------------------------
- # 随机安排敌人 19.11.11 by 灯笼菜刀君
- #
- # 使用方法: 在 敌群事件第一页第一行用注释这样写就可以设置
- #
- # [随机敌人]2
- # [种类]1=>5,2=>3,3=>1
- #
- #-----设置内容解释------------------------
- #
- #-[随机敌人]2 ← 这个2表示最低数量,敌人数量会在这个数值到该敌群原本数量之间随机
- # [种类] 注意要和上面同一个注释框里,也就是写在注释第二行
- # 数值意思为 敌人ID=>随机权重 用半角逗号隔开每个ID
- # 如果没设置[种类], 则会在该敌群的原有敌人里随机抽
- #
- # 注意事项: 该注释设置里不能换行, 另外符号都要为半角符号(英文符号)
- #---------------------------------------------------------------------------
- class Game_Troop
- alias xoxo_setup setup
- def setup(troop_id)
- page = $data_troops[troop_id].pages[0]
- if page.list != nil and page.list[0].code == 108 and
- page.list[0].parameters[0].include?("[随机敌人]")
- n = page.list[0].parameters[0].gsub("[随机敌人]","").to_i
- m = $data_troops[troop_id].members.size
- if page.list[1] != nil and page.list[1].code == 408 and
- page.list[1].parameters[0].include?("[种类]")
- h = eval("{" + page.list[1].parameters[0].gsub("[种类]","") + "}")
- else
- h = {}
- $data_troops[troop_id].members each {|i|
- h[i.enemy_id].nil? ? h[i.enemy_id] = 1 : h[i.enemy_id] += 1}
- end
- @enemies = []
- w = m - rand([m - n + 1,1].max)
- g = []
- h.keys.each {|i| h[i].times { g.push(i)}}
- w.times {|i| @enemies.push(Game_Enemy.new(troop_id,i,g.抽奖))}
- else
- xoxo_setup(troop_id)
- end
- end
- end
- class Game_Enemy < Game_Battler
- def initialize(troop_id, member_index,id=nil)
- super()
- @troop_id = troop_id
- @member_index = member_index
- troop = $data_troops[@troop_id]
- @enemy_id = id.nil? ? troop.members[@member_index].enemy_id : id
- enemy = $data_enemies[@enemy_id]
- @battler_name = enemy.battler_name
- @battler_hue = enemy.battler_hue
- @hp = maxhp
- @sp = maxsp
- @hidden = troop.members[@member_index].hidden
- @immortal = troop.members[@member_index].immortal
- end
- end
- class Array
- def 抽奖
- f = self.dup
- f.size.times do |i|
- a = f[i]
- b = rand(f.size)
- f[i] = f[b]
- f[b] = a
- end
- return f[rand(f.size)]
- end
- end
复制代码
随手写的比较粗糙, 稍微测试了下没有问题, 拿去试试看 |
评分
-
查看全部评分
|