Ir para conteúdo

[TFS 0.4] Dawnport Test Vocation System


Posts Recomendados

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:

Spoiler
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:

Spoiler
<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.

Editado por Gabriel Netto
Link para o comentário
Compartilhar em outros sites

  • 2 months later...
×
×
  • Criar Novo...