Ir para conteúdo

Featured Replies

Postado

 

 

[14/08/2023 17:33:41] [VIP] Telemia has logged out.

[14/08/2023 17:33:42] [Error - TalkAction Interface] 
[14/08/2023 17:33:42] In a timer event called from: 
[14/08/2023 17:33:42] data/talkactions/scripts/reset.lua:onSay
[14/08/2023 17:33:42] Description: 
[14/08/2023 17:33:42] (luaGetCreatureStorage) Creature not found

[14/08/2023 17:33:42] [Error - TalkAction Interface] 
[14/08/2023 17:33:42] In a timer event called from: 
[14/08/2023 17:33:42] data/talkactions/scripts/reset.lua:onSay
[14/08/2023 17:33:42] Description: 
[14/08/2023 17:33:42] data/talkactions/scripts/reset.lua:117: attempt to compare boolean with number
[14/08/2023 17:33:42] stack traceback:
[14/08/2023 17:33:42]     data/talkactions/scripts/reset.lua:117: in function 'getResets'
[14/08/2023 17:33:42]     data/talkactions/scripts/reset.lua:96: in function <data/talkactions/scripts/reset.lua:95>

[14/08/2023 17:33:42] [Error - TalkAction Interface] 
[14/08/2023 17:33:42] In a timer event called from: 
[14/08/2023 17:33:42] data/talkactions/scripts/reset.lua:onSay
[14/08/2023 17:33:42] Description: 
[14/08/2023 17:33:42] (luaGetCreatureStorage) Creature not found

[14/08/2023 17:33:42] [Error - TalkAction Interface] 
[14/08/2023 17:33:42] In a timer event called from: 
[14/08/2023 17:33:42] data/talkactions/scripts/reset.lua:onSay
[14/08/2023 17:33:42] Description: 
[14/08/2023 17:33:42] data/talkactions/scripts/reset.lua:117: attempt to compare boolean with number
[14/08/2023 17:33:42] stack traceback:
[14/08/2023 17:33:42]     data/talkactions/scripts/reset.lua:117: in function 'getResets'
[14/08/2023 17:33:42]     data/talkactions/scripts/reset.lua:96: in function <data/talkactions/scripts/reset.lua:95>

[14/08/2023 17:33:42] [Error - TalkAction Interface] 
[14/08/2023 17:33:42] In a timer event called from: 
[14/08/2023 17:33:42] data/talkactions/scripts/reset.lua:onSay
[14/08/2023 17:33:42] Description: 
[14/08/2023 17:33:42] (luaGetCreatureStorage) Creature not found

[14/08/2023 17:33:42] [Error - TalkAction Interface] 
[14/08/2023 17:33:42] In a timer event called from: 
[14/08/2023 17:33:42] data/talkactions/scripts/reset.lua:onSay
[14/08/2023 17:33:42] Description: 
[14/08/2023 17:33:42] data/talkactions/scripts/reset.lua:117: attempt to compare boolean with number
[14/08/2023 17:33:42] stack traceback:
[14/08/2023 17:33:42]     data/talkactions/scripts/reset.lua:117: in function 'getResets'
[14/08/2023 17:33:42]     data/talkactions/scripts/reset.lua:96: in function <data/talkactions/scripts/reset.lua:95>
[14/08/2023 17:33:42] [VIP] Telemia has logged in.

 

function onSay(cid, words, param)
 
--[Configurações de Condição]__
 
config = { --[[verdadeiro / Falso]]
 
needPa = true, -- Precisa de Premium Account? [true / false]
needPz = true, -- Precisa estar em Protection Zone? [true / false]
battle = true, -- Precisa estar sem Batlle para Resetar? [true / false]
withe = false, -- Players PK Withe pode Resetar? [true / false]
red = false, -- Players PK Red pode Resetar? [true / false]
tp = false, -- Teleportar para o Templo após o reset? [true / false]
look = true, -- Mostrar Resets no Look do Player? [true / false]
addLimite = true, -- Abilitar Limite de Resets? [true / false]
setClasse = false, -- Mudar Vocação do player quando resetar? [true / false]
storage = 54676, -- Storage [valor]
 
 
--[Configurações do Reset]__
 
resetStatus = {
 
player = getPlayerGUID(cid), -- Não Mude.
lvl = 717217, -- Level Necessário para Resetar. [valor]
lvlreset = 150, -- Level que retornará após o Reset. [valor]
limite = 100, -- Máximo de resets que um player pode chegar. [valor]
newClasse = 0, -- Id da Nova Vocação após o Reset. [valor]
tempo = 0
},
}
 
--[Funções]__
 
function Reseting(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,config.storage,resets+1)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doPlayerSetVocation(cid, config.resetStatus.newClasse)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
return TRUE
end
 
function noAll(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,config.storage,resets+1)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
return TRUE
end
 
function noTeleporting(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,config.storage,resets+1)
doPlayerSetVocation(cid, config.resetStatus.newClasse)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
return TRUE
end
 
function noLook(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,config.storage,resets+1)
doPlayerSetVocation(cid, config.resetStatus.newClasse)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
return TRUE
end
 
function noClasse(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,config.storage,resets+1)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
return TRUE
end
 
function setClasse(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,config.storage,resets+1)
doPlayerSetVocation(cid, config.resetStatus.newClasse)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
return TRUE
end
 
function look(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,config.storage,resets+1)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
return TRUE
end
 
function teleporting(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,config.storage,resets+1)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
return TRUE
end
 
function getResets(cid)
resets = getPlayerStorageValue(cid,config.storage)
 
if resets < 0 then
resets = 0
end
return resets
 
end
 
 
local resets = getResets(cid)
local needLvl ="Você precisa de "..config.resetStatus.lvl-getPlayerLevel(cid).." level's para resetar."
local msg ="~~[Reset: "..getResets(cid).."]~~ 'Sucesso ao Resetar! Você será deslogado em "..config.resetStatus.tempo.." Segundos."
 
 
--[Condiçoes]__

local storageKey = 13545

if getCreatureStorage(cid, storageKey) < os.time() then
doPlayerPopupFYI(cid, "Somente Player VIP Account.")
return true
 
elseif(config.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid,22,"Você Precisa estar em Protection Zone Para Resetar.")
return TRUE
 
elseif(config.addLimite == true) and (getResets(cid) == config.resetStatus.limite) then
doPlayerSendTextMessage(cid, 22, "Você ja atingiu o Limite de Resets.")
return TRUE
 
elseif(config.withe == false) and (getCreatureSkullType(cid) == 3) then
doPlayerSendTextMessage(cid,22,"Você ta PK White, por isso não pode resetar.")
return TRUE
 
elseif(config.red == false) and (getCreatureSkullType(cid) == 4) then
doPlayerSendTextMessage(cid,22,"Você ta PK Red, por isso não pode resetar.")
return TRUE
 
elseif(config.needPa == true) and not isPremium(cid) then
doPlayerSendTextMessage(cid,22,"Você Precisa ser Premium Account para Resetar.")
return TRUE
 
elseif(config.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid,22,"Você Precisa estar sem Battle para Resetar.")
return TRUE
 
elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == true) then
addEvent(Reseting, config.resetStatus.tempo* 1000, cid)
 
elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == false) then
addEvent(noAll, config.resetStatus.tempo* 1000, cid)
 
elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == true) then
addEvent(noTeleporting, config.resetStatus.tempo* 1000, cid)
 
elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == true) then
addEvent(noLook, config.resetStatus.tempo* 1000, cid)
 
elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == false) then
addEvent(noClasse, config.resetStatus.tempo* 1000, cid)
 
elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == true) then
addEvent(setClasse, config.resetStatus.tempo* 1000, cid)
 
elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == false) then
addEvent(look, config.resetStatus.tempo* 1000, cid)
 
elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == false) then
addEvent(teleporting, config.resetStatus.tempo* 1000, cid)
 
elseif doPlayerSendCancel(cid, needLvl) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
return TRUE
end
 
if doPlayerPopupFYI(cid, msg) then
 
end
return TRUE
 
end
 
--[By: Linnux]__

 

91-thais.png

Postado
  • Diretor

function onSay(cid, words, param)
    -- Configurações gerais
    local config = {
        needPa = true,  -- Necessita ser uma conta premium?
        needPz = true,  -- Precisa estar em uma área de proteção (Protection Zone)?
        battle = true,  -- Precisa estar fora de combate para resetar?
        withe = false,  -- Jogadores com PK "Branco" podem resetar?
        red = false,   -- Jogadores com PK "Vermelho" podem resetar?
        tp = false,     -- Teleportar para o templo após o reset?
        look = true,    -- Mostrar o reset no status do jogador?
        addLimite = true,  -- Ativar limite de resets?
        setClasse = false,  -- Mudar a vocação do jogador ao resetar?
        storage = 54676,    -- Valor de armazenamento para contagem de resets
    }

    -- Configurações específicas para o reset
    local resetStatus = {
        lvl = 717217,   -- Nível necessário para resetar
        lvlreset = 150, -- Nível que o jogador terá após o reset
        limite = 100,   -- Máximo de resets permitidos
        newClasse = 0,  -- Nova vocação após o reset (0 significa que não muda)
        tempo = 0,      -- Tempo em segundos antes do reset acontecer
    }

    local player = getPlayerGUID(cid)  -- Obtém o GUID (identificador único) do jogador
    local resets = getPlayerStorageValue(cid, config.storage)  -- Obtém o número de resets do jogador
    local needLvl = "Você precisa de " .. resetStatus.lvl - getPlayerLevel(cid) .. " níveis para resetar."
    local msg = "~~[Reset: " .. resets .. "]~~ Sucesso ao resetar! Você será desconectado em " .. resetStatus.tempo .. " segundos."

    -- Verificações de condições antes do reset
    if not isPremium(cid) and config.needPa then
        doPlayerSendTextMessage(cid, 22, "Você precisa ser uma conta Premium para resetar.")
    elseif config.needPz and not getTilePzInfo(getCreaturePosition(cid)) then
        doPlayerSendTextMessage(cid, 22, "Você precisa estar em uma área de proteção para resetar.")
    elseif config.addLimite and resets == resetStatus.limite then
        doPlayerSendTextMessage(cid, 22, "Você já atingiu o limite de resets permitidos.")
    elseif not config.withe and getCreatureSkullType(cid) == SKULL_WHITE then
        doPlayerSendTextMessage(cid, 22, "Você está com PK 'Branco', por isso não pode resetar.")
    elseif not config.red and getCreatureSkullType(cid) == SKULL_RED then
        doPlayerSendTextMessage(cid, 22, "Você está com PK 'Vermelho', por isso não pode resetar.")
    elseif config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
        doPlayerSendTextMessage(cid, 22, "Você precisa estar fora de combate para resetar.")
    elseif getPlayerLevel(cid) < resetStatus.lvl then
        doPlayerSendCancel(cid, needLvl)
    else
        -- Função para realizar o reset
        local function performReset()
            resets = getPlayerStorageValue(cid, config.storage) + 1
            setPlayerStorageValue(cid, config.storage, resets)

            if config.tp then
                doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
            end

            if config.setClasse then
                doPlayerSetVocation(cid, resetStatus.newClasse)
            end

            doRemoveCreature(cid)
            db.executeQuery("UPDATE `players` SET `level` = " .. resetStatus.lvlreset .. ", `experience` = 0 WHERE `id` = " .. player)
            db.executeQuery("UPDATE `players` SET `description` = ' [Reset " .. resets .. "]' WHERE `players`.`id` = " .. player)

            if config.look then
                db.executeQuery("UPDATE `players` SET `description` = ' [Reset " .. resets .. "]' WHERE `players`.`id` = " .. player)
            else
                db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = " .. player)
            end

            doPlayerPopupFYI(cid, msg)
        end

        -- Adiciona um evento para realizar o reset após um determinado tempo
        addEvent(performReset, resetStatus.tempo * 1000)
    end    return true
end

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo