LU

[Resolvido] Fazer O Player Ganhar Um Item Por Atingir Um Nivel

Por lucasinfotecxxx, 19 de dez. de 2010 em Archived

otserv
tibia
script
8
1.5k
19 de dezembro de 2010 às 22:32

Primeiramente olá a todos do Xtibia, depois de muito quebrar a cabeça, conssegui fazer um script para o player ganhar um item ao atingir determinado nivel, esse modelo que eu trouxe pra vcs, é pra dar 20k para o player quando ele upar o nivel 20.

 

Pra quem quiser:

 

function onAdvance(cid, oldLevel, newLevel)

if (getPlayerLevel(cid) == 20) then

doPlayerAddItem(cid,2160,2)

doPlayerSendTextMessage(cid,25,"Parabens por upar o level 20, aqui esta o seu dinheiro para a promotion!")

end

end

 

salva esse script com qualquer nome e com a estensão .lua e add na pasta data\creaturescript\script

 

 

no arquivo login.lua que tem dentro da pasta de scripts voce adiciona isso:

 

 

registerCreatureEvent(cid, "levelplayer")

 

 

e no xml voce adiciona isso:

 

 

<event type="advance" name="levelplayer" script="nome do arquivo.lua"/>

 

 

Font By Bily Jhow!! Te ajudei?? Rep++

bonazza20B
19 de dezembro de 2010 às 22:43

acho que jáa existia um script parecido com esse por aqui se não me engano

2 meses depois...
nkttN
02 de fevereiro de 2011 às 23:28

pegando lvl 20 e morrendo para o 19 e pegando lvl 20 de novo recebe o dinheiro de novo! ^^

como arruma isso?

otherealityO
03 de fevereiro de 2011 às 11:40

eu sei um geito de arrumar tenho um script aki feito pelo membro "skylo"

que ao atingir um level vc é teleportado.

 

pode ser usado esse para teleportar o player para uma salinha com o bau e o tp pra voltar pro templo...

dai mesmo que o players pegue level ele ja vai ter completado a quest. =D

se estiver interessado me diga.

VodkartV
03 de fevereiro de 2011 às 13:13
function onAdvance(cid, skill, oldLevel, newLevel) 
local new_level = 20
local text = "Parabens, " .. getCreatureName(cid) .. " você avançou de level,você recebeu 20k para promote!" 

if skill == 8 then 
if (oldLevel < new_level ) and (newLevel >= new_level) and getPlayerStorageValue(cid, 32647) <= 0 then 
doPlayerSendTextMessage(cid,19,text)
doPlayerAddItem(cid,2160,2)
setPlayerStorageValue(cid, 32647, 1)
return TRUE 
end 
end 
return TRUE 
end

Editado Fevereiro 3 por Vodkart

2 semanas depois...
nkttN
14 de fevereiro de 2011 às 00:20

não pegou, poderia mandar certinho como ficaria em cada pasta? ( xml, lua etc?) obrigado

VodkartV
14 de fevereiro de 2011 às 01:15

o meu funciono sim,você que não saber adicionar:

 

creaturescript/script

 

msglevel.lua

function onAdvance(cid, skill, oldLevel, newLevel) 
local new_level = 20
local text = "Parabens, " .. getCreatureName(cid) .. " você avançou de level,você recebeu 20k para promote!" 

if skill == 8 then 
if (oldLevel < new_level ) and (newLevel >= new_level) and getPlayerStorageValue(cid, 32647) <= 0 then 
doPlayerSendTextMessage(cid,19,text)
doPlayerAddItem(cid,2160,2)
setPlayerStorageValue(cid, 32647, 1)
return TRUE 
end 
end 
return TRUE 
end

 

creaturescript/script/onlogin.lua

registerCreatureEvent(cid, "MsgLevel")

 

creaturescript.xml

<event type="Advance" name="MsgLevel"  script="msglevel.lua"/>

1 mês depois...
otherealityO
02 de março de 2011 às 11:15

ou então usem o do vodkart né... :worriedsmiley:

 

suashaushu