Cara, eu recomendo que faça o seguinte:
Se você já tem as sprites feitas e tal, então deve começar pela vocation.
Então abra Data/vocations.xml
Siga até o final de toda a linha até encontrar a ultima vocation.
Você irá encontrar essa tag:
</vocation>
</vocations>
Quando encontrar, dê um ENTER na primeira, ficará assim:
</vocation>
</vocations>
Agora, você irá adicionar a primeira vocation do bills, no caso ele sem nenhuma transform..
Ficaria mais ou menos assim:
<vocation id="500" name="Bills" description="a bills" gaincap="50" gainhp="28" gainmana="220" gainhpticks="6" gainhpamount="400" gainmanaticks="3" gainmanaamount="400" manamultiplier="1.1" attackspeed="1200" soulmax="200" gainsoulticks="120" lostexp="3" lostmlv="3" lostskill="3" distdamage="70" meledamage="160" kidamage="15" corpse="2853" charge="11">
<skill id="0" multiplier="3.0"/>
<skill id="1" multiplier="3.0"/>
<skill id="2" multiplier="2.0"/>
<skill id="3" multiplier="1.1"/>
<skill id="4" multiplier="2.0"/>
<skill id="5" multiplier="3.0"/>
<skill id="6" multiplier="1.0"/>
</vocation>
Não se esqueça que no final das tags só pode ter isso:
</vocation>
</vocations>
Agora, a 1° vocation você já fez, só que para ele se transformar, ele precisará de mais 1, então faça os mesmos passos anteriores.
Dê o id da vocation de 501 já que a primeira é 500.
Agora o próximo passo, são as transformações:
Vá em Data/talkactions/scripts copie qualquer arquivo e renomeie para transformar
logo após, abra este arquivo e coloque o seguinte script: ( Créditos ao Avuenja )
local config = {
--[vocation id] = { level, nova voc, looktype, efeito}
[500] = { 50, 501, 123, 233},
[0] = { 0, 0, 0, 0}
}
function onSay(cid, words, param, channel)
doPlayerSay(cid, "transformar")
local voc = config[getPlayerVocation(cid)]
if voc then
if getPlayerLevel(cid) >= voc[1] then
doPlayerSetVocation(cid, voc[2])
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você Transformou!")
local outfit = {lookType = voc[3]}
doCreatureChangeOutfit(cid, outfit)
doSendMagicEffect(getCreaturePosition(cid), voc[4])
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você precisa estar no level " .. voc[1] .. " para transformar.")
end
else
doPlayerSendCancel(cid, "Você não pode se Transformar!")
end
return true
end
e agora vá em Data/Talkactions/Talkactions.xml abra-o e adicione a seguinte tag:
<talkaction words="transformar" script="transformar.lua"/>
Explicando o script das transformações:
[500] = { 50, 501, 123, 233},
Em vermelho é o id da vocação antiga, e que ele precisa estar para se transformar na próxima.
Em verde é o level que ele poderá se transformar, ai então ele só poderá se transformar a partir do level 50.
Em azul é o id da vocação nova que ele irá ganhar ao transformar.
Em laranja é o looktype, será a outfit que ele irá ganhar ao fazer a transformação.
Em rosa é o efeito que dará ao transformar. ( 233 é praticamente uma explosão, bem da hora.)
Prontinho, salve e feche!