Por blade06, 17 de fev. de 2010 em Archived
info
Grupo: Campones
Registrado: 16/02/10
Posts: 12
Reputação: +2
Char no Tibia: [Nenhum Preferencial]
Queria um comando !rank só que ao invez de mostrar o Level mostra os resets dos players
O Script que eu uso é esse aqui:
-- SCRIPT FEITO POR YUNIE -- FUNÇÕES FEITA POR MisterChaos-- config minlevel = 200 -- level para resetar price = 1000 -- Preço para resetar newlevel = 8 -- level após reset newexp = 4200 -- nova experiencia após reset mana = 10000 -- Mana a ser healada ao resetar [ MisterChaos ] vida = 10000 -- Vida a ser Healada ao resetar [MisterChaos] Mais abaixo Item a ser adicionado! -- end config function addReset(cid) resets = getResets(cid) setPlayerStorageValue(cid,36874,resets+1) return true end function getResets(cid) resets = getPlayerStorageValue(cid,36874) if resets < 0 then resets = 0 end return resets end local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'reset') then selfSay('Deseja resetar seu Personagem? Precisa ter '..price..' gp para executar o reset.', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerMoney(cid) < price then selfSay('You must pay '..price..' gold coins to reset.', cid) elseif getPlayerLevel(cid) < minlevel then selfSay('Voce temque ter level '.. minlevel ..' ou mais para Resetar', cid) else doPlayerRemoveMoney(cid,price) doPlayerAddItem(cid, 2159,3) doPlayerAddMana(cid,mana) doCreatureAddHealth(cid,vida) addReset(cid) playerid = getPlayerGUID(cid) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `players`.`id`= ".. playerid .."") end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok.', cid) elseif msgcontains(msg, 'total') then selfSay('Voce tem '..getResets(cid)..' reset(s).', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-- config
minlevel = 200 -- level para resetar
price = 1000 -- Preço para resetar
newlevel = 8 -- level após reset
newexp = 4200 -- nova experiencia após reset
mana = 10000 -- Mana a ser healada ao resetar [ MisterChaos ]
vida = 10000 -- Vida a ser Healada ao resetar [MisterChaos] Mais abaixo Item a ser adicionado!
-- end config
function addReset(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,36874,resets+1)
return true
end
function getResets(cid)
resets = getPlayerStorageValue(cid,36874)
if resets < 0 then
resets = 0
return resets
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
if msgcontains(msg, 'reset') then
selfSay('Deseja resetar seu Personagem? Precisa ter '..price..' gp para executar o reset.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerMoney(cid) < price then
selfSay('You must pay '..price..' gold coins to reset.', cid)
elseif getPlayerLevel(cid) < minlevel then
selfSay('Voce temque ter level '.. minlevel ..' ou mais para Resetar', cid)
else
doPlayerRemoveMoney(cid,price)
doPlayerAddItem(cid, 2159,3)
doPlayerAddMana(cid,mana)
doCreatureAddHealth(cid,vida)
addReset(cid)
playerid = getPlayerGUID(cid)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `players`.`id`= ".. playerid .."")
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
selfSay('Ok.', cid)
elseif msgcontains(msg, 'total') then
selfSay('Voce tem '..getResets(cid)..' reset(s).', cid)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Queria saber se tem algum talkaction para isso aew!
Ou então se alguem tiver o talkaction de !reset que me passem tambem por favor ;D
Brigadao aew desde já , Eu ja venho acompanhando o Xtibia a + de 2 Anos mais só agora fiz minha conta .. Vlw aew pessoal!!
info
Grupo: Campones
Registrado: 16/02/10
Posts: 12
Reputação: +2
Char no Tibia: [Nenhum Preferencial]
Queria um comando !rank só que ao invez de mostrar o Level mostra os resets dos players
O Script que eu uso é esse aqui:
Queria saber se tem algum talkaction para isso aew!
Ou então se alguem tiver o talkaction de !reset que me passem tambem por favor ;D
Brigadao aew desde já , Eu ja venho acompanhando o Xtibia a + de 2 Anos mais só agora fiz minha conta
.. Vlw aew pessoal!!