找回密码
 点一下
查看: 2229|回复: 10

问一个关于技能伤害的问题

[复制链接]
发表于 2011-10-27 14:10:42 | 显示全部楼层 |阅读模式
嘛!关于技能伤害的!比如一个单位位移!每0.04秒事件!动作就是移动某单位从单位的位置开始!距离40,方向为单位的面向角度!这样就形成了位移!我再写个动作就是选取这个单位圆形范围内200距离的敌对单位!对选取单位造成伤害!触发就是这样!然而问题就来了!就是此单位每移动一次都会对周围的同一个单位造成伤害!我想知道这个要怎么办!我想只对选取单位造成一次伤害!因为单位在移动!选取单位就会变!但是范围200移动一次有的单位还是在范围内!所有又会对单位造成一次伤害!所以就是每移动一次就会对同一个单位造成伤害!说了这么多高手们应该明白了吧!我想知道怎么才能对造成过伤害的单位不做伤害动作
发表于 2011-10-27 15:54:47 | 显示全部楼层
你的排版很紧凑阿...    跟个压缩包似的...

演示就在附近怎么不去看看呢
http://bbs.islga.org/read-htm-tid-500264.html

你把循环整数设为1    就是只有一只箭   看看伤害是不是只有1次~
回复

使用道具 举报

发表于 2011-10-27 17:09:22 | 显示全部楼层
前两天我刚问过这个问题……基本上就是两条思路……

内容来自[手机版]
回复

使用道具 举报

发表于 2011-10-27 17:12:26 | 显示全部楼层
似乎还有第三条思路……技能伤害+修改单位类别……

内容来自[手机版]
回复

使用道具 举报

发表于 2011-10-27 17:24:19 | 显示全部楼层
IsUnitInGroup()
回复

使用道具 举报

发表于 2011-10-27 17:27:48 | 显示全部楼层
修改类别很容易引起冲突吧,可以加个唯一标识隐藏技能

再好点就存个变量
回复

使用道具 举报

发表于 2011-10-27 17:46:07 | 显示全部楼层
要求不高的话还是震荡波同步移动最好呢……
回复

使用道具 举报

发表于 2011-10-27 18:10:50 | 显示全部楼层
施放技能那邊加上
if udg_i < 8191 then
set udg_i = udg_i + 1
else
set udg_i = 0
endif
call SaveInteger(udg_ht,GetHandleId(u0),0,udg_i)

做成傷害那邊...在做成傷害那邊改....

local integer i = LoadInteger(udg_ht,GetHandleId(u0),0)
if IsUnitInGroup(udg_g[i])==false then
call GroupAddUnit(udg_g[i],u1)
call UnitDamageTarget(........)
endif

u0是施法者..u1是傷害的目標...自行改吧....還有記得排泄.....

直接在這邊回覆打所以不能tab...不過這麼短應該很容易看....

不確定有沒有問題....應該可以吧.....
回复

使用道具 举报

发表于 2011-10-28 10:08:46 | 显示全部楼层
樓主可以把文章解壓縮一下,閱讀起來會輕鬆的多.

選取單位 > 是否屬於A群組 > 如果 否才對 > 給予傷害 > 添加到A群組

------------
剛剛打錯了,改一下
回复

使用道具 举报

 楼主| 发表于 2011-10-29 16:24:12 | 显示全部楼层
明白LS的意思!因为这个问题已经解决了!谢谢大家的回答!LSS好几位的意思我没懂!LS说得很明白
回复

使用道具 举报

发表于 2011-10-29 17:06:14 | 显示全部楼层
你把选取的单位放一个单位组里    然后造成伤害时判断下是不是那个单位组里的单位
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-23 01:57 , Processed in 0.042955 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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