Nome: Camando !spells por vocation.
Tipo: Talkaction.
Versão: 8.1
Olá gente, esse é meu primeiro post. Vou ensinar aqui como colocar o comando !spells no seu OT versão 8.1. S[o testei na 8.1, mas acredito que funcione em outras também.
Bom então vamos começar...
Você só vai rpecisar de seu bloco de notas.
PRIMEIRO PASSO:
Entre na pasta dos scripts das talkactions:
OTServ > Data > Talkactions > Scripts
nesta pasta você crie um arquivo com o nome que desejar, eu optei por "spells.lua". Ou se tiver algum arquivo dentro desta pasta, é só copiá-lo, colar na mesma pasta, e renomeá-lo.
SEGUNDO PASSO:
Apague tudo o que estiver no seu novo arquivo.
adicione este código:
function onSay(cid) voc = getPlayerVocation(cid) if voc == 5 then doPlayerSendTextMessage(cid,22,"Magias para Master Sorcerer") elseif voc == 6 then doPlayerSendTextMessage(cid,22,"Magias para Elder Druid") elseif voc == 7 then doPlayerSendTextMessage(cid,22,"Magias para Royal Paladin") elseif voc == 8 then doPlayerSendTextMessage(cid,22,"Magias para Elite Knights") else doPlayerSendTextMessage(cid,22,"Magias para Todos") end return 1 end
voc = getPlayerVocation(cid) - Pega a ID da vocação do player.
if voc == 5 then - ID da vocação do player, (5 = Master Sorcerer), você pode mudar para as IDs com promotion, por exemplo os Knight que tem ID 4, assim a menssagem só vai aparecer para os Knight, basta mudar a ID.
doPlayerSendTextMessage(cid,22,"Magias para Master Sorcerer") - Texto que vai aparecer para o player, caso ele seja Master Sorcerer.
doPlayerSendTextMessage(cid,22,"Magias para Todos") - Se você perceber, existe um ELSE logo acima, que é como se falasse que se a vocação do player não for nenhuma entre as 4 definidas: 5, 6, 7 e 8, ele manda esta mensagem, ou seja, se o player é um Knight por exemplo ele manda esta mensagem, no meu caso eu optei por definir as IDs de player com promotion, mas você pode fazer so para knight por exemplo, e so mudar o ID para 4 (ID do knight).
Abaixo tem mais 3 códigos iguais, que diferem na ID, e no texto, para mudar a seu gosto, basta você saber a ID da vocação, e trocá-la, você tabém pode criar textos para outras vocações, é só copiar isso:
elseif voc == ID_DA_VOCATION then doPlayerSendTextMessage(cid,22,"TEXTO_PARA_A_VOCATION")
e colar a baixo do ultimo código parecido com este.
TERCEIRO PASSO:
Agora volte um nível nas pastas ou seja:
OTServ > Data > Talkactions
Abra o arquivo "talkactions.xml" e adicione esta linha entre as tags <talkactions> </talkactions>:
<talkaction words="!spells" event="script" script="spells.lua"/>
words="!spells" - O que o player deve digitar para que a mensagem apareca em sua tela.
script="spells.lua" - O nome do arquivo .lua que executa a função, ele está em sua pasta Scripts dentro de Talkactions.
Espero que tenham gostado.
Abraços.