Ir para conteúdo

Featured Replies

Postado

@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

  • Respostas 16
  • Visualizações 708
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @Thayguroficial  

  • @Thayguroficial   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.

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

Postado
  • Autor
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

Postado
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)

Postado
  • Autor
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

Postado

@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

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