Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Fala galera do TK, hoje vim trazer 1 script de arma com efeito mostrado abaixo:

arma.thumb.png.3d62dbe018f02acbf73b151dd2dde82b.png

 

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á atacando
if not isCreature(target) then
return false
end

local 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 por Joaovettor
Organização (veja o histórico de edições)

Postado

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!

  • 6 months later...
  • 3 weeks later...
Postado
  • 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo