Postado Maio 21, 2015 9 anos ERRO AO EXECUTA COMANDO DO SCRIPT; data/spells/scripts/spells/paladin.lua:7: attempt to call global 'getPositionsByDirection' (a nil value) stack traceback: data/spells/scripts/spells/paladin.lua:7: in function <data/spells/scripts/spells/paladin.lua:1>
Postado Maio 21, 2015 9 anos Autor OBS: Note que esse script usa funções da new library. Você pode conseguir essas funções aqui: http://www.tibiaking...w-library-v-10/
Postado Setembro 9, 2020 4 anos Em 17/11/2014 em 11:47, xWhiteWolf disse: Fala pessoal do TK, hoje vim trazer uma spell bem bonita que veio na minha cabeça. em 14:06 desse vídeo dá pra ver oque eu tentei criarhttp://tvuol.uol.com.br/video/avatar--livro-3-fogo--ep-48--a-manipuladora-de-fantoches-04028C98306ED8A90326/ mas por conta dos efeitos precários que o Tibia possui não ficou tão legal qnt eu imaginei mas em todo caso eu decidi compartilhar o código com vocês. O resultado final foi esse daqui: Conteúdo Oculto Se vocês se interessaram é só criar um arquivo em spells/scripts e colocar isso daqui dentro dele: function onCastSpell(cid, var) local config = { spins = 1, delay = 120 } local k = checkGroundInArray(getPositionsByDirection(cid), grass) if #k < 1 then doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) doPlayerSendCancel(cid, "You need to be around grass to cast this spell.") return false end for i = 1, #k do addEvent(function() if isPlayer(cid) then local pos = k[i] local grama = getThingFromPos(pos) doTransformItem(grama.uid, driedgrass[math.random(1, #driedgrass)]) a = (i < 9) and doSendMagicEffect(pos, 1) or doSendMagicEffect(pos, 53) doSendDistanceShoot(pos, getThingPos(cid), 36) end end, (config.delay/2) * i) end range = #k > 4 and 7 or 5 addEvent(function() if isPlayer(cid) then local pos = k[i] local lastPos = false for i = 1, range do local position = getPositionByDirection(getCreaturePosition(cid), getCreatureLookDirection(cid), i) if isWalkable(position, false, true, true) then local creature = getTopCreature(position) if (creature.uid > 0) then doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(creature.uid), 36) doTargetCombatHealth(cid, creature.uid, COMBAT_PHYSICALDAMAGE, -142 * (#k - 1), -150 * (#k - 1), CONST_ME_NONE) break end lastPos = position end if lastPos then doSendDistanceShoot(getCreaturePosition(cid), lastPos, 36) end end end end, (config.delay + (4 * config.delay * config.spins)) ) addEvent(function() for j = 1, #k do addEvent(function() local pos = k[j] local grama = getThingFromPos(pos) if isInArray(driedgrass, grama.itemid) then doTransformItem(grama.uid, grass[math.random(1, #grass)]) end end, (config.delay/2) * j) end end, config.delay * 100) spinRotate(cid, config.spins, config.delay) return true end e em spells.xml vc adiciona: <instant name="TK" words="kataras sense" lvl="8" mana="35" prem="0" casterTargetOrDirection="1" exhaustion="1500" needlearn="0" event="script" value="nomedoarquivo.lua"> </instant> OBS: Note que esse script usa funções da new library. Você pode conseguir essas funções aqui: http://www.tibiaking.com/forum/topic/46015-new-library-v-10/ Espero que tenham curtido, esse é só o começo! Testada em TFS 0.3.6 Tibia 8.54. Coisa linda Wolf! Teria como fazer a mesma coisa, só que ao inves do chao usar corpos? Ia ser muito massa nos meu OT RPG. Destroi o corpo e faz uma bola de morte.
Postado Setembro 14, 2020 4 anos Autor On 9/9/2020 at 12:53 PM, Vorkhon said: Coisa linda Wolf! Teria como fazer a mesma coisa, só que ao inves do chao usar corpos? Ia ser muito massa nos meu OT RPG. Destroi o corpo e faz uma bola de morte. se vc olhar no script da new lib: eu declaro duas tabelas no comecinho (grass e driedgrass), o que vc tem que fazer é substituir essas tabelas localmente (declara no script lá local grass = {todos os ids de corpse q quer usar} e local driedgrass = {todos os ids de esqueleto que quer gerar aleatoriamente} pra fazer ele bater certinho o esqueleto com o corpse (caso vc queira usar mais de um tipo de corpse) você teria que fazer outras adaptações, mas a ideia é essa ai
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.