Killua 389 Postado Abril 8, 2014 Share Postado Abril 8, 2014 (editado) Monster Hunter Event Como não tive tempo para trazer um script semana passada, criei um bem legal para essa semana. Para ver os outros scripts de terça, clique aqui. Vídeo demonstrativo: Explicação detalhada: O evento possui duas versões: automática (globalevent) e manual (talkaction). Quando o evento inicia, é sorteado um monstro e um intervalo de tempo, por exemplo: Hydra e 15 minutos. Seguindo esse exemplo, os jogadores terão 15 minutos para matar hydras, no final dos 15 minutos, aquele que tiver matado mais hydras será o vencedor e receberá um prêmio. - É tudo configurável. Instalação: Crie Monster Hunter.lua em data/creaturescripts/scripts e coloque: -- Monster Hunter Event feito por Killua, XTibia.com function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) then if getCreatureMaster(target) ~= nil then return true end local name = getGlobalStorageValue(1919211) if string.lower(getCreatureName(target)) == string.lower(name) then doPlayerSetStorageValue(cid, 1814210, getPlayerStorageValue(cid, 1814210) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Monster Hunter Event] Voce ja matou "..getPlayerStorageValue(cid, 1814210).." "..name.."s! Continue matando para ser o vencedor!") end end return true end function onLogin(cid) if getGlobalStorageValue(1919211) == 0 then doPlayerSetStorageValue(cid, 1814210, 0) end registerCreatureEvent(cid, "Monster Hunter") return true end Em data/creaturescripts/creaturescripts.xml adicione essas TAGs: <event type="kill" name="Monster Hunter" event="script" value="Monster Hunter.lua"/> <event type="login" name="Monster Hunterl" event="script" value="Monster Hunter.lua"/> A próxima parte irá depender de qual versão escolher Versão manual (talkaction) Em data/talkactions/scripts crie Monster Hunter.lua e coloque: -- Monster Hunter Event feito por Killua, XTibia.com local monsters = {"Demon", "Rat", "Hydra", "Dragon Lord", "Ancient Scarab"} -- Monstros que podem ser sorteados local time_min, max = 10, 15 -- Em minutos local premios, gold = {{2160, 10}, {2157, 5}}, 10000 -- {id do item, quantidade} que o jogador ganha e quantia de gold function winMonsterEvent() local max_sto, winner = 0, 0 local monster = getGlobalStorageValue(1919211) for _, pid in pairs(getPlayersOnline()) do local sto = getPlayerStorageValue(pid, 1814210) if sto > max_sto then max_sto = sto winner = pid end end if isPlayer(winner) then local artigo = getPlayerSex(winner) == 0 and "A jogadora" or "O jogador" doBroadcastMessage(artigo.." "..getCreatureName(winner).." matou "..getPlayerStorageValue(winner, 1814210).." "..monster.."s e venceu o evento, parabens!") for _, prize in pairs(premios) do doPlayerAddItem(winner, prize[1], prize[2]) end doPlayerAddMoney(winner, gold) else doBroadcastMessage("[Monster Hunter Event] O evento terminou e nao houve nenhum vencedor.") end setGlobalStorageValue(1919211, 0) end function onSay(cid, words, param, channel) local random = math.random(1, #monsters) local time = math.random(time_min, max) for _, pid in pairs(getPlayersOnline()) do doPlayerSetStorageValue(pid, 1814210, 0) end setGlobalStorageValue(1919211, monsters[random]) doBroadcastMessage("[Monster Hunter Event] O evento comecou e vai durar "..time.." minuto. O monstro sorteado foi "..monsters[random].."! Quem matar mais deles ate o fim sera o vencedor!") addEvent(winMonsterEvent, time*1000*60) return true end Em data/talkactions/talkactions.xml coloque essa TAG: <talkaction log="yes" access="5" words="/monsterhunter" event="script" value="Monster Hunter.lua"/> Versão automática (globalevent) Em data/globalevents/scripts crie Monster Hunter.lua e coloque: -- Monster Hunter Event feito por Killua, XTibia.com local monsters = {"Demon", "Rat", "Hydra", "Dragon Lord", "Ancient Scarab"} -- Monstros que podem ser sorteados local time_min, max = 10, 15 -- Em minutos local premios, gold = {{2160, 10}, {2157, 5}}, 10000 -- {id do item, quantidade} que o jogador ganha e quantia de gold function winMonsterEvent() local max_sto, winner = 0, 0 local monster = getGlobalStorageValue(1919211) for _, pid in pairs(getPlayersOnline()) do local sto = getPlayerStorageValue(pid, 1814210) if sto > max_sto then max_sto = sto winner = pid end end if isPlayer(winner) then local artigo = getPlayerSex(winner) == 0 and "A jogadora" or "O jogador" doBroadcastMessage(artigo.." "..getCreatureName(winner).." matou "..getPlayerStorageValue(winner, 1814210).." "..monster.."s e venceu o evento, parabens!") for _, prize in pairs(premios) do doPlayerAddItem(winner, prize[1], prize[2]) end doPlayerAddMoney(winner, gold) else doBroadcastMessage("[Monster Hunter Event] O evento terminou e nao houve nenhum vencedor.") end setGlobalStorageValue(1919211, 0) end function onThink(interval, lastExecution, thinkInterval) local random = math.random(1, #monsters) local time = math.random(time_min, max) for _, pid in pairs(getPlayersOnline()) do doPlayerSetStorageValue(pid, 1814210, 0) end setGlobalStorageValue(1919211, monsters[random]) doBroadcastMessage("[Monster Hunter Event] O evento comecou e vai durar "..time.." minuto. O monstro sorteado foi "..monsters[random].."! Quem matar mais deles ate o fim sera o vencedor!") addEvent(winMonsterEvent, time*1000*60) return true end Em data/globalevents/globalevents.xml coloque essa TAG: <globalevent name="Monster Hunter Event" interval="60000" event="script" value="Monster Hunter.lua"/> Configuração: local monsters = {"Demon", "Rat", "Hydra", "Dragon Lord", "Ancient Scarab"} -- Monstros que podem ser sorteados local time_min, max = 10, 15 -- Em minutos local premios, gold = {{2160, 10}, {2157, 5}}, 10000 -- {id do item, quantidade} que o jogador ganha e quantia de gold Em monsters, coloque o nome dos monstros que poderão ser sorteados no evento. Em time_min, max, coloque o tempo mínimo e o tempo máximo de duração do evento. em premios, gold adicione os itens e a quantidade de gold que o vencedor receberá (seguindo o modelo apresentado). TAG no Globalevents.xml (versão automática): <globalevent name="Monster Hunter Event" interval="3600000" event="script" value="Monster Hunter.lua"/> interval é o intervalo entre as execuções do evento, coloquei 3600000, que equivale a 1 hora (1000 = 1 segundo). Se seu servidor NÃO for em milissegundos, use 1 = 1 segundo, logo 1 hora = 3600. TAG no Talkactions.xml (versão manual): <talkaction log="yes" access="5" words="/monsterhunter" event="script" value="Monster Hunter.lua"/> Em access coloque o núemero de acesso mínimo para poder usar o comando. 5 = somente gods podem usar. Para iniciar o evento na maneira manual, basta usar /monsterhunter Para iniciar o evento na maneira automática, basta aguardar o tempo configurado. Editado Abril 12, 2014 por Killua Link para o comentário Compartilhar em outros sites More sharing options...
DuuhCarvalho 325 Postado Abril 8, 2014 Share Postado Abril 8, 2014 Ficou perfeito o evento *---* Link para o comentário Compartilhar em outros sites More sharing options...
bisosonho 2 Postado Abril 8, 2014 Share Postado Abril 8, 2014 (editado) nossa curti, com certeza irei usar, qualquer problema ou ideia eu posto de novo, vlw! EDIT:ta funcionando legal, só achei uma coisa ruim, se o player n tiver cap ou espaço o premio cai no chão, vc poderia colocar pra caso n conseguisse dar o item mandar direto pro dp EDIT2: uma ideia legal seria ter grupo de monstro, tipo minotaurs, ai o player poderia matar qualquer tipo de mino EDIT3: vc esqueceu de checar se o monstro é summon! xD Editado Abril 8, 2014 por Diihbran Link para o comentário Compartilhar em outros sites More sharing options...
Mateusoo 15 Postado Abril 12, 2014 Share Postado Abril 12, 2014 Como o Diihbran falou, você esqueceu de checar se o monstro é summon. E outra coisa que seria interessante acrescentar seria: Verificar se o evento já está acontecendo, pois o que eu acho mais certo é utilizar tanto o movo automatico(global events) quanto o modo manual(talk actions), o ADM pode querer fazer um evento manualmente em uma determinada hora e pode coincidir que o evento automatico começará, assim zerando o evento que foi começado manualmente.O Script é muito bom, e achei a ideia surpreendente, o seu trabalho aqui tem sido muito bom, gostei muito de alguns scripts seus, parabéns!Um grande abraço e continue assim! REP+ Link para o comentário Compartilhar em outros sites More sharing options...
Killua 389 Postado Abril 12, 2014 Autor Share Postado Abril 12, 2014 Na realidade eu nem pensei na possibilidade de o monstro ser summon... Eu fiz pensando em usar somente monstros mais fortes. De qualquer forma, atualizei o tópico com a checagem, obrigado pela sugestão. Link para o comentário Compartilhar em outros sites More sharing options...
jeanflamengo 24 Postado Abril 15, 2014 Share Postado Abril 15, 2014 (editado) @kill teria como você fazer esse evento para poketibia? pq eu dei uma testada aki e não funfo não. Editado Abril 15, 2014 por jeanflamengo Link para o comentário Compartilhar em outros sites More sharing options...
duasrodas 5 Postado Abril 15, 2014 Share Postado Abril 15, 2014 Killua ficou lindo cara!!Valew por compartilhar com o Xtibia!! Reputado! Link para o comentário Compartilhar em outros sites More sharing options...
Masterzikka 2 Postado Abril 26, 2014 Share Postado Abril 26, 2014 (editado) Cara eu gostei d ++ do event mais estoou com uma duvida onde os monstros aparecem?? pode deixar ja entendi oq tem que fazer vc tem que procurar hunts com o monstro sorteado e quem mata mais ganha... Editado Abril 26, 2014 por Masterzikka Link para o comentário Compartilhar em outros sites More sharing options...
Killua 389 Postado Abril 26, 2014 Autor Share Postado Abril 26, 2014 Cara eu gostei d ++ do event mais estoou com uma duvida onde os monstros aparecem?? pode deixar ja entendi oq tem que fazer vc tem que procurar hunts com o monstro sorteado e quem mata mais ganha... É isso ai kkkk Link para o comentário Compartilhar em outros sites More sharing options...
coyotestark 24 Postado Abril 30, 2014 Share Postado Abril 30, 2014 (editado) bem interessante este script show de bola testando eu testei o evento so que ninguem ganha [Monster Hunter Event] O evento terminou e nao houve nenhum vencedor. Editado Abril 30, 2014 por CoyoteStark Link para o comentário Compartilhar em outros sites More sharing options...
Killua 389 Postado Abril 30, 2014 Autor Share Postado Abril 30, 2014 bem interessante este script show de bola testando eu testei o evento so que ninguem ganha [Monster Hunter Event] O evento terminou e nao houve nenhum vencedor. Se ninguém ganhou é pq ninguém matou um monstro sorteado... Link para o comentário Compartilhar em outros sites More sharing options...
coyotestark 24 Postado Abril 30, 2014 Share Postado Abril 30, 2014 claro que matou, para testar eu me certifiquei que tinha um jogador na cave que tinha este monstro, tinha, entao ativei o evento e nao deu nada. Link para o comentário Compartilhar em outros sites More sharing options...
Killua 389 Postado Abril 30, 2014 Autor Share Postado Abril 30, 2014 claro que matou, para testar eu me certifiquei que tinha um jogador na cave que tinha este monstro, tinha, entao ativei o evento e nao deu nada. Reisntale o evento seguindo com exatidão o que foi explicado no tópico... Não existem motivos para ele não funcionar, a não ser que você tenha instalado errado. Link para o comentário Compartilhar em outros sites More sharing options...
coyotestark 24 Postado Maio 1, 2014 Share Postado Maio 1, 2014 vejamos, colocar parada no creature/scripts depois registrar no creatures xml depois talk, belesa fiz tudo isso. vou testar o automatico para ver se funciona Link para o comentário Compartilhar em outros sites More sharing options...
julhinhuu 26 Postado Agosto 28, 2015 Share Postado Agosto 28, 2015 Aqui não conta os monstros que matei .. porque? Duduh124000 reagiu a isso 1 Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados