Tente assim:
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 80)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 20)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB,20)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD,20)
setConditionParam(condition, CONDITION_PARAM_TICKS, 40000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
function getWalkableTiles(cid, pos, radius)
local ret = {}
for x = 0, math.abs(pos.x - radius - (pos.x + radius)) do
for y=0, math.abs(pos.y - radius - (pos.y + radius)) do
local npos = {x = pos.x - radius + x, y = pos.y - radius + y, z = pos.z, stackpos=253}
local temp = nil
if cid ~= 0 and (getThingFromPos(npos).uid == 0 or getThingFromPos(npos).uid == cid) then
temp = true
elseif cid == 0 then
temp = true
end
if temp then
table.insert(ret, npos)
end
end
end
return #ret > 0 and ret or false
end
function onCastSpell(cid, var)
if getTilePzInfo(getPlayerPosition(cid)) then return false end
doCreatureSay(cid,"For Garrosh!", TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid),CONST_ME_STONES)
tiles = getWalkableTiles(cid, getPlayerPosition(cid), 1)
for a=1,#tiles do
doSendMagicEffect(tiles[a], 0)
end
return doAddCondition(cid, condition)
end





info
Grupo: Visconde
Registrado: 24/11/12
Posts: 474
Reputação: +98
Gênero: Masculino
Bom, estou com um problema ao usar uma magia de range dentro do pz, coloquei para nao fazer efeito ao usar ela dentro do protection zone, apenas fora de pz q ele deve fazer efeito, funciona de boas só que da o seguinte erro:
Spell:
local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 80) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 20) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB,20) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD,20) setConditionParam(condition, CONDITION_PARAM_TICKS, 40000) setConditionParam(condition, CONDITION_PARAM_BUFF, true) function getWalkableTiles(cid, pos, radius) --Function util :Â) local ret={} for x=0, math.abs(pos.x-radius-(pos.x+radius)) do for y=0, math.abs(pos.y-radius-(pos.y+radius)) do local npos={x=pos.x-radius+x, y=pos.y-radius+y,z=pos.z,stackpos=253} local temp=nil if cid~=0 and (getThingFromPos(npos).uid==0 or getThingFromPos(npos).uid==cid) then temp=true elseif cid==0 then temp=true end if temp and not getTilePzInfo(npos) then table.insert(ret, npos) end end end return #ret>0 and ret or false end function onCastSpell(cid, var) doCreatureSay(cid,"For Garrosh!", TALKTYPE_ORANGE_1) doSendMagicEffect(getPlayerPosition(cid),CONST_ME_STONES) tiles=getWalkableTiles(cid, getPlayerPosition(cid), 1) for a=1,#tiles do doSendMagicEffect(tiles[a],0) end return doAddCondition(cid, condition) end