Boa noite, estou tentando fazer uma action que ao usar um item procure em uma determinada área, se existe algum player. Infelizmente o script está retornando uma tabela vazia.
- function getPlayersInArea
function getPlayersInArea(area)
local players = {}
for x = area.fromx,area.tox do
for y = area.fromy,area.toy do
for z = area.fromz,area.toz do
playerpos = {x=x,y=y,z=z,stackpos=253}
player = getTileThingByPos(playerpos)
if isPlayer() == TRUE then
table.insert(players, player.uid)
end
end
end
end
return players
end
- a action.lua
local area = { fromx = 796, fromy = 1378, fromz = 0, tox = 806, toy = 1388, toz =1 }
l
local pos = {x=806, y=1383, z=0}
function onUse(cid,item,frompos,item2,topos)
players = getPlayersInArea(area)
if #players >= 1 then
doPlayerSendCancel(cid, 'Existe(m) player(s) na area definida.')
doPlayerPopupFYI(cid, #players)
else
doTeleportThing(cid,pos)
doPlayerPopupFYI(cid, #players) [color=#b22222]-- adicionei aqui para teste e só recebo aparece valor zero.[/color]
end
return TRUE
end
Obrigado desde já.