Postado Janeiro 20, 2017 8 anos Este é um post popular. Fala galera do TK, hoje vim trazer 1 script de arma com efeito mostrado abaixo: Quando não sabe editar, parece ser muito complicado, mas depois que aprende é tao simples quanto fazer uma spell qualquer. Passarei o script e ensinarei a editar. Siga os passos e você logo logo aprenderá a editar a seu gosto. Spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 49) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 30) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -700, 0, -1000) function onUseWeapon(cid, var) local target = getCreatureTarget(cid) if not isCreature(target) then return false end local pos = getCreaturePos(target) local effect = {x = pos.x - 1, y = pos.y - 1, z = pos.z} local effect2 = {x = pos.x + 1, y = pos.y - 1, z = pos.z} doSendDistanceShoot(effect, effect2, 30) local effect = {x = pos.x + 1, y = pos.y + 1, z = pos.z} local effect2 = {x = pos.x - 1, y = pos.y + 1, z = pos.z} doSendDistanceShoot(effect, effect2, 30) local efeito = {x = getCreaturePos(cid).x + 3, y = getCreaturePos(cid).y - 3, z = getCreaturePos(cid).z} local efeito2 = {x = getCreaturePos(cid).x - 3, y = getCreaturePos(cid).y + 3, z = getCreaturePos(cid).z} doSendDistanceShoot(efeito, efeito2, 30) local efeito = {x = getCreaturePos(cid).x - 3, y = getCreaturePos(cid).y - 3, z = getCreaturePos(cid).z} local efeito2 = {x = getCreaturePos(cid).x + 3, y = getCreaturePos(cid).y + 3, z = getCreaturePos(cid).z} doSendDistanceShoot(efeito, efeito2, 30) local leste = {x = getCreaturePos(cid).x + 1, y = getCreaturePos(cid).y, z = getCreaturePos(cid).z} local oeste = {x = getCreaturePos(cid).x - 1, y = getCreaturePos(cid).y, z = getCreaturePos(cid).z} local sul = {x = getCreaturePos(cid).x, y = getCreaturePos(cid).y +1, z = getCreaturePos(cid).z} local norte = {x = getCreaturePos(cid).x, y = getCreaturePos(cid).y -1, z = getCreaturePos(cid).z} local centro = {x = getCreaturePos(cid).x, y = getCreaturePos(cid).y, z = getCreaturePos(cid).z} doSendMagicEffect(leste, 39) doSendMagicEffect(oeste, 39) doSendMagicEffect(norte, 39) doSendMagicEffect(sul, 39) doSendMagicEffect(centro, 39) return doCombat(cid, combat, var) end Simples o dano é normal basta editar. Pois o que nos interessa agora é os efeitos que se localiza aqui. Spoiler local target = getCreatureTarget(cid) -- Este vai identificar o alvo que você está atacandoif not isCreature(target) then return false endlocal pos = getCreaturePos(target) -- Este irá checar a posição do Target (não mexa)local effect = {x = pos.x - 1, y = pos.y - 1, z = pos.z} -- Estas são as posições 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ções no caso está a Nordeste do inimigo.doSendDistanceShoot(effect, effect2, 30) -- Esta é 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 dito nas explicações acima Como editar a posição e tals? Pow é só mecher nos números. Spoiler x = pos.x - 1, y = pos.y - 1, z = pos.z Os números indicam os SQM'S no caso, seria só 1 SQM de posição. As letras (+ e -) será as posições que ficaram os números. += Sul e Leste -= Norte e Oeste (não sei bem se estou certo disso, se estiver sinto muito e me corrija) Ou seja na posição x = pos.x - 3, y = pos.y - 3, z = pos.z irá sair efeito noroeste do inimigo 3 SQM'S de distance dele. Entendeu? ótimo Não entendeu? Leia denovo, ou pegue os efeitos e edite você mesmo. Spoiler doSendDistanceShoot(effect, effect2, 30) Este não é nada mais que o comando doSendDistanceShoot(posição que está, posição que irá, efeito que irá usar) Bem simples agora para sair em volta do seu jogador só colocar o comando getCreaturePos(cid) aonde está pos segue o exemplo abaixo: x = getCreaturePos(cid).x - 3, y = getCreaturePos(cid).y - 3, z = getCreaturePos(cid).z Se você colocar cid, irá checar o player que executar a função, se colocar target, irá checar quem o player está atacando AJUDEI? REP+ Editado Junho 20, 2019 5 anos por Joaovettor Organização (veja o histórico de edições)
Postado Janeiro 20, 2017 8 anos Você não veio trazer um sistema, afinal tal coisa já existe, você veio explicar como acionar tal coisa. Existe outros conteúdos assim, porém o seu está com mais explicações, melhor compreendimento, e facilidade de entender. Então... @Tópico aprovado!
Postado Julho 20, 2017 7 anos Desculpe reviver o tópico.... mais tenho uma duvida por exemplo queria que os efeitos saíssem em linha reta (tipo norte-sul), não em diagonal e nem no personagem, tem como me ajudar?
Postado Agosto 5, 2017 7 anos Autor 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+
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.