Ir para conteúdo
  • 0

[Duvida/Pedido] Como fazer o monstro falar uma frase assim que usar um atk


juliok80

Pergunta

Olá, estou criando um monstro novo e gostaria de adicionar uma fala assim que o monstro usar um ataque, dentro do arquivo do monstro existe o seguinte ataque:

 

 

<attack name="earth" interval="1000" chance="12" length="6" spread="3" min="-100" max="-150">

<attribute key="areaEffect" value="smallplants"/>

 

<voices> <voice sentence="exevo tera hur"/> </voices> <-- Linha que adicionei, achando que o monstro iria falar ao usar o ataque... porém sem sucesso.

 

</attack>

 

Alguém saberia me dizer se há algum atributo que eu possa colocar dentro da tag <attack>?

 

Ou então, alguém conseguiria fazer um script para tal ação!?

 

Agradeço desde que nasci!

 

Abraços!

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

@SmiX

 

O dono do tópico quer que quando o monstro use uma magia, ele fale algo, como se fosse um jogador invocando uma magia qualquer? Entendeu agora?

 

@juliok80

 

Então, rapaz, não existe um método possível em Lua e nem opções no arquivo XML do monstro. Mas algumas edições nas sources podem simular algo parecido.

 

Talvez eu faça algo e crie um tópico.

 

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

@SmiX

 

O dono do tópico quer que quando o monstro use uma magia, ele fale algo, como se fosse um jogador invocando uma magia qualquer? Entendeu agora?

 

@juliok80

 

Então, rapaz, não existe um método possível em Lua e nem opções no arquivo XML do monstro. Mas algumas edições nas sources podem simular algo parecido.

 

Talvez eu faça algo e crie um tópico.

 

Abraços.

 

Você entendeu perfeitamente, obrigado!

 

Continuo aguardando alguma solução.

Link para o comentário
Compartilhar em outros sites

  • 0

Poxa vida... quem poderá me ajudar?

 

Alma Bondosa says: Eu! O ???? Colorado!

 

rsrs...

 

Se ninguém se manifestar dentro de uma semana, creio que o que eu estou querendo fazer, não seja possível... o que me resta fazer é sentar e chorar. cry.gif

 

E obrigado pelas pessoas que tentaram me ajudar.

 

[]s

Link para o comentário
Compartilhar em outros sites

  • 0

Quando for fazer uma magia coloque embaixo de "doCombat()" essas linhas:

 

        if isMonster(cid) then
           doCreatureSay(cid, ""..var.."", TALKTYPE_MONSTER)
        end

 

Ficando mais ou menos assim:

 

function onCastSpell(cid, var)
     doCombat(cid, combat, param)

        if isMonster(cid) then
           doCreatureSay(cid, ""..var.."", TALKTYPE_MONSTER)
        end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

Quando for fazer uma magia coloque embaixo de "doCombat()" essas linhas:

 

	 if isMonster(cid) then
		doCreatureSay(cid, ""..var.."", TALKTYPE_MONSTER)
	 end

 

Ficando mais ou menos assim:

 

function onCastSpell(cid, var)
  doCombat(cid, combat, param)

	 if isMonster(cid) then
		doCreatureSay(cid, ""..var.."", TALKTYPE_MONSTER)
	 end
return true
end

 

Olha, fiz o que você disse mas agora o monstro parou de usar a magia... Mas mesmo assim, MUITO obrigado por tentar me ajudar.

 

A versão do meu OT é 8.6 e o arquivo ficou assim, em data\spells\scripts\attack:

 

Esse é o código do exevo tera hur:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 3.5, 7)

local area = createCombatArea(AREA_SQUAREWAVE5, AREADIAGONAL_SQUAREWAVE5)
setCombatArea(combat, area)

function onCastSpell(cid, var)


[b]if isMonster(cid) then[/b]
[b]			doCreatureSay(cid, ""..var.."", TALKTYPE_MONSTER)[/b]
[b] end[/b]

return doCombat(cid, combat, var)
end

 

Por favor, se eu fiz alguma coisa de errado, me dê um tapa na cara e me diga o que devo fazer.

 

Valeu SmiX!

Editado por juliok80
Link para o comentário
Compartilhar em outros sites

  • 0
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 3.5, 7)

local area = createCombatArea(AREA_SQUAREWAVE5, AREADIAGONAL_SQUAREWAVE5)
setCombatArea(combat, area)

function onCastSpell(cid, var)
   if isMonster(cid) then
       doCreatureSay(cid, "exevo tera hur", TALKTYPE_MONSTER)
   end

   return doCombat(cid, combat, var)
end

Link para o comentário
Compartilhar em outros sites

  • 0

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 3.5, 7)

local area = createCombatArea(AREA_SQUAREWAVE5, AREADIAGONAL_SQUAREWAVE5)
setCombatArea(combat, area)

function onCastSpell(cid, var)
if isMonster(cid) then
	doCreatureSay(cid, "exevo tera hur", TALKTYPE_MONSTER)
end

return doCombat(cid, combat, var)
end

 

Aeeeeeeee... agora deu certo!

 

Valeu ai man, vou dar +rep primeiro pro SmiX e depois te dou +rep...

 

Feliz natal e um ótimo ano novo para todos!

 

CYA.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...