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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
360
在线时间
12 小时
注册时间
2010-12-25
帖子
3
跳转到指定楼层
1
发表于 2010-12-30 17:20:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 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

Lv1.梦旅人

梦石
0
星屑
60
在线时间
141 小时
注册时间
2010-12-30
帖子
312
2
发表于 2010-12-30 20:11:04 | 只看该作者
老鼠百分百爆某个物品不就可以了。
一个字。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
3
发表于 2010-12-30 23:32:19 | 只看该作者
不死身,HP0时加变量然后附加濒死状态……试试行不行吧 =.=
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

4
发表于 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 - 已完成
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-5 10:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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