Ir para conteúdo
  • 0

Quest Tower


M i s s

Pergunta

Gente, estou tentando usar um script do Poccnn porém aqui está dando este erro:

[05/08/2019 15:02:12] [Error - MoveEvents Interface] 
[05/08/2019 15:02:12] data/movements/scripts/tower.lua:onStepIn
[05/08/2019 15:02:12] Description: 
[05/08/2019 15:02:12] data/movements/scripts/tower.lua:46: attempt to call global 'getCreaturesInRange' (a nil value)
[05/08/2019 15:02:12] stack traceback:
[05/08/2019 15:02:12]     data/movements/scripts/tower.lua:46: in function <data/movements/scripts/tower.lua:43>

 

 

 

 

Aqui está o script dele:

Spoiler

 

 

e aqui o Script com as modificações q fiz:

Spoiler

local events,towers,QuantPlayersTower = {},{
    {x=1218,y=401,z=7,firstNivel=7,ultimoNivel=1},
    {x=1218,y=401,z=6,firstNivel=6,ultimoNivel=2},
    {x=1218,y=401,z=5,firstNivel=5,ultimoNivel=3},
    {x=1218,y=401,z=4,firstNivel=4,ultimoNivel=4},
    {x=1218,y=401,z=3,firstNivel=3,ultimoNivel=5},
    {x=1218,y=401,z=2,firstNivel=2,ultimoNivel=6},
    {x=1218,y=401,z=1,firstNivel=1,ultimoNivel=7},
},2 -- quantidade de players por sala da tower

function rollUpLevelTower(tower,id,players)
    tower.z = tower.z-1
    for _,cid in pairs(players) do
        if(isPlayer(cid))then
        local Ppos = getCreaturePosition(cid)
            Ppos.z = Ppos.z-1
            doTeleportThing(cid,Ppos)
        end
    end
    events[id] = addEvent(upDateLevelKTower,1000,tower,id)
end

function upDateLevelKTower(tower,id)
local search = getCreaturesInRange(tower, 3, 3, true, showPlayers)
local players = getCreaturesInRange(tower, 3, 3, showMonsters, true)
    if(#players > 0 and search[1])then
        events[id] = addEvent(upDateLevelKTower,1000,tower,id)
    elseif(tower.z > tower.ultimoNivel)then
        for _,cid in pairs(players) do
            doPlayerSendCancel(cid,"10 segundos para o proximo nivel.")
        end
        events[id] = addEvent(rollUpLevelTower, 10*1000, tower,id,players) -- 10 segundos para ir para o proximo nivel.
        return
    else
        for _,cid in pairs(players) do    
            setPlayerStorageValue(cid,getStoreString("towerQuest"),tonumber(os.date("%d"))) 
        end    
    end
    events[id] = nil
    tower.z = tower.firstNivel    
end

function onStepIn(cid, item, pos)
    if not isPlayer(cid) then return true end
    for k,tower in pairs(towers) do
    local pp = getCreaturesInRange(tower, 3, 3, showMonsters, true)
        if(getPlayerStorageValue(cid,getStoreString("towerQuest")) == tonumber(os.date("%d")))then
            doPlayerSendCancel(cid,"Tu já fizeste essa quest hoje. Amanhã poderás faze-la de novo.")
        elseif(#pp < QuantPlayersTower)then 
            doTeleportThing(cid,tower)
            if not events[k] then table.insert(events,addEvent(upDateLevelKTower,1000,tower,k)) end
            return true
        elseif(#towers == k)then
            doPlayerSendCancel(cid,"Todas as torres estão ocupadas.")
        end
    end
    return false
end

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...