Ir para conteúdo

[Action] [8.1] - Comando !spells Por Vocation.


khaleesi95

Posts Recomendados

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.

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

  • 1 month later...
×
×
  • Criar Novo...