Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Dodge é um sistema que permite (através de item neste caso) o player ''desviar'' de alguns ataques, ou seja, quantos mais ''dodges itens'' o player tiver usado, maior a chance durante uma batalha de um ataque contra ele ser cancelado. No nosso caso usaremos um sistema que permite usar de 0-50 dodge's. Vamos lá.

 

Passo 1º - Em creaturescript crie um arquivo .lua chamado Dodge System, dentro dele coloque isto:

 

function onStatsChange(cid, attacker, type, combat, value)
    local getStorage = getPlayerStorageValue(cid, 123455678)
    if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then
        local chance = math.random (0,100)
        if chance <= getStorage then
        doSendAnimatedText(getCreaturePos(cid), "MISS!", 214)
        doSendMagicEffect(getCreaturePosition(cid), 30)
        return false
        end
    end
return true
end

Passo 2º - Em Creaturescript.xml adicione esta linha:

<event type="StatsChange" name="DodgeSystem" event="script" value="Dodge System.lua"/>

Passo 3º - Em Login.lua, desça até o final da página e procure o último ''return'' (está no final). Após achar ele, acrescente isso ANTES dele. ps: não esqueça de colocar o end.

registerCreatureEvent(cid, "DodgeSystem")
    if getPlayerStorageValue(cid, 123455678) == -1 then
        setPlayerStorageValue(cid, 123455678, 0) 
    end

Passo 4º - Agora vamos até a pasta ''action'' e criamos um arquivo .lua chamado dodgestone, vamos acrescentar isso dentro dele:

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local max = 50 -- limite de dodge
local storagedodge = 123455678 -- storage do dodge
 
    if getPlayerStorageValue(cid, storagedodge) >= max then
        return doPlayerSendTextMessage(cid,22,"Você ja chegou no limite de Dodge.")
    else
        doPlayerSetStorageValue(cid, storagedodge, (getPlayerStorageValue(cid, storagedodge)) + 1)
        doPlayerSendTextMessage(cid,22, "DodgeSKILL:["..getPlayerStorageValue(cid, storagedodge).."/"..max.."].")
        doRemoveItem(item.uid, 1)
    end
return true
end

Passo 5º - Agora volte um pouco e vá até a pasta action.xml (ela normalmente está de baixo da pasta anterior que utilizamos) e adicione esta tag:    ps: Não esqueça de colocar o ID do item que você deseja que vire uma ''dodge''.

<action itemid="Id do item" event="script" value="dodgestone.lua"/>

Considerações finais: Para mudar a quantidade de dodge's que o player pode usar ao todo, está no passo 4.

Coloque esse sistema em um item agrupável, uma vez que o player vai comprar vários

O script está funcionando perfeitamente bem, os créditos dele vai inteiramente para o Visconde (Zeh Sergipano). Espero que quebre o galho de vocês assim como quebrou o meu!! :)

 

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

Link para o post
Compartilhar em outros sites
  • 1 year later...

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Veigh
      IP: HYPEOT.COM (Versão 8.60) Por que jogar no HYPEOT? Confira nossos diferenciais: Sistema de Reset 180+ Montarias 65+ Outfits Sistema de Stage Sistema de Pesca Sistema de Refinamento Sistema de Aura Sistema de Mineração Sistema de Woodcut Sistema de Dungeons Sistema de Survival Mais de 30 Bosses de Alavancas +10 Eventos Automáticos Mais de 5 anos online com apenas 2 resets. Agora estamos de volta com força total desde 05/12! O que você está esperando? Junte-se à aventura e faça parte dessa jornada épica! Conecte-se agora mesmo e não fique de fora!
    • Por Underewar
      Tutorial: Criando um Sistema de Enviar efeito com OTClient.


       
      Neste tutorial, vamos criar um sistema simples de Enviar efeito no OTClient.
      Este sistema permitirá que os jogadores ativem um efeito especial e vejam uma janela ao clicar em um botão específico.
      Pré-requisitos:
      Ambiente de Desenvolvimento:
      Certifique-se de ter um ambiente de desenvolvimento configurado com OTClient Edubart. Conhecimento Básico em Lua:
      Familiaridade com a linguagem de script Lua.
       
      Passo 1: Estrutura do projeto
       
      Organize seu projeto conforme abaixo:

      OTC / MODS



      Passo 2: Criando a Interface Gráfica (OTUI)

      game_pass.otui
      Repare que em nossa interface nossos botões de ação entram no caminho do module e iniciam uma função que esta disponivel em nosso game_pass.lua (Client-Side)

       



      Passo 3: Criando funções Client-Side

      Agora com as funções criada podemos chamar elas de acordo com a necessidade em nosso arquivo de interface.
      Por exemplo a função effect() que foi chamada em nosso arquivo de interface.otui agora é criada aqui para mostrar o efeito ao jogador.

      game_pass.lua
       
       
      Passo 4: Registrando o novo Mod

      Agora podemos registrar e iniciar nosso modulo usando o arquivo de configuração

      game_pass.otmod
       

      Feito isso ja podemos ver nosso module no client e enviar opcodes através do gameprotocol e também receber o buffer para manipular os dados podemos utilizar :
      protocolGame:sendExtendedOpcode(14, "1")
      Basicamente oque estamos fazendo é armazenando o valor 1 na variaval 14 do ExtendedOpcode e futuramente podemos recuperar esse valor.

      Recuperamos esse valor em nosso server side data/creatuerscript/otc/game_pass.lua

      Verificando se o opcode é 14 se for 14 então fazemos x ação.

      Show, tendo isso em mente para que o nosso client-side consiga receber com sucesso o efeito enviado ao jogador então utilizamos 

      Passo 5: Criando o Server-side responsavel por enviar o efeito correto ao jogador dependendo do opcode selecionado no nosso cliente.

      data/creaturescripts/otc/game_pass.lua
       
      Passo 6: Registrando o evento para evitar erros futuros!
      Para que tudo funcione corretamente sem erros é  necessário registrar o evento no creaturescript.xml / login.lua

      creaturescript.xml
      <event type="extendedopcode" name="GamePass" script="otc/game_pass.lua" />
      login.lua
          player:registerEvent("GamePass")  


      Ótimo agora ao selecionar o menu recompensa o jogador recebera um efeito.

      Espero que tenha ficado claro como usar Opcodes/ExetendedOpcodes.

      Arquivos usados no tutorrial:
      OTC MODULE
      game_pass.rar
      Creaturescript
      game_pass.lua

      Vi muitos tutoriais desatualizado então resolvi trazer esse!
      Reparem que nesse caso passamos creature como parametro do buffer isso porque precisamos enviar um efeito no player.

      Melhorando a formatação com JSON Encoder

       
       
    • Por Glacial
      Boa noite galera!
       
      Meu nome é Gustavo/Glacial, gostaria de compartilhar meu mapa projeto Old City (8.60)
       
      Espero que curtam e podem baixar pra colocar no ot de vocês!
       
      Atualização Old City (8.60) versão 1.0:
      - Depot + Templo + Lojas (NPCs a gosto) + Teleports (para customizar) tudo em uma mesma casa central.
      - Houses em volta da cidade.
      - 4 saídas N, S, L e Oeste.
      - Cidade estilizada com bancos, postes de luz, e bancos.

      Atualização Old City (8.60) versão 2.0:
      - 4 Novos Mapas de Hunt/Quest ao Norte (Montanhas) Sul (Jungle) Leste (Vulcão) e Oeste (Gelo) da Old City. 
       
      >>> Download Mapas: https://www.mediafire.com/folder/hz0q694t9nk86/Mapas_Glacial <<<
       
      Scan VirusTotal:

      Old City (8.60) versão 1.0 Virus Total: https://www.virustotal.com/gui/file/5c2988531c71e1ae7f363b1102c865cb9debe2fd7e5f1b09b7cd09d40c2bf517?nocache=1
      Old City (8.60) versão 2.0 Virus Total: https://www.virustotal.com/gui/file/a2caef91a130d0df62ae4e88fa0719c331a6bb1fbad66a72c08fc3cd362bf430?nocache=1
       
      - Mapas Anteriores:
      Glacial City (10.98) versão 1.0 Virus Total: https://www.virustotal.com/gui/file/b4e94903752e24aba63b291f9929f15f6bd7f4feb44d5a1f42ec3d755ee7977e?nocache=1
      Glacial City (10.98) versão 2.0 Virus Total: https://www.virustotal.com/gui/file/d88ae087e966bed6e2f2348f31246c1858831c1fb13d4e8613ba98f6ede37503?nocache=1
       





       
       
       
    • Por Underewar
      Olá gostaria de contribuir com a comunidade com estes serviços.
      Aproveite é por tempo limitado.
      Conheça um pouco mais sobre quem eu sou.
      Serviços de Desenvolvimento Web
      Excelência em Resolução de Problemas
      Identificação e correção de BUGS em bancos de dados e scripts PHP para um funcionamento perfeito. Criação de Valor
      Implementação de novas funcionalidades em websites, tanto no Front-end quanto no Back-end, para melhorar a experiência dos usuários. Design Atraente
      Habilidade em design responsivo usando Bootstrap para criar interfaces atraentes e compatíveis com diversos dispositivos. Da Ideia à Realidade
      Capacidade de criar websites avançados desde o conceito inicial até a implementação completa, integrando funcionalidades complexas. Personalização Precisa
      Desenvolvimento de websites a partir do zero usando stacks avançadas ou PHP convencional, garantindo personalização total. Desenvolvimento de Open Tibia Server (OTC)
      Melhoria Contínua
      Identificação e solução de BUGS em módulos para aprimorar a estabilidade e jogabilidade no Open Tibia Server. Inovação Impulsionada
      Integração de novas funcionalidades ao OTC, enriquecendo a experiência dos jogadores com recursos inovadores. Módulos Eficientes
      Criação de novos módulos com foco na qualidade do código e na melhoria da interatividade dos jogadores. Desenvolvimento de Otserver (Open Tibia Server)
      Performance Elevada
      Identificação e correção precisa de problemas em scripts para manter a performance e a integridade do otserver. Crescimento Constante
      Introdução de novos scripts e funcionalidades, impulsionando o crescimento contínuo e a inovação do otserver. Atualização Estratégica
      Atualização cuidadosa dos pacotes de compilação de projetos para garantir eficiência e compatibilidade. Otimização e Segurança
      Proteção Robusta
      Implementação de soluções AntiCheat/AntiBot para garantir um ambiente de jogo seguro e livre de trapaças. Escalabilidade e Desempenho
      Configuração especializada em nuvens líderes do mercado, incluindo Google Cloud, Azure Cloud, Amazon Cloud e DigitalOcean Cloud. Defesa Efetiva
      Instalação e configuração do ANTI-DDOS Cloudflare para proteger o servidor contra ataques cibernéticos. Outros Serviços
      Inovação na Blockchain
      Implementação de sistema NFT, incorporando aspectos visuais e lógicos da tecnologia blockchain para criar experiências únicas. Facilitação Financeira
      Integração de pagamento automático em websites, abrangendo uma variedade de plataformas para maior comodidade dos usuários. Infraestrutura Otimizada
      Configuração e instalação nas nuvens, como Google Cloud, Azure Cloud, Amazon Cloud e DigitalOcean Cloud, para alcançar a melhor performance.
        Processo de Contratação Simplificado:
       
      Aqui está a nossa forma descomplicada de lidar com pagamentos:
      Entrada (50%): Depois de escolher o serviço, pedimos metade do valor para começar.
      Saldo (50%): Quando terminarmos e você estiver satisfeito, pedimos o restante antes da entrega final.
       
      Estamos ansiosos para trabalhar juntos. Se tiver dúvidas ou estiver interessado em nossos serviços, sinta-se à vontade para entrar em contato. Mal podemos esperar para construir algo incrível juntos!
       
      Converse Comigo:
      Estou à disposição para conversar e discutir projetos.
      Fique à vontade para me contatar aqui ou através das seguintes redes:
       
      LinkedIn: Rafhael Oliveira
       
      Meus Projetos: Dê uma olhada nos meus projetos no GitHub: GitHub Repositories
       
      Otland: Confira meu perfil no Otland e veja minhas conquistas: Perfil no Otland
       
      Com uma experiência sólida de 10 anos na área de desenvolvimento de OTS,
       

       
    • Por SHARINGAN.exe
      Procurei na net um tutorial desse tipo e não achei, então ta ae, da forma mais básica possível.
       
       
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo