Ir para conteúdo

Featured Replies

Postado
  • Diretor
  • Este é um post popular.

Fala pessoal, olha eu aqui novamente. Hoje eu vou explicar como funciona a tal respawn automático (chamada raids) que serve para todo tipo de servidor e a configuração é tudo para que possa funcionar perfeitamente!

 

 

Agora algumas dicas para que seu sistema funcione perfeitamente.

 

 

*Vocês precisa saber sobre o nome monstro que vai nascer a posições e o horário.

*Verifique se o monstro está sendo sumonado pelo /m para que ele possa aparecer quando o scripts da raids for chamado pelo globalevents.

*Aqui va umas parte que iremos configurar para quem não sabe muito do inglês vaja abaixo.

 

 Em Português = Em Inglês

 

*Segunda-Feira = Monday

*Terça-feira = Tuesday

*Quarta-Feira = Wednesday

*Quinta-Feira = Thursday

*Sexta-Feira = Friday 

*Sábado = Saturday

*Domingo = Sunday

 

 Em Português = Em Inglês

 

Nome = Name

Dia = Days

Hora = hour

minute = minutos

 

Pronto agora você aprendeu o básico do script que levará esse inglês .

 

Chega de muito papo agora vamos ao trabalho! Vá na pasta Data/Raids dentro dela terá um arquivo chamado raids.xml, abra ele usando o bloco de notas ou outro tipo de editor que dê para você editar. Dentro desse arquivo terá várias linhas com raids ou não.

 

Cloque essa tag lá

 

Spoiler

<raid name="Rat" file="Rat.xml" interval2="30" enabled="yes"/>

 

name="Rat" « Nome do monstro

file="Rat.xml" « o arquivo que iremo criar ainda será chamado Rat.xml

interval2="30"  seria o temo em segundos para nascer.

enabled="yes"/> seria ligar raids ? então deixa yes mesmo.

 

pronto salve o arquivo.

 

 

Agora ainda na pasta Raids copia o arquivo Raids.xml e da um ctrl v e renomeia para Rat ficará Rat.xml, abra o arquivo Rat.xml e add

 

Spoiler

<raid>
<announce delay="0" type="event" message="mensagem aviso um." />
<announce delay="150000" type="event" message="mensagem aviso dois quando o monstro nascer" />
<singlespawn delay="150000" name="Nome do Monstro" x="local x" y="local y" z="local z" />
</raid>

 

delay="0" « tempo em segundos dependendo do tfs  se tá 0 a mensagem 1 vai aparece sem atraso.

delay="150000" esses 150000 seria 15 segundos após a mensagem 1 aparecer em alguns tfs  os 15 segundos em delay seria 15000.

message=" mensagem que vai aparecer é claro.

name=" seria o nome do moonstro que iremos por no caso será o Rat.

x="local x" y="local y" z="local z" /> « seria aposição no exemplo vocês terá que alterar a gosto x="local x" y="local y" z="local z" /> por numero do sqm.

 

pronto você está informado e terminamos de criar a primeira parte da raid. Depois das edições pf salve!

 

Vamos trabalhar agora com o globalevents.

 

Vá na pasta globalevens/scripts copie um arquivo, renomeia para Rat e add.

 

Spoiler

--Creditos para CipSoft--

--Edited by Alexy Brocanello--

 

local raids =
    {
        [1] =
            {
                name = 'Rat',
                type = 'weekly',
                days = {'Monday'},
                hour = 22,
                minu = 33
            },
    }
    
local last_execsutes = {}

function onThink(interval, lastExecution, thinkInterval)
    local static_time = os.time()
    for k, raid in ipairs(raids) do
        if (raid.type == 'weekly') then
            local day = os.date("%A", static_time):lower()
            if isInArray(raid.days, day) then
                local hour = tonumber(os.date("%H", static_time))
                if (raid.hour == hour) then
                    local minute = tonumber(os.date("%M", static_time))
                    if (raid.minu == minute) then
                        local day_number = tonumber(os.date("%d", static_time))
                        if (last_execsutes[k] ~= day_number) then
                            last_execsutes[k] = day_number
                            doExecuteRaid(raid.name)
                        end
                    end
                end
            end
        elseif (raid.type == 'exact') then
            local month = tonumber(os.date("%m", static_time))
            if (raid.date.month == month) then
                local day = tonumber(os.date("%d", static_time))
                if (raid.date.day == day) then
                    local hour = tonumber(os.date("%H", static_time))
                    if (raid.hour == hour) then
                        local minute = tonumber(os.date("%M", static_time))
                        if (raid.minu == minute) then
                            if (last_execsutes[k] ~= day) then
                                last_execsutes[k] = day
                                doExecuteRaid(raid.name)
                            end
                        end
                    end
                end
            end
        end
    end
    return true
end

 

 

Explicando...

 

local raids =
    {
        [1] =
            {
                name = 'Rat', ««« nome do monstro, lembra do inglÊs lá no começo ? então ele aqui!
                type = 'weekly',
                days = {'Monday'}, ««« dias da semana
                hour = 22, ««« hora
                minu = 33 «« minutos
            },
    }

 

há eu queria adicionar mais como posso ? simples veja como o exemplo.

 

        [1] =
            {
                name = 'Rat', ««« nome do monstro, lembra do inglÊs lá no começo ? então ele aqui!
                type = 'weekly',
                days = {'Monday'}, ««« dias da semana
                hour = 22, ««« hora
                minu = 33 «« minutos
            },

        [2] =
            {
                name = 'Rat', ««« nome do monstro, lembra do inglÊs lá no começo ? então ele aqui!
                type = 'weekly',
                days = {'Monday'}, ««« dias da semana
                hour = 22, ««« hora
                minu = 33 «« minutos
            },

 

terminando com  } ficando o scripts assim.

 

Spoiler

local raids =
    {
        [1] =
            {
                name = 'Rat',
                type = 'weekly',
                days = {'Monday'},
                hour = 10,
                minu = 34
            },

        [2] =
            {
                name = 'Rat',
                type = 'weekly',
                days = {'Monday'},
                hour = 10,
                minu = 35
            },

    }
    
local last_execsutes = {}

function onThink(interval, lastExecution, thinkInterval)
    local static_time = os.time()
    for k, raid in ipairs(raids) do
        if (raid.type == 'weekly') then
            local day = os.date("%A", static_time):lower()
            if isInArray(raid.days, day) then
                local hour = tonumber(os.date("%H", static_time))
                if (raid.hour == hour) then
                    local minute = tonumber(os.date("%M", static_time))
                    if (raid.minu == minute) then
                        local day_number = tonumber(os.date("%d", static_time))
                        if (last_execsutes[k] ~= day_number) then
                            last_execsutes[k] = day_number
                            doExecuteRaid(raid.name)
                        end
                    end
                end
            end
        elseif (raid.type == 'exact') then
            local month = tonumber(os.date("%m", static_time))
            if (raid.date.month == month) then
                local day = tonumber(os.date("%d", static_time))
                if (raid.date.day == day) then
                    local hour = tonumber(os.date("%H", static_time))
                    if (raid.hour == hour) then
                        local minute = tonumber(os.date("%M", static_time))
                        if (raid.minu == minute) then
                            if (last_execsutes[k] ~= day) then
                                last_execsutes[k] = day
                                doExecuteRaid(raid.name)
                            end
                        end
                    end
                end
            end
        end
    end
    return true
end


 

sempre que por nova raid mude sempre o numero diferente entre  []  para que não possa duplicar.

 

Pronto nosso scripts  ficará assim.

 

Spoiler

--Creditos para CipSoft--

--Edited by Alexy Brocanello--

 

local raids =
    {
        [1] =
            {
                name = 'Rat',
                type = 'weekly',
                days = {'Monday'},
                hour = 22,
                minu = 33
            },

 

    }
    
local last_execsutes = {}

function onThink(interval, lastExecution, thinkInterval)
    local static_time = os.time()
    for k, raid in ipairs(raids) do
        if (raid.type == 'weekly') then
            local day = os.date("%A", static_time):lower()
            if isInArray(raid.days, day) then
                local hour = tonumber(os.date("%H", static_time))
                if (raid.hour == hour) then
                    local minute = tonumber(os.date("%M", static_time))
                    if (raid.minu == minute) then
                        local day_number = tonumber(os.date("%d", static_time))
                        if (last_execsutes[k] ~= day_number) then
                            last_execsutes[k] = day_number
                            doExecuteRaid(raid.name)
                        end
                    end
                end
            end
        elseif (raid.type == 'exact') then
            local month = tonumber(os.date("%m", static_time))
            if (raid.date.month == month) then
                local day = tonumber(os.date("%d", static_time))
                if (raid.date.day == day) then
                    local hour = tonumber(os.date("%H", static_time))
                    if (raid.hour == hour) then
                        local minute = tonumber(os.date("%M", static_time))
                        if (raid.minu == minute) then
                            if (last_execsutes[k] ~= day) then
                                last_execsutes[k] = day
                                doExecuteRaid(raid.name)
                            end
                        end
                    end
                end
            end
        end
    end
    return true
end

 

Pronto salve o arquivo, volta uma pasta e abra o arquivo globalevents.xml e add a tag.

 

Spoiler

<globalevent name="boss nascer" interval="15000" event="script" value="Rat.lua"/>

 

Explicando »»

 

name=" pode botar qualquer nome q vc possa indentificar o scripts.

 

interval="15000" no caso 15000 seria 15 segundos pro globalevents ser excutado pode varia o tfs se ficar sem passando rápido bote 150000.

 

pronto após edições pf salve... agora seu monstro irá nascer automaticamente... é isso ai!

 

 

@créditos CipSoft e a mim.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Editado por L3K0T
Alteração no Título APENAS (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

  • Respostas 8
  • Visualizações 2.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  •  Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

  • obg

Postado
  • Autor
  • Diretor
16 horas atrás, Azhaurn disse:

51mutNo.png Parabéns, seu tópico de conteúdo foi aprovado!
 Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
 Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

obg ^^

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Postado
Em 24/01/2016 10:15:08, Alexy Brocanello disse:

Fala pessoal, olha eu aqui novamente. Hoje eu vou explicar como funciona a tal respawn automático (chamada raids) que serve para todo tipo de servidor e a configuração é tudo para que possa funcionar perfeitamente!

 

 

Agora algumas dicas para que seu sistema funcione perfeitamente.

 

 

*Vocês precisa saber sobre o nome monstro que vai nascer a posições e o horário.

*Verifique se o monstro está sendo sumonado pelo /m para que ele possa aparecer quando o scripts da raids for chamado pelo globalevents.

*Aqui va umas parte que iremos configurar para quem não sabe muito do inglês vaja abaixo.

 

 Em Português = Em Inglês

 

*Segunda-Feira = Monday

*Terça-feira = Tuesday

*Quarta-Feira = Wednesday

*Quinta-Feira = Thursday

*Sexta-Feira = Friday 

*Sábado = Saturday

*Domingo = Sunday

 

 Em Português = Em Inglês

 

Nome = Name

Dia = Days

Hora = hour

minute = minutos

 

Pronto agora você aprendeu o básico do script que levará esse inglês .

 

Chega de muito papo agora vamos ao trabalho! Vá na pasta Data/Raids dentro dela terá um arquivo chamado raids.xml, abra ele usando o bloco de notas ou outro tipo de editor que dê para você editar. Dentro desse arquivo terá várias linhas com raids ou não.

 

Cloque essa tag lá

 

  Mostrar conteúdo oculto

<raid name="Rat" file="Rat.xml" interval2="30" enabled="yes"/>

 

name="Rat" « Nome do monstro

file="Rat.xml" « o arquivo que iremo criar ainda será chamado Rat.xml

interval2="30"  seria o temo em segundos para nascer.

enabled="yes"/> seria ligar raids ? então deixa yes mesmo.

 

pronto salve o arquivo.

 

 

Agora ainda na pasta Raids copia o arquivo Raids.xml e da um ctrl v e renomeia para Rat ficará Rat.xml, abra o arquivo Rat.xml e add

 

  Mostrar conteúdo oculto

<raid>
<announce delay="0" type="event" message="mensagem aviso um." />
<announce delay="150000" type="event" message="mensagem aviso dois quando o monstro nascer" />
<singlespawn delay="150000" name="Nome do Monstro" x="local x" y="local y" z="local z" />
</raid>

 

delay="0" « tempo em segundos dependendo do tfs  se tá 0 a mensagem 1 vai aparece sem atraso.

delay="150000" esses 150000 seria 15 segundos após a mensagem 1 aparecer em alguns tfs  os 15 segundos em delay seria 15000.

message=" mensagem que vai aparecer é claro.

name=" seria o nome do moonstro que iremos por no caso será o Rat.

x="local x" y="local y" z="local z" /> « seria aposição no exemplo vocês terá que alterar a gosto x="local x" y="local y" z="local z" /> por numero do sqm.

 

pronto você está informado e terminamos de criar a primeira parte da raid. Depois das edições pf salve!

 

Vamos trabalhar agora com o globalevents.

 

Vá na pasta globalevens/scripts copie um arquivo, renomeia para Rat e add.

 

  Mostrar conteúdo oculto

--Creditos para CipSoft--

--Edited by Alexy Brocanello--

 

local raids =
    {
        [1] =
            {
                name = 'Rat',
                type = 'weekly',
                days = {'Monday'},
                hour = 22,
                minu = 33
            },
    }
    
local last_execsutes = {}

function onThink(interval, lastExecution, thinkInterval)
    local static_time = os.time()
    for k, raid in ipairs(raids) do
        if (raid.type == 'weekly') then
            local day = os.date("%A", static_time):lower()
            if isInArray(raid.days, day) then
                local hour = tonumber(os.date("%H", static_time))
                if (raid.hour == hour) then
                    local minute = tonumber(os.date("%M", static_time))
                    if (raid.minu == minute) then
                        local day_number = tonumber(os.date("%d", static_time))
                        if (last_execsutes[k] ~= day_number) then
                            last_execsutes[k] = day_number
                            doExecuteRaid(raid.name)
                        end
                    end
                end
            end
        elseif (raid.type == 'exact') then
            local month = tonumber(os.date("%m", static_time))
            if (raid.date.month == month) then
                local day = tonumber(os.date("%d", static_time))
                if (raid.date.day == day) then
                    local hour = tonumber(os.date("%H", static_time))
                    if (raid.hour == hour) then
                        local minute = tonumber(os.date("%M", static_time))
                        if (raid.minu == minute) then
                            if (last_execsutes[k] ~= day) then
                                last_execsutes[k] = day
                                doExecuteRaid(raid.name)
                            end
                        end
                    end
                end
            end
        end
    end
    return true
end

 

 

Explicando...

 

local raids =
    {
        [1] =
            {
                name = 'Rat', ««« nome do monstro, lembra do inglÊs lá no começo ? então ele aqui!
                type = 'weekly',
                days = {'Monday'}, ««« dias da semana
                hour = 22, ««« hora
                minu = 33 «« minutos
            },
    }

 

há eu queria adicionar mais como posso ? simples veja como o exemplo.

 

        [1] =
            {
                name = 'Rat', ««« nome do monstro, lembra do inglÊs lá no começo ? então ele aqui!
                type = 'weekly',
                days = {'Monday'}, ««« dias da semana
                hour = 22, ««« hora
                minu = 33 «« minutos
            },

        [2] =
            {
                name = 'Rat', ««« nome do monstro, lembra do inglÊs lá no começo ? então ele aqui!
                type = 'weekly',
                days = {'Monday'}, ««« dias da semana
                hour = 22, ««« hora
                minu = 33 «« minutos
            },

 

terminando com  } ficando o scripts assim.

 

  Mostrar conteúdo oculto

local raids =
    {
        [1] =
            {
                name = 'Rat',
                type = 'weekly',
                days = {'Monday'},
                hour = 10,
                minu = 34
            },

        [2] =
            {
                name = 'Rat',
                type = 'weekly',
                days = {'Monday'},
                hour = 10,
                minu = 35
            },

    }
    
local last_execsutes = {}

function onThink(interval, lastExecution, thinkInterval)
    local static_time = os.time()
    for k, raid in ipairs(raids) do
        if (raid.type == 'weekly') then
            local day = os.date("%A", static_time):lower()
            if isInArray(raid.days, day) then
                local hour = tonumber(os.date("%H", static_time))
                if (raid.hour == hour) then
                    local minute = tonumber(os.date("%M", static_time))
                    if (raid.minu == minute) then
                        local day_number = tonumber(os.date("%d", static_time))
                        if (last_execsutes[k] ~= day_number) then
                            last_execsutes[k] = day_number
                            doExecuteRaid(raid.name)
                        end
                    end
                end
            end
        elseif (raid.type == 'exact') then
            local month = tonumber(os.date("%m", static_time))
            if (raid.date.month == month) then
                local day = tonumber(os.date("%d", static_time))
                if (raid.date.day == day) then
                    local hour = tonumber(os.date("%H", static_time))
                    if (raid.hour == hour) then
                        local minute = tonumber(os.date("%M", static_time))
                        if (raid.minu == minute) then
                            if (last_execsutes[k] ~= day) then
                                last_execsutes[k] = day
                                doExecuteRaid(raid.name)
                            end
                        end
                    end
                end
            end
        end
    end
    return true
end


 

sempre que por nova raid mude sempre o numero diferente entre  []  para que não possa duplicar.

 

Pronto nosso scripts  ficará assim.

 

  Mostrar conteúdo oculto

--Creditos para CipSoft--

--Edited by Alexy Brocanello--

 

local raids =
    {
        [1] =
            {
                name = 'Rat',
                type = 'weekly',
                days = {'Monday'},
                hour = 22,
                minu = 33
            },

 

    }
    
local last_execsutes = {}

function onThink(interval, lastExecution, thinkInterval)
    local static_time = os.time()
    for k, raid in ipairs(raids) do
        if (raid.type == 'weekly') then
            local day = os.date("%A", static_time):lower()
            if isInArray(raid.days, day) then
                local hour = tonumber(os.date("%H", static_time))
                if (raid.hour == hour) then
                    local minute = tonumber(os.date("%M", static_time))
                    if (raid.minu == minute) then
                        local day_number = tonumber(os.date("%d", static_time))
                        if (last_execsutes[k] ~= day_number) then
                            last_execsutes[k] = day_number
                            doExecuteRaid(raid.name)
                        end
                    end
                end
            end
        elseif (raid.type == 'exact') then
            local month = tonumber(os.date("%m", static_time))
            if (raid.date.month == month) then
                local day = tonumber(os.date("%d", static_time))
                if (raid.date.day == day) then
                    local hour = tonumber(os.date("%H", static_time))
                    if (raid.hour == hour) then
                        local minute = tonumber(os.date("%M", static_time))
                        if (raid.minu == minute) then
                            if (last_execsutes[k] ~= day) then
                                last_execsutes[k] = day
                                doExecuteRaid(raid.name)
                            end
                        end
                    end
                end
            end
        end
    end
    return true
end

 

Pronto salve o arquivo, volta uma pasta e abra o arquivo globalevents.xml e add a tag.

 

  Mostrar conteúdo oculto

<globalevent name="boss nascer" interval="15000" event="script" value="Rat.lua"/>

 

Explicando »»

 

name=" pode botar qualquer nome q vc possa indentificar o scripts.

 

interval="15000" no caso 15000 seria 15 segundos pro globalevents ser excutado pode varia o tfs se ficar sem passando rápido bote 150000.

 

pronto após edições pf salve... agora seu monstro irá nascer automaticamente... é isso ai!

 

 

@créditos CipSoft e a mim.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

então cara, não funcionou, n sei pq então resolvi criar o meu script quando eu terminar vou testar se funcionar eu ja posto aki ^^

Postado
  • Autor
  • Diretor
32 minutos atrás, lenardo88 disse:

então cara, não funcionou, n sei pq então resolvi criar o meu script quando eu terminar vou testar se funcionar eu ja posto aki ^^

pode ele todo pra gente!

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo