TK

Script Gerando Uma Tabela Vazia.

Por tklucas, 05 de mai. de 2012 em Scripts

script
6
1.5k
tklucasT
05 de maio de 2012 às 19:37

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á.

VodkartV
05 de maio de 2012 às 19:44
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
local m = getTopCreature({x=x, y=y, z=z}).uid
if m ~= 0 and isPlayer(m) then
table.insert(players, m)
end
end
end
end
return players
end

Editado Maio 5 por Vodkart

tklucasT
05 de maio de 2012 às 19:58

Muito obrigad, mano! Funcinou perfeito!

 

A proposito, você está na Poke Legendds? Sou o responsável web da equipe.

ZmovirZ
05 de maio de 2012 às 20:00

Valeu ai vodkart fiz outra funçao com isso

Editado Maio 5 por Zmovir

Lucaswc15L
05 de maio de 2012 às 23:28

tklucas, voce poderia postar todo o script pra agente poder usar tmb?

LordfireL
06 de maio de 2012 às 00:11

Movido.