E aí galera do Xtibia, beleza?
Hoje tô aqui trazendo um script que eu não encontrei aqui no Fórum, então resolvi fazer ele.
"Ain, mas pra ki ki eli schervi?"
Simples. Ele funciona de maneira muito semelhante ao "teste de vocations" de Dawnport. Vindo itens e pots ao passar pelo tile, e impedindo que tu passe pelo piso caso tenha ultrapassado o lvl máximo.
Foi testado em TFS 0.4 rev 3777.
Bom, sem mais enrolação: Crie um arquivo chamado knight.lua na pasta Movements e cole isso aqui:
function onStepIn(cid, item, position, fromPosition) local config = {lvl = 9, -- lvl máximo pra testar as vocsvoc = 4, --ID da vocmsgaovirar = "", -- msg ao virar a vocmsglvl = "", -- msg caso tiver ultrapassado o lvl máximoa = 054128072016, --storage dos itens, não troque para os scripts das outras vocs. Caso você troque o player vai receber o set inicial mais de 1xb = 054528072016} --storage dos pots, troqe ela para os scripts das outras vocsiteminicial = {1988, --backpack2461, --leather helmet2651, --coat2649, --leather legs2643, --leather boots2050, --torch2120} --rope if getPlayerLevel(cid) < config.lvl then if getPlayerVocation(cid) ~= config.voc then doPlayerSetVocation(cid, config.voc) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendCancel(cid, "você virou um knight") if getPlayerStorageValue(cid, 085628072016) == -1 then doPlayerSendTextMessage(cid, 22, config.msgaovirar) doPlayerSetStorageValue(cid, 085628072016, 1) end if getPlayerStorageValue(cid, config.a) == -1 then for i = 1, #iteminicial, 1 do doPlayerAddItem(cid, iteminicial[i]) end doPlayerSetStorageValue(cid, config.a, 1) end if getPlayerStorageValue(cid, config.b) == -1 then doPlayerAddItem(cid, 7620, 2) --mana pot. Para mage modifique para 10 e para pala modifique para 5 (config do Tibia original) doPlayerAddItem(cid, 8704, 10) --small health potion. Para mage modifique para 2 e para pala modifique para 7 (config do Tibia original) doPlayerSetStorageValue(cid, config.b, 1) end end else doSendMagicEffect(getThingPos(cid), 2) doPlayerSendCancel(cid, "você não pode mais testar as vocaçôes") if getPlayerStorageValue(cid, 082228072016) == -1 then doPlayerSendTextMessage(cid, 22, config.msglvl) doPlayerSetStorageValue(cid, 082228072016, 1) end if getCreatureLookDirection(cid) == 0 then doMoveCreature(cid, 2) elseif getCreatureLookDirection(cid) == 1 then doMoveCreature(cid, 3) elseif getCreatureLookDirection(cid) == 2 then doMoveCreature(cid, 0) elseif getCreatureLookDirection(cid) == 3 then doMoveCreature(cid, 1) end endreturn trueend
E adicione a tag no movements.xml:
<movevent type="StepIn" actionid="111" event="script" value="knight.lua"/>
"Ain, mas esse aí só vai transformar em Knight"
Simples, é só customizar a seu gosto, modificando no config{} o id da voc.
Bem, foi isso aí. Caso alguém tenha erros, é só comentar aqui que tentarei ajudar. E caso alguém queira aprimorar e postar aqui, sinta-se livre, recomecei a scriptar há pouco tempo.