Ir para conteúdo
  • 0

Efeito saindo do chao que tira life do player


Drk Shadow

Pergunta

Então galera, eu estou com um script aqui, que basicamente seria um efeito saindo numa pos que tira life do player. Ta meio que uma gambiarra u.u

 

em globalevents/start.lua está assim:

local posesH = {
{x=229, y=1144, z=15},
{x=226, y=1186, z=15},
{x=226, y=1187, z=15},
{x=226, y=1189, z=15},
{x=226, y=1192, z=15},
{x=226, y=1193, z=15},
{x=263, y=1147, z=15},
{x=263, y=1148, z=15},
{x=279, y=1192, z=15},
{x=281, y=1187, z=15},
{x=323, y=1200, z=15},
{x=322, y=1190, z=15},
{x=322, y=1188, z=15},
{x=322, y=1167, z=15},
{x=322, y=1165, z=15},
{x=322, y=1163, z=15},
{x=322, y=1161, z=15},
{x=322, y=1130, z=15},
{x=322, y=1133, z=15},
{x=322, y=1136, z=15},
{x=322, y=1139, z=15},
{x=328, y=1107, z=15},
{x=328, y=1106, z=15},
{x=330, y=1102, z=15},
}
local posesV = {
{x=318, y=1121, z=15},
{x=314, y=1121, z=15},
{x=310, y=1121, z=15},
{x=300, y=1120, z=15},
{x=298, y=1121, z=15},
{x=296, y=1121, z=15},
{x=294, y=1121, z=15},
{x=261, y=1155, z=15},
{x=234, y=1138, z=15},
{x=298, y=1171, z=15},
{x=299, y=1171, z=15},
{x=303, y=1168, z=15},
{x=305, y=1168, z=15},
{x=306, y=1168, z=15},
{x=308, y=1168, z=15},
}
local function sendDmgPos()
for i,v in pairs(posesH) do
local pos = v
for x=1, 5 do
doSendMagicEffect(pos, 56)
doDamageInPos(pos, 14455, 57)
pos.x = pos.x + 1
end
end
for i,v in pairs(posesV) do
local pos = v
for x=1, 5 do
doSendMagicEffect(pos, 58)
doDamageInPos(pos, 14456, 59)
pos.y = pos.y + 1
end
end
addEvent(sendDmgPos, 5000)
end
sendDmgPos()
return true
end

Função doDamageInPos:

function doDamageInPos(pos, damage, eff)
local cid = getTopCreature(pos).uid
if eff and eff ~= 0 and type(eff) == "number" then
local itemPos = getTileThingByPos(pos)
local can = true
if itemPos.uid ~= 0 then
can = (not hasProperty(itemPos.uid, CONST_PROP_BLOCKSOLID) and not hasProperty(itemPos.uid, CONST_PROP_BLOCKPROJECTILE))
end
if can then
doSendMagicEffect(pos, eff)
end
end
if cid and isCreature(cid) then
setPlayerStorageValue(cid, 117879, 1)
doCreatureAddHealth(cid, -damage)
end
return true
end

function DamageInRectangle(pos, h, v, dmg, eff)
local tempPos = pos
local poses = {tempPos}
for x=1, h do
tempPos.x = tempPos.x + 1
table.insert(poses, tempPos)
end
for y=1, v do
tempPos.y = tempPos.y + 1
table.insert(poses, tempPos)
end
for i,v in pairs(poses) do
print('['..(i)..'] = {x='..(v.x).. ', y='..(v.y)..', z='..(v.z)..'}')
doDamageInPos(v, dmg, eff)
end
end

A Função DamageInRectangle seria pra mandar efeito em um retangulo e tirar life do player, só que não ta termiado.
E aconteçe o seguinte: o efeito sai andando pelo mapa, a cada efeito ele aparece numa post diferente, o efeito sai errado e nao tira dano do player e.e.
obs: esse efeito seria de uma parede a outra, por exemplo, da pos {x=318, y=1121, z=15}, até chegar a proxima parede
mas nao da erro no console .-.
se puderem me ajudar eu agradeço
vlw flw
Editado por Pokemonultimatetwo
Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

×
×
  • Criar Novo...