查看: 2499|回复: 2

ARPG的范围攻击问题.

  [复制链接]
梦石
0
星屑
60
在线时间
45 小时
注册时间
2006-8-23
回帖
256
发表于 2007-7-8 02:20:45 | 显示全部楼层 |阅读模式

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

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

×
在事件(怪物)用下面的事件,并行处理
意思为主角用必杀时 开关[0023:必杀] = ON
处于主角周围(11*11格)的怪物受到伤害

  1. 条件分歧 : 开关[0023:必杀] = ON
  2. 脚本 :  i = @event_id
  3.          $game_variables[12]=$game_map.events[i].x
  4.          $game_variables[13]=$game_map.events[i].y
  5.          $game_variables[14] = $game_player.x
  6.          $game_variables[15] = $game_player.y
  7. 变量操作 : [0014] += 5
  8. 条件分歧 : [0014] >= [0012]
  9.   变量操作 : [0014] -= 10
  10.   条件分歧 : [0014] <= [0012]
  11.    变量操作 : [0015] += 5
  12.    条件分歧 : [0015] <= [0013]
  13.     变量操作 : [0015] -= 10
  14.     条件分歧 : [0015] <= [0013]
  15. 脚本 :  atkr = 10*$game_actors[1].atk
  16.          str = 10*$game_actors[1].str
  17.          atk = atkr + str
  18.          $game_map.events[@event_id].damage = atk
  19.          $game_map.events[@event_id].critical = false
  20.          $game_map.events[@event_id].damage_pop =
  21.          true
  22.          $game_variables[100] += atk
  23.     分歧结束
  24.    分歧结束
  25.   分歧结束
  26. 分歧结束
  27. 分歧结束


  28.   
复制代码



如果只有一个怪时没有问题,但怪多了时,就会出现能打中某些,有些在范围内也打不中,
怎么回事,测试很多遍后发现一个奇怪的现象,
像 事件[EV002]~[EV009]都是怪物,然而用必杀只能打中[EV005],打死[EV005]后,就能打
[EV006],只有打死[EV006]的时候,才能打中[EV007]......
总的顺序是EV005-6-7-2-8-3-9-4,怎么回事?越搞越糊涂了.
梦石
0
星屑
60
在线时间
45 小时
注册时间
2006-8-23
回帖
256
发表于 2007-7-8 02:20:45 | 显示全部楼层 |阅读模式

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

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

×
在事件(怪物)用下面的事件,并行处理
意思为主角用必杀时 开关[0023:必杀] = ON
处于主角周围(11*11格)的怪物受到伤害

  1. 条件分歧 : 开关[0023:必杀] = ON
  2. 脚本 :  i = @event_id
  3.          $game_variables[12]=$game_map.events[i].x
  4.          $game_variables[13]=$game_map.events[i].y
  5.          $game_variables[14] = $game_player.x
  6.          $game_variables[15] = $game_player.y
  7. 变量操作 : [0014] += 5
  8. 条件分歧 : [0014] >= [0012]
  9.   变量操作 : [0014] -= 10
  10.   条件分歧 : [0014] <= [0012]
  11.    变量操作 : [0015] += 5
  12.    条件分歧 : [0015] <= [0013]
  13.     变量操作 : [0015] -= 10
  14.     条件分歧 : [0015] <= [0013]
  15. 脚本 :  atkr = 10*$game_actors[1].atk
  16.          str = 10*$game_actors[1].str
  17.          atk = atkr + str
  18.          $game_map.events[@event_id].damage = atk
  19.          $game_map.events[@event_id].critical = false
  20.          $game_map.events[@event_id].damage_pop =
  21.          true
  22.          $game_variables[100] += atk
  23.     分歧结束
  24.    分歧结束
  25.   分歧结束
  26. 分歧结束
  27. 分歧结束


  28.   
复制代码



如果只有一个怪时没有问题,但怪多了时,就会出现能打中某些,有些在范围内也打不中,
怎么回事,测试很多遍后发现一个奇怪的现象,
像 事件[EV002]~[EV009]都是怪物,然而用必杀只能打中[EV005],打死[EV005]后,就能打
[EV006],只有打死[EV006]的时候,才能打中[EV007]......
总的顺序是EV005-6-7-2-8-3-9-4,怎么回事?越搞越糊涂了.

看不到我

梦石
0
星屑
50
在线时间
229 小时
注册时间
2005-11-6
回帖
1396

贵宾

发表于 2007-7-8 02:51:50 | 显示全部楼层
我的方法是
脚本:
for event in $game_map.events.values 循环地图所有事件
if (event.x - $game_player.x).abs + (event.y - $game_player.y).abs <= $game_variables[X] 距离小于等于某变量
伤害处理
end
end

你这个好像没用到循环吧 所以一次只能对一个有效
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部