Ir para conteúdo

[Talkaction]Trocar Vocation Por Talkaction


130379

Posts Recomendados

Oi boa tarde a todos meu 1° topico que trago ao xTibia

Entao vamos ao que entereça:

Versao testada:Baiak Server 8.6

 

1° Vá até data/talkaction/scripts Crie um arquivo vocation.lua e ponha isso dentro:

 

 

--0-0BY Gui-0-0-----------------------------------------------------

function onSay(cid, words, param)

 

if getPlayerVocation(cid) <= 8 then

if doPlayerRemoveItem(cid,9633,1) == TRUE then

 

doPlayerSetVocation(cid,getPlayerVocation(cid)+numero da vocation)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have been promoted!")

doSendMagicEffect(getPlayerPosition(cid), 30)

 

else

 

doPlayerSendCancel(cid, "Sorry, you don't have enought money")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

 

end

else

 

doPlayerSendCancel(cid, "Sorry, you are already promoted")

end

end

 

Roxo:é o numero da vocaçao que vc criou(vocation id)

Rosa é no numero do item e a quantidade.

vermelho:é a mensagem que vai aparecer quando o player trocar de vocaçao ou se ele nao tiver o item ou se ele ja tiver a vocaçao

 

Agora Criei o talkaction vamos adicionar a talkaction.xml

 

talkaction words="!supervocation" event="script" value="vocation.lua"/>

 

 

Roxo: mensagem que o player vai usa para virar a nova vocaçao.

vermelho: nome do script que seria vocation.lua

 

Meu Primeiro Post se tiver erros ou soluçoes Melhores Porfavor Corrigam e me ajudem a cada vez melhorar os tópicos do x tibia.

Duvidas Inuteis porfavor sem essa!Duvidas poste perguntas no topico abrçoes. :thumbsupsmiley: :thumbsupsmiley:

Estou com uma duvida no meu ot fiz isso pras 4 vocaçoes trocarem agora seria quando o cara pegar o item e falar o necessario ele troca so q so troca pra sorcerer tpw la no script pus tudo certo so q vai direto pra sorcerer entende!! espero que me ajudem

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

--0-0BY Gui-0-0-----------------------------------------------------

function onSay(cid, words, param)

 

if getPlayerVocation(cid) <= 4 then

if doPlayerRemoveItem(cid,9633,1) == TRUE then

 

doPlayerSetVocation(cid,getPlayerVocation(cid)+4)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have been promoted!")

doSendMagicEffect(getPlayerPosition(cid), 30)

 

else

 

doPlayerSendCancel(cid, "Sorry, you don't have enought money")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

 

end

else

 

doPlayerSendCancel(cid, "Sorry, you are already promoted")

end

end

Corrigi aí, assim

if getPlayerVocation(cid) <= 8 then

vai dar promoção se o player for de uma vocação menor ou igual a 8, não sei se seu server até a vocação 8 ainda são vocações sem promotion, mas em ot, digamos normais, vocação sem promoção vai até 4, entao essa condição deve ser:

if getPlayerVocation(cid) <= 4 then

para dar promoção somente se o jogador tiver vocação 4 ou menor. (Pra ots que 'rook' tem deve ter uma verificação se o jogador já tem vocação.)

 

Nessa linha:

doPlayerSetVocation(cid,getPlayerVocation(cid)+4)

em servidores normais é assim, +4, por que sorcerer (vocação 1) +4=5 5 é master sorcerer e assim por diante. Caso não obedeça a regularidade de +4, você terá de criar uma tabela ou usar elseif.

 

Mesmo assim parabéns pelo script (ele foi montado certo) e pela organização do tópico! :button_ok:

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

×
×
  • Criar Novo...