Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Galera, estou com um script aqui de dodge system, porém ele só funciona pra perda de vida, se um mage estiver de utamo vita, o dodge nao sai,

meu script é esse : 

creaturescripts/dodgecombat.lua

Spoiler

local storagedodge = 98798644 -- storage do dodge
local cor = 35 -- cor do texto
local effect = 30 -- id do magic effect 
local msg = "DODGE!" -- msg
 
local dodge = { 
    {min = 1, max = 10, chance = 10}, -- se o dodge tiver entre 1 e 2 tem 10% de chance de da dodge.
    {min = 11, max = 20, chance = 20}, -- podem ser configurada portanto que não passe do limite
    {min = 21, max = 40, chance = 25}, -- vocês pode adicionar mas se quiserem
    {min = 41, max = 60, chance = 30},
    {min = 61, max = 90, chance = 35},
    {min = 91, max = math.huge, chance = 40}
}
 
function onStatsChange(cid, attacker, type, combat, value)
    if not isCreature(cid) then
        return false
    end
    for _, tudo in pairs(dodge) do
        if getPlayerStorageValue(cid, storagedodge) >= tudo.min and getPlayerStorageValue(cid, storagedodge) <= tudo.max then
            local chancex = math.random(1, 100)
            if chancex <= tudo.chance then
                if combat ~= COMBAT_HEALING then
                    doSendMagicEffect(getCreaturePosition(cid), effect)
                    doSendAnimatedText(getCreaturePosition(cid), msg, cor)
                    return false
                end
            end
        end
    end
    return true
end

 queria que ele funcionasse também quando o player estivesse de utamo, alguem poderia ajudar?

Link para o post
Compartilhar em outros sites

Esta é uma mensagem automática! Este tópico foi movido para a área correta.
Pedimos que você leia as regras do fórum.

Spoiler

This is an automated message! This topic has been moved to the correct area.
Please read the forum rules.

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
21 horas atrás, luannhrj disse:

obg, alguem pode ajudar?

local storagedodge = 98798644 -- storage do dodge
local cor = 35 -- cor do texto
local effect = 30 -- id do magic effect 
local msg = "DODGE!" -- msg
 
local dodge = { 
    {min = 1, max = 10, chance = 10}, -- se o dodge tiver entre 1 e 2 tem 10% de chance de da dodge.
    {min = 11, max = 20, chance = 20}, -- podem ser configurada portanto que não passe do limite
    {min = 21, max = 40, chance = 25}, -- vocês pode adicionar mas se quiserem
    {min = 41, max = 60, chance = 30},
    {min = 61, max = 90, chance = 35},
    {min = 91, max = math.huge, chance = 40}
}
 
function onStatsChange(cid, attacker, type, combat, value)
    if not isCreature(cid) then
        return false
    end
    for _, tudo in pairs(dodge) do
        if getPlayerStorageValue(cid, storagedodge) >= tudo.min and getPlayerStorageValue(cid, storagedodge) <= tudo.max then
            local chancex = math.random(1, 100)
            if chancex <= tudo.chance then
                if type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS then
                    doSendMagicEffect(getCreaturePosition(cid), effect)
                    doSendAnimatedText(getCreaturePosition(cid), msg, cor)
                    return false
                end
            end
        end
    end
    return true
end

 

Editado por DukeeH (veja o histórico de edições)

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
Em 01/03/2017 ás 16:56, DukeeH disse:

local storagedodge = 98798644 -- storage do dodge
local cor = 35 -- cor do texto
local effect = 30 -- id do magic effect 
local msg = "DODGE!" -- msg
 
local dodge = { 
    {min = 1, max = 10, chance = 10}, -- se o dodge tiver entre 1 e 2 tem 10% de chance de da dodge.
    {min = 11, max = 20, chance = 20}, -- podem ser configurada portanto que não passe do limite
    {min = 21, max = 40, chance = 25}, -- vocês pode adicionar mas se quiserem
    {min = 41, max = 60, chance = 30},
    {min = 61, max = 90, chance = 35},
    {min = 91, max = math.huge, chance = 40}
}
 
function onStatsChange(cid, attacker, type, combat, value)
    if not isCreature(cid) then
        return false
    end
    for _, tudo in pairs(dodge) do
        if getPlayerStorageValue(cid, storagedodge) >= tudo.min and getPlayerStorageValue(cid, storagedodge) <= tudo.max then
            local chancex = math.random(1, 100)
            if chancex <= tudo.chance then
                if type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS then
                    doSendMagicEffect(getCreaturePosition(cid), effect)
                    doSendAnimatedText(getCreaturePosition(cid), msg, cor)
                    return false
                end
            end
        end
    end
    return true
end

 

muito obrigado!, tenho um pedido sobre reset system , tem como me ajudar?

Link para o post
Compartilhar em outros sites
7 minutos atrás, luannhrj disse:

muito obrigado!, tenho um pedido sobre reset system , tem como me ajudar?

Pode me mandar o link do post? Procurei e não achei.

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
6 minutos atrás, DukeeH disse:

Pode me mandar o link do post? Procurei e não achei.

 

Link para o post
Compartilhar em outros sites

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 Lyu
      'Dodge System 2015' versão com AMULETO & ELEMENTOS DE DEFESA.                                    Testado em OTX Server 8.60 & TFS 0.4 dev 3884.                                                                           Antes de começar, quero avisar às pessoas que estão sem tempo ou com preguiça de ler o tópico inteiro, que eu upei um zip do sistema inteiro. então é só baixar e instalar ai.   Download SCAN   Continuando Tópico..   Cada ponto de Dodge equivale a x% de chance de desviar de um ataque, e ao mesmo tempo, enviar um elemento compatível com o nível de dodge do jogador. Sobre o desvio, quase todo mundo já conhece, mas e esse tal elemento?   Ao desviar do ataque, automaticamente o amuleto contra-ataca com um ataque de distância; sua fonte de energia é o fist fighting, quanto mais alto for o skill, mais alto será o dano; Cada amuleto possui seu próprio elemento e ele será a chave para o funcionamento do dodge, ou seja, sem AMULET, sem Dodge.   1º - Procure a pasta Lib na sua datapack, crie um arquivo 151-dodgesystem.lua e dentro adicione isso :
        2º- abra o arquivo actions.xml e adicione isso : <action itemid="12411" event="script" value="dodge.lua"/> 3º- entre na pasta scripts em actions, crie um arquivo .lua chamado dodge e adicione isso :


        4º- abra o arquivo creaturescripts.xml e adicione isso : <event type="statschange" name="DodgeSystem" event="script" value="dodge.lua"/> 5º- entre na pasta scripts em creaturescripts, crie um arquivo .lua chamado dodge e adicione isso :



        6º- ainda em creaturescripts, abra o arquivo login.lua e adicione isso la no final antes do return true : registerCreatureEvent(cid, "DodgeSystem")   7º- abra o arquivo movements.xml, substitua isso : OTX :


        TFS :
        por isso :
        8º - entre na pasta scripts em movements, crie um arquivo .lua chamado dodgeamulet e adicione isso :
          9º- abra o arquivo talkactions.xml e adicione isso : <talkaction log="yes" words="!dodge;/dodge" event="script" value="dodge.lua"/> 10º- entre na pasta scripts em talkactions, crie um arquivo .lua chamado dodge e adicione isso :
          no arquivo lib.. DODGE_PERCENT é os porcentos que o jogador ganhará por cada ponto adquirido; DODGE_MAX é o máximo de dodge; DODGE_PRICE é o preço de cada pedra; DODGE_ITEMID é o ID da pedra de dodge; DODGE_COMMAND_REMOVE é um comando para remover 1 ponto de dodge e receber 75% do dinheiro que você pagou pela pedra. true = comando disponível, false = comando inexistente; DODGE_ONLY_PREMIUM é para jogadores com premium, true = o dodge só funcionará com premium, false = qualquer um poderá usar; DODGE_TEXT é o texto que aparecerá quando o player desviar de um ataque; DODGE_TEXTCOLOR é a cor do texto;   DODGE_FISTMULTIPLIER é para multiplicar o fist fighting do jogador pelo multiplier configurado. true = multiplica, false = os multipliers serão sempre os mesmos valores;   type é o tipo de elemento; min é o hit mínimo; max é o hit máximo; mana é a quantidade de mana que precisa para contra-atacar com o elemento. se não tiver mana, só vai desviar; shoot é o efeito de distância.   ID dos amulets :  terra amulet      : 7887 glacier amulet    : 7888 lightning pendant : 7889 magma amulet      : 7890   comandos : !dodge; !dodge buy; !dodge remove.   caso você queira que o amulet mude de elemento ao dar use(estilo exp alta), abra o items.xml e substitua isso :
        por isso :
        um exemplo do DODGE_FISTMULTIPLIER : se estiver true, o jogador estiver com o 'magma amulet' e tiver 100 fist fighting, ele terá a chance de acertar um hit entre 400-1000 de dano; se estiver false, ele só vai hitar entre 4-9 de dano, ai você vai ter que editar pra deixar mais alto, só que será o padrão;    algumas imagens : 
        Então pessoal, espero que tenham gostado da minha versão. Eu fiz ela do zero, peguei só a ideia do Dodge System que vi em alguns Ots e mandei bala acrescentando esses elementos com amuleto.   créditos : Halls Santos & o criador do Dodge System, infelizmente não sei o nome dele. comentem ai que eu edito depois.
    • Por xWhiteWolf
      Ae galera do TK, uns caras ficaram me mandando PM pedindo esse sistema aqui.. aparentemente tem em algum server e eles queriam replicar o sistema no OT deles. Não sei como funciona no outro server mas no script que eu fiz vai funcionar assim:
      Serão 100 livros que você poderá comprar de um npc específico, cada livro te dá 1 ponto a mais na skill Dodge e isso acarreta em 0.3% de chance a mais de desviar de um golpe e tomar só 50% de dano. Infelizmente eu nunca joguei no servidor que foi o pioneiro desse sistema (na vdd eu nem sei qual é) então eu não fiz igual o deles, na realidade o meu só funciona ao perder vida então se o mago usar utamo vita acabou os dodge's dele. Outra coisa importante é que o player tem uma chance rara de dar Dodge no Dodge, ou seja, levando 1/4 do dano. Só vai funcionar para ataques de criaturas, tanto melee quanto spells, ou seja, se o cara passar no fogo não tem chance dele desviar do dano 
      Sem mais delongas, vamos ao script:

      Crie um arquivo chamado dodge.lua na pasta creaturescripts\scripts e coloque isso dentro dele:
       

      agora adicione essa linha no creaturescripts.xml:
      <event type="statschange" name="dodge" event="script" value="dodge.lua"/> em creaturescripts\scripts\login.lua adicione isso antes do ultimo return true:
      registerCreatureEvent(cid, "dodge") if getPlayerStorageValue(cid, 48902) == -1 then         setPlayerStorageValue(cid, 48902, 0)      end agora vá em actions.xml e adicione essa linha aqui:
      <action itemid="1950" script="dodgebook.lua"/> note que vc pode mudar o ID do livro a hora que vc quiser.

      em items.xml, procure o item com o ID que vc irá utilizar e deixe ele assim:
      <item id="1950" article="a" name="Skill Book [DODGE]"> <attribute key="weight" value="1300" /> </item> agora crie um arquivo chamado dodgebook em actions\scripts e coloque isso dentro dele:
    • Por Danyel Varejao
      Fala galerinha do TK, aqui vai um script muito útil para vários servidores. O script serve para salvar o player e a house do mesmo, utilizando o comando !save.
      O script foi testado em OTXServer 2.
      local Configs = { Exhausted = 180, Storage_Exhausted = 5000001, Messages = { SALVED = "You character has been salved.", EXHAUST = "You need wait %d seconds to save again.", }, } local function doSavePlayerAndHouse(cid) doPlayerSave(cid) if getHouseByPlayerGUID(getPlayerGUID(cid)) then doSaveHouse(getHouseByPlayerGUID(getPlayerGUID(cid))) end return true end function onSay(cid, words, param) if getPlayerStorageValue(cid, Configs.Storage_Exhausted) >= os.time() then doPlayerSendCancel(cid, string.format(Configs.Messages.EXHAUST, getPlayerStorageValue(cid, Configs.Storage_Exhausted) - os.time())) return true end doSavePlayerAndHouse(cid) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, Configs.Messages.SALVED) setPlayerStorageValue(cid, Configs.Storage_Exhausted, os.time() + Configs.Exhausted) return true end Tag do talkactions.xml
      <talkaction words="/save;!save" event="script" value="SavePlayers.lua"/>  
    • Por Belmont
      Hoje venho aqui trazer a solução pra vocês que colam scripts e jogam em seus arquivos, essa solução nada mais é que remover os caracteres especias que vem junto quando você usa o famoso comando CTRL+C e CTRL+V, esse erro se apresenta de várias formas.
       
      Para resolver, basta você ir no diretório do arquivo abri-lo e ir até a linha que mostra no executável(distro) e procurar o caractere especial, LEMBRANDO que ele pode vim oculto, você ira precisar procurar em letra por letra, no vídeo abaixo explica como procurar o caractere especial oculto letra por letra. O que eu fiz ai no vídeo foi somente apagar o caractere oculto.                                      
       
      Os caracteres ocultos, eles podem serem visualizados com mais facilidade ou com mais dificuldade, no caso desse vídeo, foi bem fácil de visualizar, mais em fim, é só você ir até a linha que mostra no executável(distro) vai no final do código e vem apertando a tecla na direção esquerda até acha-lo.
                                                                                           
    • Por Cat
      Essa resolução visa reduzir o lag na hora de mapear.
      Dicas:
      Leve em consideração que um mapa de 100MB necessita em torno de 4GB de memória, um de 200MB, 8GB e assim vai. Mapear com minimap aberto ajuda a travar o mapa. Quando for mapear, feche outros aplicativos. Faça backups frequentes, (Se usar um CPU cuidado com quedas de energia, pode corromper seu mapa ao desligar). Use a última versão lançada para evitar erros.  
      Mas como posso fazer para que o Map Editor trave menos?
      Com o Remeres aberto, vá em File - Preferences - General. Em File – Preferences – General você deverá configurar Undo Queue Size: Aqui vai o valor (em MB) da metade da memória ram de seu pc (caso queira coloque mais). Undo maximum memory size (MB):  Tamanho máximo de memória que o RME poderá utilizar, aumente para metade da memória ram de seu pc (caso queira coloque mais). Worker Threads: Número de núcleos de processador que o RME pode utilizar, nessa parte depende se seu processador, caso seu pc só tenha um núcleo deixe apenas um, caso tenha 2, deixe 2 e se for maior que isso deixe o tanto que você preferir.  
      Aplique, reinicie o editor e teste as novas configurações. Se ainda não funcionar, faça uma limpeza de hardware/software, atualize seus drivers ou compre um PC melhor.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo