Postado Agosto 14, 2023 1 ano [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]__
Postado Agosto 19, 2023 1 ano 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 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.