Ir para conteúdo

Posts Recomendados

Olá pessoal do XTibia. A algum tempo atrás, eu estava com um problema clássico de segunda promoção; felizmente consegui arrumar, e posto agora para quem tinha duvidas.

 

Este bug acontece quando o jogador tem sua vocação mudada para segunda (ou mais) promoção e então ao sair do jogo e entrar mais uma vez, ele fica sem vocação.

 

Entao eu achei um jeito de resolver esse bug. Vou mostrar o jeito q eu fiz para trocar o vocação, eu fiz por talkaction mas voces podem fazer pelo que vcs quiserem:

 

  Citar
function onSay(cid,words,params)

 

local vocstatus = getPlayerStorageValue(cid, 1593)

if vocstatus == -1 then

if doPlayerRemoveMoney(cid, 10000) == TRUE then

if getPlayerVocation(cid) >= 5 and getPlayerVocation(cid) <= 8 then

if getPlayerLevel(cid) >= 8 then

doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)

setPlayerStorageValue(cid, 1593, 1)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, now you are second promoted.")

else

return doPlayerSendCancel(cid,"You are not strong enought to become a second promoted.")

end

else

return doPlayerSendCancel(cid,"Only first promoteds can become second promoteds.")

end

else

return doPlayerSendCancel(cid,"You dont't have money to promote yourself.")

end

else

return doPlayerSendCancel(cid,"You have already used this talkaction.")

end

end

 

Agora va em data/creaturescripts/scripts, crie um arquivo lua, nomeie para loginvoc e cole isto nele:

 

  Citar
function onLogin(cid)

local vocstatus = getPlayerStorageValue(cid, 1593)

 

if vocstatus == 1 then

doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)

return TRUE

else

return TRUE

end

end

 

Azul: Selecione o Storage que você quiser (um que ainda não tenha sido usado).

Vermelho: Selecione a quantidade de moedas necessárias.

Laranja: Escolha o level mínimo para executar a talkaction.

Rosa: Selecione a mensagem de sucesso.

Verde: Escolha as mensagens de erro (siga a ordem que eu usei).

 

Entao é isso, até a próxima.

 

Edit: Reformulação do script, e melhoramento do mesmo. Script funcionando se os ids das vocações da segunda promoção forem 9,10,11,12.

Editado por Demonbholder
Link para o comentário
https://xtibia.com/forum/topic/118411-creatureevents-resolvendo-bug-das-vocations/
Compartilhar em outros sites

  • 2 months later...

Mtu Bom Demonbholder...muitas pessoas estavam com esse problema...ajudará bastante

E...tbm se deixar o tópico mais colorido ficará mais chamativo...Parabéns

 

Aprovado

Editado por caldo quinor
Link para o comentário
https://xtibia.com/forum/topic/118411-creatureevents-resolvendo-bug-das-vocations/#findComment-805152
Compartilhar em outros sites

  • 3 months later...

Função A

 

doPlayerSetPromotionLevel(cid, level)

 

Função B

 

doPlayerSetVocation(cid, vocation)

 

O comum erro de voltar a vocação é por causa que scripters dos servidores 8.5x usam a função B ao invés da função A.

Ou seja ao invés de dar toda essa volta com um CreatureScript, por que não usar a função A em um NPC de Promotion?

Link para o comentário
https://xtibia.com/forum/topic/118411-creatureevents-resolvendo-bug-das-vocations/#findComment-844581
Compartilhar em outros sites

É, pode ser, mas digamos que ele queira mudar de um druida prum master sorc?

 

Mudando de assunto, melhorei a explicação.

Editado por Demonbholder
Link para o comentário
https://xtibia.com/forum/topic/118411-creatureevents-resolvendo-bug-das-vocations/#findComment-845739
Compartilhar em outros sites

  • 1 year later...
  Em 06/02/2010 em 23:33, Oneshot disse:

Função A

 

doPlayerSetPromotionLevel(cid, level)

 

Função B

 

doPlayerSetVocation(cid, vocation)

 

O comum erro de voltar a vocação é por causa que scripters dos servidores 8.5x usam a função B ao invés da função A.

Ou seja ao invés de dar toda essa volta com um CreatureScript, por que não usar a função A em um NPC de Promotion?

 

Oneshot, q bom t ver d volta =D eu lembro de ter aprendido sobre a func A com vc em um outro post seu ^^

 

  Em 11/02/2010 em 02:44, Demonbholder disse:

É, pode ser, mas digamos que ele queira mudar de um druida prum master sorc?

 

Mudando de assunto, melhorei a explicação.

 

n é o caso D:

Link para o comentário
https://xtibia.com/forum/topic/118411-creatureevents-resolvendo-bug-das-vocations/#findComment-1000435
Compartilhar em outros sites

Não é o caso, mas pode ser adaptado, é só pedir que eu adapto, fora que a função que ele passou, esta dando o mesmo bug. Não precisava reviver o tópico pra isso né cara, mas dessa vez, deixa.

Link para o comentário
https://xtibia.com/forum/topic/118411-creatureevents-resolvendo-bug-das-vocations/#findComment-1000511
Compartilhar em outros sites

  • 3 weeks later...

Parceiro, tem scripts feitos em ots antigos, que necessitam deste scritp para que não de bug no Ot. Outra coisa, isso eu fiz a uns dois anos, quando eu tinha apenas noção de lua. Por favor, não revivam o tópico, não infrinjam as regras.

Link para o comentário
https://xtibia.com/forum/topic/118411-creatureevents-resolvendo-bug-das-vocations/#findComment-1008700
Compartilhar em outros sites

  • 4 months later...
  • 2 weeks later...

ae gente me dêm uma luz...

 

cada vez que eu logo depois de comprar isso vai dando 4 vocations a +....

 

 

e não teria que colocar no login.lua o:

 

registerCreatureEvent(cid, "VocLogin")

 

 

?????

Link para o comentário
https://xtibia.com/forum/topic/118411-creatureevents-resolvendo-bug-das-vocations/#findComment-1075656
Compartilhar em outros sites

Nossa, meu primeiro script postado no XTibia. Que lixo aeuhoehaouhaeohoae.

 

@ADM_Forever

 

Não precisa colocar pra registrar tag em eventos de login e logout.

Link para o comentário
https://xtibia.com/forum/topic/118411-creatureevents-resolvendo-bug-das-vocations/#findComment-1075773
Compartilhar em outros sites

  • 1 year later...
×
×
  • Criar Novo...