crownzs 9 Postado Julho 16, 2015 Share Postado Julho 16, 2015 (editado) Fui tentar instalar o seguinte sistema reset: --[[ <(Advanced Reset System 2.0)> Autor: MarcelloMkez. Contato: (<script cf-hash='f9e31' type="text/javascript"> /* */</script>) Versão: 2.0 Testado em: 8.50 e 8.60 TFS: 0.3.6 and 0.4.0 -=[Características]=- ~( Versão 2.0 )~ - Resets agora Armazenados na DataBase; (Sem Valor de Storage) - Instala o System e cria a Tabela de Resets com o comando "/installreset"; - Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.; - [sTAGES] para "Premium Account" e "Free Account"; ]] --=[Functions]=-- -- installReset()' [instala o Sistema.] -- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.] -- nowReseting()' [Verifica, retorna o erro ou reseta.] -- getPlayerReset(cid)' [Pega numero de resets do player.] -- checLevelStageReset(cid)' [Verifica o Level para Resetar.] -- newReset(cid)' [Verifica todas as Condições de Reset.] -- addValue(value)' [Adiciona numero de resets.] --=[Comandos de Jogadores]=-- -- "/installreset" -- Só será usado uma vez, para instalar o sistema. -- "!resetar" -- Para Resetar. function onSay(cid, words, param) if words =="!resetar" then --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] pid = getPlayerGUID(cid), -- Não Mexer. --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 100, -- Level que voltará após o Reset. [Valor] time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] }, } --[[>> STAGES <<]]-- x=true;X=true -- Não Mexer. local stage = {Abilitar = {x}, Desabilitar = {}, --<< Abilitar Stages?? >>-- [{x};{}] -- [RESETS] | [PREMMY] | [FREE] stage1= {resets= 4, premmy= 45000, free= 45000}, stage2= {resets= 9, premmy= 75000, free= 75000}, -- EXPLICANDO e Configurando stages. (Se estiver Abilitado [Abilitar = {x}]) stage3= {resets= 13, premmy= 130000, free= 130000}, -- resets = Número de resets para o Stage; stage4= {resets= 16, premmy= 190000, free= 190000}, -- premmy = Level necessário para Premium Accounts; stage5= {resets= 20, premmy= 230000, free= 230000}, -- free = Level necessário para Free Accounts; stage6= {resets= 25, premmy= 280000, free= 280000}, -- Coloque em Ordem... stage7= {resets= 30, premmy= 350000, free= 350000}, -- [OBS: MARQUE UM "X" PARA ABILITAR OU DESABILITAR OS STAGES] stage8= {resets= 40, premmy= 420000, free= 420000}, -- EX: para desabilitar mude: Abilitar = {}, Desabilitar = {x} stage9= {resets= 50, premmy= 420000, free= 420000}, stage10={resets= 50, premmy= 420000, free= 420000}, } --[[>> FIM STAGES <<]]-- --=[Pega Valor de Resets]=-- function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";") rss = qr:getDataInt("reset", coNdConf.pid) if rss < 0 then rss = 0 end return rss end local success = " ~~ Sucesso! ~~ \nVocê tem agora "..(getPlayerReset(cid)+1).." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." ;err = doPlayerSendTextMessage local qrt = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";");rss_db = qrt:getDataInt("reset", coNdConf.pid) local lvl_query = "UPDATE `players` SET `level` = "..(coNdConf.resetConf.backLvl)..", `experience` = 0 WHERE `id`= " .. coNdConf.pid .. ";" local reset_query = "UPDATE `players` SET `reset` = "..(getPlayerReset(cid)+(1)).." WHERE `id`= " .. coNdConf.pid .. ";" local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. coNdConf.pid .. ";" local look_query = "UPDATE `players` SET `description` = ' [Reset "..(getPlayerReset(cid)+(1)).."]' WHERE `players`.`id`= " .. coNdConf.pid .. ";" --=[Reseta]=-- function addValue(value) if coNdConf.look == false then doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(nolook_query) else doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(look_query) return LUA_NO_ERROR end end function nowReseting() if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) else doPlayerPopupFYI(cid, success) addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid))) addEvent(addValue, coNdConf.resetConf.time*1000, value) return true end end --[sTAGES Nao mexer em nada.]-- function checkLevelStageReset(cid) local stages = { {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free}, {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free}, {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free}, {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free}, {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free}, {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free}, {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free}, {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free}, {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free}, {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}, } local resets = getPlayerReset(cid) for i, tab in ipairs(stages) do if resets <= tab.resets then coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free break end end if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then err(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return TRUE end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) else doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid))) return true end end function newReset(cid) if(coNdConf.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == LUA_ERROR) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return TRUE end if(coNdConf.needPa == true) and not isPremium(cid) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return TRUE end if(coNdConf.withe == false) and (getCreatureSkullType(cid) == 3) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return TRUE end if(coNdConf.red == false) and (getCreatureSkullType(cid) == 4) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return TRUE end if(coNdConf.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return TRUE end local xy = {true,false} table.insert(stage.Abilitar, false) table.insert(stage.Desabilitar, false) if stage.Abilitar[1] == xy[1] and stage.Desabilitar[1] == xy[2] then checkLevelStageReset(cid) elseif stage.Abilitar[1] == xy[2] and stage.Desabilitar[1] == xy[1] then nowReseting() else doPlayerPopupFYI(cid, "LUA_ERROR; Configure corretamente o Sistema de STAGES!") end return true end function tableResetInstall() print(not rss_db and LUA_ERROR or "Tabela de Resets: Instalada ... [success] ") addEvent(newReset, 1000, cid) return false end if tableResetInstall() then end end --=[install System]=-- function installReset() if db.executeQuery("ALTER TABLE `players` ADD reset INT(11) NOT NULL DEFAULT 0;") then print("[MarcelloMkez] -= Advanced Reset System 2.0 por DataBase =- Instalado com sucesso!") return TRUE end print('[Advanced Reset System/MarcelloMkez] Não foi possível instalar o Sistema.') return FALSE end local tt = { "Preparando Instalação...", "Instalando: TableReset Db...", "Instalando: getPlayerReset()...", "Instalando: addValue()...", "Instalando: checkLevelStageReset()...", "Instalando: newReset() and nowReseting()...", "Finalizando Instalação...", "...", success = { "Iniciando...", "function: TableReset Db... [success]", "function: getPlayerReset()... [success]", "function: addValue(value)... [success]", "function: checkLevelStageReset()... [success]", "function: newReset() and nowReseting()... [success]", "Fim da Instalação. ", "by: ~~ MarcelloMkez ~~ \nContato: ", inst = {"MarcelloMkez","Advanced Reset System 2.0 por DataBase" }, }, } if words == "/installreset" and getPlayerAccess(cid) >= 3 then function install() if installReset() then print(""..tt.success[7].."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,""..tt.success[8].."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] -="..tt.success.inst[2].."=- Instalado com sucesso!") else print("["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].") end return 1 end function concl(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[7].."") print(""..tt[8].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[7].."") doPlayerSendTextMessage(cid, typetx,""..tt[8].."") addEvent(install, 1000,cid) end function finall(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[6].."") print(""..tt[7].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[6].."") doPlayerSendTextMessage(cid, typetx,""..tt[7].."") addEvent(concl, 3000,cid) end function installDd(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[5].."") print(""..tt[6].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[5].."") doPlayerSendTextMessage(cid, typetx,""..tt[6].."") addEvent(finall, 1000,cid) end function installCc(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[4].."") print(""..tt[5].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[4].."") doPlayerSendTextMessage(cid, typetx,""..tt[5].."") addEvent(installDd, 1000,cid) end function installBb(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[3].."") print(""..tt[4].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[3].."") doPlayerSendTextMessage(cid, typetx,""..tt[4].."") addEvent(installCc, 1000,cid) end function installAa(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[2].."") print(""..tt[3].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[2].."") doPlayerSendTextMessage(cid, typetx,""..tt[3].."") addEvent(installBb, 1000,cid) end function toInstall() local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[1].."") print(""..tt[2].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[1].."") doPlayerSendTextMessage(cid, typetx,""..tt[2].."") addEvent(installAa, 1000,cid) end function preparation() local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt[1].."") doPlayerSendTextMessage(cid, typetx,""..tt[1].."") addEvent(toInstall, 3000,cid) end if preparation() then end end return 1 end --=[by: MarcelloMkez]=-- Acontece que falo /installreset no chat como god. Aparece que a instalação foi bem sucedida. O problema é que não cria nada na minha database e assim o comando !resetar não funciona.. Aparece o seguinte erro: [23:52:07.863] [Error - TalkAction Interface] [23:52:07.863] data/talkactions/scripts/advancedResetSystem.lua:onSay [23:52:07.863] Description: [23:52:07.863] data/lib/004-database.lua:60: [Result:getDataInt] Result not set! [23:52:07.863] stack traceback: [23:52:07.863] [C]: in function 'error' [23:52:07.863] data/lib/004-database.lua:60: in function 'getDataInt' [23:52:07.863] data/talkactions/scripts/advancedResetSystem.lua:63: in function 'getPlayerReset' [23:52:07.863] data/talkactions/scripts/advancedResetSystem.lua:70: in function Editado Julho 16, 2015 por crownzs Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/ Compartilhar em outros sites More sharing options...
0 Bruno 536 Postado Julho 17, 2015 Share Postado Julho 17, 2015 [21:54:30.994] [Error - TalkAction Interface] [21:54:30.995] data/talkactions/scripts/reset.lua:onSay [21:54:30.995] Description: [21:54:30.995] data/talkactions/scripts/reset.lua:20: attempt to call global 'getPlayerIdByName' (a nil value) [21:54:30.995] stack traceback: [21:54:30.995] data/talkactions/scripts/reset.lua:20: in function 'getPlayerReset' [21:54:30.995] data/talkactions/scripts/reset.lua:29: in function --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 100, -- Level que voltará após o Reset. [Valor] time = 5 -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] } } function getPlayerReset(cid) local query = db.getResult("SELECT `reset` FROM `players` WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";" if query:getID() ~= -1 then return tonumber(query:getDataString("reset")) end return 0 end function onSay(cid, words, param) local resetValue = getPlayerReset(cid) + 1 local desc = coNdConf.look and ' [Resets: " .. resetValue .."]' or '' local query = "UPDATE `players` SET `reset` = " .. resetValue .. ", `description` = '" .. desc .. "' WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";" local success = " ~~ Sucesso! ~~ \n\nVocê tem agora " .. resetValue .. " resets." if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true elseif coNdConf.needPz and not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return true elseif coNdConf.needPa == true and not isPremium(cid) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return true elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return true elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return true elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return true end doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerAddLevel(cid, - (getPlayerLevel(cid) - coNdConf.resetConf.Level)) doRemoveCreature(cid) db.query(query) return true end Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661249 Compartilhar em outros sites More sharing options...
0 Bruno 536 Postado Julho 17, 2015 Share Postado Julho 17, 2015 @@crownzs, Vou ser sincero, não sei se vai funcionar, esse sistema ta uma bagunça. De qualquer forma, tenta aí: Primeiramente rode essa query manualmente em sua db: ALTER TABLE `players` ADD `reset` INT(11) NOT NULL DEFAULT 0;Agora tente com o sistema de reset: --[[ <(Advanced Reset System 2.0)> Autor: MarcelloMkez. Contato: ([email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>) Versão: 2.0 Testado em: 8.50 e 8.60 TFS: 0.3.6 and 0.4.0 -=[Características]=- ~( Versão 2.0 )~ - Resets agora Armazenados na DataBase; (Sem Valor de Storage) - Instala o System e cria a Tabela de Resets com o comando "/installreset"; - Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.; - [STAGES] para "Premium Account" e "Free Account"; ]] --=[Functions]=-- -- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.] -- nowReseting()' [Verifica, retorna o erro ou reseta.] -- getPlayerReset(cid)' [Pega numero de resets do player.] -- checLevelStageReset(cid)' [Verifica o Level para Resetar.] -- newReset(cid)' [Verifica todas as Condições de Reset.] -- addValue(value)' [Adiciona numero de resets.] --=[Comandos de Jogadores]=-- -- "!resetar" -- Para Resetar. --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 100, -- Level que voltará após o Reset. [Valor] time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] }, } --[[>> STAGES <<]]-- local stage = { Abilitar = true --<< Abilitar Stages?? >>-- [truen ou false] -- [RESETS] | [PREMMY] | [FREE] stage1 = {resets= 4, premmy= 45000, free= 45000}, stage2 = {resets= 9, premmy= 75000, free= 75000}, stage3 = {resets= 13, premmy= 130000, free= 130000}, stage4 = {resets= 16, premmy= 190000, free= 190000}, stage5 = {resets= 20, premmy= 230000, free= 230000}, stage6 = {resets= 25, premmy= 280000, free= 280000}, stage7 = {resets= 30, premmy= 350000, free= 350000}, stage8 = {resets= 40, premmy= 420000, free= 420000}, stage9 = {resets= 50, premmy= 420000, free= 420000}, stage10 ={resets= 50, premmy= 420000, free= 420000} } --[[>> FIM STAGES <<]]-- --=[Pega Valor de Resets]=-- function getPlayerReset(cid) local query = db.getResult("SELECT `reset` FROM `players` WHERE `id`= " .. getPlayerGUID(cid) .. ";") if query:getID() ~= -1 then return tonumber(query:getDataString("reset")) end return 0 end local success = " ~~ Sucesso! ~~ \nVocê tem agora ".. getPlayerReset(cid) + 1 .." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." --=[Reseta]=-- function addValue(cid) local resetValue = getPlayerReset(cid) + 1 local lvl_query = "UPDATE `players` SET `level` = " .. coNdConf.resetConf.backLvl .. ", `experience` = 0 WHERE `id`= " .. getPlayerGUID(cid) .. ";" local reset_query = "UPDATE `players` SET `reset` = " .. resetValue .. " WHERE `id`= " .. getPlayerGUID(cid) .. ";" local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. getPlayerGUID(cid) .. ";" local look_query = "UPDATE `players` SET `description` = ' [Reset " .. resetValue .."]' WHERE `players`.`id`= " .. getPlayerGUID(cid) .. ";" if not coNdConf.look then doRemoveCreature(cid) db.executeQuery(lvl_query) db.executeQuery(reset_query) db.executeQuery(nolook_query) else doRemoveCreature(cid) db.executeQuery(lvl_query) db.executeQuery(reset_query) db.executeQuery(look_query) end return true end function nowReseting(cid) if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then doPlayerPopupFYI(cid, success) addValue(cid) else doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)) addValue(cid) end return true end --[STAGES Nao mexer em nada.]-- function checkLevelStageReset(cid) local stages = { {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free}, {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free}, {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free}, {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free}, {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free}, {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free}, {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free}, {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free}, {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free}, {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free} } local resets = getPlayerReset(cid) for i, tab in ipairs(stages) do if resets <= tab.resets then coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free break end end if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then doPlayerPopupFYI(cid, success) addValue(cid) else doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)) addValue(cid) end return true end function newReset(cid) if coNdConf.needPz and getTilePzInfo(getCreaturePosition(cid) == LUA_ERROR) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return true elseif coNdConf.needPa == true and not isPremium(cid) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return true elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return true elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return true elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return true end if stage.Abilitar then checkLevelStageReset(cid) else nowReseting(cid) end return true end function onSay(cid, words, param) if words =="!resetar" then newReset(cid) end return true end Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661187 Compartilhar em outros sites More sharing options...
0 crownzs 9 Postado Julho 17, 2015 Autor Share Postado Julho 17, 2015 Obrigado por responder, mas ainda não funcionou. Acusou outro erro agora: [15:53:32.728] [Error - LuaInterface::loadFile] data/talkactions/scripts/advancedResetSystem.lua:54: '}' expected (to close '{' at line 50) near 'stage1' [15:53:32.728] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua) [15:53:32.728] data/talkactions/scripts/advancedResetSystem.lua:54: '}' expected (to close '{' at line 50) near 'stage1' Você recomenda algum sistema de reset? Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661192 Compartilhar em outros sites More sharing options...
0 Bruno 536 Postado Julho 17, 2015 Share Postado Julho 17, 2015 Obrigado por responder, mas ainda não funcionou. Acusou outro erro agora: [15:53:32.728] [Error - LuaInterface::loadFile] data/talkactions/scripts/advancedResetSystem.lua:54: '}' expected (to close '{' at line 50) near 'stage1' [15:53:32.728] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua) [15:53:32.728] data/talkactions/scripts/advancedResetSystem.lua:54: '}' expected (to close '{' at line 50) near 'stage1' Você recomenda algum sistema de reset? Foi só uma vírgula que estava faltando kkkkkk Tenta agora: --[[ <(Advanced Reset System 2.0)> Autor: MarcelloMkez. Contato: ([email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>) Versão: 2.0 Testado em: 8.50 e 8.60 TFS: 0.3.6 and 0.4.0 -=[Características]=- ~( Versão 2.0 )~ - Resets agora Armazenados na DataBase; (Sem Valor de Storage) - Instala o System e cria a Tabela de Resets com o comando "/installreset"; - Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.; - [STAGES] para "Premium Account" e "Free Account"; ]] --=[Functions]=-- -- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.] -- nowReseting()' [Verifica, retorna o erro ou reseta.] -- getPlayerReset(cid)' [Pega numero de resets do player.] -- checLevelStageReset(cid)' [Verifica o Level para Resetar.] -- newReset(cid)' [Verifica todas as Condições de Reset.] -- addValue(value)' [Adiciona numero de resets.] --=[Comandos de Jogadores]=-- -- "!resetar" -- Para Resetar. --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 100, -- Level que voltará após o Reset. [Valor] time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] } } --[[>> STAGES <<]]-- local stage = { Abilitar = true, --<< Abilitar Stages?? >>-- [truen ou false] -- [RESETS] | [PREMMY] | [FREE] stage1 = {resets= 4, premmy= 45000, free= 45000}, stage2 = {resets= 9, premmy= 75000, free= 75000}, stage3 = {resets= 13, premmy= 130000, free= 130000}, stage4 = {resets= 16, premmy= 190000, free= 190000}, stage5 = {resets= 20, premmy= 230000, free= 230000}, stage6 = {resets= 25, premmy= 280000, free= 280000}, stage7 = {resets= 30, premmy= 350000, free= 350000}, stage8 = {resets= 40, premmy= 420000, free= 420000}, stage9 = {resets= 50, premmy= 420000, free= 420000}, stage10 ={resets= 50, premmy= 420000, free= 420000} } --[[>> FIM STAGES <<]]-- --=[Pega Valor de Resets]=-- function getPlayerReset(cid) local query = db.getResult("SELECT `reset` FROM `players` WHERE `id`= " .. getPlayerGUID(cid) .. ";") if query:getID() ~= -1 then return tonumber(query:getDataString("reset")) end return 0 end local success = " ~~ Sucesso! ~~ \nVocê tem agora ".. getPlayerReset(cid) + 1 .." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." --=[Reseta]=-- function addValue(cid) local resetValue = getPlayerReset(cid) + 1 local lvl_query = "UPDATE `players` SET `level` = " .. coNdConf.resetConf.backLvl .. ", `experience` = 0 WHERE `id`= " .. getPlayerGUID(cid) .. ";" local reset_query = "UPDATE `players` SET `reset` = " .. resetValue .. " WHERE `id`= " .. getPlayerGUID(cid) .. ";" local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. getPlayerGUID(cid) .. ";" local look_query = "UPDATE `players` SET `description` = ' [Reset " .. resetValue .."]' WHERE `players`.`id`= " .. getPlayerGUID(cid) .. ";" if not coNdConf.look then doRemoveCreature(cid) db.executeQuery(lvl_query) db.executeQuery(reset_query) db.executeQuery(nolook_query) else doRemoveCreature(cid) db.executeQuery(lvl_query) db.executeQuery(reset_query) db.executeQuery(look_query) end return true end function nowReseting(cid) if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then doPlayerPopupFYI(cid, success) addValue(cid) else doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)) addValue(cid) end return true end --[STAGES Nao mexer em nada.]-- function checkLevelStageReset(cid) local stages = { {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free}, {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free}, {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free}, {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free}, {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free}, {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free}, {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free}, {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free}, {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free}, {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free} } local resets = getPlayerReset(cid) for i, tab in ipairs(stages) do if resets <= tab.resets then coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free break end end if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then doPlayerPopupFYI(cid, success) addValue(cid) else doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)) addValue(cid) end return true end function newReset(cid) if coNdConf.needPz and getTilePzInfo(getCreaturePosition(cid) == LUA_ERROR) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return true elseif coNdConf.needPa == true and not isPremium(cid) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return true elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return true elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return true elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return true end if stage.Abilitar then checkLevelStageReset(cid) else nowReseting(cid) end return true end function onSay(cid, words, param) if words =="!resetar" then newReset(cid) end return true end Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661197 Compartilhar em outros sites More sharing options...
0 crownzs 9 Postado Julho 17, 2015 Autor Share Postado Julho 17, 2015 Deu erro nesta parte: else doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)) addValue(cid) end return trueend Sou leigo em script, mas não está faltando um ')' depois do cid?? Obrigado por responder! **OBS: Depois de colocar ')' da este erro: [17:15:29.033] [Error - TalkAction Interface][17:15:29.033] data/talkactions/scripts/advancedResetSystem.lua[17:15:29.033] Description:[17:15:29.033] data/talkactions/scripts/advancedResetSystem.lua:67: attempt to concatenate a boolean value[17:15:29.033] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua) Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661201 Compartilhar em outros sites More sharing options...
0 Bruno 536 Postado Julho 17, 2015 Share Postado Julho 17, 2015 Deu erro nesta parte: else doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)) addValue(cid) end return true end Sou leigo em script, mas não está faltando um ')' depois do cid?? Obrigado por responder! **OBS: Depois de colocar ')' da este erro: [17:15:29.033] [Error - TalkAction Interface] [17:15:29.033] data/talkactions/scripts/advancedResetSystem.lua [17:15:29.033] Description: [17:15:29.033] data/talkactions/scripts/advancedResetSystem.lua:67: attempt to concatenate a boolean value [17:15:29.033] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua) Você está certo Fiz algumas alterações, espero que agora vá! --[[ <(Advanced Reset System 2.0)> Autor: MarcelloMkez. Contato: ([email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>) Versão: 2.0 Testado em: 8.50 e 8.60 TFS: 0.3.6 and 0.4.0 -=[Características]=- ~( Versão 2.0 )~ - Resets agora Armazenados na DataBase; (Sem Valor de Storage) - Instala o System e cria a Tabela de Resets com o comando "/installreset"; - Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.; - [STAGES] para "Premium Account" e "Free Account"; ]] --=[Functions]=-- -- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.] -- nowReseting()' [Verifica, retorna o erro ou reseta.] -- getPlayerReset(cid)' [Pega numero de resets do player.] -- checLevelStageReset(cid)' [Verifica o Level para Resetar.] -- newReset(cid)' [Verifica todas as Condições de Reset.] -- addValue(value)' [Adiciona numero de resets.] --=[Comandos de Jogadores]=-- -- "!resetar" -- Para Resetar. --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 100, -- Level que voltará após o Reset. [Valor] time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] } } --[[>> STAGES <<]]-- local stage = { Abilitar = true, --<< Abilitar Stages?? >>-- [truen ou false] -- [RESETS] | [PREMMY] | [FREE] stage1 = {resets= 4, premmy= 45000, free= 45000}, stage2 = {resets= 9, premmy= 75000, free= 75000}, stage3 = {resets= 13, premmy= 130000, free= 130000}, stage4 = {resets= 16, premmy= 190000, free= 190000}, stage5 = {resets= 20, premmy= 230000, free= 230000}, stage6 = {resets= 25, premmy= 280000, free= 280000}, stage7 = {resets= 30, premmy= 350000, free= 350000}, stage8 = {resets= 40, premmy= 420000, free= 420000}, stage9 = {resets= 50, premmy= 420000, free= 420000}, stage10 ={resets= 50, premmy= 420000, free= 420000} } --[[>> FIM STAGES <<]]-- --=[Pega Valor de Resets]=-- function getPlayerReset(cid) local query = db.getResult("SELECT `reset` FROM `players` WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";") if query:getID() ~= -1 then return tonumber(query:getDataString("reset")) end return 0 end local success = " ~~ Sucesso! ~~ \nVocê tem agora ".. getPlayerReset(cid) + 1 .." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." --=[Reseta]=-- function addValue(cid) local resetValue = getPlayerReset(cid) + 1 local lvl_query = "UPDATE `players` SET `level` = " .. coNdConf.resetConf.backLvl .. ", `experience` = 0 WHERE `name` = " .. db.escapeString(getPlayerName(cid))) .. ";" local reset_query = "UPDATE `players` SET `reset` = " .. resetValue .. " WHERE `name` = " .. db.escapeString(getPlayerName(cid))..";" local nolook_query = "UPDATE `players` SET `description` = '' WHERE `name` = " .. db.escapeString(getPlayerName(cid))) .. ";" local look_query = "UPDATE `players` SET `description` = ' [Reset " .. resetValue .."]' WHERE `name` = " .. db.escapeString(getPlayerName(cid))) .. ";" if not coNdConf.look then doRemoveCreature(cid) db.executeQuery(lvl_query) db.executeQuery(reset_query) db.executeQuery(nolook_query) else doRemoveCreature(cid) db.executeQuery(lvl_query) db.executeQuery(reset_query) db.executeQuery(look_query) end return true end function nowReseting(cid) if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then doPlayerPopupFYI(cid, success) addValue(cid) else doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) addValue(cid) end return true end --[STAGES Nao mexer em nada.]-- function checkLevelStageReset(cid) local stages = { {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free}, {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free}, {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free}, {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free}, {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free}, {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free}, {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free}, {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free}, {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free}, {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free} } local resets = getPlayerReset(cid) for i, tab in ipairs(stages) do if resets <= tab.resets then coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free break end end if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then doPlayerPopupFYI(cid, success) addValue(cid) else doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) addValue(cid) end return true end function newReset(cid) if coNdConf.needPz and getTilePzInfo(getCreaturePosition(cid) == LUA_ERROR) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return true elseif coNdConf.needPa == true and not isPremium(cid) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return true elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return true elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return true elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return true end if stage.Abilitar then checkLevelStageReset(cid) else nowReseting(cid) end return true end function onSay(cid, words, param) if words =="!resetar" then newReset(cid) end return true end Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661204 Compartilhar em outros sites More sharing options...
0 crownzs 9 Postado Julho 17, 2015 Autor Share Postado Julho 17, 2015 (editado) Amigo, acusou outro erro: [17:54:33.177] (luaSetCombatCondition) Condition not found [17:54:33.222] [Error - LuaInterface::loadFile] data/talkactions/scripts/advancedResetSystem.lua:79: unexpected symbol near ')' [17:54:33.222] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua) [17:54:33.222] data/talkactions/scripts/advancedResetSystem.lua:79: unexpected symbol near ')' Tirei o terceiro ')' das linhas que acusaram erro e rodou na distro. Mas mesmo assim, quando falo !resetar ainda não funciona... Só para perguntar, consigo fazer uma spell para "x" quantidades de resets a partir de um sistema que não use a table reset da database e sim storage? Outra coisa que eu notei que está estanho é que mesmo eu usando o final .lua aparece dessa maneira o arquivo do script: Editado Julho 17, 2015 por crownzs Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661207 Compartilhar em outros sites More sharing options...
0 Bruno 536 Postado Julho 17, 2015 Share Postado Julho 17, 2015 Amigo, acusou outro erro: [17:54:33.177] (luaSetCombatCondition) Condition not found [17:54:33.222] [Error - LuaInterface::loadFile] data/talkactions/scripts/advancedResetSystem.lua:79: unexpected symbol near ')' [17:54:33.222] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua) [17:54:33.222] data/talkactions/scripts/advancedResetSystem.lua:79: unexpected symbol near ')' Tirei o terceiro ')' das linhas que acusaram erro e rodou na distro. Mas mesmo assim, quando falo !resetar ainda não funciona... Testa uma última vez, agora deixei as stages desabilitadas, para fazer um teste. Caso funfar tente com ela habilitada... --[[ <(Advanced Reset System 2.0)> Autor: MarcelloMkez. Contato: ([email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>) Versão: 2.0 Testado em: 8.50 e 8.60 TFS: 0.3.6 and 0.4.0 -=[Características]=- ~( Versão 2.0 )~ - Resets agora Armazenados na DataBase; (Sem Valor de Storage) - Instala o System e cria a Tabela de Resets com o comando "/installreset"; - Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.; - [STAGES] para "Premium Account" e "Free Account"; ]] --=[Functions]=-- -- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.] -- nowReseting()' [Verifica, retorna o erro ou reseta.] -- getPlayerReset(cid)' [Pega numero de resets do player.] -- checLevelStageReset(cid)' [Verifica o Level para Resetar.] -- newReset(cid)' [Verifica todas as Condições de Reset.] -- addValue(value)' [Adiciona numero de resets.] --=[Comandos de Jogadores]=-- -- "!resetar" -- Para Resetar. --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 100, -- Level que voltará após o Reset. [Valor] time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] } } --[[>> STAGES <<]]-- local stage = { Abilitar = false, --<< Abilitar Stages?? >>-- [truen ou false] -- [RESETS] | [PREMMY] | [FREE] stage1 = {resets= 4, premmy= 45000, free= 45000}, stage2 = {resets= 9, premmy= 75000, free= 75000}, stage3 = {resets= 13, premmy= 130000, free= 130000}, stage4 = {resets= 16, premmy= 190000, free= 190000}, stage5 = {resets= 20, premmy= 230000, free= 230000}, stage6 = {resets= 25, premmy= 280000, free= 280000}, stage7 = {resets= 30, premmy= 350000, free= 350000}, stage8 = {resets= 40, premmy= 420000, free= 420000}, stage9 = {resets= 50, premmy= 420000, free= 420000}, stage10 ={resets= 50, premmy= 420000, free= 420000} } --[[>> FIM STAGES <<]]-- --=[Pega Valor de Resets]=-- function getPlayerReset(cid) local query = db.getResult("SELECT `reset` FROM `players` WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";") if query:getID() ~= -1 then return tonumber(query:getDataString("reset")) end return 0 end local success = " ~~ Sucesso! ~~ \nVocê tem agora ".. getPlayerReset(cid) + 1 .." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." --=[Reseta]=-- function addValue(cid) local resetValue = getPlayerReset(cid) + 1 local lvl_query = "UPDATE `players` SET `level` = " .. coNdConf.resetConf.backLvl .. ", `experience` = 0 WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";" local reset_query = "UPDATE `players` SET `reset` = " .. resetValue .. " WHERE `name` = " .. db.escapeString(getPlayerName(cid))..";" local nolook_query = "UPDATE `players` SET `description` = '' WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";" local look_query = "UPDATE `players` SET `description` = ' [Resets: " .. resetValue .."]' WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";" if not coNdConf.look then doRemoveCreature(cid) db.executeQuery(lvl_query) db.executeQuery(reset_query) db.executeQuery(nolook_query) else doRemoveCreature(cid) db.executeQuery(lvl_query) db.executeQuery(reset_query) db.executeQuery(look_query) end return true end function nowReseting(cid) if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then doPlayerPopupFYI(cid, success) addValue(cid) else doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) addValue(cid) end return true end --[STAGES Nao mexer em nada.]-- function checkLevelStageReset(cid) local stages = { {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free}, {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free}, {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free}, {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free}, {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free}, {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free}, {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free}, {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free}, {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free}, {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free} } local resets = getPlayerReset(cid) for i, tab in ipairs(stages) do if resets <= tab.resets then coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free break end end if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then doPlayerPopupFYI(cid, success) addValue(cid) else doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) addValue(cid) end return true end function newReset(cid) if coNdConf.needPz and getTilePzInfo(getCreaturePosition(cid) == LUA_ERROR) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return true elseif coNdConf.needPa == true and not isPremium(cid) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return true elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return true elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return true elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return true end if stage.Abilitar then checkLevelStageReset(cid) else nowReseting(cid) end return true end function onSay(cid, words, param) if words =="!resetar" then newReset(cid) end return true end Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661217 Compartilhar em outros sites More sharing options...
0 crownzs 9 Postado Julho 17, 2015 Autor Share Postado Julho 17, 2015 Mesma coisa, roda limpo mas ao falar !resetar não acontece nada Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661223 Compartilhar em outros sites More sharing options...
0 Bruno 536 Postado Julho 17, 2015 Share Postado Julho 17, 2015 Mesma coisa, roda limpo mas ao falar !resetar não acontece nada Testa esse, e se der certo eu refaço os stages: --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 100, -- Level que voltará após o Reset. [Valor] time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] } } function getPlayerReset(cid) local query = db.getResult("SELECT `reset` FROM `players` WHERE `name` = " .. db.escapeString(getPlayerName(cid))) if query:getID() ~= -1 then return tonumber(query:getDataString("reset")) end return 0 end function onSay(cid, words, param) local resetValue = getPlayerReset(cid) + 1 local desc = coNdConf.look and ' [Resets: " .. resetValue .."]' or '' local query = "UPDATE `players` SET `level` = " .. coNdConf.resetConf.backLvl .. ", `experience` = 0, `reset` = " .. resetValue .. ", `description` = '" .. desc .. "' WHERE `name` = '" .. db.escapeString(getPlayerName(cid)) .. "';" local success = " ~~ Sucesso! ~~ \n\nVocê tem agora " .. resetValue .. " resets." if coNdConf.needPz and getTilePzInfo(getCreaturePosition(cid) == LUA_ERROR) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return true elseif coNdConf.needPa == true and not isPremium(cid) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return true elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return true elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return true elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return true end doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) db.query(query) return true end Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661227 Compartilhar em outros sites More sharing options...
0 crownzs 9 Postado Julho 17, 2015 Autor Share Postado Julho 17, 2015 (editado) Erro: [20:57:27.942] [Error - TalkAction Interface] [20:57:27.942] data/talkactions/scripts/advancedResetSystem.lua:onSay [20:57:27.942] Description: [20:57:27.942] data/lib/050-function.lua:262: attempt to index a boolean value [20:57:27.942] stack traceback: [20:57:27.942] data/lib/050-function.lua:262: in function 'getTilePzInfo' [20:57:27.942] data/talkactions/scripts/advancedResetSystem.lua:34: in function OBS: Fiz o seguinte, desativei o getpzinfo; Agora o comando funciona, mas o player fica no mesmo level depois de resetar. Ele chega a voltar para o templo.. Editado Julho 17, 2015 por crownzs Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661233 Compartilhar em outros sites More sharing options...
0 Bruno 536 Postado Julho 17, 2015 Share Postado Julho 17, 2015 Erro: [20:57:27.942] [Error - TalkAction Interface] [20:57:27.942] data/talkactions/scripts/advancedResetSystem.lua:onSay [20:57:27.942] Description: [20:57:27.942] data/lib/050-function.lua:262: attempt to index a boolean value [20:57:27.942] stack traceback: [20:57:27.942] data/lib/050-function.lua:262: in function 'getTilePzInfo' [20:57:27.942] data/talkactions/scripts/advancedResetSystem.lua:34: in function OBS: Fiz o seguinte, desativei o getpzinfo; Agora o comando funciona, mas o player fica no mesmo level depois de resetar. Ele chega a voltar para o templo.. Agora vai: --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 100, -- Level que voltará após o Reset. [Valor] time = 5 -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] } } function getPlayerReset(cid) local query = db.getResult("SELECT `reset` FROM `players` WHERE `id` = " .. getPlayerIdByName(getPlayerName(cid)) .. ";" if query:getID() ~= -1 then return tonumber(query:getDataString("reset")) end return 0 end function onSay(cid, words, param) local resetValue = getPlayerReset(cid) + 1 local desc = coNdConf.look and ' [Resets: " .. resetValue .."]' or '' local query = "UPDATE `players` SET `reset` = " .. resetValue .. ", `description` = '" .. desc .. "' WHERE `id` = " .. getPlayerIdByName(getPlayerName(cid)) .. ";" local success = " ~~ Sucesso! ~~ \n\nVocê tem agora " .. resetValue .. " resets." if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true elseif coNdConf.needPz and not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return true elseif coNdConf.needPa == true and not isPremium(cid) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return true elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return true elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return true elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return true end doPlayerPopupFYI(cid, success) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerAddLevel(cid, - (getPlayerLevel(cid) - coNdConf.resetConf.Level)) doRemoveCreature(cid) db.query(query) return true end Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661239 Compartilhar em outros sites More sharing options...
0 crownzs 9 Postado Julho 17, 2015 Autor Share Postado Julho 17, 2015 [21:54:30.994] [Error - TalkAction Interface] [21:54:30.995] data/talkactions/scripts/reset.lua:onSay [21:54:30.995] Description: [21:54:30.995] data/talkactions/scripts/reset.lua:20: attempt to call global 'getPlayerIdByName' (a nil value) [21:54:30.995] stack traceback: [21:54:30.995] data/talkactions/scripts/reset.lua:20: in function 'getPlayerReset' [21:54:30.995] data/talkactions/scripts/reset.lua:29: in function Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661245 Compartilhar em outros sites More sharing options...
0 crownzs 9 Postado Julho 17, 2015 Autor Share Postado Julho 17, 2015 Obrigado por ajudar, mas não funcionou. Acho que vou desistir desse script. Fique à vontade se quiser fechar o tópico, já deu muito trabalho... [23:7:08.947] [Error - TalkAction Interface] [23:7:08.947] data/talkactions/scripts/reset.lua:onSay [23:7:08.947] Description: [23:7:08.947] data/talkactions/scripts/reset.lua:20: attempt to concatenate a table value [23:7:08.947] stack traceback: [23:7:08.947] data/talkactions/scripts/reset.lua:20: in function 'getPlayerReset' [23:7:08.947] data/talkactions/scripts/reset.lua:29: in function [23:7:09.505] mysql_real_query(): SELECT `reset` FROM `players` WHERE `name` = ''[Vip] Mosnter' - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[Vip] Mosnter'' at line 1 (1064) Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661268 Compartilhar em outros sites More sharing options...
0 Vodkart 1515 Postado Julho 17, 2015 Share Postado Julho 17, 2015 (editado) pq ta fazendo pelo nome? acessa pelo id do player que não tem erro local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 100 -- Level que voltará após o Reset. [Valor] } } function getPlayerReset(cid) local check = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid)) return check:getDataInt("reset") <= 0 and 0 or check:getDataInt("reset") end function onSay(cid, words, param) local resetValue = getPlayerReset(cid) + 1 if getPlayerLevel(cid) < coNdConf.resetConf.Level then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true elseif coNdConf.needPz and not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return true elseif coNdConf.needPa == true and not isPremium(cid) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return true elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return true elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return true elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return true end doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) db.query("UPDATE `players` SET `reset` = " .. resetValue .. ", `level` = "..coNdConf.resetConf.Level..", `experience` = "..getExperienceForLevel(coNdConf.resetConf.Level)..", `description` = "..(coNdConf.look and "[Resets: "..resetValue.."]" or "").." WHERE `id`= "..getPlayerGUID(cid)) return true end Editado Julho 17, 2015 por Vodkart Link para o comentário https://xtibia.com/forum/topic/235563-sistema-de-reset/#findComment-1661275 Compartilhar em outros sites More sharing options...
Pergunta
crownzs 9
Fui tentar instalar o seguinte sistema reset:
Acontece que falo /installreset no chat como god. Aparece que a instalação foi bem sucedida. O problema é que não cria nada na minha database e assim o comando !resetar não funciona..
Aparece o seguinte erro:
[23:52:07.863] [Error - TalkAction Interface]
[23:52:07.863] data/talkactions/scripts/advancedResetSystem.lua:onSay
[23:52:07.863] Description:
[23:52:07.863] data/lib/004-database.lua:60: [Result:getDataInt] Result not set!
[23:52:07.863] stack traceback:
[23:52:07.863] [C]: in function 'error'
[23:52:07.863] data/lib/004-database.lua:60: in function 'getDataInt'
[23:52:07.863] data/talkactions/scripts/advancedResetSystem.lua:63: in function 'getPlayerReset'
[23:52:07.863] data/talkactions/scripts/advancedResetSystem.lua:70: in function
Editado por crownzsLink para o comentário
https://xtibia.com/forum/topic/235563-sistema-de-reset/Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados