Postado Janeiro 24, 2016 9 anos 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 Abril 17, 2020 5 anos por L3K0T Alteração no Título APENAS (veja o histórico de edições) 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 Janeiro 25, 2016 9 anos 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.
Postado Janeiro 26, 2016 9 anos Autor Diretor 16 horas atrás, Azhaurn disse: 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 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 Janeiro 26, 2016 9 anos 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 Janeiro 26, 2016 9 anos 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! 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.