Não intende nada. Explique melhor.
[Duvida/Pedido] Como fazer o monstro falar uma frase assim que usar um atk
Por juliok80, 14 de dez. de 2012 em Scripts
@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.
info
Grupo: Artesão
Registrado: 15/11/12
Posts: 120
Reputação: +17
Char no Tibia: Ba Rao

@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.
info
Grupo: Artesão
Registrado: 15/11/12
Posts: 120
Reputação: +17
Char no Tibia: Ba Rao

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. ![]()
E obrigado pelas pessoas que tentaram me ajudar.
[]s
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
info
Grupo: Artesão
Registrado: 15/11/12
Posts: 120
Reputação: +17
Char no Tibia: Ba Rao

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 Dezembro 22 por juliok80
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
info
Grupo: Artesão
Registrado: 15/11/12
Posts: 120
Reputação: +17
Char no Tibia: Ba Rao

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.
info
Grupo: Conde
Registrado: 27/07/12
Posts: 757
Reputação: +57
Char no Tibia: [ADM] Bhoris

duvida senada.
topico reportado!







info
Grupo: Artesão
Registrado: 15/11/12
Posts: 120
Reputação: +17
Char no Tibia: Ba Rao
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!