Primeiramente, obrigado pela contribuição, continue a estudar a linguagem Lua e melhorar seus scripts.
Mas, sinceramente, você não fez nada aí, simplesmente se utilizou de um "bug", ou melhor, de uma verificação interna dos servidores relacionado ao sistema de promotion. Quando você configura duas vocações X e Y, onde o fromvoc de Y é X e usa a função doPlayerSetVocation(cid, Y), ao sair do jogo, o sistema verifica outra variável do jogador, o promotionLevel, se esse é menor que o necessário para ser a vocação Y, então ele automaticamente retorna a vocação para X.
Para exemplificar melhor, tomaremos como exemplo, Sorcerer e Master Sorcerer
<vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="1" gainmanaticks="3" gainmanaamount="2" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="5" name="Master Sorcerer" description="a master sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="1" gainmanaticks="2" gainmanaamount="2" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="30">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
Veja, como dito anteriormente, o fromvoc da vocação Master Sorcerer (ID 5) é o Sorcerer (ID 1).
Ao, equivocadamente, usar a função doPlayerSetVocation(cid, 5) sem usar antes doPlayerSetPromotionLevel(cid, 1), você está "bugando" o sistema, fazendo com que a vocação não seja permanente.
Mas, mesmo assim, belo artifício usado.
Abraços.




info
Grupo: Conde
Registrado: 24/09/06
Posts: 512
Reputação: +369
Claro que não some, o autor do tópico que deve ter alguma coisa no login.lua ou no vocations.xml que faz retornar a vocação