Ir para conteúdo

Featured Replies

Postado

 erro no evento citwar  war.lua:81: in function 'close' data/lib/city war.lua:64: in function <data/lib/city war.lua:64>

 

 

alguem pode me ajudar o evento fecha e nao da ganhador nem o ultimo player e retirado do evento .

Postado
Em 30/03/2017 ás 15:37, ede rfrota disse:

 erro no evento citwar  war.lua:81: in function 'close' data/lib/city war.lua:64: in function <data/lib/city war.lua:64>

 

 

alguem pode me ajudar o evento fecha e nao da ganhador nem o ultimo player e retirado do evento .

 

posta a o arquivo lib city war.lua aqui..

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Postado
16 horas atrás, pablobion disse:

 

posta a o arquivo lib city war.lua aqui..

Creio que sejá esse, aqui também não está funcionando

Spoiler

configCW = {timetostart = 10, -- tempo para iniciar o evento em segundos by Absolute
            telpos = {x=1266, y=764, z=9}, -- onde aparecerá o teleport
            stats = 201201201701,
            kill = 201201201702,
            death = 201201201703,
            ostime =  201201201704,
            evttime = 1, -- quanto tempo irá rolar o evento
            topleftPos = {x=883, y=752, z=7}, -- canto esquerdo superior
            botrightPos = {x=893, y=786, z=7}, -- canto direito inferior
            templepos = {x=1264, y=754, z=7}, -- posição do templo principal
            arenapos = {{x=885, y=778, z=7}, {x=909, y=764, z=7}, {x=873, y=766, z=7}, {x=896, y=753, z=7}}, -- posição dos 4 tronos
            times = 8, -- não precisa mexer
            finaltime = 2 -- não precisa mexer
}

function configCW:new()

local newevt = {}

setmetatable(newevt, self)
self.__index = self

doBroadcastMessage("The City War will be open in " .. self.timetostart .. " seconds.")
setGlobalStorageValue(self.stats, 0)
addEvent(function () newevt:start() end, self.timetostart*1000)
end

function configCW:start()

if getGlobalStorageValue(self.stats) == 0 then
    setGlobalStorageValue(self.ostime, os.time())
    local teleport = doCreateItem(1387, self.telpos)
    doItemSetAttribute(teleport, "aid", 5540)
    setGlobalStorageValue(self.stats, 1)
    doBroadcastMessage("The City War is starting...")
    for _, posi in pairs(self.arenapos) do
        local item = getTileItemById(posi, 1387)
        if(item.uid ~= 0) then
            doRemoveItem(item.uid)
        end
    end
    addEvent(function () self:preclose() end, self.evttime*1000*60)
    addEvent(function () self:announce(0) end, (self.evttime/self.times)*1000*60)
end

end

function configCW:announce(times)

if times < self.times then
    if #self:getTopFrags(true) >= 1 then 
        doBroadcastMessage("Top City War fraggers: " .. self:getTopFrags())
    end
    addEvent(function () self:announce(times+1) end, (self.evttime/self.times)*1000*60)
end

end

function configCW:preclose()

if getGlobalStorageValue(self.stats) == 1 then
    setGlobalStorageValue(self.stats, 2)
    doBroadcastMessage("The City War will end in " .. self.finaltime .. " seconds.")
    addEvent(function () self:close() end, self.finaltime*1000)
    local item = getTileItemById(self.telpos, 1387)
    if(item.uid ~= 0) then
        doRemoveItem(item.uid)
    end
end

end

function configCW:close()

if getGlobalStorageValue(self.stats) == 2 then
    if #self:getTopFrags(true) >= 1 then
        doBroadcastMessage("The City War has ended. The winners are: " .. self:getTopFrags())
    else
        doBroadcastMessage("The City War has ended. There were no winners.")
    end
    doRemovePlayersFromArea(self.topleftPos, self.botrightPos, self.templepos)
    for _, posi in pairs(self.arenapos) do
        doCreateTeleport(1387, self.templepos, posi)
    end
    for place, info in ipairs(self:getTopFrags(true)) do
        if place > 5 then
            break
        end
        local cid = getPlayerByName(info)
        doPlayerSendTextMessage(cid, 4, "Congratulations, you were the " .. place .. "º place in the City War.")
        doPlayerAddItem(cid, 6571, 1)
    end
    setGlobalStorageValue(self.stats, -1)
end

end

function configCW:isPlayerInEvent(cid)

if getPlayerStorageValue(cid, self.stats) == -1 or getPlayerStorageValue(cid, self.stats) - os.time() <= -5 or getGlobalStorageValue(self.stats) < 1 then
    return false
end

return true
end

function configCW:getTopFrags(tab)

local frag = {}

for _, pid in pairs(getPlayersOnline()) do
    if (getPlayerStorageValue(pid, self.kill) ~= -1 or getPlayerStorageValue(pid, self.death) ~= -1) and self:isPlayerInEvent(pid) then
        local kill =  getPlayerStorageValue(pid, self.kill)+1
        local death =  getPlayerStorageValue(pid, self.death)+1
        print(getCreatureName(pid), kill-death)
        table.insert(frag, {getCreatureName(pid), kill-death})
    end
end

print(#frag)
local frag, str, n = doOrderTab(frag, 0), nil, 5
print(#frag)

if tab then
    return frag
else
    if #frag < 5 then
        n = #frag
    end
    for i = 1, n do
        local cid = getPlayerByName(frag)
        local kill =  getPlayerStorageValue(cid, self.kill)+1
        local death =  getPlayerStorageValue(cid, self.death)+1
        str = str and str .. ", " .. frag .. "[" .. kill .. "/" .. death .. "]" or frag .. "[" .. kill .. "/" .. death .. "]"
    end
end

return str
end

function doOrderTab(tabela, value)

local max, index = {}, nil

for i = 1, #tabela do
    valor = value
    for a, b in ipairs(tabela) do
        if b[2] > valor then
            valor = b[2]
            valor2 = b[1]
            index = a
        end
    end
    table.remove(tabela, index)
    if valor ~= value then
        table.insert(max, valor2)
    end
end

return max
end
 


 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.9k

Informação Importante

Confirmação de Termo