Ir para conteúdo
  • 0

Script Talkaction "rank reset ou reset list"


logando1

Pergunta

Galera alguem poderia me indicar um script de rank de resets para eu colokar no meu servidor ???

Eu utilizo o "Perfect Reset System", eu tentei modificar varios system de rank que encontrei aqui no fórum porém como não sou scripter..

Não obtive sucesso, alguem se optaria a me ajudar?? a função é padrão "!rank reset ou "!rlist".

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0


local storage = 39650

 

function onSay(cid, words, param)

local list = " Player Reset Rank"

local query = db.getResult("SELECT player_id, value FROM player_storage WHERE key = "..storage.." ORDER BY value DESC LIMIT 20;")

if query:getID() ~= -1 then

local k = 1

repeat

local playerName, resets = getPlayerNameByGUID(query:getDataInt("player_id")), query:getDataInt("value")

list = string.format("%s\n%d - %s [%d]", list, k, playerName, resets)

k = k + 1

until not query:next()

else

doPlayerSendCancel(cid, "No reset data available.")

end

query:free()

doShowTextDialog(cid, 8983, list)

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

 

-- CONFIGS --

prem = false -- Premium Account necessária para resetar? (true / false)
pz = true -- É preciso estar em Protection Zone para resetar? (true / false)
white = false -- Players com White Skull podem resetar? (true / false)
red = false -- Players com Red Skull podem resetar? (true / false)
black = false -- Players com Black Skull podem resetar? (true / false)
battle = false -- Players com battle podem resetar? (true / false)
teleport = true -- Teleportar o player para o templo após o reset? (true / false)
look = true -- Aparecer resets no look? (true / false)
level = 717217 -- Level necessário para resetar
nlevel = 20000 -- Level que o player ficará após o reset
time = 3 -- Tempo para o player deslogar ao resetar (segundos)
limite = 100 -- Limite de resets (Caso não queira limite, coloque false)
system = "storage" -- Modo do sistema (database / storage)
storage = 39650 -- Storage dos resets
group = 5 -- ID do Group que tem permissão para adicionar resets (6 = god, 5 = cm, 4 = gm, 3 = senior tutor, 2 = tutor)
exhastor = 17138
-- CONFIGS --
------------------------------------------------------------------------------------------------------------------------------------
function getPlayerResets(tid)
if system == "database" then
local a = db.getResult("SELECT `resets` FROM `players` WHERE `id`= "..pid..";")
b = a:getDataInt("resets", pid)
return b
elseif system == "storage" then
return getPlayerStorageValue(tid, storage) < 0 and 0 or getPlayerStorageValue(tid, storage)
else
return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.")
end
end
function doPlayerAddResets(tid, count)
if system == "database" then
return db.executeQuery("UPDATE `players` SET `resets` = '"..(getPlayerResets(tid)+(count == nil and 1 or count)).."' WHERE `id` = '"..pid.."';")
elseif system == "storage" then
return setPlayerStorageValue(tid, storage, getPlayerResets(tid)+(count == nil and 1 or count))
else
return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.")
end
end
function doPlayerReset(tid, count, mid)
if teleport then
doTeleportThing(tid, getTownTemplePosition(getPlayerTown(tid)))
end
local resets = getPlayerResets(tid)
function setResetsInLook(tid)
return db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..(resets+(count == nil and 1 or count)).."]' WHERE `id` = '"..(mid == nil and pid or mid).."';")
end
if system == "database" then
doRemoveCreature(tid)
doPlayerAddResets(tid, count == nil and 1 or count)
elseif system == "storage" then
doPlayerAddResets(tid, count == nil and 1 or count)
doRemoveCreature(tid)
else
return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.")
end
db.executeQuery("UPDATE `players` SET `level` = '"..nlevel.."' WHERE `id` = '"..(mid == nil and pid or mid).."';")
if look then
setResetsInLook(tid)
end
end
------------------------------------------------------------------------------------------------------------------------------------
function onSay(cid, words, param)
pid = getPlayerGUID(cid)
if words == "!reset" or words == "!resetar" then
if prem and not isPremium(cid) then
doPlayerSendCancel(cid, "Você precisa ser Premium Account para resetar.") return true
elseif pz and not getTilePzInfo(getCreaturePosition(cid)) then
doPlayerSendCancel(cid, "Você precisa estar em Protection Zone para resetar.") return true
elseif white and getCreatureSkullType(cid) == SKULL_WHITE then
doPlayerSendCancel(cid, "Você precisa estar sem White Skull para resetar.") return true
elseif red and getCreatureSkullType(cid) == SKULL_RED then
doPlayerSendCancel(cid, "Você precisa estar sem Red Skull para resetar.") return true
elseif black and getCreatureSkullType(cid) == SKULL_BLACK then
doPlayerSendCancel(cid, "Você precisa estar sem Black Skull para resetar.") return true
elseif battle and hasCondition(cid, CONDITION_INFIGHT) then
doPlayerSendCancel(cid, "Você precisa estar sem battle para resetar.") return true
elseif getPlayerLevel(cid) < level then
doPlayerSendCancel(cid, "Você precisa ter level "..level.." para resetar.") return true
elseif limite and getPlayerResets(cid) == limite then
doPlayerSendCancel(cid, "Você já está no limite de resets ("..limite..").") return true
elseif exhaustion.check(cid, exhastor) then
doPlayerSendCancel(cid, "Espere "..exhaustion.get(cid, exhastor).." segundos para usar o comando novamente.") return true
end
addEvent(doPlayerReset, time*1000, cid)
doPlayerPopupFYI(cid, "Você resetou com sucesso. Você agora tem "..(getPlayerResets(cid)+1).." resets. Você será deslogad"..(getPlayerSex(cid) >= 1 and "o" or "a").." em "..time.." segundos.")
exhaustion.set(cid, exhastor, time)
elseif words == "/addresets" then
local t = string.explode(param, ",")
if getPlayerGroupId(cid) < group then return false
elseif not t then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Parâmetros incorretos. Especifique o nome do player e opcionalmente a quantidade de resets.") return true
elseif not getPlayerByName(t[1]) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Player "..t[1].." não encontrado.") return true
elseif t[3] then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Parâmetros incorretos. Especifique apenas o nome do player e opcionalmente a quantidade de resets.") return true
end
addEvent(doPlayerReset, time*1000, getPlayerByName(t[1]), t[2] == nil and "1" or t[2], getPlayerGUIDByName(t[1]))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..(t[2] == nil and "1" or t[2]).." resets no player "..getCreatureName(getPlayerByName(t[1]))..". Agora el"..(getPlayerSex(getPlayerByName(t[1])) >= 1 and "e" or "a").." possui "..(getPlayerResets(getPlayerByName(t[1]))+(t[2] == nil and "1" or t[2])).." resets.")
doPlayerPopupFYI(getPlayerByName(t[1]), ""..getCreatureName(cid).." adicionou "..(t[2] == nil and "1" or t[2]).." resets em seu character. Você agora tem "..(getPlayerResets(getPlayerByName(t[1]))+(t[2] == nil and "1" or t[2])).." resets. Você será deslogad"..(getPlayerSex(getPlayerByName(t[1])) >= 1 and "o" or "a").." em "..time.." segundos.")
end
return true
end
Eu utilizo esse system de reset, creio que seja o melhor... até agorá não encontrei nenhum bug, se tiver algum que eu não saiba me informem por favor rsrs ^^ mas ta ae o script
Olha eu editei varios scripts de ranks que agorá não encontro oque eu mais me interessei para colocar aqui.

UP!!

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

×
×
  • Criar Novo...