Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Como faço para por um efeito diferente para cada vocação que usar essa spell?

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 30000)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
	if exhaustion.check(cid, 13101) == TRUE then
		doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.")
		doSendMagicEffect(getCreaturePosition(cid), 2)
		return false
	end
	for k = 1, 100 do
		addEvent(function()
			if isCreature(cid) then
				local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
				doSendMagicEffect(pos1, 107)
			end
		end, 1 + ((k-1) * 300))
	end
	exhaustion.set(cid, 13101, 30.0)
	return doCombat(cid, combat, var)
end

 

Editado por Thayguroficial (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Thayguroficial seria um servidor derivado ? Quantas vocações ? Ou é um servidor de tibia ?

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
11 horas atrás, KotZletY disse:

@Thayguroficial seria um servidor derivado ? Quantas vocações ? Ou é um servidor de tibia ?

É um servidor derivado, de dragon ball. Tem mais de 400 transformação, se puder fazer pra umas 5 pra mim ver como é o script, depois eu vou criando as outras. 

 

Muito obrigado!

Link para o post
Compartilhar em outros sites
Em 04/04/2017 ás 13:49, Thayguroficial disse:

É um servidor derivado, de dragon ball. Tem mais de 400 transformação, se puder fazer pra umas 5 pra mim ver como é o script, depois eu vou criando as outras. 

 

Muito obrigado!

Não e mais facil você criar 1 para cada vocação ?

Link para o post
Compartilhar em outros sites
1 hora atrás, Radamanthys Wov disse:

Não e mais facil você criar 1 para cada vocação ?

Não, por que eu quero todas as vocações com o mesmo nome da spell (ex: ultimate power up). Só que com efeitos diferentes para cada vocação pra combinar com as sprites!

Link para o post
Compartilhar em outros sites

@Thayguroficial

Spoiler

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 30000)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)

local vocs = {
--[id da voc] = efeito dela
[1] = 107,
[2] = 107,
[3] = 107,
[4] = 107,
[5] = 107,
[6] = 107,
[7] = 107,
[8] = 107,
[9] = 107,
[10] = 107,
}

function onCastSpell(cid, var)
	if exhaustion.check(cid, 13101) == TRUE then
		doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.")
		doSendMagicEffect(getCreaturePosition(cid), 2)
		return false
	end
	for k = 1, 100 do
		addEvent(function()
			if isCreature(cid) then
				if vocs[getPlayerVocation(cid)] then
				 local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
				 doSendMagicEffect(pos1, vocs[getPlayerVocation(cid)])
				else
				 doSendMagicEffect(pos1, 107) -- efeito pardão caso a vocação do player que irá usar não esteja na tabela.
				end
			end
		end, 1 + ((k-1) * 300))
	end
	exhaustion.set(cid, 13101, 30.0)
	return doCombat(cid, combat, var)
end

 

 

Acho que não preciso explicar.

 

[1] = 107, 

 

1 é o id da vocação e 107 é o efeito, adicione quantas vocações desejar e o efeito que ela irá soltar.

 

 

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
7 horas atrás, KotZletY disse:

@Thayguroficial

  Mostrar conteúdo oculto


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 30000)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)

local vocs = {
--[id da voc] = efeito dela
[1] = 107,
[2] = 107,
[3] = 107,
[4] = 107,
[5] = 107,
[6] = 107,
[7] = 107,
[8] = 107,
[9] = 107,
[10] = 107,
}

function onCastSpell(cid, var)
	if exhaustion.check(cid, 13101) == TRUE then
		doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.")
		doSendMagicEffect(getCreaturePosition(cid), 2)
		return false
	end
	for k = 1, 100 do
		addEvent(function()
			if isCreature(cid) then
				if vocs[getPlayerVocation(cid)] then
				 local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
				 doSendMagicEffect(pos1, vocs[getPlayerVocation(cid)])
				else
				 doSendMagicEffect(pos1, 107) -- efeito pardão caso a vocação do player que irá usar não esteja na tabela.
				end
			end
		end, 1 + ((k-1) * 300))
	end
	exhaustion.set(cid, 13101, 30.0)
	return doCombat(cid, combat, var)
end

 

 

Acho que não preciso explicar.

 

[1] = 107, 

 

1 é o id da vocação e 107 é o efeito, adicione quantas vocações desejar e o efeito que ela irá soltar.

 

 

 

Funcionou perfeitamente só que eu queria que o efeito soltasse em cima do personagem, olha como ta na imagem:

 

sq4EH-4.png

Link para o post
Compartilhar em outros sites
7 minutos atrás, Thayguroficial disse:

Funcionou perfeitamente só que eu queria que o efeito soltasse em cima do personagem, olha como ta na imagem:

 

sq4EH-4.png

local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}

tá vendo esse x +0 e o  y +0 ? 

vai editando ex x +1 ....y +1 ou x - 1 .................ou..x-0 ate ficar na posição que você quer.

Editado por Radamanthys Wov
errei na digitação (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
7 minutos atrás, Radamanthys Wov disse:

local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}

tá vendo esse x +0 e o  y +0 ? 

vai editando ex x +1 ....y +1 ou x - 1 .................ou..x-0 ate ficar na posição que você quer.

Esse local pos1 ta valendo somente para o efeito padrão da spell, quando não tem o id da vocation/efeito no local vocs

Link para o post
Compartilhar em outros sites

@Thayguroficial

Spoiler

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 30000)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)


function onCastSpell(cid, var)
local pos = getPlayerPosition(cid)
local vocs = {
--[id da voc] = efeito dela
[1] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[2] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[3] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[4] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[5] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[6] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[7] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[8] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[9] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[10] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}
}

if exhaustion.check(cid, 13101) == TRUE then
 doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.")
 doSendMagicEffect(pos, 2)
 return false
end
 for k = 1, 10 do
  addEvent(function()
   if isCreature(cid) then
    if vocs[getPlayerVocation(cid)] then
     doSendMagicEffect(vocs[getPlayerVocation(cid)][2], vocs[getPlayerVocation(cid)][1])
    else
     doSendMagicEffect(vocs[getPlayerVocation(cid)][2], 107) -- efeito pardão caso a vocação do player que irá usar não esteja na tabela.
    end
   end
  end, 1 + ((k-1) * 300))
 end
 exhaustion.set(cid, 13101, 30.0)
return doCombat(cid, combat, var)
end

 

 

{x=pos.x+0, y=pos.y+0, z=pos.z}}

 

x+1  é mais para a direita

x-1 é mais para esquerda,

 

y+1 mais para baixo

y-1 mais para cima

 

 

a cada +1 é igual 1x sqm a mais.

 

z é a floor atual, não mecha, caso contrario o efeito irá aparecer em tal pos, porém em outro andar. Hahsuahs

 

 

+0 é igual a posição padrão.

 

 

Configure como quiser.

 

Abraços, e até a mais! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
32 minutos atrás, KotZletY disse:

@Thayguroficial

  Ocultar conteúdo


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 30000)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)


function onCastSpell(cid, var)
local pos = getPlayerPosition(cid)
local vocs = {
--[id da voc] = efeito dela
[1] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[2] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[3] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[4] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[5] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[6] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[7] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[8] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[9] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[10] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}
}

if exhaustion.check(cid, 13101) == TRUE then
 doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.")
 doSendMagicEffect(pos, 2)
 return false
end
 for k = 1, 10 do
  addEvent(function()
   if isCreature(cid) then
    if vocs[getPlayerVocation(cid)] then
     doSendMagicEffect(vocs[getPlayerVocation(cid)][2], vocs[getPlayerVocation(cid)][1])
    else
     doSendMagicEffect(vocs[getPlayerVocation(cid)][2], 107) -- efeito pardão caso a vocação do player que irá usar não esteja na tabela.
    end
   end
  end, 1 + ((k-1) * 300))
 end
 exhaustion.set(cid, 13101, 30.0)
return doCombat(cid, combat, var)
end

 

 

{x=pos.x+0, y=pos.y+0, z=pos.z}}

 

x+1  é mais para a direita

x-1 é mais para esquerda,

 

y+1 mais para baixo

y-1 mais para cima

 

 

a cada +1 é igual 1x sqm a mais.

 

z é a floor atual, não mecha, caso contrario o efeito irá aparecer em tal pos, porém em outro andar. Hahsuahs

 

 

+0 é igual a posição padrão.

 

 

Configure como quiser.

 

Abraços, e até a mais! 

Alterei o {x=pos.x+0, y=pos.y+0, z=pos.z}} para {x=pos.x+1, y=pos.y+0, z=pos.z}} o efeito ficou certinho onde eu queria, o problema é que ele só solta o efeito 1x. Não é continuo até o termino da spell (30 segundos).

Link para o post
Compartilhar em outros sites

@Thayguroficial for k = 1, 10 do

antes estava 1, 100

 

altere novamente.

Diminuir apenas para testar.

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
6 minutos atrás, KotZletY disse:

@Thayguroficial for k = 1, 10 do

antes estava 1, 100

 

altere novamente.

Diminuir apenas para testar.

Agora o efeito está durando 30 segundos, só que o efeito fica parado no sqm em que foi usado a spell, ele não acompanha o personagem.

Link para o post
Compartilhar em outros sites
51 minutos atrás, KotZletY disse:

@Thayguroficial

  Ocultar conteúdo


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 30000)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)


function onCastSpell(cid, var)
if exhaustion.check(cid, 13101) == TRUE then
 doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.")
 doSendMagicEffect(pos, 2)
 return false
end
for k = 1, 10 do
 addEvent(function()
local pos = getPlayerPosition(cid)
local vocs = {
--[id da voc] = efeito dela
[1] = {107, {x=pos.x+4, y=pos.y+3, z=pos.z}},
[2] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[3] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[4] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[5] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[6] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[7] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[8] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[9] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}},
[10] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}
}  
 if isCreature(cid) then
  if vocs[getPlayerVocation(cid)] then
   doSendMagicEffect(vocs[getPlayerVocation(cid)][2], vocs[getPlayerVocation(cid)][1])
  else
   doSendMagicEffect(vocs[getPlayerVocation(cid)][2], 107) -- efeito pardão caso a vocação do player que irá usar não esteja na tabela.
  end
 end
 end, 1 + ((k-1) * 300))
end
exhaustion.set(cid, 13101, 30.0)
return doCombat(cid, combat, var)
end

 

 

CARALHOO, desculpa pelo palavrão mas eu tive que expressar minha felicidade, quero te agradecer pela ajuda. Pessoas como você, meu deus tenho nem palavras. Muito obrigado de verdade. Funcionou perfeitamente do jeito que eu queria.

 

REP+++ que merecido

 

 

edit: criando 3 contas pra te da rep+

Editado por Thayguroficial (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Thayguroficial agradeço o carinho, e os elogios, mas isso de dar rep abusivo, é contras as regras, não precisa fazer isso, rep ou não um "obrigado", já basta.

 

Abraços! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
Agora, KotZletY disse:

@Thayguroficial agradeço o carinho, e os elogios, mas isso de dar rep abusivo, é contras as regras, não precisa fazer isso, rep ou não um "obrigado", já basta.

 

Abraços! 

Desculpa, não sabia :(

 

Grande abraço tenha uma boa noite !

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo