Postado Agosto 13, 2023 1 ano Ola Pessoal Preciso de Ajuda Com Sistema Reset Queria Pode Fazer que o Reset Desse Mais Atributos Para os Jogadores Dano + 3% - Life +5% Mana + 5% ( A CADA RESET ) Uso OTX 2 e o Sistema Reset Nas Soucers ! Se Poder me ajudar de Verdade ! Eu Aceito Que me Chame no Pv ( Passarei Meu Whats ) ! Tmj Pessoal Do TibiaKing ♥ Editado Agosto 13, 2023 1 ano por djteteh (veja o histórico de edições)
Postado Agosto 13, 2023 1 ano Em 13/08/2023 em 00:41, djteteh disse: Queria Pode Fazer que o Reset Desse Mais Atributos Para os Jogadores Dano + 3% - Life +5% Mana + 5% ( A CADA RESET ) Cara, eu já enviei um link que tem tudo o que você estava procurando: É só pegar o NPC "Master Reset", o CreatureScript também, as libs... Pegue essas coisas e coloque em seu servidor, é simples. '-' Para que serve reset? A cada 1000 leveis você pode recomeçar do inicio, seu char voltará ao level 8, porém você agora terá + 2.0% de dano por reset +10% de exp, +5% ganho de vida e mana ao upar level. Obs: Se você quiser fazer ajustes do seu jeito, fique à vontade. É muito simples e fácil de configurar. npc- Master Reset.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) local pid = getPlayerGUID(cid) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'master reset') then doPlayerPopupFYI(cid, "Master Reset\n\n(Sobre o Sistema)\n(+)Reset parcial do personagem\n(+)Chance de resetar level mais alto\n(+)Não perde quests,task, dodge e nem critical\n(+)Não perde skills.\n\n (ATENÇÃO!)\n\nO Master Reset volta o seu personagem ao level 30, reset 0, life e mana inicial!!") selfSay('Tendo em vista todas as informações apresentadas, você realmente deseja dar um Master Reset? Esse processo tem um custo de 100 vip coins e é irreversível! Diga {yes} para confirmar.', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if doPlayerRemoveItem(cid, 6527,100) then --Tira toda a vida e soma + 185 doCreatureAddHealth(cid, -getCreatureHealth(cid)+185) setCreatureMaxHealth(cid,185) --Tira toda a mana e soma + 35 doCreatureAddMana(cid, -getCreatureMana(cid)+35) setCreatureMaxMana(cid,35) doTeleportThing(cid, getTownTemplePosition(1)) doRemoveCreature(cid) local reset_level = "UPDATE players SET level = 30 WHERE id= " ..pid.. ";" local reset_query = "UPDATE players SET reset = 0 WHERE id= " ..pid.. ";" local reset_exp = "UPDATE players SET experience = 4200 WHERE id= " ..pid.. ";" db.executeQuery(reset_exp) db.executeQuery(reset_query) db.executeQuery(reset_level) else selfSay("Você não possui 100 event tokens", cid) end talkState[talkUser] = 0 end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) creaturescrpt <!-- Reset System --> <event type="login" name="RSLogin" script="reset_system.lua"/> reset_system.lua function onLogin(cid) ResetSystem:addBonuses(cid) registerCreatureEvent(cid, "RSGainExperience") registerCreatureEvent(cid, "RSAdvance") return true end function onGainExperience(cid, source, experience) local resetBonus = ResetSystem:getInfo(cid) if (resetBonus and resetBonus.exp_percent > 0) then experience = experience * (1.0 + (resetBonus.exp_percent / 100.0)) end return experience end data/libs/reset.lua ResetSystem = { back_to_level = 500, Reset = { [1] = {needed_level = 15000, damage_percent = 2}, [2] = {needed_level = 16000, damage_percent = 4}, [3] = {needed_level = 16500, damage_percent = 6}, [4] = {needed_level = 16700, damage_percent = 8}, [5] = {needed_level = 20000, damage_percent = 10}, [6] = {needed_level = 20000, damage_percent = 12}, [7] = {needed_level = 20000, damage_percent = 14}, [8] = {needed_level = 20000, damage_percent = 16}, [9] = {needed_level = 20000, damage_percent = 18}, [10] = {needed_level = 21000, damage_percent = 20}, [11] = {needed_level = 21000, damage_percent = 22}, [12] = {needed_level = 21000, damage_percent = 24}, [13] = {needed_level = 21000, damage_percent = 26}, [14] = {needed_level = 21000, damage_percent = 28}, [15] = {needed_level = 22500, damage_percent = 30}, [16] = {needed_level = 24000, damage_percent = 32}, [17] = {needed_level = 25500, damage_percent = 34}, [18] = {needed_level = 27000, damage_percent = 36}, [19] = {needed_level = 28500, damage_percent = 38}, [20] = {needed_level = 30000, damage_percent = 40}, [21] = {needed_level = 31500, damage_percent = 42}, [22] = {needed_level = 33000, damage_percent = 44}, [23] = {needed_level = 34500, damage_percent = 46}, [24] = {needed_level = 36000, damage_percent = 48}, [25] = {needed_level = 37500, damage_percent = 50}, [26] = {needed_level = 39000, damage_percent = 52}, [27] = {needed_level = 40500, damage_percent = 54}, [28] = {needed_level = 42000, damage_percent = 56}, [29] = {needed_level = 43500, damage_percent = 58}, [30] = {needed_level = 45000, damage_percent = 60}, [31] = {needed_level = 46500, damage_percent = 62}, [32] = {needed_level = 48000, damage_percent = 64}, [33] = {needed_level = 49500, damage_percent = 66}, [34] = {needed_level = 51000, damage_percent = 68}, [35] = {needed_level = 52500, damage_percent = 70}, [36] = {needed_level = 54000, damage_percent = 72}, [37] = {needed_level = 55500, damage_percent = 74}, [38] = {needed_level = 57000, damage_percent = 76}, [39] = {needed_level = 58500, damage_percent = 78}, [40] = {needed_level = 60000, damage_percent = 80}, [41] = {needed_level = 61500, damage_percent = 82}, [42] = {needed_level = 63000, damage_percent = 84}, [43] = {needed_level = 64500, damage_percent = 86}, [44] = {needed_level = 66000, damage_percent = 88}, [45] = {needed_level = 67500, damage_percent = 90}, [46] = {needed_level = 69000, damage_percent = 92}, [47] = {needed_level = 70500, damage_percent = 94}, [48] = {needed_level = 72000, damage_percent = 96}, [49] = {needed_level = 73500, damage_percent = 98}, [50] = {needed_level = 75000, damage_percent = 100}, [51] = {needed_level = 80000, damage_percent = 102}, [52] = {needed_level = 85000, damage_percent = 104}, [53] = {needed_level = 90000, damage_percent = 106}, [54] = {needed_level = 100000, damage_percent = 108}, [55] = {needed_level = 110000, damage_percent = 110}, [56] = {needed_level = 130000, damage_percent = 112}, [57] = {needed_level = 150000, damage_percent = 114}, [58] = {needed_level = 170000, damage_percent = 116}, [59] = {needed_level = 180000, damage_percent = 118}, [60] = {needed_level = 200000, damage_percent = 120}, } } function ResetSystem:getCount(pid) return getPlayerResets(pid) end function ResetSystem:setCount(pid, value) setPlayerResets(pid, value) end function ResetSystem:addCount(pid) self:setCount(pid, self:getCount(pid) + 1) end function ResetSystem:getInfo(pid) return self.Reset[math.min(self:getCount(pid), #self.Reset)] end function ResetSystem:addBonuses(pid) local bonus = self:getInfo(pid) if (bonus and bonus.damage_percent) then setPlayerDamageMultiplier(pid, getPlayerDamageMultiplier(pid) + (bonus.damage_percent / 100.0)) end end function ResetSystem:removeBonuses(pid) local bonus = self:getInfo(pid) if (bonus and bonus.damage_percent) then setPlayerDamageMultiplier(pid, getPlayerDamageMultiplier(pid) - (bonus.damage_percent / 100.0)) end end function ResetSystem:execute(pid) self:removeBonuses(pid) local oldMaxHealth = getCreatureMaxHealth(pid) local oldMaxMana = getCreatureMaxMana(pid) local playerLevel = getPlayerLevel(pid) if (playerLevel > self.back_to_level) then doPlayerAddExperience(pid, getExperienceForLevel(self.back_to_level) - getPlayerExperience(pid)) playerLevel = self.back_to_level end self:addCount(pid) self:addBonuses(pid) setCreatureMaxHealth(pid, oldMaxHealth) setCreatureMaxMana(pid, oldMaxMana) doCreatureAddHealth(pid, oldMaxHealth) doCreatureAddMana(pid, oldMaxMana) local bonus = self:getInfo(pid) if (bonus) then local message = "[RESET-SYSTEM]\nVocê efetuou seu " .. self:getCount(pid) .. "° RESET." if (bonus.damage_percent) then message = message .. "\nAgora você tem +" .. bonus.damage_percent .. "% de dano." end doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, message) doRemoveCreature(pid) end end Talkaction reset_info.lua function onSay(cid, words, param) if(not checkExhausted(cid, 666, 5)) then return true end doPlayerPopupFYI(cid, "O que é o sistema de resets?\nO sistema de resets consiste em melhorar sua jogabilidade, ou seja, quanto mais resets, mais resistente seu personagem será.\nLembrando que quando resetado, o personagem volta aos leveis iniciais, a cap retorna ao valor equivalente ao nível. Suas skills permanecem as mesmas.\n\nComo resetar e quando resetar?\nPara resetar, use o comando (!resetar). Você pode resetar a partir de 15000 leveis, variando conforme os resetes for aumentando.\n\n* Quanto maior o level que você resetar, mais life e mana terá e quanto mais reset maior o seu dano (esse pode ser um grande diferencial seu para/com seus inimigos).") return true end <talkaction access="0-4" words="!reset" event="script" value="reset_info.lua"/> Editado Agosto 13, 2023 1 ano por GM Vortex (veja o histórico de edições)
Postado Agosto 14, 2023 1 ano Autor Em 13/08/2023 em 01:51, GM Vortex disse: Cara, eu já enviei um link que tem tudo o que você estava procurando: É só pegar o NPC "Master Reset", o CreatureScript também, as libs... Pegue essas coisas e coloque em seu servidor, é simples. '-' Para que serve reset? A cada 1000 leveis você pode recomeçar do inicio, seu char voltará ao level 8, porém você agora terá + 2.0% de dano por reset +10% de exp, +5% ganho de vida e mana ao upar level. Obs: Se você quiser fazer ajustes do seu jeito, fique à vontade. É muito simples e fácil de configurar. npc- Master Reset.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) local pid = getPlayerGUID(cid) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'master reset') then doPlayerPopupFYI(cid, "Master Reset\n\n(Sobre o Sistema)\n(+)Reset parcial do personagem\n(+)Chance de resetar level mais alto\n(+)Não perde quests,task, dodge e nem critical\n(+)Não perde skills.\n\n (ATENÇÃO!)\n\nO Master Reset volta o seu personagem ao level 30, reset 0, life e mana inicial!!") selfSay('Tendo em vista todas as informações apresentadas, você realmente deseja dar um Master Reset? Esse processo tem um custo de 100 vip coins e é irreversível! Diga {yes} para confirmar.', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if doPlayerRemoveItem(cid, 6527,100) then --Tira toda a vida e soma + 185 doCreatureAddHealth(cid, -getCreatureHealth(cid)+185) setCreatureMaxHealth(cid,185) --Tira toda a mana e soma + 35 doCreatureAddMana(cid, -getCreatureMana(cid)+35) setCreatureMaxMana(cid,35) doTeleportThing(cid, getTownTemplePosition(1)) doRemoveCreature(cid) local reset_level = "UPDATE players SET level = 30 WHERE id= " ..pid.. ";" local reset_query = "UPDATE players SET reset = 0 WHERE id= " ..pid.. ";" local reset_exp = "UPDATE players SET experience = 4200 WHERE id= " ..pid.. ";" db.executeQuery(reset_exp) db.executeQuery(reset_query) db.executeQuery(reset_level) else selfSay("Você não possui 100 event tokens", cid) end talkState[talkUser] = 0 end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) creaturescrpt <!-- Reset System --> <event type="login" name="RSLogin" script="reset_system.lua"/> reset_system.lua function onLogin(cid) ResetSystem:addBonuses(cid) registerCreatureEvent(cid, "RSGainExperience") registerCreatureEvent(cid, "RSAdvance") return true end function onGainExperience(cid, source, experience) local resetBonus = ResetSystem:getInfo(cid) if (resetBonus and resetBonus.exp_percent > 0) then experience = experience * (1.0 + (resetBonus.exp_percent / 100.0)) end return experience end data/libs/reset.lua ResetSystem = { back_to_level = 500, Reset = { [1] = {needed_level = 15000, damage_percent = 2}, [2] = {needed_level = 16000, damage_percent = 4}, [3] = {needed_level = 16500, damage_percent = 6}, [4] = {needed_level = 16700, damage_percent = 8}, [5] = {needed_level = 20000, damage_percent = 10}, [6] = {needed_level = 20000, damage_percent = 12}, [7] = {needed_level = 20000, damage_percent = 14}, [8] = {needed_level = 20000, damage_percent = 16}, [9] = {needed_level = 20000, damage_percent = 18}, [10] = {needed_level = 21000, damage_percent = 20}, [11] = {needed_level = 21000, damage_percent = 22}, [12] = {needed_level = 21000, damage_percent = 24}, [13] = {needed_level = 21000, damage_percent = 26}, [14] = {needed_level = 21000, damage_percent = 28}, [15] = {needed_level = 22500, damage_percent = 30}, [16] = {needed_level = 24000, damage_percent = 32}, [17] = {needed_level = 25500, damage_percent = 34}, [18] = {needed_level = 27000, damage_percent = 36}, [19] = {needed_level = 28500, damage_percent = 38}, [20] = {needed_level = 30000, damage_percent = 40}, [21] = {needed_level = 31500, damage_percent = 42}, [22] = {needed_level = 33000, damage_percent = 44}, [23] = {needed_level = 34500, damage_percent = 46}, [24] = {needed_level = 36000, damage_percent = 48}, [25] = {needed_level = 37500, damage_percent = 50}, [26] = {needed_level = 39000, damage_percent = 52}, [27] = {needed_level = 40500, damage_percent = 54}, [28] = {needed_level = 42000, damage_percent = 56}, [29] = {needed_level = 43500, damage_percent = 58}, [30] = {needed_level = 45000, damage_percent = 60}, [31] = {needed_level = 46500, damage_percent = 62}, [32] = {needed_level = 48000, damage_percent = 64}, [33] = {needed_level = 49500, damage_percent = 66}, [34] = {needed_level = 51000, damage_percent = 68}, [35] = {needed_level = 52500, damage_percent = 70}, [36] = {needed_level = 54000, damage_percent = 72}, [37] = {needed_level = 55500, damage_percent = 74}, [38] = {needed_level = 57000, damage_percent = 76}, [39] = {needed_level = 58500, damage_percent = 78}, [40] = {needed_level = 60000, damage_percent = 80}, [41] = {needed_level = 61500, damage_percent = 82}, [42] = {needed_level = 63000, damage_percent = 84}, [43] = {needed_level = 64500, damage_percent = 86}, [44] = {needed_level = 66000, damage_percent = 88}, [45] = {needed_level = 67500, damage_percent = 90}, [46] = {needed_level = 69000, damage_percent = 92}, [47] = {needed_level = 70500, damage_percent = 94}, [48] = {needed_level = 72000, damage_percent = 96}, [49] = {needed_level = 73500, damage_percent = 98}, [50] = {needed_level = 75000, damage_percent = 100}, [51] = {needed_level = 80000, damage_percent = 102}, [52] = {needed_level = 85000, damage_percent = 104}, [53] = {needed_level = 90000, damage_percent = 106}, [54] = {needed_level = 100000, damage_percent = 108}, [55] = {needed_level = 110000, damage_percent = 110}, [56] = {needed_level = 130000, damage_percent = 112}, [57] = {needed_level = 150000, damage_percent = 114}, [58] = {needed_level = 170000, damage_percent = 116}, [59] = {needed_level = 180000, damage_percent = 118}, [60] = {needed_level = 200000, damage_percent = 120}, } } function ResetSystem:getCount(pid) return getPlayerResets(pid) end function ResetSystem:setCount(pid, value) setPlayerResets(pid, value) end function ResetSystem:addCount(pid) self:setCount(pid, self:getCount(pid) + 1) end function ResetSystem:getInfo(pid) return self.Reset[math.min(self:getCount(pid), #self.Reset)] end function ResetSystem:addBonuses(pid) local bonus = self:getInfo(pid) if (bonus and bonus.damage_percent) then setPlayerDamageMultiplier(pid, getPlayerDamageMultiplier(pid) + (bonus.damage_percent / 100.0)) end end function ResetSystem:removeBonuses(pid) local bonus = self:getInfo(pid) if (bonus and bonus.damage_percent) then setPlayerDamageMultiplier(pid, getPlayerDamageMultiplier(pid) - (bonus.damage_percent / 100.0)) end end function ResetSystem:execute(pid) self:removeBonuses(pid) local oldMaxHealth = getCreatureMaxHealth(pid) local oldMaxMana = getCreatureMaxMana(pid) local playerLevel = getPlayerLevel(pid) if (playerLevel > self.back_to_level) then doPlayerAddExperience(pid, getExperienceForLevel(self.back_to_level) - getPlayerExperience(pid)) playerLevel = self.back_to_level end self:addCount(pid) self:addBonuses(pid) setCreatureMaxHealth(pid, oldMaxHealth) setCreatureMaxMana(pid, oldMaxMana) doCreatureAddHealth(pid, oldMaxHealth) doCreatureAddMana(pid, oldMaxMana) local bonus = self:getInfo(pid) if (bonus) then local message = "[RESET-SYSTEM]\nVocê efetuou seu " .. self:getCount(pid) .. "° RESET." if (bonus.damage_percent) then message = message .. "\nAgora você tem +" .. bonus.damage_percent .. "% de dano." end doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, message) doRemoveCreature(pid) end end Talkaction reset_info.lua function onSay(cid, words, param) if(not checkExhausted(cid, 666, 5)) then return true end doPlayerPopupFYI(cid, "O que é o sistema de resets?\nO sistema de resets consiste em melhorar sua jogabilidade, ou seja, quanto mais resets, mais resistente seu personagem será.\nLembrando que quando resetado, o personagem volta aos leveis iniciais, a cap retorna ao valor equivalente ao nível. Suas skills permanecem as mesmas.\n\nComo resetar e quando resetar?\nPara resetar, use o comando (!resetar). Você pode resetar a partir de 15000 leveis, variando conforme os resetes for aumentando.\n\n* Quanto maior o level que você resetar, mais life e mana terá e quanto mais reset maior o seu dano (esse pode ser um grande diferencial seu para/com seus inimigos).") return true end <talkaction access="0-4" words="!reset" event="script" value="reset_info.lua"/> Nao Tinha Visto Mais Vou tentar e ver se Vai Correr Tudo Certo ! Em 13/08/2023 em 01:51, GM Vortex disse: Cara, eu já enviei um link que tem tudo o que você estava procurando: É só pegar o NPC "Master Reset", o CreatureScript também, as libs... Pegue essas coisas e coloque em seu servidor, é simples. '-' Para que serve reset? A cada 1000 leveis você pode recomeçar do inicio, seu char voltará ao level 8, porém você agora terá + 2.0% de dano por reset +10% de exp, +5% ganho de vida e mana ao upar level. Obs: Se você quiser fazer ajustes do seu jeito, fique à vontade. É muito simples e fácil de configurar. npc- Master Reset.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) local pid = getPlayerGUID(cid) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'master reset') then doPlayerPopupFYI(cid, "Master Reset\n\n(Sobre o Sistema)\n(+)Reset parcial do personagem\n(+)Chance de resetar level mais alto\n(+)Não perde quests,task, dodge e nem critical\n(+)Não perde skills.\n\n (ATENÇÃO!)\n\nO Master Reset volta o seu personagem ao level 30, reset 0, life e mana inicial!!") selfSay('Tendo em vista todas as informações apresentadas, você realmente deseja dar um Master Reset? Esse processo tem um custo de 100 vip coins e é irreversível! Diga {yes} para confirmar.', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if doPlayerRemoveItem(cid, 6527,100) then --Tira toda a vida e soma + 185 doCreatureAddHealth(cid, -getCreatureHealth(cid)+185) setCreatureMaxHealth(cid,185) --Tira toda a mana e soma + 35 doCreatureAddMana(cid, -getCreatureMana(cid)+35) setCreatureMaxMana(cid,35) doTeleportThing(cid, getTownTemplePosition(1)) doRemoveCreature(cid) local reset_level = "UPDATE players SET level = 30 WHERE id= " ..pid.. ";" local reset_query = "UPDATE players SET reset = 0 WHERE id= " ..pid.. ";" local reset_exp = "UPDATE players SET experience = 4200 WHERE id= " ..pid.. ";" db.executeQuery(reset_exp) db.executeQuery(reset_query) db.executeQuery(reset_level) else selfSay("Você não possui 100 event tokens", cid) end talkState[talkUser] = 0 end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) creaturescrpt <!-- Reset System --> <event type="login" name="RSLogin" script="reset_system.lua"/> reset_system.lua function onLogin(cid) ResetSystem:addBonuses(cid) registerCreatureEvent(cid, "RSGainExperience") registerCreatureEvent(cid, "RSAdvance") return true end function onGainExperience(cid, source, experience) local resetBonus = ResetSystem:getInfo(cid) if (resetBonus and resetBonus.exp_percent > 0) then experience = experience * (1.0 + (resetBonus.exp_percent / 100.0)) end return experience end data/libs/reset.lua ResetSystem = { back_to_level = 500, Reset = { [1] = {needed_level = 15000, damage_percent = 2}, [2] = {needed_level = 16000, damage_percent = 4}, [3] = {needed_level = 16500, damage_percent = 6}, [4] = {needed_level = 16700, damage_percent = 8}, [5] = {needed_level = 20000, damage_percent = 10}, [6] = {needed_level = 20000, damage_percent = 12}, [7] = {needed_level = 20000, damage_percent = 14}, [8] = {needed_level = 20000, damage_percent = 16}, [9] = {needed_level = 20000, damage_percent = 18}, [10] = {needed_level = 21000, damage_percent = 20}, [11] = {needed_level = 21000, damage_percent = 22}, [12] = {needed_level = 21000, damage_percent = 24}, [13] = {needed_level = 21000, damage_percent = 26}, [14] = {needed_level = 21000, damage_percent = 28}, [15] = {needed_level = 22500, damage_percent = 30}, [16] = {needed_level = 24000, damage_percent = 32}, [17] = {needed_level = 25500, damage_percent = 34}, [18] = {needed_level = 27000, damage_percent = 36}, [19] = {needed_level = 28500, damage_percent = 38}, [20] = {needed_level = 30000, damage_percent = 40}, [21] = {needed_level = 31500, damage_percent = 42}, [22] = {needed_level = 33000, damage_percent = 44}, [23] = {needed_level = 34500, damage_percent = 46}, [24] = {needed_level = 36000, damage_percent = 48}, [25] = {needed_level = 37500, damage_percent = 50}, [26] = {needed_level = 39000, damage_percent = 52}, [27] = {needed_level = 40500, damage_percent = 54}, [28] = {needed_level = 42000, damage_percent = 56}, [29] = {needed_level = 43500, damage_percent = 58}, [30] = {needed_level = 45000, damage_percent = 60}, [31] = {needed_level = 46500, damage_percent = 62}, [32] = {needed_level = 48000, damage_percent = 64}, [33] = {needed_level = 49500, damage_percent = 66}, [34] = {needed_level = 51000, damage_percent = 68}, [35] = {needed_level = 52500, damage_percent = 70}, [36] = {needed_level = 54000, damage_percent = 72}, [37] = {needed_level = 55500, damage_percent = 74}, [38] = {needed_level = 57000, damage_percent = 76}, [39] = {needed_level = 58500, damage_percent = 78}, [40] = {needed_level = 60000, damage_percent = 80}, [41] = {needed_level = 61500, damage_percent = 82}, [42] = {needed_level = 63000, damage_percent = 84}, [43] = {needed_level = 64500, damage_percent = 86}, [44] = {needed_level = 66000, damage_percent = 88}, [45] = {needed_level = 67500, damage_percent = 90}, [46] = {needed_level = 69000, damage_percent = 92}, [47] = {needed_level = 70500, damage_percent = 94}, [48] = {needed_level = 72000, damage_percent = 96}, [49] = {needed_level = 73500, damage_percent = 98}, [50] = {needed_level = 75000, damage_percent = 100}, [51] = {needed_level = 80000, damage_percent = 102}, [52] = {needed_level = 85000, damage_percent = 104}, [53] = {needed_level = 90000, damage_percent = 106}, [54] = {needed_level = 100000, damage_percent = 108}, [55] = {needed_level = 110000, damage_percent = 110}, [56] = {needed_level = 130000, damage_percent = 112}, [57] = {needed_level = 150000, damage_percent = 114}, [58] = {needed_level = 170000, damage_percent = 116}, [59] = {needed_level = 180000, damage_percent = 118}, [60] = {needed_level = 200000, damage_percent = 120}, } } function ResetSystem:getCount(pid) return getPlayerResets(pid) end function ResetSystem:setCount(pid, value) setPlayerResets(pid, value) end function ResetSystem:addCount(pid) self:setCount(pid, self:getCount(pid) + 1) end function ResetSystem:getInfo(pid) return self.Reset[math.min(self:getCount(pid), #self.Reset)] end function ResetSystem:addBonuses(pid) local bonus = self:getInfo(pid) if (bonus and bonus.damage_percent) then setPlayerDamageMultiplier(pid, getPlayerDamageMultiplier(pid) + (bonus.damage_percent / 100.0)) end end function ResetSystem:removeBonuses(pid) local bonus = self:getInfo(pid) if (bonus and bonus.damage_percent) then setPlayerDamageMultiplier(pid, getPlayerDamageMultiplier(pid) - (bonus.damage_percent / 100.0)) end end function ResetSystem:execute(pid) self:removeBonuses(pid) local oldMaxHealth = getCreatureMaxHealth(pid) local oldMaxMana = getCreatureMaxMana(pid) local playerLevel = getPlayerLevel(pid) if (playerLevel > self.back_to_level) then doPlayerAddExperience(pid, getExperienceForLevel(self.back_to_level) - getPlayerExperience(pid)) playerLevel = self.back_to_level end self:addCount(pid) self:addBonuses(pid) setCreatureMaxHealth(pid, oldMaxHealth) setCreatureMaxMana(pid, oldMaxMana) doCreatureAddHealth(pid, oldMaxHealth) doCreatureAddMana(pid, oldMaxMana) local bonus = self:getInfo(pid) if (bonus) then local message = "[RESET-SYSTEM]\nVocê efetuou seu " .. self:getCount(pid) .. "° RESET." if (bonus.damage_percent) then message = message .. "\nAgora você tem +" .. bonus.damage_percent .. "% de dano." end doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, message) doRemoveCreature(pid) end end Talkaction reset_info.lua function onSay(cid, words, param) if(not checkExhausted(cid, 666, 5)) then return true end doPlayerPopupFYI(cid, "O que é o sistema de resets?\nO sistema de resets consiste em melhorar sua jogabilidade, ou seja, quanto mais resets, mais resistente seu personagem será.\nLembrando que quando resetado, o personagem volta aos leveis iniciais, a cap retorna ao valor equivalente ao nível. Suas skills permanecem as mesmas.\n\nComo resetar e quando resetar?\nPara resetar, use o comando (!resetar). Você pode resetar a partir de 15000 leveis, variando conforme os resetes for aumentando.\n\n* Quanto maior o level que você resetar, mais life e mana terá e quanto mais reset maior o seu dano (esse pode ser um grande diferencial seu para/com seus inimigos).") return true end <talkaction access="0-4" words="!reset" event="script" value="reset_info.lua"/> sqlite3_prepare_v2(): SQLITE ERROR: no such column: reset (SELECT reset FROM players WHERE id = 3 LIMIT 1) [Error - CreatureScript Interface] data/creaturescripts/scripts/reset_system.lua:onLogin Description: data/lib/004-database.lua:117: [Result:getDataInt] Result not set! stack traceback: [C]: in function 'error' data/lib/004-database.lua:117: in function 'getDataInt' data/lib/050-function.lua:55: in function <data/lib/050-function.lua:52> (tail call): ? data/lib/reset.lua:80: in function 'getInfo' data/lib/reset.lua:84: in function 'addBonuses' data/creaturescripts/scripts/reset_system.lua:2: in function <data/creaturescripts/scripts/reset_system.lua:1> Esse Foi o Error que Deu nao Consigo nem entrar na acc agora !
Postado Agosto 14, 2023 1 ano Oops, eu tinha esquecido esses detalhes. Qual é a sua versão do TFS? Se o OTX e o TFS forem iguais. data/libs/050-function.lua então vá procurar por esta linha function doPlayerGiveItem(cid, itemid, amount, subType) adicione abaixo dela function getPlayerResets(cid) local Info = db.getResult("SELECT reset FROM players WHERE id = " .. getPlayerGUID(cid) .. " LIMIT 1") if Info:getID() ~= LUA_ERROR then local Resets= Info:getDataInt("reset", getPlayerGUID(cid)) Info:free() return Resets end return LUA_ERROR end data/libs/004-database.lua procurar por esta linha function Result:getDataLong(s) adicione em cima dela function Result:getDataInt(s) if(self:getID() == -1) then error("[Result:getDataInt] Result not set!") end return result.getDataInt(self:getID(), s) end No caso de não haver essa função no arquivo 004-database.lua, você pode adicionar em qualquer lugar e testar! Editado Agosto 14, 2023 1 ano por GM Vortex (veja o histórico de edições)
Postado Agosto 14, 2023 1 ano Autor Em 14/08/2023 em 23:44, GM Vortex disse: Oops, eu tinha esquecido esses detalhes. Qual é a sua versão do TFS? Se o OTX e o TFS forem iguais. data/libs/050-function.lua então vá procurar por esta linha function doPlayerGiveItem(cid, itemid, amount, subType) adicione abaixo dela function getPlayerResets(cid) local Info = db.getResult("SELECT reset FROM players WHERE id = " .. getPlayerGUID(cid) .. " LIMIT 1") if Info:getID() ~= LUA_ERROR then local Resets= Info:getDataInt("reset", getPlayerGUID(cid)) Info:free() return Resets end return LUA_ERROR end data/libs/004-database.lua procurar por esta linha function Result:getDataLong(s) adicione em cima dela function Result:getDataInt(s) if(self:getID() == -1) then error("[Result:getDataInt] Result not set!") end return result.getDataInt(self:getID(), s) end No caso de não haver essa função no arquivo 004-database.lua, você pode adicionar em qualquer lugar e testar! OTX
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.