Ir para conteúdo

xBen

Membro
  • Registro em

  • Última visita

Tudo que xBen postou

  1. xBen postou uma resposta no tópico em Formação de Equipe
    Gostei da ideia, posso te ajudar! sou desenvolvedor. te adicionei discord.
  2. Olá sou programador, tenho conhecimento em C++/Lua
  3. xBen postou uma resposta no tópico em Suporte & Pedidos
    Olá estou desenvolvendo um projeto para relembrar um dos primeiros otserver em que se pode falar de inovação. (isso se não for o primeiro) Pra quem não sabe Korelin é um servidor baseado no anime Avatar a lenda de Aang no protocolo 8.00, onde é possivel escolher entre os 4 Elementos e poder usar suas dobras (spells). TERRA - AGUA - FOGO - AR E com isso cada elemento tem suas vantagens. Alem dos 4 elementos atualmente existem 3 vocações secundarias sendo elas: Knight - Paladin - Berserker. As vocações secundarias são perfeitas para aqueles que gostam de treinar skills e também te ajuda em combate com spells exclusivas com a utilização de armas Nosso mapa está o mais parecido possivel com o do verdadeiro KoreliN. Já fizemos todos os sistemas como Castle War Forja Water Pouch e Water Ambient (Dobradores de agua precisam de uma bolsa de agua ou estar perto de mar ou rio para utilizar suas dobras) Sistema Avatar (O player que conseguir destravar a alavanca vira o novo avatar por 24horas sendo assim podendo usar os 4 elementos) Bosses e Quest Acompanhe nossa pagina no facebook para mais informações, postamos videos diariamente mostrando o desenvolvimento deem uma conferida. Facebook Show off
  4. xBen postou uma resposta no tópico em Suporte Tibia OTServer
    Boa noite galera, existe algum metodo de definir um global event apartir dos dias, tipo segunda, terça etc.. meu intuito é colocar 1 evento automatico que funcione só de teça e sabado.
  5. Galera, estou criando algumas spells usando getPosfromArea(cid, area).. porem quando crio as spells assim, elas atravessam a parede e causam dano através da parede tmb, já uma magia do tibia mesmo normal, usando os parametros do combat, não acontece isso,alguem sabe alguma maneira de corrigir esse problema? já tentei usar isWalkable, mas não deu muito certo, ele não cancela toda as posiçoes a partir da primeira que encontrou, ele só pula o sqm pro proximo. Esse é o codigo local area = { [5] = { {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, 3, 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}, }, [4] = { {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, 3, 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}, }, [3] = { {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, 3, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, }, [2] = { {0, 1, 0}, {0, 0, 0}, {0, 3, 0}, {0, 0, 0}, }, [1] = { {0, 1, 0}, {0, 3, 0}, }, } function onCastSpell(player, var) if not player then return false end local minDmg = math.floor((player:getLevel() + 3) * 1.6) local maxDmg = math.floor((player:getLevel() + 5) * 1.9) local cid = player:getId() for i = 1, 5 do local firewave_area = getPosfromArea(cid, area[i]) for _,v in pairs(firewave_area) do addEvent(valid(doAreaCombatHealth), 120 * i, cid, 1, v, 0, -minDmg, -maxDmg, 7) end end return true end
  6. Ei amigo ai está falando que não tem a função getItemAttack, na realidade não me lembro se tem essa função em algum tfs, ou otx você teria que criar uma função que retorne o que você quer
  7. xBen postou uma resposta no tópico em Suporte Tibia OTServer
    o primeiro ali ele ta setando a storage 30023 para 1 e o segundo é uma função com seus parametros, agora você tem que saber aonde tem essa função pois ta faltando no seu servidor, que seria a função doReborn
  8. Não sei se essa é a area certa mas, alguem teria a source da TFS 0.2.8 dead bug para me passar? to precisando muito
  9. pedrizito é porque eu coloquei pra durar 300 segundos, durante os 300 segundos não pode usar de novo, e coloque no seu login.lua pra setar a storage pra 0 assim, qnd o player logar não dara problema
  10. @GabrielTxu errado, tem um problema na função checkDex não que esteja faltando
  11. Coloque o script goback.lua pra eu ajeitar
  12. Coloque assim <?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="1" name="tsufur" description="a tsufur" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="35" distDamage="4" wandDamage="4" magDamage="7" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="2" name="tsufur1" description="a tsufur" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="2"> <formula meleeDamage="55" distDamage="5" wandDamage="5" magDamage="9" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="3" name="tsufur2" description="a tsufur" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="3"> <formula meleeDamage="75" distDamage="5" wandDamage="5" magDamage="11" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="4" name="tsufur3" description="a tsufur" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="85" distDamage="5" wandDamage="5" magDamage="13" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="5" name="tsufur4" description="a tsufur" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="5"> <formula meleeDamage="94" distDamage="6" wandDamage="5" magDamage="16" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="6" name="tsufurr0" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="6"> <formula meleeDamage="60" distDamage="5" wandDamage="4" magDamage="8" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="7" name="tsufurr1" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="7"> <formula meleeDamage="82" distDamage="5" wandDamage="5" magDamage="30" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="8" name="tsufurr2" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="8"> <formula meleeDamage="99" distDamage="5" wandDamage="5" magDamage="36" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="9" name="tsufurr3" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="9"> <formula meleeDamage="102" distDamage="5" wandDamage="5" magDamage="41" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="10" name="tsufurr4" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="10"> <formula meleeDamage="140" distDamage="6" wandDamage="5" magDamage="50" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="11" name="tsufurr5" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="11"> <formula meleeDamage="140" distDamage="6" wandDamage="5" magDamage="50" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation>
  13. 1* local outfit = 126 -- numero da outfit local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 300000) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 20) local function healthTime(cid, time, percent, count, i, storage) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, storage) > os.time() then if count <= i then if isPlayer(cid) then doCreatureAddHealth(cid, percent) doSendMagicEffect(getThingPos(cid), 14) print(percent) end end else doRemoveCondition(cid, CONDITION_OUTFIT) return true end addEvent(healthTime, time*1000, cid, time, percent, count + 1, i, storage) end function onCastSpell(cid, var) if not isPlayer(cid) then return true end local config = { count = 1, i = 300, time = 5, percent = 60, storage = 2020, } if(getPlayerStorageValue(cid, config.storage) > os.time() and getPlayerStorageValue(cid, config.storage) < 400+os.time()) then return doPlayerSendTextMessage(cid, 24, "You are buffed.") end doSetCreatureOutfit(cid, {lookType = outfit}, -1) doAddCondition(cid, condition) setPlayerStorageValue(cid, config.storage, os.time() + config.i) healthTime(cid, config.time, config.percent, config.count, config.i, config.storage) return true end 2* local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, element, factor) local levelTotal, formula = level / 5, 0.0496 local normal, elemental = -(skill * attack * formula + levelTotal), math.ceil((skill * element * formula + levelTotal)) return normal/2, normal, -math.random(elemental/2, elemental) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) local config = { storage = 2020, } if getPlayerStorageValue(cid, config.storage) > os.time() then doCombat(cid, combat, var) else doPlayerSendCancel(cid, "You need activated buff.") end return true end
  14. poste o vocations.xml
  15. xBen postou uma resposta no tópico em Suporte Tibia OTServer
    tenta isso function onKill(cid, target, lastHit) if isPlayer(target) then trofeutatus1 = getPlayerStorageValue(cid,10129) if getPlayerFrags(cid) == 500 and trofeutatus1 == -1 then local quest = doPlayerAddItem(cid,10129,1) doItemSetAttribute(quest,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid,10129,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYAREA) trofeutatus2 = getPlayerStorageValue(cid,10128) elseif getPlayerFrags(cid) == 1000 and trofeutatus2 == -1 then local quest = doPlayerAddItem(cid,10128,1) doItemSetAttribute(quest,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid,10128,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYAREA) trofeutatus3 = getPlayerStorageValue(cid,10127) elseif getPlayerFrags(cid) == 2000 and trofeutatus3 == -1 then local quest = doPlayerAddItem(cid,10127,1) doItemSetAttribute(quest,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid,10127,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYAREA) end end return true end
  16. @Disturbbed obvio que sim
  17. se não der tenta isso 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 if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { strg1 = 200201, -- storage começando a task strg2 = 91001, -- storage finalizou a task (ganha qnd matar os monstros) idiom = 8971 } if msgcontains(msg:lower(),'task') or msgcontains(msg:lower(),'hi') then if getPlayerStorageValue(cid, config.strg2) < 1 then if getPlayerStorageValue(cid, config.strg1) < 1 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Good one more coming soul of {portal}! Welcome, I hope you can help!', cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Que bom mais uma alma vinda do {portal}! Seja bem vindo, espero que possa nos ajudar!.', cid) talkState[talkUser] = 1 end else selfSay('you have to finish the task', cid) talkState[talkUser] = 0 end else selfSay('Voce concluiu a missao, tome aqui um Sabre, use ele ate chegar no nivel 8 e fale com o Oraculo no templo!', cid) selfSay('Ele ira te mandar para Aurea, la fale com !', cid) doPlayerAddItem(cid, 2385, 1) talkState[talkUser] = 0 end elseif msgcontains(msg:lower(), 'portal') and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Crystal angel one came down here and Aurea and opened a portal of humans who comes from another dimension for us {save}.', cid) talkState[talkUser] = 2 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Crystal uma anja desceu até aqui e em Aurea e abriu um portal de humanos que vem de outra dimensão para nós {salvar}.', cid) talkState[talkUser] = 2 end elseif msgcontains(msg:lower(), 'salvar') or msgcontains(msg:lower(), 'save') and talkState[talkUser] == 2 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('We are in an apocalyptic world, at war with several races. And you can be! {the chosen}', cid) talkState[talkUser] = 3 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Estamos em um mundo apocalíptico, em guerra com varias raças. E voce pode ser o {escolhido}!', cid) talkState[talkUser] = 3 end elseif msgcontains(msg:lower(), 'escolhido') or msgcontains(msg:lower(), 'the chosen') and talkState[talkUser] == 3 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Congratulations, now with permission.', cid) selfSay('Such as our plague of {rats} in the city that are climbing down the drain!', cid) talkState[talkUser] = 4 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Calma primeiro precisamos treinar, voce deve nos ajudar com coisas {simples}, ate estar bem treinado!', cid) selfSay('Como por exemplo a nossa praga de {rats} na cidade que estão subindo pelos bueiros!', cid) talkState[talkUser] = 4 end elseif msgcontains(msg:lower, 'rats') and talkState[talkUser] == 4 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Okay, so help us get this over with and kill 10 rats in the gutter in front here.', cid) setPlayerStorageValue(cid, strg1, 1) talkState[talkUser] = 0 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Ok, então ajuda-nos a acabar com isso e mate 10 ratos no bueiro aqui na frente.', cid) setPlayerStorageValue(cid, strg1, 1) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  18. xBen postou uma resposta no tópico em Suporte Tibia OTServer
    @rizen sim faltava apenas 1
  19. xBen postou uma resposta no tópico em Suporte Tibia OTServer
    @rizen ta aí se ajudei rep + local outfits = { [348] = 385, [349] = 390, } function onAttack(cid, target) doCreatureSetLookDirection(cid, getDirectionTo(getPlayerPosition(cid), getPlayerPosition(target))) if getDistanceBetween(getPlayerPosition(cid), getPlayerPosition(target)) > 1 then return true end local tmp = getCreatureOutfit(cid) if outfits[tmp.lookType] then tmp.lookType = outfits[tmp.lookType] doSetCreatureOutfit(cid, tmp, 900) end return true end @vinicius xxgamexx isso não existe if getDistanceBetween(getPlayerPosition(cid), getPlayerPosition(target)) > 1 then do doCreatureSetLookDirection(cid, getDirectionTo(getPlayerPosition(cid), getPlayerPosition(target))) end
  20. normalmente isso é um parametro da função usada em npc's function onCreatureSay(cid, type, msg)
  21. @Disturbed teria sim é só dar um getStorage na função Script atualizado e adicionado a spell para remover qualquer duvida só perguntar @xWhiteWolf muito obrigado!!!
  22. @Disturbbed não, não é retirado pois é dano constante de fogo e não é uma condição, então não tem como remover com exana flam
  23. Fiz bem explicativo qualquer duvida só perguntar a configuração esta em local config se ajudei rep+ local function kor(cid, target, time, percent, count, i, storage) if not isCreature(target) then return true end if getPlayerStorageValue(target, storage) > os.time() then if count <= i then if isCreature(target) then doTargetCombatHealth(cid, target, COMBAT_FIREDAMAGE, -percent, -percent, CONST_ME_FIREATTACK) end end else return true end addEvent(kor, time*1000, cid, target, time, percent, count + 1, i, storage) end function onCastSpell(cid, var) local config = { count = 1, i = 15, time = 1, percent = 1, target = getCreatureTarget(cid), storage = 2020, } if not isCreature(config.target) then return doPlayerSendTextMessage(cid, 24, "Select this target.") end if(getPlayerStorageValue(config.target, config.storage) > os.time() and getPlayerStorageValue(config.target, config.storage) < 100+os.time()) then return doPlayerSendTextMessage(cid, 24, "Your target already burning.") end local health = math.ceil(getCreatureMaxHealth(config.target) * (config.percent / 100)) -- não mecha nessa linha setPlayerStorageValue(config.target, config.storage, os.time() + config.i) kor(cid, config.target, config.time, health, config.count, config.i, config.storage) -- count = sempre deixe 1 -- i = o numero de vezes que ira acontecer -- time = de quantos segundos ele vai acontecer exemplo 1 em 1 -- percent = percentagem da vida que vai tirar. -- storage = storage usada para poder parar o evento return true end Spell para remover: function onCastSpell(cid, var) local config = { storage = 2020, } if getPlayerStorageValue(cid, config.storage) > os.time() then setPlayerStorageValue(cid, config.storage, 0) doSendMagicEffect(getThingPos(cid), 11) doPlayerSendCancel(cid, "You healed.") else doSendMagicEffect(getThingPos(cid), 11) end return true end
  24. @Disturbed pode me explicar como é essa spell? não conheço muito de tibia
  25. xBen postou uma resposta no tópico em Suporte Tibia OTServer
    @Gabrieltxu viajou em kkkkk @Disturbbed é bem facil, só tu remover a condição paralize, enfim ta ai function onCastSpell(cid, var) doRemoveCondition(cid, CONDITION_PARALYZE) doPlayerSendCancel(cid, "your speed back to normal.") doSendMagicEffect(getThingPos(cid), 11) return true end

Informação Importante

Confirmação de Termo