Tenta este aqui:
Em data/talkactions/scripts crie um arquivo com o nome de vocationreset.lua e adicione:
--[[ Reset System to Vocation, Mana and Life Por: MarcelloMkezPedido por: BiielGR.
]]
function onSay(cid, words, param)
conf = {
pid = getPlayerGUID(cid), -- Não Mexer.
storage = 2321, -- Storage [Valor]
needPz = true, -- Precisa estar em Pz pra resetar? [true, false]
needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false]
withe = false, -- Players com Pk Withe podem resetar? [true, false]
red = false, -- Players com Pk Red pode resetar? [true, false]
battle = false, -- Players precisam estar sem battle pra resetar? [true, false]
addLimite = true, -- Abilitar Limite de Resets? [true / false]
Reset = {
Level = 30000, -- Level Necessário para Resetar. [Valor]
backLvl = 10000, -- Level que voltará após o Reset. [Valor]
limite = 4, -- Máximo de resets que um player pode chegar. [Valor]
time = 5, -- Tempo para o Player deslogar, em segundos. [Valor]
vocationID = 10 -- Id da vocação Nova. [Valor]
},
}
--[Reset]--
function onReset(cid)
reset = getResets(cid)
setPlayerStorageValue(cid, conf.storage,reset+1)
setPlayerPromotionLevel(cid, getPlayerPromotionLevel(cid)+1)
doPlayerSetVocation(cid, conf.Reset.vocationID)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..conf.Reset.backLvl..", `experience` = 0 WHERE `id` = "..conf.pid)
return 1
end
function getResets(cid)
Resets = getPlayerStorageValue(cid, conf.storage)
if Resets <= 0 then
resets = 0
end
return Resets
end
local reseting =" -= Sucesso! Você será deslogado em "..conf.Reset.time.." segundos. =-"
if getPlayerPromotionLevel(cid) == 1 then
doPlayerSendTextMessage(cid, 22,"-= Você Deve ser promovido para Vocação ! =-")
return 1
end
if getResets(cid) == 1 then
doPlayerSendTextMessage(cid, 22,"-= Você Já Éh Knight! =-")
return 1
end
if (getPlayerPromotionLevel(cid) == 0) then
doPlayerSendTextMessage(cid,22,"-= Você Precisa Ser Promovido para Evoluir =-")
return TRUE
end
if(conf.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid,22,"- Você Precisa estar em Protection Zone Para ser Promovido -")
return TRUE
elseif(conf.needPa == true) and not isPremium(cid) then
doPlayerSendTextMessage(cid,22,"- Você Precisa ser Premium Account Para ser Promovido -")
return 1
elseif(conf.withe == false) and (getCreatureSkullType(cid) == 3) then
doPlayerSendTextMessage(cid,22,"- Você não pode Evoluir em condições de PK Withe -")
return 1
elseif(conf.red == false) and (getCreatureSkullType(cid) == 4) then
doPlayerSendTextMessage(cid,22,"- Você não pode Evoluir em condições de PK Red -")
return 1
elseif(conf.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid,22,"- Você Precisa estar sem Battle para ser Promovido. -")
return 1
end
if getPlayerLevel(cid) >= conf.Reset.Level then
doPlayerPopupFYI(cid, reseting)
addEvent(onReset, conf.Reset.time*1000, cid)
else
doPlayerSendTextMessage(cid, 22, "-= Level Necessário Para a Evolução: ["..conf.Reset.Level.."]. Faltam "..conf.Reset.Level-getPlayerLevel(cid).." Level's Para Você ser Promovido.=-")
end
return TRUE
end
--[by: MarcelloMkez]--
Em Talkactions.xml adicione:
<talkaction words="!vocation" event="script" value="vocationreset.lua"/>
Créditos: MarcelloMkez.




info
Grupo: Campones
Registrado: 14/12/11
Posts: 74
Reputação: 0
Char no Tibia: Bagola
Eu queria um comando parecido com !reset.
Mais o meu eu quero que o char volte para o level 10 e ele ganha uma nova vocação.
Ex: O player e vocation 3 ai ele da !vocation e ele vira vocation 4. e assim por diante.
+REP para quem ajudar.
Meu ot e 8.60;