Ir para conteúdo
  • 0

blaster_kid

Pergunta

Ola galera do Xtibia Venho mais uma vez pedir ajuda.

 

Outro dia nosso amigo Slincer Ajudou-me a corrigir um erro em um script, mas agora notei que ele apresentou outro problema espero que alguém consiga me ajudar.

 

Segue o Script:

 

local a1 = {x=390, y=618, z=6} --canto de cima do lado direito
local a2 = {x=398, y=627, z=6} --canto de baixo do lado esquerdo
local players = {}

local id = 1543
local config = {
a3 = {x = 399, y = 622, z = 6, stackpos=1},
a4 = {x = 399, y = 623, z = 6, stackpos=1},
a5 = {x = 399, y = 624, z = 6, stackpos=1},
a6 = {x = 524, y = 626, z = 6, stackpos=1},
a7 = {x = 524, y = 627, z = 6, stackpos=1},
a8 = {x = 524, y = 628, z = 6, stackpos=1},
a9 = {x = 529, y = 626, z = 6, stackpos=1}
}
function onStepIn(cid, item, frompos, item2, topos)
for x = a1.x, a2.x do
for y = a1.y, a2.y do
local sid = getThingFromPos({x=x, y=y, z=a1.z, stackpos=253}).uid
if isPlayer(sid) and not isInArray(players, sid) then
table.insert(players, sid)
end
end
end

if #players >= 5 then
for e, f in pairs(config) do
doRemoveItem(getThingFromPos(f).uid, 1)
end
doPlayerSendTextMessage(cid, 22, 'LIBERADO.')
else
players = {}
end
return true
end

 

O problema apresentado é o seguinte, depois da primeira vez que remove as grades a segunda vez que um player entra no tile com a uniqueid mesmo com um único player na área ele remove as grades.

Acho que não ta resetando a informação da quantidade de players que tinha na área

 

Obs: criei um evento para repor as grades assim que todos saírem da área

 

Grato se alguem puder me ajudar.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

na real eh estranhu.. sempre pensei q cada vez q o script 'funciona' ele meio q reseta apos o uso... anyway.. tenta isso..

 

 

local a1 = {x=390, y=618, z=6} --canto de cima do lado direito

local a2 = {x=398, y=627, z=6} --canto de baixo do lado esquerdo

local players = {}

 

local id = 1543

local config = {

a3 = {x = 399, y = 622, z = 6, stackpos=1},

a4 = {x = 399, y = 623, z = 6, stackpos=1},

a5 = {x = 399, y = 624, z = 6, stackpos=1},

a6 = {x = 524, y = 626, z = 6, stackpos=1},

a7 = {x = 524, y = 627, z = 6, stackpos=1},

a8 = {x = 524, y = 628, z = 6, stackpos=1},

a9 = {x = 529, y = 626, z = 6, stackpos=1}

}

function onStepIn(cid, item, frompos, item2, topos)

for x = a1.x, a2.x do

for y = a1.y, a2.y do

local sid = getThingFromPos({x=x, y=y, z=a1.z, stackpos=253}).uid

if isPlayer(sid) and not isInArray(players, sid) then

table.insert(players, sid)

end

end

end

 

if #players >= 5 then

for e, f in pairs(config) do

doRemoveItem(getThingFromPos(f).uid, 1)

end

doPlayerSendTextMessage(cid, 22, 'LIBERADO.')

players = {}

else

players = {}

end

return true

end

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...