查看: 2611|回复: 3

[已经过期] 关于 任务所需消灭怪物数量 的系统问题!

[复制链接]
梦石
0
星屑
360
在线时间
12 小时
注册时间
2010-12-25
回帖
1
发表于 2010-12-30 17:20:47 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 zzx2262086 于 2010-12-30 18:19 编辑

我是想做个系统事件,但遇到了问题,希望各位大大伸出援助之手!

省略前后,直击重点

我打算在 队伍事件内编写 ,比如 杀死一只老鼠(也就是一只老鼠的HP少于或等于0%的情况下),变量-杀死老鼠的数量+1 间隔使用(回合)

经过测试发现,每杀死一只老鼠,变量会加1,问题是杀死最后一只老鼠,会跳过战斗中的事件,直接结束,也就是说,一个队伍有3只老鼠,那么直到战斗结束,一共变量只加了2,如果一个技能老鼠全挂,那么老鼠的变量一个都不会加。。。!

求教 在线等!

点评

除了逃跑外..  发表于 2010-12-30 23:49
为什么战斗的老鼠数量是不知道的呢? 既然是3只,那么最后变量一定等于3啊....  发表于 2010-12-30 23:48
我做过一个类似的封魔,设置了一个变身做缓冲,不过貌似你这个不适用…… 还有LZ你犯规了,看一下顶置改过来,不然会被扣分的……  发表于 2010-12-30 17:26
梦石
0
星屑
60
在线时间
141 小时
注册时间
2010-12-30
回帖
297
发表于 2010-12-30 20:11:04 | 显示全部楼层
老鼠百分百爆某个物品不就可以了。
一个字。
回复

使用道具 举报

梦石
0
星屑
62
在线时间
839 小时
注册时间
2010-6-26
回帖
652
发表于 2010-12-30 23:32:19 | 显示全部楼层
不死身,HP0时加变量然后附加濒死状态……试试行不行吧 =.=
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复

使用道具 举报

天仙

梦石
0
星屑
720
在线时间
184 小时
注册时间
2008-4-15
回帖
4872

贵宾

发表于 2011-1-1 07:59:21 | 显示全部楼层
本帖最后由 雪流星 于 2010-12-31 18:12 编辑
  1. class Game_System
  2.   alias count_initialize initialize
  3.   # 初始化
  4.   def initialize
  5.     count_initialize
  6.     # 要計算的怪物ID
  7.     @count_kill_enemy_id = []
  8.     # 已殺死的怪物計數
  9.     @count_kill_enemy_count = Array.new(1+$data_enemies.size, 0)
  10.     # 怪物計數對應的系統變量ID
  11.     @count_kill_enemy_vid = Array.new(1+$data_enemies.size, nil)
  12.   end
  13.   # 開始計算
  14.     # 參數︰id 敵人ID 、 var_id 系統變量ID
  15.   def start_count(id, var_id=nil)
  16.     @count_kill_enemy_id.push(id)
  17.     @count_kill_enemy_vid[id] = var_id
  18.   end
  19.   # 終結計算
  20.     # 參數︰id 敵人ID
  21.   def stop_count(id)
  22.     @count_kill_enemy_id.delete(id)
  23.     @count_kill_enemy_count[id] = 0
  24.     $game_variables[@count_kill_enemy_vid[id]] = 0 if @count_kill_enemy_vid[id]
  25.   end
  26.   # 返回已殺死數量
  27.     # 參數︰id 敵人ID
  28.   def count_enemy(id)
  29.     return @count_kill_enemy_count[id]
  30.   end
  31.   def count_enemy?(id)
  32.     return @count_kill_enemy_id.include?(id)
  33.   end
  34.   def enemy_killed(id)
  35.     @count_kill_enemy_count[id]+=1 if count_enemy?(id)
  36.     $game_variables[@count_kill_enemy_vid[id]] = @count_kill_enemy_count[id] if @count_kill_enemy_vid[id]
  37.   end
  38. end
  39. class Game_Enemy < Game_Battler
  40.   alias count_perform_collapse perform_collapse
  41.   def perform_collapse
  42.     $game_system.enemy_killed(@enemy_id)
  43.     count_perform_collapse
  44.   end
  45. end
复制代码
插入在 main 前面
在事件裡面用腳本 start_count(敵人ID[, 系統變量ID]) 開始計算
用 end_count(id) 結束計算

若有在 start_count 中提供 系統變量ID,則會自動存入ID對應的系統變量中
若是不想用系統變量,則可以用腳本 $game_system.count_enemy(敵人ID) 獲得已殺死數量

範例工程︰ CountKilled.exe (405.79 KB, 下载次数: 72)
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部