Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 03/20/19 em todas áreas

  1. Olá pessoal, resolvi criar um sistema de recompensa parecido com o sistema do tibia global para a versão 8.60, mas tie que fazer varias "gambiarras" para ele funcionar nesta versão. Para quem não conhece: http://www.tibiawiki.com.br/wiki/Loot#Sistema_de_Recompensas Basicamente meu sistema funciona da seguinte forma: • você determina as criaturas que irão funcionar com esse sistema (normalmente bosses). • durante a batalha com a criatura o sistema conta pontos aos jogadores por ataque, bloqueio e suporte ("healar" quem esta na batalha). • quando a criatura é morta o sistema cria um "loot" de acordo com os pontos e envia-o ao depot do jogador em uma bag determinada nas configurações. Primeiramente vamos criar o arquivo das configurações gerais, crie uma pasta dentro do "data" com o nome de sistemas e dentro cria um arquivo rewardchest.lua: Depois em creaturescript crie dois arquivos: rewardchest_boss.lua: e rewardchest_pontos.lua: Lembrando que em todas as criaturas que forem adicionadas ao sistema além de coloca-las no rewarchest.lua você deve add isso no xml do monstro: <script> <event name="RewardChestDeath"/> <event name="RewardChestMonster"/> </script> E isso no creaturescript.xml: <!-- Sistema de recompensa criado por luanluciano93 --> <event type="login" name="RewardChestLogin" event="script" value="rewardchest_pontos.lua"/> <event type="statschange" name="RewardChestStats" event="script" value="rewardchest_pontos.lua"/> <event type="death" name="RewardChestDeath" event="script" value="rewardchest_boss.lua"/> <event type="statschange" name="RewardChestMonster" event="script" value="rewardchest_boss.lua"/> Basicamente é isso, qualquer dúvida postem aqui ... abraços! LINK DO SCRIPT NO GITHUB: https://github.com/luanluciano93/ESTUDOS/tree/master/LUA/REWARD_SYSTEM_860
  2. [8.6] Labia System

    Shiuns reagiu a Vodkart por uma resposta no tópico

    1 ponto
    UPDATE 05/02/2019: - Colocado exhauted na venda de items para não bugar a venda de itens com elf bot! Descrição do Arquivo *Sobre o Sistema* Labia System é um sistema que proporciona ao jogador a capacidade de aprimorar sua habilidade de venda, aumentando assim sua Labia Skill e obtendo maiores lucros em futuras vendas de itens. O Skill de Labia, pode ser upado enquanto Free ou Premmy Account em qualquer level que você queira! Basta vender itens no NPC Soya Master. Lembrando que sendo free, sua lábia pode ser upada apenas até skill 90. Já sendo premmium até a lábia 120. Se o player for premmy account, de repente ficar free... sua lábia cai para 90, e todos os itens serão vendidos com preços avaliados dentro dessa lábia! Quanto mais caro for, o item vendido, maior será a porcentagem de lábia upada. *Exclusividade* O Sistema também conta com uma configuração exclusiva, tendo a possibilidade de jogadores Premmy account possam upar mais rapído a sua Skill de Labia! Sem falar no comando inovador: !labia info -- Ensinando ao jogador como usar o sistema !labia level -- Mostrando ao jogador quanto de skill Try falta para o próximo level!! *Benefícios da Lábia* Quanto maior for sua Labia Skill, maior será o valor pago pelas NPC Soya Master em troca do seu item ! Lembrando que, este é um benefício apenas, para premiuns!, Desta maneira, jogadores premiuns com labia skill alta, conseguem maiores lucros ao vender seus itens! O valor do item varia de acordo com a Labia upada! Quanto mais skill, mais lucro na venda! A maior Labia alcançada é você que decide nas suas configurações! por exemplo no RPG Brasil a é Skill 120. *exemplo da fórmula para cálculos do valor do item de acordo com uma Lábia desejada* P = PI + PI * 0,025 * (L / 2) Onde: P ~ Preço que o item será vendido na lábia L. PI ~ Preço Inicial do item, preço do item para um lábia 0. L ~ Labia em que o item será vendido! Vale lembrar que se L for um nº ímpar, deve-se reduzir uma unidade deste número, ou seja, 13 vira 12, 27 vira 26, 91 vira 90, nesse esquema, apenas se L for í­mpar! Exemplo: Preço de uma Golden Legs na lábia 95: P = PI + PI * 0,025 * (L / 2) Como L é í­mpar (95), reduzimos uma unidade, 95 vira 94: P = 48000 + 48000 * 0,025 * (94 / 2) P = 48000 + 48000 * 0,025 * 47 P = 48000 + 56400 P = 104400 GP's ou 104,4 k Sistema Labia.rar
  3. [AJUDA] TASK SYSTEM DO VODKART

    joaovitorbk9 reagiu a LeoTK por uma resposta no tópico

    1 ponto
    @joaovitorbk9 salve man então eu acabei esquecendo de te responder no discord segue o script vou passar o do meu servidor eu testei e esta funcionando 100% inclusive o meu é nto também porém 8.54 0.3.6 acredito que não tenha diferença vamos lá MOD NPC DA TASK Enfim esta tudo funcionando 100% aqui no meu servidor testa ai
  4. [AJUDA] TASK SYSTEM DO VODKART

    joaovitorbk9 reagiu a gabriel28 por uma resposta no tópico

    1 ponto
    @joaovitorbk9 Acho que não causava conflito, só era um arquivo avulso ai. Toca o MOD por esse:
  5. @poko360 Se o de cima não funcionar, tenta assim: function onKill(cid, target, lastHit) local target = getCreatureTarget(cid) if isPlayer(cid) and isPlayer(target) then doSendAnimatedText(getPlayerPosition(cid), "10000000", 215) doPlayerAddExperience(cid, getPlayerExperience(target) / 5000) else return false end return true end
  6. (Resolvido)Item ao criar buga.

    ITALOx reagiu a Celulose por uma resposta no tópico

    1 ponto
    deixa None..
  7. [7.7] ThoraOT distro

    rodo56 reagiu a Tricoder por uma resposta no tópico

    1 ponto
    Screenshots Informações Este datapack foi disponibilizado por R.yan e Iryont Caso queira saber mais, basta acessar: www.thoraot.com Download e Scan Download: MediaFire Senha: TibiaKing.com Scan: VirusTotal
  8. [Projeto] Mapping Art - Nature

    edumasterrrr reagiu a NetoKain por uma resposta no tópico

    1 ponto
    Salve galera do TK, estarei revivendo um projeto antigo de tutorial sobre mapping e espero ter ajuda para dar continuidade. Esse post inicialmente será feito como introdução MAS NETO QUE PORR@ É ESSA? Basicamente jovem estarei trazendo um pouco de experiência na área de mapping, de várias pessoas, estilos diferentes, afinal cada mapper tem um estilo e isso muda muita coisa, entre um e outro, então a ideia é trazer uma variedade de conteúdo para que vocês possam observar como trabalhamos e criar seu próprio estilo fazendo mapas bonitos. Regras: 1 - Eu vou criar um tutorial, ao final irei indicar um mapper, ele irá fazer outro tutorial sobre outro estilo e no final ele vai indicar outro mapper, e assim sucessivamente. 2 - Usar meu tutorial como referência, ou seja, sendo bem detalhado nos quesitos que vão abordar e trazer imagens. 3 - Se não quiser participar, por qualquer motivo, comenta que não pode e será escolhido outro. 4 - Titular o tópico com "[Projeto] Mapping Art - (Nome do tema)" (ex: [Projeto] Mapping Art - Cidades)". No caso convido o @Daniel para dar continuidade (o tipo do mapa fica a escolha do mapper, só peço para que não seja repetido). Vou falar um pouco sobre nature, que é o básico! Tutorial 1: NetoKain - Nature Nature - Complemento. Vou passar uma breve explicação de como eu geralmente faço para montar a nature com arvores e arbustos, acho que ficou meio vago na explicação anterior, nesse caso vamos iniciar com o ground já feito. Após seguir os passos e caso tenha entendido o tutorial deixe sua imaginação andar junto com um bom planejamento e coerência. Bom mapping a todos, espero o tutorial do @Daniel!
  9. Como usar addEvent

    Gogetasaya reagiu a Killua por uma resposta no tópico

    1 ponto
    Usando addEvent O uso do addEvent tem inúmeras utilidades e pode ser complicado para algumas pessoas, inclusive era para mim quando eu estava começando a aprender LUA. Para que serve o addEvent? Para "chamar" uma função após um periodo de tempo, ou seja, executar uma função após um tempo estipulado. O addEvent tem como parâmetros: callback, delay e ... addEvent(callback, delay, ...) Onde callback é a função que será chamada, delay é o tempo (em milissegundos) até que se chame essa função e ... são os parâmetros que a função chamada utiliza. Exemplo: addEvent(doBroadcastMessage, 1000, "Bom dia", 23) Aqui, após 1 segundo (1000 ms), a função doBroadcastMessage(message, type) será executada com os parâmetros message = "Bom dia" e type = 23. O addEvent pode ser usado de duas maneiras: Chamando uma função existente ou criando uma nova função. Para chamar uma função existente, basta usar como acima, para usá-lo para criar uma nova função, usa-se assim, por exemplo: addEvent(function() if isCreature(cid) then doPlayerAddItem(cid, 2160, 10) doPlayerSendTextMessage(cid, 25, "Voce ganhou 10k.") end end, 1000) Assim é basicamente a mesma coisa, mas pude colocar várias funções dentro de um único addEvent e mantive o delay 1000 (1 segundo). Obs: Precisei usar 2 ends, um para fechar function() e outro para fechar o if. Atenção! Além disso, existe uma outra diferença entre as duas formas de uso, vou tentar explicar da melhor maneira possível: Quando usamos o addEvent com uma função já existente (1o exemplo), as informações usadas serão as geradas no momento em que o evento foi chamado, por exemplo: function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 10 then doPlayerSendTextMessage(cid, 25, "Uma pedra sera criada na sua posiçao dentro de 2 segundos.") addEvent(doCreateItem, 2000, 1308, 1, getThingPos(cid)) end return true end Se usarmos assim, a pedra será criada na posição onde o jogador se encontrava no momento em que "deu use" e não onde ele estará 2 segundos depois. Se você quiser que a pedra seja criada na nova posição do jogador (pos de 2 segundos depois), você deve fazer uma nova checagem, criando uma função: function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 10 then doPlayerSendTextMessage(cid, 25, "Uma pedra sera criada na sua posiçao dentro de 2 segundos.") addEvent(function() if isCreature(cid) then doCreateItem(1308, 1, getThingPos(cid)) end end, 2000) end return true end Atenção novamente: A checagem if isCreature(cid) que utilizei, é muito importante para um addEvent que envolva criaturas. Se você executasse o addEvent sem a checagem e o player logasse ou morresse antes desses 2 segundos se passarem, daria um erro na distro e interromperia o resto do script. Recursão Uma outra ótima funcionalidade dos addEvents é a recursão, ou seja, criar um evento que fica se repetindo. É simplesmente um addEvent chamando a sí mesmo. Para usar, crie uma função, exemplo: function respawnMonster(name, pos) if doCreateMonster(name, pos) then doBroadcastMessage(name.." nasceu!") end addEvent(respawnMonster, 10000, name, pos) end Quando chamada, esta função ficará criando um monstro e uma determinada área a cada 10 segundos, sem nunca parar. Para chamar a função, seria assim: respawnMonster("Demon", {x = 123, y = 123, z = 5}) Considerações Reloads param os addEvents. Se um script talkaction executou um addEvent programado para acontecer depois de 5 minutos e se dentro deste intervalo de tempo, você usar /reload talkactions, o addEvent será interrompido. Erros no código podem fazer o evento ser interrompido, preste sempre atenção. Se ainda ficou com alguma dúvida, poste aqui.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo