Tudo que esnio12 postou
-
(Resolvido)Chibaku Tensei
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
- [RESOLVIDO] Spells NaruTibia
-
(Resolvido)Chibaku Tensei
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
-
Duvida condição
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!.
-
Criar Script de spell
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
-
Criar Script de spell
Essa magia é target ou é em area?, não da pra identificar direito com tanto spam de magia na tela
-
Criar Script de spell
É simples, basta adicionar os efeitos na magia com um addevent, seu servidor possui esses efeitos? do lee usando os chutes
-
Script Ganhar Outfist e Ganhar HP
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
-
Script Ganhar Outfist e Ganhar HP
É 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
-
Showvoc por Vocação
Provavelmente é no creaturescripts, no script look.lua, da um olhada nele
-
Magia de trap bugada
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
-
(Resolvido)Scrip selamento de bijus Narutibia 7.8
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
-
(Resolvido)Scrip selamento de bijus Narutibia 7.8
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.
- Mega Pack Sprites [+39,000] RPG Server.
-
Storage na magia
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
-
[MOD] Top Button
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
-
Addon simples
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
- [Ajuda] NaruTibia 7.81 Promotion
-
[Ajuda] NaruTibia 7.81 Promotion
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
-
[Ajuda] NaruTibia 7.81 Promotion
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
-
Sistema de Player ser teleportado ao morrer
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
-
Npc de quest dar spell
Tanto faz as magia, eu só quero a base desse npc para eu poder editar,
-
Npc de quest dar spell
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
-
Npc de quest dar spell
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
-
(Resolvido)Como tirar as spells das vocações
Obrigado Janmix, era exatamente isso que tinha que fazer.