Ir para conteúdo

murilo103

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    murilo103 deu reputação a Ryzor em Did you know?   
    História



    Você sabia que a linguagem Lua é brasileira?
    Sim, ela é brasileira e foi criada na PUC-Rio (Pontifícia Universidade Católica do Rio de Janeiro) em 1993. Em conjunto com a PetroBras.

    Você sabia que lua é uma das 20 linguagens mais usadas no mundo?
    Sim, ela é umas da 20 linguagens mais usadas no mundo. Por ser leve, portável e de fácil aprendizado. Exemplos de JOGOS que usam Lua como Linguagem de Scripting:


     
    Grim Fandango Escape From Monkey Island Psychonauts FarCry World of Warcraft E vários outros.

    Sintaxe



    if variavel == true then


    É o mesmo que colocar



    if variavel then


    Você sabia que Lua é Case Sensitive?
    Sim, em Lua é diferente "STRING" de "string".


    Você sabia que não existe TRUE e FALSE em Lua?
    Exatamente, não existe TRUE e FALSE em Lua, por isso é errado usar eles. O certo seria true e false. Isso é apenas mais um POG adaptação do OpenTibia.


    Sabia que uma boa indentação é a Alma de um bom código? Exemplos:

    Errado:

    function onStatsChange(cid,attacker,type,combat,value) local porcent = 10 -- Porcentagem do dano que o monstro vai tomar if (combat == STATSCHANGE_HEALTHLOSS) then local damage = ((value/100)*porcent) doSendAnimatedText(getThingPos(attacker),damage,143) doCreatureAddHealth(attacker,-damage) doPlayerSendTextMessage(cid,MESSAGE_EVENT_DEFAULT,"You reflect "..damage.." by damage from a " .. getCreatureName(attacker) .. ".") end return true end Certo:

    function onStatsChange(cid, attacker, type, combat, value)     local porcent = 10 -- Porcentagem do dano que o monstro vai tomar     if (combat == STATSCHANGE_HEALTHLOSS) then         local damage = ((value/100)*porcent)         doSendAnimatedText(getThingPos(attacker),damage,143)         doCreatureAddHealth(attacker,-damage)         doPlayerSendTextMessage(cid,MESSAGE_EVENT_DEFAULT,"You reflect "..damage.." by damage from a " ..getCreatureName(attacker).. ".")     end     return true end
    Finalizações
    Bom galera, ficou bem pequeno porque eu não sabia o que escrever, mas acho que já dá para ver algumas coisas legais e certas. Quem tiver mais ideias de coisas para colocar me avise que eu coloco. Obrigado a todos e tenham um bom dia.


    Creditos

    IuniX
  2. Gostei
    murilo103 deu reputação a Jack Zika em (Resolvido)[PEDIDO] MUSIC BOX [MONTARIAS] TFS 1.0   
    Bom gostaria que o item music box [id:18511] funcionasse igual no global. Gostaria que ele pudesse ser utilizado para domar qualquer montaria. Aqui está meu tamming.lua
     
  3. Gostei
    murilo103 deu reputação a Boush em Wand of Elements   
    vai ter para tfs 1.0?
  4. Gostei
    Global 11/12x [v32]
     

     
     
    - New Falcons
    - New Asuras
    - Warzone 4,5,6
    - Exercise Training
    - Raids 100%
    - Monstros 100%
    - Trainer Offline 100%
    - Trainer Online 100%
    - Taming system funcionando 100%;
    - Database completa
    - War System 100%
    - Global MAP Full
    - Store 100%
    - Imbuement
    - Prey System
    - Entre outros sistemas.
     
    Projeto no: GITHUB

    Scan Vírus Total
     
    IMAGES
     
    Créditos:
     
     











  5. Gostei
    murilo103 deu reputação a Malk182 em Atreyu OT 8.6 - TFS 0.4 (rev. 5934) (Mapa Custom)   
    Fechei o Atreyu em 2013, por não conseguir conciliar o tempo do trabalho com o gerenciamento do servidor, assim resolvi fecha-lo. Estou disponibilizando todo o servidor. Gostava bastante deste mapa (31 MB).
    Servidor bastante estável com mais de 500 horas de uptime, todas as vocações estão bastante equilibradas para PVP e PVM.
     
    Existem 218 casas dividas em 7 cidades.
     
     
    Download Link (Site/Servidor/Db/Documentos de controle):
     
    Mega:
    https://mega.co.nz/#F!jcVxARSI!UFycsdjTmVtcboibn5ibmg
     
    Banco de dados atualizado:
    atreyu-db-31-12-2014.rar
    (Atualizei alguns campos que não estavam com valor default e assim não deixavam criar conta/personagem no site)
     
    Contas de exemplo:
    malk/123456 (GOD)
    teste/123123 (Paladin)
    MxSample (Não lembro a senha, a conta tem um personagem de cada vocação, quando um personagem é criado no site ele é copiado a partir do personagem desta conta)
     
     
    Cidades:
    Formiria Daoten Finidia Gasmaril Labaredum Mornea Ucon (VIP) Funcionalidades:
    Addons funcionando 100%. Guilds Wars com Skull 100%. Montanha Russa. Sistema VIP completo. Sistema de Banco via comando. Sistema de Bless via comando. Sistema de Refinamento de Itens. Sistema de Itens únicos. Tasks. Quests:
    Annihilator - LVL 100+ Assassin Outfit - Qualquer Behemoth - LVL 80+ Beholder - Qualquer Demon Oak - LVL 120+ Demon Helmet - LVL 150+ Demon Hunter Outfit - Qualquer Dragon Lord - LVL 90+ Draken Quest - LVL 180+ Elf Tree - Qualquer Giant Spider - LVL 35+ Hero - LVL 50+ Hydra - LVL 60+ Infernalist Tower - LVL 75+ Norseman Outfit - Qualquer Pits Of Inferno (POI) - LVL 80+ (Todas as alavancas na mesma ordem do global )  Sand Dragon Lord - Qualquer Warlock - Qualquer Guild Wars (Com Escudos):

    Sistema igual ao do global onde uma guild pode invitar outra para entrar em guerra assim pode ser definido valores para a guild vencedora receber e todos as morte da guerra são justificadas ou seja não ganhaskull ou ban matando na war.

    Sistemas:
    Banco: Sistema para controle de banco através de comando, sem precisar assim de ir na cidade para sacar ou depositar dinheiro em sua conta. Itens Únicos: Cada vez que um monstro dropa algum loot existe a chance desse item ter algum atributo melhor do que o item padrão, por exemplo, pode cair uma giant sword com + 2 de ataque ou um demon shield com +3 de defesa. Refinamento: Você pode utilizar pedras especiais para melhorar a qualidade de seus itens. Renascimento: Existe um item no jogo que pode renascer um jogador morto recentemente trazendo ele para o local do seu corpo. Treinamento com Soul: As áreas de treinamento utilizam a soul do personagem, a cada 3 minutos um ponto de soul é gasto. Eventos:
    Zombie Event - Todos os dias as 18h e 23h. Coliseum (PVP entre times) - Terça, Quinta e Sábado as 16 horas. Dota (Próprio) Castle War WOE Controle Frags:

    Quantidade para pegar Skull:

    - RED SKULL

    Diario = 5
    Semanal = 10
    Mensal = 30
    - BLACK SKULL
    Diario = 5
    Semanal = 10
    Mensal = 30
    Tempo para sair a Skull

    Red Skull = 7 Dias
    Black SKull = 10 Dias

    Outras Informações:
    Level para comprar casa: 100 Level para criar guild: 50 Protection Level: 50 Para mais fotos do mapa olhem este link de divulgação do servidor:
    http://www.tibiaking.com/forum/topic/25582-86-atreyu-ots-abertura-11052013-ás-1400-guild-war-com-skull-mapa-custom/
  6. Gostei
    murilo103 recebeu reputação de alanzinhofm em Pokémon PGlaxy v0.1 !   
    • Menu:
    *informações;
    *erros;
    *comentarío;
    *dowload;
    *Scan;
    *credítos !





    *informações;


    Bom acho que todo mundo ja conteçe o PGalaxy, tem até um 'show' off dele aqui tem varíos systemas otímos como barco system,beginner system entre outros,não mexi completamente em nada no servídor, porque um lek me passou e estou resolvendo postar para dowload porque não irei usar mais isso, como basê Quest Quest eu acho que tem em torno de 15 espalhada pelo mapa, numca tive oportunidade de jogar o PGlaxy e nem o PDaventures, pois o mapa é é do PA mais me falarão que servídor dele é bão mesmo como disse ali em cima. *erros; Creio eu que não há nenhum erro grave, mais tem level system que eu acho uma coisa ridicula, se alguem tiver alguma equipe e resolver tira o level system, acho que ficaría perfeita nesse servídor. *comentarío; como eu consegui esse servídor? Consegui em outro fórum. Estou sem print pois meu pc trava demais quando eu abro esse servídor, ele é muito pesado e o client esta junto a pasta do servídor mesmo, quando der eu posto prints .


    *dowload;
    http://www.mediafire...nsl4m6nj7bg3v7f



    Obrigado a todos e fiquem com Deus , caso esteja em um local errado pf movam
  7. Gostei
    murilo103 recebeu reputação de manoel1998 em Pokémon PGlaxy v0.1 !   
    • Menu:
    *informações;
    *erros;
    *comentarío;
    *dowload;
    *Scan;
    *credítos !





    *informações;


    Bom acho que todo mundo ja conteçe o PGalaxy, tem até um 'show' off dele aqui tem varíos systemas otímos como barco system,beginner system entre outros,não mexi completamente em nada no servídor, porque um lek me passou e estou resolvendo postar para dowload porque não irei usar mais isso, como basê Quest Quest eu acho que tem em torno de 15 espalhada pelo mapa, numca tive oportunidade de jogar o PGlaxy e nem o PDaventures, pois o mapa é é do PA mais me falarão que servídor dele é bão mesmo como disse ali em cima. *erros; Creio eu que não há nenhum erro grave, mais tem level system que eu acho uma coisa ridicula, se alguem tiver alguma equipe e resolver tira o level system, acho que ficaría perfeita nesse servídor. *comentarío; como eu consegui esse servídor? Consegui em outro fórum. Estou sem print pois meu pc trava demais quando eu abro esse servídor, ele é muito pesado e o client esta junto a pasta do servídor mesmo, quando der eu posto prints .


    *dowload;
    http://www.mediafire...nsl4m6nj7bg3v7f



    Obrigado a todos e fiquem com Deus , caso esteja em um local errado pf movam
  8. Gostei
    murilo103 recebeu reputação de TeteusBoy em Pokémon PGlaxy v0.1 !   
    • Menu:
    *informações;
    *erros;
    *comentarío;
    *dowload;
    *Scan;
    *credítos !





    *informações;


    Bom acho que todo mundo ja conteçe o PGalaxy, tem até um 'show' off dele aqui tem varíos systemas otímos como barco system,beginner system entre outros,não mexi completamente em nada no servídor, porque um lek me passou e estou resolvendo postar para dowload porque não irei usar mais isso, como basê Quest Quest eu acho que tem em torno de 15 espalhada pelo mapa, numca tive oportunidade de jogar o PGlaxy e nem o PDaventures, pois o mapa é é do PA mais me falarão que servídor dele é bão mesmo como disse ali em cima. *erros; Creio eu que não há nenhum erro grave, mais tem level system que eu acho uma coisa ridicula, se alguem tiver alguma equipe e resolver tira o level system, acho que ficaría perfeita nesse servídor. *comentarío; como eu consegui esse servídor? Consegui em outro fórum. Estou sem print pois meu pc trava demais quando eu abro esse servídor, ele é muito pesado e o client esta junto a pasta do servídor mesmo, quando der eu posto prints .


    *dowload;
    http://www.mediafire...nsl4m6nj7bg3v7f



    Obrigado a todos e fiquem com Deus , caso esteja em um local errado pf movam
  9. Gostei
    murilo103 recebeu reputação de mateuslana em Pokémon PGlaxy v0.1 !   
    • Menu:
    *informações;
    *erros;
    *comentarío;
    *dowload;
    *Scan;
    *credítos !





    *informações;


    Bom acho que todo mundo ja conteçe o PGalaxy, tem até um 'show' off dele aqui tem varíos systemas otímos como barco system,beginner system entre outros,não mexi completamente em nada no servídor, porque um lek me passou e estou resolvendo postar para dowload porque não irei usar mais isso, como basê Quest Quest eu acho que tem em torno de 15 espalhada pelo mapa, numca tive oportunidade de jogar o PGlaxy e nem o PDaventures, pois o mapa é é do PA mais me falarão que servídor dele é bão mesmo como disse ali em cima. *erros; Creio eu que não há nenhum erro grave, mais tem level system que eu acho uma coisa ridicula, se alguem tiver alguma equipe e resolver tira o level system, acho que ficaría perfeita nesse servídor. *comentarío; como eu consegui esse servídor? Consegui em outro fórum. Estou sem print pois meu pc trava demais quando eu abro esse servídor, ele é muito pesado e o client esta junto a pasta do servídor mesmo, quando der eu posto prints .


    *dowload;
    http://www.mediafire...nsl4m6nj7bg3v7f



    Obrigado a todos e fiquem com Deus , caso esteja em um local errado pf movam
  10. Gostei
    murilo103 recebeu reputação de iokayrox em Pokémon PGlaxy v0.1 !   
    • Menu:
    *informações;
    *erros;
    *comentarío;
    *dowload;
    *Scan;
    *credítos !





    *informações;


    Bom acho que todo mundo ja conteçe o PGalaxy, tem até um 'show' off dele aqui tem varíos systemas otímos como barco system,beginner system entre outros,não mexi completamente em nada no servídor, porque um lek me passou e estou resolvendo postar para dowload porque não irei usar mais isso, como basê Quest Quest eu acho que tem em torno de 15 espalhada pelo mapa, numca tive oportunidade de jogar o PGlaxy e nem o PDaventures, pois o mapa é é do PA mais me falarão que servídor dele é bão mesmo como disse ali em cima. *erros; Creio eu que não há nenhum erro grave, mais tem level system que eu acho uma coisa ridicula, se alguem tiver alguma equipe e resolver tira o level system, acho que ficaría perfeita nesse servídor. *comentarío; como eu consegui esse servídor? Consegui em outro fórum. Estou sem print pois meu pc trava demais quando eu abro esse servídor, ele é muito pesado e o client esta junto a pasta do servídor mesmo, quando der eu posto prints .


    *dowload;
    http://www.mediafire...nsl4m6nj7bg3v7f



    Obrigado a todos e fiquem com Deus , caso esteja em um local errado pf movam
  11. Gostei
    murilo103 deu reputação a KingFlyre em Zelettar Soft (Tibia 6.0)   
    Olá, estava procurando algo interessante/novo que não seja que tenha toda dia/semana/mês aqui no fórum, então foi ai que eu encontrei esse "Zelettar Soft" espero que vocês gostem assim como eu gostei (achei legal)
    Bom aproveito do Server! Informações abaixo.
     
     
     
    Zelettar Soft Server
     
    Server Info
    Exclusiva versão 6.0 Item da versão 6.0 Mapa igual do Tibia Global 6.0 (bem antigo!) Outfit pode ser mudada! Monstros da versão 6.0!  
    Server
    Download -> Link aqui Scan -> Link aqui  
    Cliente 6.0
    Download -> Link aqui Scan -> Link aqui  
    Créditos
    Criador da equipe (quem teve a ideia): Isack
    Colaborador e divulgador: Lucas Tibiano
    Spriters: Herick Santos e Christian
     
    (2013) Zelletar Soft, Todos os direitos Reservado.
    KingFlyre
     
  12. Gostei
    murilo103 recebeu reputação de chapolin em Pokémon PGlaxy v0.1 !   
    • Menu:
    *informações;
    *erros;
    *comentarío;
    *dowload;
    *Scan;
    *credítos !





    *informações;


    Bom acho que todo mundo ja conteçe o PGalaxy, tem até um 'show' off dele aqui tem varíos systemas otímos como barco system,beginner system entre outros,não mexi completamente em nada no servídor, porque um lek me passou e estou resolvendo postar para dowload porque não irei usar mais isso, como basê Quest Quest eu acho que tem em torno de 15 espalhada pelo mapa, numca tive oportunidade de jogar o PGlaxy e nem o PDaventures, pois o mapa é é do PA mais me falarão que servídor dele é bão mesmo como disse ali em cima. *erros; Creio eu que não há nenhum erro grave, mais tem level system que eu acho uma coisa ridicula, se alguem tiver alguma equipe e resolver tira o level system, acho que ficaría perfeita nesse servídor. *comentarío; como eu consegui esse servídor? Consegui em outro fórum. Estou sem print pois meu pc trava demais quando eu abro esse servídor, ele é muito pesado e o client esta junto a pasta do servídor mesmo, quando der eu posto prints .


    *dowload;
    http://www.mediafire...nsl4m6nj7bg3v7f



    Obrigado a todos e fiquem com Deus , caso esteja em um local errado pf movam
  13. Gostei
    murilo103 recebeu reputação de likan122 em Pokémon PGlaxy v0.1 !   
    • Menu:
    *informações;
    *erros;
    *comentarío;
    *dowload;
    *Scan;
    *credítos !





    *informações;


    Bom acho que todo mundo ja conteçe o PGalaxy, tem até um 'show' off dele aqui tem varíos systemas otímos como barco system,beginner system entre outros,não mexi completamente em nada no servídor, porque um lek me passou e estou resolvendo postar para dowload porque não irei usar mais isso, como basê Quest Quest eu acho que tem em torno de 15 espalhada pelo mapa, numca tive oportunidade de jogar o PGlaxy e nem o PDaventures, pois o mapa é é do PA mais me falarão que servídor dele é bão mesmo como disse ali em cima. *erros; Creio eu que não há nenhum erro grave, mais tem level system que eu acho uma coisa ridicula, se alguem tiver alguma equipe e resolver tira o level system, acho que ficaría perfeita nesse servídor. *comentarío; como eu consegui esse servídor? Consegui em outro fórum. Estou sem print pois meu pc trava demais quando eu abro esse servídor, ele é muito pesado e o client esta junto a pasta do servídor mesmo, quando der eu posto prints .


    *dowload;
    http://www.mediafire...nsl4m6nj7bg3v7f



    Obrigado a todos e fiquem com Deus , caso esteja em um local errado pf movam
  14. Gostei
    Este é o novo script para matar em nome de ... Quest que eu fiz. Ele inclui recursos para mort real tíbia.

    características:
    Você pode começar apenas as tarefas de monitores segundo seu nível e / ou armazenamento
    Você pode repetir tarefas (Times pode ser alterado)
    Você pode começar a tarefa 3 ao mesmo tempo (Contagem pode ser alterado)
    Recompensas são fáceis de configurar e tem um monte de recursos
    Os tipos de vantagens são:
    dinheiro / REWARD_MONEY: Dá dinheiro para o jogador.
    exp experiência / / REWARD_EXP: Dá pontos de experiência para o jogador.
    realização / ach / REWARD_ACHIEVEMENT: Dá uma conquista para o jogador. Isso funciona com meu sistema de conquistas.
    armazenamento armazenamento / / REWARD_STORAGE: Dá uma de armazenamento para o jogador.
    pontos / ponto / REWARD_POINT: Dá pontos Paw & Fur ao jogador.
    itens / item / objeto / REWARD_ITEM: Dá um item para o jogador.
    As bandeiras de recompensa são:
    valor: Aqui você declarar as variáveis ​​para as recompensas. Tamanho da tabela depende do tipo de recompensa. Exemplo: Se o tipo de recompensa = "experiência" então o valor deve ser {1000}. Se o tipo de recompensa = "item" então o valor deve ser {2195, 1} (Itemid, cont)
    armazenamento: Esta bandeira é usada para definir um armazenamento para o jogador quando ele recebe a recompensa. Utilizado para evitar ser recompensado mais do que uma vez quando a tarefa é repetida. Exemplo: storage = {1250, 1}. Quando o jogador recebe uma recompensa, ele vai obter o armazenamento de 1250 com valor 1 e não receberá a mesma recompensa de novo depois de repetir a mesma tarefa.
    Você pode verificar as tarefas começou.
    Você pode verificar quantos pontos Paw & Fur que você tem, e também a sua classificação.
    Quando um monstro é morto, você receberá uma mensagem de como muitos já mortos.
    Tarefas nomes são declarados em 'raceName a variável, mas se você quiser dar um nome diferente para o' raceName 'você pode adicionar' nome 'da variável para a tarefa (Você pode ver o exemplo na segunda tarefa de Necromancers e sacerdotisa)


    Nota: O sistema para matar os patrões não é adicionado aqui. A única coisa que você pode fazer é adicionar uma ação-id para os teleports para chefes de quartos e verificar com um script se o jogador tem x armazenamento

    Primeiro de tudo, você precisa adicionar esta lib:



    RANK_NONE = 0 RANK_HUNTSMAN = 1 RANK_RANGER = 2 RANK_BIGGAMEHUNTER = 3 RANK_TROPHYHUNTER = 4 RANK_ELITEHUNTER = 5 REWARD_MONEY = 1 REWARD_EXP = 2 REWARD_ACHIEVEMENT = 3 REWARD_STORAGE = 4 REWARD_POINT = 5 REWARD_ITEM = 6 QUESTSTORAGE_BASE = 1500 KILLSSTORAGE_BASE = 65000 REPEATSTORAGE_BASE = 48950 POINTSSTORAGE = 2500 tasks = { --Tasks for level 6 to 49. [1] = {killsRequired = 100, raceName = "Trolls", level = {6, 19}, premium = true, creatures = {"troll", "troll champion", "island troll", "swamp troll"}, rewards = { {type = "exp", value = {200}}, {type = "money", value = {200}} }}, [2] = {killsRequired = 150, raceName = "Goblins", level = {6, 19}, premium = true, creatures = {"goblin", "goblin assassin", "goblin leader"}, rewards = { {type = "exp", value = {300}}, {type = "money", value = {250}} }}, [3] = {killsRequired = 300, raceName = "Crocodiles", level = {6, 49}, premium = true, creatures = {"crocodile"}, rewards = { {type = "exp", value = {800}}, {type = "achievement", value = {"Blood-Red Snapper"}}, {type = "storage", value = {35000, 1}}, {type = "points", value = {1}} }}, [4] = {killsRequired = 300, raceName = "Badgers", level = {6, 49}, premium = true, creatures = {"badger"}, rewards = { {type = "exp", value = {500}}, {type = "points", value = {1}} }}, [5] = {killsRequired = 300, raceName = "Tarantulas", level = {6, 49}, premium = true, creatures = {"tarantula"}, rewards = { {type = "exp", value = {1500}}, {type = "achievement", value = {"No More Hiding"}}, {type = "storage", value = {35001, 1}}, {type = "points", value = {2}} }}, [6] = {killsRequired = 150, raceName = "Carniphilas", level = {6, 49}, premium = true, creatures = {"carniphila"}, rewards = { {type = "exp", value = {2500}}, {type = "achievement", value = {"Rootless Behaviour"}}, {type = "storage", value = {35002, 1}}, {type = "points", value = {3}} }}, [7] = {killsRequired = 200, raceName = "Stone Golems", level = {6, 49}, premium = true, creatures = {"stone golem"}, rewards = { {type = "exp", value = {2000}}, {type = "points", value = {3}} }}, [8] = {killsRequired = 300, raceName = "Mammoths", level = {6, 49}, premium = true, creatures = {"mammoth"}, rewards = { {type = "exp", value = {4000}}, {type = "achievement", value = {"Meat Skewer"}}, {type = "storage", value = {35003, 1}}, {type = "points", value = {3}} }}, [9] = {killsRequired = 300, raceName = "Gnarlhounds", level = {6, 49}, premium = true, creatures = {"gnarlhound"}, rewards = { {type = "exp", value = {1000}}, {type = "points", value = {2}} }}, [10] = {killsRequired = 300, raceName = "Terramites", level = {6, 49}, premium = true, creatures = {"terramite"}, rewards = { {type = "exp", value = {1000}}, {type = "points", value = {2}} }}, [11] = {killsRequired = 300, raceName = "Apes", level = {6, 49}, premium = true, creatures = {"kongra", "sibang", "merklin"}, rewards = { {type = "exp", value = {1000}}, {type = "points", value = {2}} }}, [12] = {killsRequired = 300, raceName = "Thornback Tortoises", level = {6, 49}, premium = true, creatures = {"thornback tortoise"}, rewards = { {type = "exp", value = {1500}}, {type = "points", value = {2}} }}, [13] = {killsRequired = 300, raceName = "Gargoyles", level = {6, 49}, premium = true, creatures = {"gargoyle"}, rewards = { {type = "exp", value = {1500}} }}, --Tasks for level 50 to 79. [14] = {killsRequired = 300, raceName = "Ice Golems", level = {50, 79}, premium = true, creatures = {"ice golem"}, rewards = { {type = "exp", value = {12000}}, {type = "achievement", value = {"Breaking The Ice"}}, {type = "storage", value = {35004, 1}}, {type = "points", value = {2}} }}, [15] = {killsRequired = 400, raceName = "Quara Scouts", level = {50, 79}, premium = true, creatures = {"quara pincher scout", "quara predator scout", "quara hydromancer scout", "quara constrictor scout", "quara mantassin scout"}, rewards = { {type = "exp", value = {10000}}, {type = "points", value = {2}} }}, [16] = {killsRequired = 400, raceName = "Mutated Rats", level = {50, 79}, premium = true, creatures = {"mutated rat"}, rewards = { {type = "exp", value = {10000}}, {type = "achievement", value = {"Twisted Mutation"}}, {type = "storage", value = {35005, 1}}, {type = "points", value = {2}} }}, [17] = {killsRequired = 250, raceName = "Ancient Scarabs", level = {50, 79}, premium = true, creatures = {"ancient scarab"}, rewards = { {type = "exp", value = {15000}}, {type = "achievement", value = {"Crawling Death"}}, {type = "storage", value = {35006, 1}}, {type = "points", value = {2}} }}, [18] = {killsRequired = 300, raceName = "Wyverns", level = {50, 79}, premium = true, creatures = {"wyvern"}, rewards = { {type = "exp", value = {12000}}, {type = "points", value = {2}} }}, [19] = {killsRequired = 300, raceName = "Lancer Beetles", level = {50, 79}, premium = true, creatures = {"lancer beetle"}, rewards = { {type = "exp", value = {8000}}, {type = "points", value = {2}} }}, [20] = {killsRequired = 400, raceName = "Wailing Widows", level = {50, 79}, premium = true, creatures = {"wailing widow"}, rewards = { {type = "exp", value = {12000}}, {type = "points", value = {3}} }}, [21] = {killsRequired = 250, raceName = "Killer Caimans", level = {50, 79}, premium = true, creatures = {"killer caiman"}, rewards = { {type = "exp", value = {10000}}, {type = "points", value = {2}} }}, [22] = {killsRequired = 300, raceName = "Bonebeasts", level = {50, 79}, premium = true, creatures = {"bonebeast"}, rewards = { {type = "exp", value = {12000}}, {type = "achievement", value = {"Spareribs for Dinner"}}, {type = "storage", value = {35007, 1}}, {type = "points", value = {2}} }}, [23] = {killsRequired = 300, raceName = "Crystal Spiders", level = {50, 79}, creatures = {"crystal spider"}, premium = true, rewards = { {type = "exp", value = {15000}}, {type = "achievement", value = {"Arachnoise"}}, {type = "storage", value = {35008, 1}}, {type = "points", value = {3}} }}, [24] = {killsRequired = 300, raceName = "Mutated Tigers", level = {50, 79}, premium = true, creatures = {"mutated tiger"}, rewards = { {type = "exp", value = {12000}}, {type = "points", value = {2}} }}, --Taks for level 80 to 129. [25] = {killsRequired = 600, raceName = "Underwater Quara", level = {80, 129}, premium = true, creatures = {"quara hydromancer", "quara predator", "quara constrictor", "quara mantassin", "quara pincher"}, rewards = { {type = "exp", value = {15000}}, {type = "achievement", value = {"Back into the Abyss"}}, {type = "storage", value = {35009, 1}}, {type = "points", value = {3}} }}, [26] = {killsRequired = 500, raceName = "Giant Spiders", level = {80, 129}, premium = true, creatures = {"giant spider"}, rewards = { {type = "exp", value = {20000}}, {type = "achievement", value = {"Choking on Her Venom"}}, {type = "storage", value = {35010, 1}}, {type = "points", value = {3}} }}, [27] = {killsRequired = 300, raceName = "Werewolves", level = {80, 129}, premium = true, creatures = {"werewolf"}, rewards = { {type = "exp", value = {30000}}, {type = "achievement", value = {"Howly Silence"}}, {type = "storage", value = {35011, 1}}, {type = "points", value = {4}} }}, [28] = {killsRequired = 400, raceName = "Nightmares", level = {80, 129}, premium = true, creatures = {"nightmare", "nightmare scion"}, rewards = { {type = "exp", value = {25000}}, {type = "achievement", value = {"Dream is Over"}}, {type = "storage", value = {35012, 1}}, {type = "points", value = {3}} }}, [29] = {killsRequired = 600, raceName = "Hellspawns", level = {80, 129}, premium = true, creatures = {"hellspawn"}, rewards = { {type = "exp", value = {25000}}, {type = "achievement", value = {"Scorched Flames"}}, {type = "storage", value = {35013, 1}} }}, [30] = {killsRequired = 800, raceName = "High Class Lizards", level = {80, 129}, premium = true, creatures = {"lizard chosen", "lizard dragon priest", "lizard high guard", "lizard legionnaire"}, rewards = { {type = "exp", value = {30000}}, {type = "achievement", value = {"Zzztill Zzztanding!"}}, {type = "storage", value = {35014, 1}}, {type = "points", value = {3}} }}, [31] = {killsRequired = 600, raceName = "Stampors", level = {80, 129}, premium = true, creatures = {"stampor"}, rewards = { {type = "exp", value = {20000}}, {type = "achievement", value = {"Stepped on a Big Toe"}}, {type = "storage", value = {35015, 1}}, {type = "points", value = {3}} }}, [32] = {killsRequired = 500, raceName = "Brimstone Bugs", level = {80, 129}, premium = true, creatures = {"brimstone bug"}, rewards = { {type = "exp", value = {15000}}, {type = "achievement", value = {"Something Smells"}}, {type = "storage", value = {35016, 1}}, {type = "points", value = {3}} }}, [33] = {killsRequired = 400, raceName = "Mutated Bats", level = {80, 129}, premium = true, creatures = {"mutated bat"}, rewards = { {type = "exp", value = {20000}}, {type = "achievement", value = {"Kapow!"}}, {type = "storage", value = {35017, 1}}, {type = "points", value = {2}} }}, --Tasks for level 130+ [34] = {killsRequired = 650, raceName = "Hydras", level = {130, 9999}, premium = true, creatures = {"hydra"}, rewards = { {type = "exp", value = {30000}}, {type = "achievement", value = {"One Less"}}, {type = "storage", value = {35018, 1}}, {type = "points", value = {3}} }}, [35] = {killsRequired = 800, raceName = "Serpent Spawns", level = {130, 9999}, premium = true, creatures = {"serpent spawn"}, rewards = { {type = "exp", value = {30000}}, {type = "achievement", value = {"Hissing Downfall"}}, {type = "storage", value = {35019, 1}}, {type = "points", value = {4}} }}, [36] = {killsRequired = 500, raceName = "Medusae", level = {130, 9999}, premium = true, creatures = {"medusa"}, rewards = { {type = "exp", value = {40000}}, {type = "achievement", value = {"The Serpent's Bride"}}, {type = "storage", value = {35020, 1}}, {type = "points", value = {5}} }}, [37] = {killsRequired = 700, raceName = "Behemoths", level = {130, 9999}, premium = true, creatures = {"behemoth"}, rewards = { {type = "exp", value = {30000}}, {type = "achievement", value = {"Just Cracked Me Up!"}}, {type = "storage", value = {35021, 1}}, {type = "points", value = {4}} }}, [38] = {killsRequired = 900, raceName = "Sea Serpents and Young Sea Serpents", level = {130, 9999}, premium = true, creatures = {"sea serpent", "young sea serpent"}, rewards = { {type = "exp", value = {30000}}, {type = "achievement", value = {"The Drowned Sea God"}}, {type = "storage", value = {35022, 1}}, {type = "points", value = {4}} }}, [39] = {killsRequired = 250, raceName = "Hellhounds", level = {130, 9999}, premium = true, creatures = {"hellhound"}, rewards = { {type = "exp", value = {40000}}, {type = "achievement", value = {"The Gates of Hell"}}, {type = "storage", value = {35023, 1}}, {type = "points", value = {5}} }}, [40] = {killsRequired = 500, raceName = "Ghastly Dragons", level = {130, 9999}, premium = true, creatures = {"ghastly dragon"}, rewards = { {type = "exp", value = {30000}}, {type = "achievement", value = {"Beautiful Agony"}}, {type = "storage", value = {35024, 1}}, {type = "points", value = {5}} }}, [41] = {killsRequired = 900, raceName = "Drakens", level = {130, 9999}, premium = true, creatures = {"draken spellweaver", "draken warmaster", "draken abomination", "draken elite"} , rewards = { {type = "exp", value = {30000}}, {type = "achievement", value = {"Enter zze Draken!"}}, {type = "storage", value = {35025, 1}}, {type = "points", value = {3}} }}, [42] = {killsRequired = 650, raceName = "Destroyers", level = {130, 9999}, premium = true, creatures = {"destroyer"}, rewards = { {type = "exp", value = {30000}}, {type = "achievement", value = {"Best there was!"}}, {type = "storage", value = {35026, 1}}, {type = "points", value = {4}} }}, [43] = {killsRequired = 400, raceName = "Undead Dragons", level = {130, 9999}, premium = true, creatures = {"undead dragon"}, rewards = { {type = "exp", value = {50000}}, {type = "achievement", value = {"Back from the Dead"}}, {type = "storage", value = {35027, 1}}, {type = "points", value = {6}} }}, --Special tasks. [44] = {killsRequired = 6666, raceName = "Demons", level = {130, 9999}, rank = RANK_ELITEHUNTER, premium = true, creatures = {"demon"}, rewards = { {type = "storage", value = {41300, 1}} --Storage that let's you to start Demon Oak }}, [45] = {killsRequired = 500, raceName = "Green Djinns or Efreets", level = {1, 9999}, storage = {12500, 1}, premium = true, creatures = {"green djinn", "efreet"}, rewards = { --Requires an storage (Gained on The Djinn War - Marid Faction) {type = "exp", value = {10000}}, {type = "money", value = {5000}}, {type = "storage", value = {35028, 1}} }}, [46] = {killsRequired = 500, raceName = "Blue Djinns or Marids", level = {1, 9999}, storage = {12501, 1}, premium = true, creatures = {"blue djinn", "marid"}, rewards = { --Requires an storage (Gained on The Djinn War - Efreet Faction) {type = "exp", value = {10000}}, {type = "money", value = {5000}}, {type = "storage", value = {35029, 1}} }}, [47] = {killsRequired = 3000, raceName = "Pirates", level = {1, 9999}, storage = {12600, 1}, premium = true, creatures = {"pirate ghost", "pirate marauder", "pirate cutthroad", "pirate buccaneer", "pirate corsair", "pirate skeleton"}, rewards = { --Requires an storage (Gained on The Shattered Isles Quest) {type = "exp", value = {10000}}, {type = "money", value = {5000}}, {type = "storage", value = {35030, 1}} }}, [48] = {killsRequired = 3000, raceName = "Pirates second task", level = {1, 9999}, storage = {REPEATSTORAGE_BASE + 47, 3}, norepeatable = true, premium = true, creatures = {"pirate ghost", "pirate marauder", "pirate cutthroad", "pirate buccaneer", "pirate corsair", "pirate skeleton"}, rewards = { --Requires an storage (Gained completing Raymond Striker's first task three times.) NOTE: The required storage to start this task is: base + first pirate task id (47) {type = "exp", value = {10000}}, {type = "money", value = {5000}}, {type = "storage", value = {35031, 1}} }}, [49] = {killsRequired = 5000, raceName = "Minotaurs", level = {1, 40}, storage = {12700, 1}, norepeatable = true, premium = false, creatures = {"minotaur", "minotaur mage", "minotaur archer"}, rewards = { --Requires an storage (Gained on To Outfox a Fox Quest) {type = "storage", value = {35032, 1}} }}, [50] = {killsRequired = 4000, raceName = "Necromancers and Priestess", level = {60, 9999}, norepeatable = true, premium = true, creatures = {"necromancer", "priestess"}, rewards = { --Requires an storage (Gained on To Outfox a Fox Quest) {type = "storage", value = {35033, 1}}, {type = "storage", value = {12800, 1}} --storage to stark the second Necromancers and Priestess task. }}, [49] = {killsRequired = 1000, name = "Necromancers and Priestess second task", raceName = "Necromancers and Priestess", level = {60, 9999}, storage = {12800, 1}, norepeatable = true, premium = true, creatures = {"necromancer", "priestess"}, rewards = { --Requires an storage (Gained on To Outfox a Fox Quest) {type = "exp", value = {40000}}, {type = "storage", value = {35033, 1}} }}, } tasksByPlayer = 3 repeatTimes = 3 function getPlayerRank(cid) return (getPlayerStorageValue(cid, POINTSSTORAGE) >= 100 and RANK_ELITEHUNTER or getPlayerStorageValue(cid, POINTSSTORAGE) >= 70 and RANK_TROPHYHUNTER or getPlayerStorageValue(cid, POINTSSTORAGE) >= 40 and RANK_BIGGAMEHUNTER or getPlayerStorageValue(cid, POINTSSTORAGE) >= 20 and RANK_RANGER or getPlayerStorageValue(cid, POINTSSTORAGE) >= 10 and RANK_HUNTSMAN or RANK_NONE) end function getTaskByName(name, table) local t = (table and table or tasks) for k, v in pairs(t) do if v.name then if v.name:lower() == name:lower() then return k end else if v.raceName:lower() == name:lower() then return k end end end return false end function getTasksByPlayer(cid) local canmake = {} local able = {} for k, v in pairs(tasks) do if getCreatureStorage(cid, QUESTSTORAGE_BASE + k) < 1 and getCreatureStorage(cid, REPEATSTORAGE_BASE + k) < repeatTimes then able[k] = true if getPlayerLevel(cid) < v.level[1] or getPlayerLevel(cid) > v.level[2] then able[k] = false end if v.storage and getCreatureStorage(cid, v.storage[1]) < v.storage[2] then able[k] = false end if v.rank then if getPlayerRank(cid) < v.rank then able[k] = false end end if v.premium then if not isPremium(cid) then able[k] = false end end if able[k] then table.insert(canmake, k) end end end return canmake end function canStartTask(cid, name, table) local v = "" local id = 0 local t = (table and table or tasks) for k, i in pairs(t) do if i.name then if i.name:lower() == name:lower() then v = i id = k break end else if i.raceName:lower() == name:lower() then v = i id = k break end end end if v == "" then return false end if getCreatureStorage(cid, QUESTSTORAGE_BASE + id) > 0 then return false end if (getCreatureStorage(cid, REPEATSTORAGE_BASE + id) >= repeatTimes) or (v.norepeatable and getCreatureStorage(cid, REPEATSTORAGE_BASE + id) > 0) then return false end if getPlayerLevel(cid) >= v.level[1] and getPlayerLevel(cid) <= v.level[2] then if v.premium then if isPremium(cid) then if v.rank then if getPlayerRank(cid) >= v.rank then if v.storage then if getCreatureStorage(cid, v.storage[1]) >= v.storage[2] then return true end else return true end end else return true end end else return true end end return false end function getPlayerStartedTasks(cid) local tmp = {} for k, v in pairs(tasks) do if getCreatureStorage(cid, QUESTSTORAGE_BASE + k) > 0 and getCreatureStorage(cid, QUESTSTORAGE_BASE + k) < 2 then table.insert(tmp, k) end end return tmp end function isSummon(cid) return getCreatureMaster(cid) ~= cid or false end NOTA: Se você usa TFS 0.4Dev você deve fazer isso ou script não vai funcionar: substituindo: function isSummon(cid) return getCreatureMaster(cid) ~= cid or false end Por: function isSummon(cid) return getCreatureMaster(cid) ~= nil or false end Grizzly Adams.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Grizzly Adams" script="data/npc/scripts/KillingInTheNameOf.lua" access="3" walkinterval="2000" lookdir="2"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="144" head="97" body="97" legs="94" feet="97" addons="3"/> </npc> data/npc/scripts/KillingInTheNameOf.lua: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local choose = {} local cancel = {} local available = {} function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid if isInArray({"tasks", "task", "mission"}, msg:lower()) then local can = getTasksByPlayer(cid) if #can > 0 then local text = "" local sep = ", " table.sort(can, (function(a, b) return (a < b) end)) local t = 0 for _, id in ipairs(can) do t = t + 1 if t == #can - 1 then sep = " and " elseif t == #can then sep = "." end text = text .. "{" .. (tasks[id].name or tasks[id].raceName) .. "}" .. sep end selfSay("The current task" .. (#can > 1 and "s" or "") .. " that you can choose " .. (#can > 1 and "are" or "is") .. " " .. text, cid) talkState[talkUser] = 0 else selfSay("I don't have any task for you right now.", cid) end elseif msg ~= "" and canStartTask(cid, msg) then if #getPlayerStartedTasks(cid) >= tasksByPlayer then selfSay("Sorry, but you already started " .. tasksByPlayer .. " tasks.", cid) return true end local task = getTaskByName(msg) if task and getCreatureStorage(cid, QUESTSTORAGE_BASE + task) > 0 then return false end selfSay("In this task you must defeat " .. tasks[task].killsRequired .. " " .. tasks[task].raceName .. ". Are you sure that you want to start this task?", cid) choose[cid] = task talkState[talkUser] = 1 elseif msg:lower() == "yes" and talkState[talkUser] == 1 then doCreatureSetStorage(cid, QUESTSTORAGE_BASE + choose[cid], 1) selfSay("Excellent! You can check the status of your task saying report to me.", cid) choose[cid] = nil talkState[talkUser] = 0 elseif msg:lower() == "report" then local started = getPlayerStartedTasks(cid) local finishedAtLeastOne = false local finished = 0 if started and #started > 0 then for _, id in ipairs(started) do if getCreatureStorage(cid, KILLSSTORAGE_BASE + id) >= tasks[id].killsRequired then for _, reward in ipairs(tasks[id].rewards) do print("Rewards loaded") local deny = false if reward.storage then if getCreatureStorage(cid, reward.storage[1]) >= reward.storage[2] then deny = true end end if isInArray({REWARD_MONEY, "money"}, reward.type:lower()) and not deny then doPlayerAddMoney(cid, reward.value[1]) elseif isInArray({REWARD_EXP, "exp", "experience"}, reward.type:lower()) and not deny then doPlayerAddExperience(cid, reward.value[1]) doPlayerSendDefaultCancel(cid, "You gained " .. reward.value[1] .. " experience points.") elseif isInArray({REWARD_ACHIEVEMENT, "achievement", "ach"}, reward.type:lower()) and not deny then if doPlayerAddAchievement then doPlayerAddAchievement(cid, reward.value[1], true) end elseif isInArray({REWARD_STORAGE, "storage", "stor"}, reward.type:lower()) and not deny then doCreatureSetStorage(cid, reward.value[1], reward.value[2]) elseif isInArray({REWARD_POINT, "points", "point"}, reward.type:lower()) and not deny then doCreatureSetStorage(cid, POINTSSTORAGE, getCreatureStorage(cid, POINTSSTORAGE) + reward.value[1]) elseif isInArray({REWARD_ITEM, "item", "items", "object"}, reward.type:lower()) and not deny then doPlayerAddItem(cid, reward.value[1], reward.value[2]) end if reward.storage then doCreatureSetStorage(cid, reward.storage[1], reward.storage[2]) end end if tasks[id].norepeatable then doCreatureSetStorage(cid, QUESTSTORAGE_BASE + id, 2) else doCreatureSetStorage(cid, QUESTSTORAGE_BASE + id, 0) end doCreatureSetStorage(cid, KILLSSTORAGE_BASE + id, 0) if getCreatureStorage(cid, REPEATSTORAGE_BASE + id) < 1 then doCreatureSetStorage(cid, REPEATSTORAGE_BASE + id, 0) end doCreatureSetStorage(cid, REPEATSTORAGE_BASE + id, getCreatureStorage(cid, REPEATSTORAGE_BASE + id) + 1) finishedAtLeastOne = true finished = finished + 1 end end if not finishedAtLeastOne then selfSay("You haven't finished any task yet.", cid) else selfSay("Awesome! you finished " .. (finished > 1 and "various" or "a") .. " task" .. (finished > 1 and "s" or "") .. ". Talk to me again if you want to start a task.", cid) end else selfSay("You haven't started any task yet.", cid) end elseif msg:lower() == "started" then local started = getPlayerStartedTasks(cid) if started and #started > 0 then local text = "" local sep = ", " table.sort(started, (function(a, b) return (a < b) end)) local t = 0 for _, id in ipairs(started) do t = t + 1 if t == #started - 1 then sep = " and " elseif t == #started then sep = "." end text = text .. "{" .. (tasks[id].name or tasks[id].raceName) .. "}" .. sep end selfSay("The current task" .. (#started > 1 and "s" or "") .. " that you started " .. (#started > 1 and "are" or "is") .. " " .. text, cid) else selfSay("You haven't started any task yet.", cid) end elseif msg:lower() == "cancel" then local started = getPlayerStartedTasks(cid) if started and #started > 0 then selfSay("Cancelling a task will make the count restart. Wich task you want to cancel?", cid) talkState[talkUser] = 2 else selfSay("You haven't started any task yet.", cid) end elseif getTaskByName(msg) and talkState[talkUser] == 2 and isInArray(getPlayerStartedTasks(cid), getTaskByName(msg)) then local task = getTaskByName(msg) if getCreatureStorage(cid, KILLSSTORAGE_BASE + task) > 0 then selfSay("You currently killed " .. getCreatureStorage(cid, KILLSSTORAGE_BASE + task) .. "/" .. tasks[task].killsRequired .. " " .. tasks[task].raceName .. ". Cancelling this task will restart the count. Are you sure you want to cancel this task?", cid) else selfSay("Are you sure you want to cancel this task?", cid) end talkState[talkUser] = 3 cancel[cid] = task elseif msg:lower() == "yes" and talkState[talkUser] == 3 then doCreatureSetStorage(cid, QUESTSTORAGE_BASE + cancel[cid], -1) doCreatureSetStorage(cid, KILLSSTORAGE_BASE + cancel[cid], -1) selfSay("You have cancelled the task " .. (tasks[cancel[cid]].name or tasks[cancel[cid]].raceName) .. ".", cid) talkState[talkUser] = 0 elseif isInArray({"points", "rank"}, msg:lower()) then selfSay("At this time, you have " .. getCreatureStorage(cid, POINTSSTORAGE) .. " Paw & Fur points. You " .. (getPlayerRank(cid) == 5 and "are an Elite Hunter" or getPlayerRank(cid) == 4 and "are a Trophy Hunter" or getPlayerRank(cid) == 3 and "are a Big Game Hunter" or getPlayerRank(cid) == 2 and "are a Ranger" or getPlayerRank(cid) == 1 and "are a Huntsman" or "haven't been ranked yet") .. ".", cid) talkState[talkUser] = 0 end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) creaturescripts.xml <event type="kill" name="KillingInTheNameOf" event="script" value="killinginthenameof.lua"/> data/creaturescripts/scripts/killinginthenameof.lua function onKill(cid, target, lastHit) local started = getPlayerStartedTasks(cid) if isPlayer(target) or isSummon(target) then return true end if started and #started > 0 then for _, id in ipairs(started) do if isInArray(tasks[id].creatures, getCreatureName(target):lower()) then if getCreatureStorage(cid, KILLSSTORAGE_BASE + id) < 0 then doCreatureSetStorage(cid, KILLSSTORAGE_BASE + id, 0) end if getCreatureStorage(cid, KILLSSTORAGE_BASE + id) < tasks[id].killsRequired then doCreatureSetStorage(cid, KILLSSTORAGE_BASE + id, getCreatureStorage(cid, KILLSSTORAGE_BASE + id) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, getCreatureStorage(cid, KILLSSTORAGE_BASE + id) .. "/" .. tasks[id].killsRequired .. " " .. tasks[id].raceName .. " already killed.") end end end end return true end login.lua: registerCreatureEvent(cid, "KillingInTheNameOf")


    Tai

    Creditos:
    Darkhaos
    ArthurLuna - Pela tradução e postagem !

Informação Importante

Confirmação de Termo