Ir para conteúdo

Featured Replies

Postado

Boa tarde, alguém poderia me ajudar com essa função "doRemoveCreature(cid)". Eu criei um boss com um nome unico que é spawnado através dessa função "doCreateMonster('nome', {posição})", porem eu preciso q ele seja removido por um global events caso ninguem consiga matar ele, estou tentando utilizar o "doRemoveCreature(cid)", tentei de todas as formas possiveis mas sempre da um erro falando q não pode encontrar a creature. Alguem pode me ajudar?

  • Respostas 7
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Autor

É um script basição, Rosak ai é o nome do boss que criei.

 

 function onTimer(time, interval, thinkInterval)

 doCreateMonster('Rosak', {x=32238, y=32244, z=7})

return true

end

 

ai eu crio um global events na hora q eu quero q cria o boss nessa area. Esse script ta funcionando, queria criar um outro script ontimer só pra remover esse boss ai.

Postado

@agbuk Estava pesquisando e achei esse mod publicado pelo @fabiodias testa ai acredito que pode te ajudar bastante

 


Mod V

Spoiler



<?xml version="1.0" encoding="UTF-8"?>

<mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx" contact="tibiaking.com" enabled="yes"> 
<config name="raids_func"><![CDATA[
days = {
["Monday"] = {
["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 15},
["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 20}
},
["Sunday"] = {
["10:08"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15},
["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20}
}
}
]]></config> 
<globalevent name="AutomaticRaids" interval="60" event="script"><![CDATA[
domodlib('raids_func')
function onThink(interval, lastExecution)
if days[os.date("%A")] then
hours = tostring(os.date("%X")):sub(1, 5)
tb = days[os.date("%A")][hours]
if tb then
function removeCreature(tb)
for x = ((tb.pos.fromPosition.x)-10), ((tb.pos.toPosition.x)+10) do
for y = ((tb.pos.fromPosition.y)-10), ((tb.pos.toPosition.y)+10) do
local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid
if m ~= 0 and isMonster(m) then
doRemoveCreature(m)
end
end
end
end
doBroadcastMessage("The invasion of " .. tb.nome .. " started")
for _,x in pairs(tb.m) do
for s = 1, tonumber(x:match("%d+")) do
pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z}
doSummonCreature(x:match("%s(.+)"), pos)
end
end
addEvent(removeCreature, tb.Time*60*1000, tb)
end
end
return true
end
]]></globalevent>
</mod>


 

 

 

Configuração

["DIA"] = {
["HORA DA INVASÃO"] = {nome = "NOME DA INVASÃO", pos = {começo e final da área}, monster = {"MONSTROS"}, Time = para remover os monstro}
}

 

O dia da invasão é colocada entre " " e somente dia em inglês e a primeira letra maiúscula, exemplo:

"Saturday"

 

Depois são as hora da invasão, que é colocada entre " " e somente a hora e minuto, segundos não precisa exemplo:

"15:00"

As Posições estão entre { } adicionando as posições x, y e z, é o começo e final da área exemplo:

pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}

fromPosition -- começo da área onde vai acontecer a raid

toPosition -- final da área onde vai acontecer a raid

 

 

Os monters tem um modo especial de configurar, vc coloca entre { }, e cada monstro entre " ", e entre as " " vc adiciona "QUANTIDADE MONSTRO", e para adicionar mais tipos de monstro se separa por virgulas, exemplo:

{"40 Water Elemental", "5 Cyclops"}

 

Time é uma função extra, é para caso ninguém participe do evento os monstros não fiquem pelo mapa, e é em minutos, exemplo:

Time = 15

 

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Postado

teria que fazer o seguinte:

1. criar o monstro numa área separada X

2. logo em seguida já criar um addEvent com uma função pra remover o monstro nessa área X

 

acho q ± isso:

local function removeMonster(pos, name)
    local spec = getSpectators(pos, 100, 100)
    if spec ~= nil then
         for _, s in pairs(spec) do
             if isMonster(s) and getCreatureName(s) == name then
                 doRemoveCreature(s)
             end
         end
    end
end

function onTimer(time, interval, thinkInterval)
    local pos, name, timeToRemove = {x = 32238, y = 32244, z = 7}, "Rosak", 60
    doCreateMonster(name, pos)
    addEvent(removeMonster, timeToRemove * 60 * 60 * 1000, pos, name)
    return true
end

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

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

Informação Importante

Confirmação de Termo