Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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?

Link para o post
Compartilhar em outros sites

@agbuk passa ai o script que cria o monstro

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

Link para o post
Compartilhar em outros sites

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

Link para o post
Compartilhar em outros sites

@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

Link para o post
Compartilhar em outros sites

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)
Link para o post
Compartilhar em outros sites

Acredito que assim ficaria mais simples:

Spoiler

local tempo_remover = 5 -- tempo em minutos para o monstro ser removido
 

function onTimer(time, interval, thinkInterval)
    monster_rosak = doCreateMonster('Rosak', {x=32238, y=32244, z=7})
    addEvent(function()
        if (monster_rosak) then 
            doRemoveCreature(monster_rosak)
        end
    end, tempo_remover * 60 * 1000)
    return true
end

 

Edição feita. @Vodkart observou um detalhe, acredito que já esteja corrigido.  @agbuk faça o teste, colega. :) 

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

Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

Link para o post
Compartilhar em outros sites

Este tópico foi movido para a área correta. Esta é uma mensagem automática!
Pedimos que leia as regras do fórum!

Spoiler

This topic has been moved to the correct area. This is an automated message!
Please read the forum rules.

 

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

Link para o post
Compartilhar em outros sites
Em 01/03/2019 em 17:38, lordzetros disse:

Acredito que assim ficaria mais simples:

  Ocultar conteúdo

local tempo_remover = 5 -- tempo em minutos para o monstro ser removido

 

function onTimer(time, interval, thinkInterval)
    local monster_rosak = doCreateMonster('Rosak', {x=32238, y=32244, z=7})
    addEvent(doRemoveCreature, tempo_remover * 60 * 1000, monster_rosak)
    return true
end


 

 

neste caso vai dar error no console caso o monstro tenha sido morto!

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo