[CreatureEvents] Resolvendo Bug Das Vocations

Demonbholder
em Globalevents e Spells

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

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:

 

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:

 

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.

Oie :D

nyaricastro

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/07/07Posts: 44Char no Tibia: Magicals Paladin

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

Mystical OT Server Season 2



IP:mysticalot.servegame.com

XP:1400(Stages)

Loot:4

ML:150

Skill:200

assinatura.jpg

mystical.png

0000

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/12/07Posts: 2Char no Tibia: lupin knight

Infelizmente Isso não funcionou no meu OT

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

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?

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

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

 

Mudando de assunto, melhorei a explicação.

Oie :D

Eskylo

boa sorte
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 11/08/10Posts: 477Gênero: Masculino

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 ^^

 

É, 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:

Atenciosamente, Eskylo

 

 

Ironman-icon.png

.

.

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

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.

Oie :D

Tibizeiro

O microfone pra mim é tudo
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/01/09Posts: 51

nao quero ser chato nem tirar o mérito do script, que achei muito bom, mas isso eu faço na fromvoc da voc.xml

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

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.

Oie :D

Hudsin

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 03/03/07Posts: 150Gênero: MasculinoChar no Tibia: Kaball Madness

É verdade, em alguns ots antigos tem esse bug mesmo,obrigado por compartilhar!

aseFp.gif

Aragorn100

Dono Hardcore Open Tibia®
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/06/09Posts: 31Gênero: Masculino

eu to com 1 problemaço no meu servidor de poketibia preciso mudar da de 1 voc pra outra sem promot mas n vai de geito nenhum alguem da uma luz ai

CoLoRaDo

Colorado Das Glórias, o Orgulho do Brasil
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 27/04/09Posts: 242Gênero: MasculinoChar no Tibia: Askators

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")

 

 

?????

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

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.

Oie :D

eickhoff

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 21/05/08Posts: 108

Acho q uma coisa q faltou ai é avisar pros outros q tem tbm q colocar no creaturescript.xml ... né? e.e'''

bem, mas otimo script me ajudou bastante