Ir para conteúdo
Banner com Efeitos

esnio12

Membro
  • Registro em

  • Última visita

Tudo que esnio12 postou

  1. Foi erro meu, haha, é fácil resolver isso. Segue abaixo: local function doPushCreature(target, cid) if target > 0 then if not isNpc(target) then local position = getThingPosition(cid) local fromPosition = getThingPosition(target) local x = ((fromPosition.x - position.x) < 0 and -1 or ((fromPosition.x - position.x) == 0 and 0 or 1)) local y = ((fromPosition.y - position.y) < 0 and -1 or ((fromPosition.y - position.y) == 0 and 0 or 1)) local toPosition = {x = fromPosition.x - x, y = fromPosition.y - y, z = fromPosition.z} if doTileQueryAdd(target, toPosition) == 1 and getTileInfo(toPosition).house == false then doTeleportThing(target, toPosition, true) end end end end local spell = {} spell.config = { [1] = { damageType = 1, areaEffect = 2, area = { {0, 1, 1, 1, 0}, {0, 1, 1, 1, 0}, {0, 1, 3, 1, 0}, {0, 0, 0, 0, 0}, } } } spell.combats = {} for _, config in ipairs(spell.config) do local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, config.damageType) setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaEffect) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -4, 0, -4.7, 0) function onTargetCreature(cid, target) doPushCreature(target, cid) end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") setCombatArea(combat, createCombatArea(config.area)) table.insert(spell.combats, combat) end function onCastSpell(cid, var) for n = 1, #spell.combats do addEvent(doCombat, (n * 120), cid, spell.combats[n], var) end return true end
  2. Amigo, cheque se a vocação da spell está de acordo com a vocação que é para ser usado na classe, caso tudo estiver okay, vai na pasta talkaction e manda o arquivo referente ao !jutsus, talvez o cara tenha feito por texto, para checar a magia, não sei, só olhando.
  3. Basta configurar a area que quer, lá na area, não se esqueça em colocar direction="1" na tag do spell.xml e se caso quiser mudar o efeito é só mudar no areaEffect Damagetype É se a magia será hit fisico, elemental, etc. local function doPushCreature(target, cid) if target > 0 then if not isNpc(target) then local position = getThingPosition(cid) local fromPosition = getThingPosition(target) local x = ((fromPosition.x - position.x) < 0 and -1 or ((fromPosition.x - position.x) == 0 and 0 or 1)) local y = ((fromPosition.y - position.y) < 0 and -1 or ((fromPosition.y - position.y) == 0 and 0 or 1)) local toPosition = {x = fromPosition.x + x, y = fromPosition.y + y, z = fromPosition.z} if doTileQueryAdd(target, toPosition) == 1 and getTileInfo(toPosition).house == false then doTeleportThing(target, toPosition, true) end end end end local spell = {} spell.config = { [1] = { damageType = 1, areaEffect = 2, area = { {0, 1, 1, 1, 0}, {0, 1, 1, 1, 0}, {0, 1, 3, 1, 0}, {0, 0, 0, 0, 0}, } } } spell.combats = {} for _, config in ipairs(spell.config) do local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, config.damageType) setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaEffect) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -4, 0, -4.7, 0) function onTargetCreature(cid, target) doPushCreature(target, cid) end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") setCombatArea(combat, createCombatArea(config.area)) table.insert(spell.combats, combat) end function onCastSpell(cid, var) for n = 1, #spell.combats do addEvent(doCombat, (n * 120), cid, spell.combats[n], var) end return true end
  4. esnio12 postou uma resposta no tópico em Suporte Tibia OTServer
    Olá, eu tenho uma dúvida se existe alguma condição que checa se É tile ou não, vamos supor, tenho um script aqui de uma magia que cria items, o problema é que ela está criando items no vazio, ou seja, estou no andar superior e uso a magia, ela cria mesmo estando no teto em partes que não deve ser criada, a minha dúvida É se existe alguma função ou condição que checa se é possivel criar no void ou não. segue abaixo a print informando o erro, caso alguém souber ou não tiver entendido basta falar aqui que tento explicar novamente, hehe!.
  5. Não sei se é bem isso, como não conheço se é só um efeito para a spell ou são varios, fiz com um, mas se for necessario posso trocar para com mais efeitos de animações Segue abaixo a spell target com um delay para o hit. em data/spells/script, crie arquivo .lua e renomeie para shisuitarget abra o arquivo e adicione isso local efeitodogiro = 32 --- numero do efeito local efeitodaexplosao = 32 -- numero do efeito da explosao local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, efeitodogiro) local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, efeitodaexplosao) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local function efectshisui(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat, parameters.var) end local function efectshisui1(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var) end function onCastSpell(cid, var) local parameters = {cid = cid, var = var} addEvent(efectshisui, 100, parameters) addEvent(efectshisui, 500, parameters) addEvent(efectshisui1, 1000, parameters) return true end em spells.xml adicione a tag <instant name="Shisui Target" words="Shisui Target" lvl="1" mana="0" prem="0" range="1" needtarget="1" blockwalls="1" exhaustion="2000" needlearn="1" event="script" value="shisuitarget.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> Só configure os efeitos acima no script
  6. Essa magia é target ou é em area?, não da pra identificar direito com tanto spam de magia na tela
  7. É simples, basta adicionar os efeitos na magia com um addevent, seu servidor possui esses efeitos? do lee usando os chutes
  8. Tenta agora local tempo = 6 -- tempo que ficará curando local health = 5 -- A cada 0,5 segundo quanto de vida ira aumentar local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*500) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 500) setCombatCondition(combat, condition) local config = { storage = 3452056, cooldown = 30, --- tempo entre um uso e outro } local iddaroupa = 100 ---- aqui voce coloca o id da outfit local roupa = {lookType = iddaroupa, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} function onCastSpell(cid, var) local position129 = {x=getPlayerPosition(cid).x+2, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if os.time() - getPlayerStorageValue(cid, 3452056) >= config.cooldown then doSendMagicEffect(getCreaturePosition(cid), 12) doCombat(cid, combat, var) doSetCreatureOutfit(cid, roupa, 6000) setPlayerStorageValue(cid, 3452056, os.time()) else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 3452056))).." seconds.") return false end end
  9. É um script já feito por alguém, só fiz adapta-lo <instant name="Regen Heal" words="Regen Heal" lvl="1" mana="0" prem="0" exhaustion="1000" needlearn="0" aggressive="0" selftarget="1" enabled="1" event="script" value="Regen Heal.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> </instant> local tempo = 6 -- tempo que ficará curando local outfit = {lookType = 106} -- outfit que ira dar local health = 5 -- A cada 0,5 segundo quanto de vida ira aumentar local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*500) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 500) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local config = { storage = 3452056, cooldown = 30, --- tempo entre um uso e outro } function onCastSpell(cid, var) local position129 = {x=getPlayerPosition(cid).x+2, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if os.time() - getPlayerStorageValue(cid, 3452056) >= config.cooldown then doSendMagicEffect(getCreaturePosition(cid), 12) doCombat(cid, combat, var) setPlayerStorageValue(cid, 3452056, os.time()) else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 3452056))).." seconds.") return false end end
  10. Provavelmente é no creaturescripts, no script look.lua, da um olhada nele
  11. Olá a todos, eu possuo um script de trap no qual se utilizar a pessoa fica presa, só que esse script possui um erro, queria saber se vocês podem me ajudar a solicionar, o erro consiste no qual se uma pessoa usar uma trap dentro de outra trap, elas vão se estacando, fazendo assim, duas pessoas conseguirem trapar uma pessoa infinitamente, gostaria de pedir a ajuda no qual colocasse algo para impedir que a pessoa consiga usar duas traps no mesmo sqm, segue uma foto mostrando o error Vou postar o script abaixo, qualquer dúvida pode deixar mensagem no tópico, que auxilio, o script não é de minha autoria, apenas peguei na internet e adaptei do modo que eu sei. obs: ambas as magias são o mesmo script, só muda o id local config = { gatesTime = 5, -- tempo em segundos exhaustStorage = 41000, exhaustTime = 5, createGates = {2730, 2730, 2730, 2730, 2730,2730, 2730, 2730, 2730, 2730,2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730} -- ID dos portoes na ordem certa } local combat = createCombatObject() setCombatArea(combat, createCombatArea({ {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 3, 3, 3, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, })) local permittedPos = {} function onTargetTile(cid, pos) table.insert(permittedPos[cid], pos) end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") local function doSpell(cid, var) if(not isCreature(cid)) then return true end doCombat(cid, combat, var) for n, pos in ipairs(permittedPos[cid]) do doSendMagicEffect(pos, 130) doCreateItem(config.createGates[n], 1, pos) addEvent(function() if(getTileItemById(pos, config.createGates[n]).uid > 0) then doRemoveItem(getTileItemById(pos, config.createGates[n]).uid, 1) end end, config.gatesTime*1000) end return true end function onCastSpell(cid, var) permittedPos[cid] = {} if(isPlayer(cid) and exhaustion.check(cid, config.exhaustStorage)) then doPlayerSendCancel(cid, "Aguarde "..exhaustion.get(cid, config.exhaustStorage).." segundo"..(exhaustion.get(cid, config.exhaustStorage) > 1 and "s" or "").." para usar novamente.") doSendMagicEffect(getThingPos(cid), 2) return false end return doSpell(cid, var) end
  12. Você trocou o id do chakra e a posição que o chakra irá ficar? chakrapos = {x=94, y=643, z=6, stackpos=1} -------- posição referente onde irá estar o chakra and chakrapos.itemid == 2171 -------- id do chakra
  13. Em actions/script - Crie um script referente ao selamento 1, ou selar1.lua Abra o arquivo selar1.lua e cole isso dentro. function onUse(cid, item, frompos, item2, topos) chakrapos = {x=94, y=643, z=6, stackpos=1} -------- posição referente onde irá estar o chakra boss = {x=98, y=640, z=7, stackpos=1} ----- posição referente onde irá nascer a bijuu caso falhe efeito = {x=98, y=640, z=7, stackpos=1} ----- posição referente a o efeito e a mensagem de falha sortiado = math.random(1,10) --- Isso refere a sorte de selar ou não, é entre 1 a 10, não mexa a menos que saiba o que está fazendo. chakraselado = getPlayerStorageValue(cid,1111) ---- Referente ao id de storage que ficará salvo se selou ou não. if chakraselado == -1 then --- NÃO MEXA if item.uid == 17231 ---------- uniqueid - você coloca na alavanca and item.itemid == 1945 ------- id da alavanca and chakrapos.itemid == 2171 -------- id do chakra and sortiado == 1 then ---- refere a 10% da sorte, ou seja, entre a chance 1 a 10, isso refere ao 1, se cair 1, falha doRemoveItem(chakrapos.uid,1) doSummonCreature("Shukaku", boss) --- NOME DO BOSS ou monstro que nascerá, caso falhar doSendAnimatedText(efeito, "GROARR!!", 210) doSendAnimatedText(efeito, "Fail!!", 180) elseif item.uid == 17231 ---------- uniqueid - você coloca na alavanca and item.itemid == 1945 ------- id da alavanca and chakrapos.itemid == 2171 -------- id do chakra and sortiado >= 2 then ---- refere a 90% da sorte, ou seja, entre 2 a 10, isso refere ao 2 a 10, se cair entre 2 a 10, da sucesso. doRemoveItem(chakrapos.uid,1) --- removerá o chakra da posição doSendMagicEffect(topos,1) --- soltará um efeito na alavanca setPlayerStorageValue(cid,1111,1) --- gravará a storage que foi selada doSendAnimatedText(efeito, "GEDOU!!", 210) --- soltará uma fala ao selar doSendMagicEffect(efeito,145) --- Número do efeito, mude a seu gosto. else doSendAnimatedText(topos, "Chakra Empty!!", 20) --- refere se o ou chakra vazio. end else doSendAnimatedText(topos, "Seal!!", 210) --- mensagem após tentar selar novamente, caso tenha selado já. end end Agora em actions.xml adicione essa seguinte linha <action uniqueid="17231" script="selar1.lua" /> Esse script foi retirado e adaptado do servidor Extnl, lembrando que isso é somente a 1° cauda, caso queira fazer com as demais, é só seguir as instruções que coloquei no script, é fácil, só mudar alguns números, etc. Em 7.81, se não me engano não tem como fazer uma global message para todos, ou seja, não é possivel fazer nas versões 7.81 Não testei, caso ocorra algum error, só postar aqui.
  14. esnio12 postou uma resposta no tópico em Sprites
    Alguém ai tem o spr pronto, tipo já no tibia.spr? pra facilitar a vida?
  15. esnio12 postou uma resposta no tópico em Suporte Tibia OTServer
    Bom, eu gostaria de pedir ajuda, peguei uma magia aqui no forum, ela funciona tudo okay, mas se o player morrer ou deslogar enquanto a magia estiver tendo efeito, ela fica spamando mensagens no distro de errors causando um lag absurdo tanto no pc e no servidor Segue os errors O que eu gostaria que fizessem seria colocar uma especie de storage que checa se a magia ta continuando ou não, ou seja uma storage pra tirar esse lag caso o player morra ou deslogue
  16. esnio12 postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    Testei aqui e deu esses errors ERROR: Unable to load module 'mod_topbutton': LUA ERROR: /mod_botao/mod_topbutton.lua:14: attempt to call field 'addCustomRightButton' (a nil value) stack traceback: [C]: in function 'addCustomRightButton' /mod_botao/mod_topbutton.lua:14: in function 'init' /mod_botao/mod_topbutton.otmod:13:[@onLoad]:2: in main chunk [C]: in function 'autoLoadModules' /init.lua:49: in main chunk
  17. esnio12 postou uma resposta no tópico em Suporte OTServer Derivados
    Olá, eu gostaria da ajuda de vocês se podem fazer um addon para mim, ou então até mesmo colocar no personagem, o addon seria umas orelinhas de gato e um rabo, não me interpretem mal pelo rabo haha. Personagem base seria o citizen Caso quiser fazer o addon separado, ou então até no própio personagem, fica a seu critério Desde já, grato pela atenção Seria para uma especie de raça meio gato/raposa
  18. Antigamente quando eu achei, foi em um forum polones, mas ele parece que ta offline, não lembro mais o nome, mas as soucers do naruto é Evolutions 0.58 se não me engano
  19. Bom, para criar um servidor do zero, já que no caso você quer de naruto, teria que ter as soucers para adicionar novos comandos, pois essa versão é muito limitada, É possivel transformar um 8.54 em um 7.81 sim, mas só com programação e um pouco de scripts, eu mesmo já tentei fazer isso, só que não entedia muito das áreas e dessisti
  20. A diferença é a limitação da versão 7.81, a versão 7.81 não tem muito a oferecer, já a versão 8.54 possui mais funções, sistemas e soucers atualizadas, acho que as soucers 7.81 estão extintas, principalmente a do DNO normal, o própio servidor DNO tem muitos bugs integrados nele mesmo nos quais é possivel derruba-lo, já fui dono de servidor de naruto 7.81, retirei a maioria dos bugs deles, mas tem uns que só são possiveis ser retirados se tiver as soucers em mãos e uma noção médiana sobre programação daquela versão . Bom, aqui vão os npcs, Anbu Medinin e akatsuki itachi, lembrando não testei nenhum, ambos fiz de cabeça Para akatsuki Para anbu
  21. Para não perder level é só alterar no config.lua Se eu não me engano é algo relacionado a deathpercent Sobre morrer e tomar tp direto pro templo sem deslogar, se não me engano é por creaturescript, algo relacionado a quando sua vida chegar a 0 ser teleportado e não perder nd, tipo um saffari do pokémon
  22. esnio12 postou uma resposta no tópico em Suporte Tibia OTServer
    Tanto faz as magia, eu só quero a base desse npc para eu poder editar,
  23. esnio12 postou uma resposta no tópico em Suporte Tibia OTServer
    Bom, eu acho que deixei meio confuso mesmo, rsrs, o npc daria a magia ao player, ou seja venderia de graça a o player, seria uma recompensa após ter feito a quest falar com o npc e ganhar uma magia aleatória, é isso que eu quero
  24. esnio12 postou uma resposta no tópico em Suporte Tibia OTServer
    Bom, eu gostaria de pedir a vocês que vejam esse npc e como eu poderia fazer para que o npc dê uma magia Queria que simplesmente o npc consiga dar uma magia nesse math.random tipo doPlayerLearnSpell, como eu posso fazer isso na versão 8.54?, Só quero que adicione a magia e não que o npc venda ou faça algo do tipo, seria tipo uma recompensa de alguma quest, ter uma chance pequena de ganhar uma magia
  25. Obrigado Janmix, era exatamente isso que tinha que fazer.

Informação Importante

Confirmação de Termo