Por HatakeeKakashi, 26 de abr. de 2014 em Archived
pedido
valendo + rep
script
1
413
HatakeeKakashiSer diferente nem sempre significa ser melhor!HCampones
info
Grupo: Campones
Registrado: 10/09/12
Posts: 67
Reputação: +1
Char no Tibia: Hatake Kakashi
26 de abril de 2014 às 15:11
acho que o titulo já é alto explicativo mais eu posso comentar rapidamente ...
Eu uso sistema de resets e a cada determinado reset conquistado a exp diminuiria isso é uma coisa que quero que aconteça não tem aqui . Exemplo com 1 - 100 resets minha exp tá 10k ai de 101 resets em diante ela vai pra 5k
Aqui vai o script
-- 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 = true -- Players com battle podem resetar? (true / false)
teleport = false -- Teleportar o player para o templo após o reset? (true / false)
look = true -- Aparecer resets no look? (true / false)
level = 350 -- Level necessário para resetar
nlevel = 100 -- Level que o player ficará após o reset
time = 1 -- Tempo para o player deslogar ao resetar (segundos)
limite = 3500 -- 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
info
Grupo: Campones
Registrado: 10/09/12
Posts: 67
Reputação: +1
Char no Tibia: Hatake Kakashi
acho que o titulo já é alto explicativo mais eu posso comentar rapidamente ...
Eu uso sistema de resets e a cada determinado reset conquistado a exp diminuiria isso é uma coisa que quero que aconteça não tem aqui . Exemplo com 1 - 100 resets minha exp tá 10k ai de 101 resets em diante ela vai pra 5k
Aqui vai o script
-- 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 = true -- Players com battle podem resetar? (true / false) teleport = false -- Teleportar o player para o templo após o reset? (true / false) look = true -- Aparecer resets no look? (true / false) level = 350 -- Level necessário para resetar nlevel = 100 -- Level que o player ficará após o reset time = 1 -- Tempo para o player deslogar ao resetar (segundos) limite = 3500 -- 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 endVlw e até mais ! ( Qualquer duvida posta ai obg )
Ops deu double post ;x
se alguem puder apagar pra min ! vlw