Ir para conteúdo

Featured Replies

Postado
mesmo eu ainda não ter ido para a arena quando clico sobre a alavanca aparece que ja tem player fazendo a quest.

Não vejo erros nos scripts, tudo coincide.

Você está usando essa mesma global storage em outros scripts?

Tente alterar os valores dos dois tipos de storages (global e storage), colocando os mesmos nas duas tabelas de ambos os scripts. É a única possibilidade aparente..que essa global storage já esteja sendo usada, já que não há erros.

 

no final da arena faça um portal para onde ira pegar o premio, faça uma sala com cara de sala de espera e faça os players esperarem o restante dos minutos na sala do premio

Desnecessário, na minha opinião.

Editado por Suicide (veja o histórico de edições)

The corrupt fear us.

The honest support us.

The heroic join us.

  • Respostas 35
  • Visualizações 2.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Seguinte, remova todos os scripts relacionados a essa sua arena, pra evitar possíveis erros. Remova também o monstro da arena pelo RME, não vai ser necessário. Adicione esse script ao arquivo da sua

  • falha minha, aqui estão as funções que faltavam: só colocar elas no começo do script logo abaixo da tabela que deve funcionar perfeito function isOnSameFloor(fromPos, toPos) return fromPos.z == to

  • data/creaturescripts/scripts/Login.lua   tente adicionar isso antes do ultimo return true       if getGlobalStorageValue(cid, 55554) == 1 then         setGlobalStorageValue(cid, 55554, -1)     end

Postado

Recomendo escutar o Suicide, agora que estou sem pressa vi que aquele script do klipstyle está cheio de falhas. Além do fato de ter essa coisa da espera.

Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta!

 

NÃO CLIQUE AQUI!

NEM AQUI!

________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

A imaginação é mais importante que o conhecimento.” Albert Einstein

Postado
  • Autor

 

Não vejo erros nos scripts, tudo coincide.

Você está usando essa mesma global storage em outros scripts?

Tente alterar os valores dos dois tipos de storages (global e storage), colocando os mesmos nas duas tabelas de ambos os scripts. É a única possibilidade aparente..que essa global storage já esteja sendo usada, já que não há erros.

 certo, vou tentar refazer aqui.

mas teria como adicionar a função do tempo junto a esse seu script?

realmente ele é mais interessante para a proposta da minha quest, mas é fundamental que tenha um tempo limite para o player fazer a quest.

 

Uma dúvida? o bosse será sumonado automaticamente ou terei que colocar ele no mapa pelo rme?

 

obrigado até aqui.

abraços!

 

 

TESTADO E APROVADO.

 

mudei a storage e deu certo. acho que já havia essa storage em meu ot.

e também ja vi que o monstro tem que ser colocado pelo rme.

 

só me resta agora a questão do tempo e se possível adicionar uma storage definitiva depois que o player matar o boss para que so seja possivel receber os itens uma vez. pois não quero que o player mate o boos varias vezes e receba o item diversas vezes. pois é um item raro que só podera ser conseguido uma vez.

Editado por maiconmnt (veja o histórico de edições)

Postado

Se prepara, tem uma porrada de coisa:

No script da alavanca:

local tab = {
storages = {55554, 55553}, -- {globalstorage, storage},
pos = {x=1882, y=2080, z=14}, -- pos x, y, z que o player será teleportado
temple = {x=1882, y=2080, z=14}, -- pos x, y, z do templo que o player será teleportado no final do tempo
msgs = {"E que comecem os jogos!!", "Há alguém fazendo a Quest."}, -- menssagens {"ao puxar", "aguardando"}
mins = {10} -- Minutos que ele ficará na sala
}
 
function onUse(cid, item, frompos, item2, topos)
if getGlobalStorageValue(tab.storages[1]) < 1 and getPlayerStorageValue(cid, tab.storages[2]) ~= 0 then
local function onTimeEnd(cid)
if getPlayerStorageValue(cid, tab.storages[2]) ~= 0 then
doTeleportThing(cid, tab.temple)
setGlobalStorageValue(tab.storages[1], -1)
end
return true
end
addEvent(function() onTimeEnd(cid) end,tab.mins[1]*60*1000)
setGlobalStorageValue(tab.storages[1], 1)
setPlayerStorageValue(cid, tab.storages[2], 1)
doTeleportThing(cid, tab.pos)
doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, tab.msgs[1])
else
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tab.msgs[2])
end
 
return true
end

Em movements:

Suicide me disse uma coisa que não tinha visto, por isso não é necessário o uso de movements...

Creature scripts:

local tab = {
    storages = {55554, 55553}, -- {globalstorage, storage},
    boss = "Infernatil", -- "Monster Name",
    reward = {2160, 50}, -- a recompensa {itemid, count},
    msg = "Parabéns, você conseguiu sobreviver e recebeu sua recompensa."
}
 
function onKill(cid, target, lastHit)
    if getCreatureName(target) == tab.boss and getPlayerStorageValue(cid, tab.storages[2]) > 0 then
        setGlobalStorageValue(tab.storages[1], -1)
        setPlayerStorageValue(cid, tab.storages[2], 0)
        doPlayerAddItem(cid, tab.reward[1], tab.reward[2])
        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
        doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tab.msg)
    end
    
    return true
end
 
function onDeath(cid)
    if getPlayerStorageValue(cid, tab.storages[2]) > 0 then
        setGlobalStorageValue(tab.storages[1], -1)
        setPlayerStorageValue(cid, tab.storages[2], -1)
    end
    
    return true
end
 
function onLogout(cid)
    if getPlayerStorageValue(cid, tab.storages[2]) > 0 then
        setGlobalStorageValue(tab.storages[1], -1)
        setPlayerStorageValue(cid, tab.storages[2], -1)
        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
    end
    
    return true
end

Não testei, mas acho que tá funcionando. Lembrando que quem sair pelo portal não poderá mais voltar, então ponha o portal em um lugar que não tenha como ele passar pelo boss e ir direto pelo portal...

Editado por mateusak (veja o histórico de edições)

Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta!

 

NÃO CLIQUE AQUI!

NEM AQUI!

________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

A imaginação é mais importante que o conhecimento.” Albert Einstein

Postado
  • Autor

ta dando esse erro matheus

 

 

data/actions/scripts/arena.lua:18 attempt to perform arithmetic on global 'mins'  <a nil value>

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

Informação Importante

Confirmação de Termo