Ir para conteúdo

Mathias Kenfi

Membro
  • Registro em

  • Última visita

Tudo que Mathias Kenfi postou

  1. Post o script de técnicas aqui que eu vejo em que posso te ajudar.
  2. Aqui vai o script colega. \/ local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 39) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 49) setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, false) local config = { tempo = 60, --- tempo que vai durar a spell shield = 25 -- quanto shield vai adicionar } local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, config.shield) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_MANASHIELD) setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000) setCombatCondition(combat2, condition2) function onCastSpell(cid, var) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você agora está com 25 de shield e magic shield por 1 minuto") addEvent(doCombat, 0, cid, combat, var) addEvent(doCombat, 0, cid, combat2, var) return true end Basta editar nessa parte \/. local config = { tempo = 60, --- tempo que vai durar a spell shield = 25 -- quanto shield vai adicionar }
  3. Mathias Kenfi postou uma resposta no tópico em Suporte Tibia OTServer
    Fui abrir o meu server agora pouco e quando fui logar deu esse erro abaixo. Como faço pra resolver?
  4. Então mano, tenta utilizar apenas Dano Mínimo e Máximo, -0, -1, -0, -1, ai você coloca o dano que você quiser, mas ai se subir de ML ou Level não vai mudar em nada, e verifica se o monstro que você está testando não tem alguma fraqueza contra o elemento da magia, mas tenta utilizar números pequenos como por exemplo -0.2, -1, -0.2, -1, que casará menos Dano e vai diminuindo -0.002, -1, -0.002, -1.
  5. Você deve estar level muito alto ou com Magic Level alto, tente deixar assim -1, -1, -1, -1, para ver se o dano fica normal. Causará 20% do seu Level. Exemplo se você for Level 520, vai causar 104 de dano. Lembrando que os números não são exatos, isso é o número aproximado, e deixe sempre Negativo -> -1, -1, -1, -1,
  6. Sim, você pode usar na formula de Level e Magic Level. 1=20% do seu Level ou Magic Level AJUDEI? REP+ xD
  7. setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -3.2, 1, -4.2, 1) Bom vou explicar como EU calculo a formula, porém os números não são EXATOS, então vamos a explicação. -3.2, -1, -4.2, -1 -3.2 = % do seu Magic Level, resumindo o calculo está APROXIMADAMENTE -60% de Dano Mínimo baseado no seu Magic Level, se você utilizar -5 ele irá causar 100% do seu Magic Level como dano. 1=20% ou seja 3=60% -1 = Dano Mínimo que a spell causará, não calcula nada, então irá causar 1 de Dano -4.2 = É a mesma coisa que o primeiro, porém ao invés de ser baseado no seu Magic Level, é baseado no seu Level, e de acordo com os números dados, 1=20% ou seja 4=80% -1 = Dano Máximo que a spell causará, não calculada nada, então irá causar 1 de Dano. Esta é a formula que eu utilizo para calcular o dano das spells. LEMBRANDO QUE 1=20% ou seja 5=100%
  8. Isso esta em %, e não e ruim pois ajuda no uso de bot. Se quer tirar terá de abrir as sources do seu server.
  9. O seu theforgotten ta como arquivo, ele precisa ser um aplicativo pra ser executado Ou você pode compilar seu server
  10. Olá TibiaKing. Queria pedir pra vocês me ajudarem na criação de uma spell. Explicando o titulo, é uma spell que irá adicionar XXXX storage por X segundos. EXEMPLO: Eu uso exori frigo em um PLAYER, e esse player que receber o exori frigo ficará com a XXXX storage por 5 segundos, se EU usar o exori frigo novamente, ele irá reiniciar o temporizador e ele ficará com 2 "marcas" da storage, e assim sucessivamente até no máximo 5 "marcas". Meu outro pedido e uma spell que irá remover essas storages instantaneamente. EXEMPLO: O alvo está com 5 "marcas" de storage (relacionado ao exemplo anterior) ele irá causar 50 de dano para cada marca, ou seja 250 de dano total. E uma spell complexa, eu sei, mas quem poder ajudar dou 5REP+ de agradecimento. Esta é uma spell baseada SIM na "Guilhotina de Noxus" de Darius de League Of Legends
  11. Mathias Kenfi postou uma resposta no tópico em Formação de Equipe
    Tenho muito tempo para adiministrar o server amigo só vir PV
  12. Bom aqui temos uma magia. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 39) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 37) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -5, -30, -5, -30) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Para editar o dano é nessa parte da magia setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -5, -30, -5, -30) Esta magia irá causar 100% do seu level (-5) e 30 de dano (-30) Exemplo se você é level 350, você irá causar 350+30 de dano no seu alvo. Resolução setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, %MAGICLEVEL, Dano mínimo, %LEVEL, Dano máximo) Entendeu? Qualquer coisa explico de novo xD! AJUDEI? REP+
  13. Perdão a demora amigo, o TibiaKing estava bloqueando minha entrada com o Facebook, mas já resolvi. Tem jeito sim colega, vou dar uma resumidinha no meu tópico aqui. local pos = getCreaturePos(target) -- Este vai ativar o comando getCreatureTarget (não mexa) local effect = {x = pos.x - 1, y = pos.y - 1, z = pos.z} -- Estas são as posiçoes no caso está a Noroeste do inimigo. local effect2 = {x = pos.x + 1, y = pos.y - 1, z = pos.z} -- Estas são as posiçoes no caso está a Nordeste do inimigo. doSendDistanceShoot(effect, effect2, 30) -- Estas é o comando para o efeito, que fará com o que o efeito saia da posição effect e vá para posição effect2 no caso sairá do Noroeste e irá para o Nordeste do inimigo, Como edito nas explicações acima Esta parte, ai você muda nos números {x = pos.x - 1, y = pos.y -1, z = pos.z} Norte {x = getCreaturePos(cid).x - 3, y = getCreaturePos(cid).y, z = getCreaturePos(cid).z} Sul {x = getCreaturePos(cid).x + 3, y = getCreaturePos(cid).y, z = getCreaturePos(cid).z} Aqui os efeitos irão sair da posição Norte e ir para a posição Sul. Em referência ao player que usar a magia (ou arma). AJUDEI? REP+
  14. Mathias Kenfi postou uma resposta no tópico em Suporte Tibia OTServer
    @apaskasko Cara praticamente 100% dos players que jogam OtServer usam bot, e bot tem o LightHack, então meio que nem precisa disso.
  15. Mathias Kenfi postou uma resposta no tópico em Suporte Tibia OTServer
    Explica direito afinal o que diabos é LUZ?
  16. Tem um tópico no TibiaKing assim amigo, xD É de armas, mas só mudar para spell, qualquer coisa te ajudo xD
  17. Tenta trocar db.executeQuery por db.Query
  18. Em 8.60 NÃO é possível, anão ser que você saiba mexer com programação, ou seja não é possível. No 8.60 é mais fácil utilizar o sistema de fly mesmo. AJUDEI? REP+ xD xD
  19. Ué edita... Só mudar aqui \/ setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 2, 1, 2, 1) 2, 1, 2, 1 = %ML, Cura minima, *LVL, Cura máxima 2 = Aproximadamente 40% level atual. Exemplo: Você é level 175, se usar vai curar aproximadamente 70 de HP No caso desse script \/ local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, 35) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 2, 1, 2, 1) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Você irá curar aproximadamente 40% do seu level atual + 1 de HP. Mas, caso você queira que cura % do HP máxima ao invés do level, basta colocar assim \/ local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, 12) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, 1, 0, 1) function onCastSpell(cid, var) doCreatureAddHealth(cid, getCreatureMaxHealth(cid) * (0.05)) return doCombat(cid, combat, var) end doCreatureAddHealth(cid, getCreatureMaxHealth(cid) * (0.05)) = basta mudar aqui. No caso está 5% da HP Máxima. AJUDEI ? REP + xD xD
  20. Antes: setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 2, 1, 2, 1) Depois: setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 2, 1, 2, 1) Ás vezes ficamos tanto tempo mexendo com isso que não notamos coisas tão simples. rsrsrsrs
  21. Está criando ou já tem um servidor? Quer ajuda pra balancear Spells, Runas, Monstros, entre outros? Mande mensagem privado que ajudo. xD, xD, xD! Nada demais só estou atoa. Rsrsrsrsrsrs
  22. Cara se eu não me engano é só trocar COMBAT_HEALING) por COMBAT_MANADRAIN) que da certo, mas tem que trocar em todos combat Lembrando: setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 5) Os números "5" é o multiplicador da cura baseado no Level e no Magic Level. 5 = Aproximadamente 100% Level atual. Exemplo: Se o jogador for level 125 ele irá cura aproximadamente 125 de vida ou mana. Não é um número exato. O número exato é 4.241
  23. Esta é a spell. local config = { seconds = 0, storage = 0, msg = "Você precisa aguardar %d segundos para usar essa magia novamente.", mana = 0, semMana = "Você não tem mana suficiente.", } local function useAgain(cid) setPlayerStorageValue(cid, config.storage, 2) return TRUE end local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 9) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5, 0, -5, 0) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 9) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -6, 0, -6, 0) area1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } area2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(area1) local area2 = createCombatArea(area2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) function onUseWeapon(cid, var) if getPlayerStorageValue(cid, config.storage) == -1 then setPlayerStorageValue(cid, config.storage, os.time()-config.seconds) end if config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)) > 0 then doPlayerSendCancel(cid, string.format(config.msg, config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)))) return true end if getPlayerMana(cid) >= config.mana then doPlayerAddMana(cid, -config.mana) setPlayerStorageValue(cid, config.storage, os.time()) if getPlayerStorageValue(cid, 32150) - os.time() <= 0 then addEvent(doCombat, 000, cid, combat1, var) else addEvent(doCombat, 000, cid, combat2, var) end else doPlayerSendCancel(cid, config.semMana) end return true end Agora vamos explicar, 32150 é o storage da spell melhorada. Ou seja se o player não tiver o storage ele vai atacar com combat1 se ele tiver o storage ele vai atacar com combat2. Só é possível 2 níveis, porque seria 1 storage diferente para cada nível. Vá em data/action/scripts e crie 1 arquivo teste.lua dentro dele cole isto function onUse(cid, item) if getPlayerStorageValue(cid, 32150) < 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Agora seu exori está evoluído.") setPlayerStorageValue(cid, 32150,1) doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Voce ja evoluiu seu exori.") end return TRUE end Agora em actions.xml adicione esta tag <action itemid="ID-DO-ITEM" script="teste.lua"/> xD. Ajudei? REP+ Agora o porque de não poder evoluir ela mais que 1x é simples, o player sem a storage 32150, usa a spell normalmente, porém quando ele obtêm a storage, ele passa a usar a spell mais forte, se fosse pra evoluir 3x, ele precisaria de outro storage, porém o storage 32150 ainda vai estar nele, ou seja vai confundir o jogo se é para usar a spell nível 2 ou nível 3, anão ser que remova a storage 32150 do player.
  24. Sinto muito a demora, estive ocupado, mas agora baixei o Tibia novamente, e editei tudo, agora atualizei o tópico e funcionou perfeitamente comigo. Tópico Atualizado! xD. Ajudei? REP+
  25. Tópico atualizado!

Informação Importante

Confirmação de Termo