Postado Julho 23, 2017 7 anos Autor sim Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Agosto 2, 2017 7 anos Olá @xWhiteWolf , eu estou tentando usar seu sistema de reset, porem está dando um erro. uso TFs 1.3 versão do meu serve é 11.40. estou usando esse script Spoiler local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local config = { minlevel = 150, --- Level inical para resetar price = 10000, --- Preço inicial para resetar newlevel = 20, --- Level após reset priceByReset = 0, --- Preço acrescentado por reset percent = 10, ---- Porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) maxresets = 10, ---- Maximo de resets levelbyreset = 0 --- Quanto de level vai precisar a mais no próximo reset } local function getResets(uid) local player = Player(uid) local resets = 0 if player then resets = math.max(0, player:getStorageValue(378378)) end return resets end local function addReset(uid) local player = Player(uid) if player then local resets = getResets(uid) local hp = player:getMaxHealth() local resethp = hp*(config.percent/100) player:setMaxHealth(resethp) local mana = player:getMaxMana() local resetmana = mana*(config.percent/100) player:setMaxMana(resetmana) local playerid = player:getGuid() player:remove() db.query("UPDATE `players` SET `resets`=".. resets + 1 ..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") db.query("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") end return true end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local player = Player(cid) local newPrice = config.price + (getResets(cid) * config.priceByReset) local newminlevel = config.minlevel + (getResets(cid) * config.levelbyreset) if msgcontains(msg, 'reset') then if getResets(cid) < config.maxresets then npcHandler:say('You want to reset your character? It will cost '..newPrice..' gp\'s!', cid) npcHandler.topic[cid] = 1 else npcHandler:say('You already reached the maximum reset level!', cid) end elseif msgcontains(msg, 'yes') and npcHandler.topic[cid] == 1 then if player:getLevel() >= newminlevel then if player:removeMoney(newPrice) then addEvent(function() if isPlayer(cid) then addReset(cid) end end, 3000) local number = getResets(cid)+1 local msg ="---[Reset: "..number.."]-- You have reseted! You'll be disconnected in 3 seconds." player:popupFYI(msg) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) else npcHandler:say('Its necessary to have at least '..newPrice..' gp\'s for reseting!', cid) npcHandler.topic[cid] = 0 end else npcHandler:say('The minimum level for reseting is '..newminlevel..'!', cid) npcHandler.topic[cid] = 0 end elseif(msgcontains(msg, 'no')) and isInArray({1}, npcHandler.topic[cid]) then npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) npcHandler:say('Ok.', cid) elseif msgcontains(msg, 'quantity') then npcHandler:say('You have a total of '..getResets(cid)..' reset(s).', cid) npcHandler.topic[cid] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Está dando esse erro. Spoiler Editado Agosto 2, 2017 7 anos por Koring4 (veja o histórico de edições)
Postado Agosto 3, 2017 7 anos Autor o problema é q vc tá tentando alterar a coluna 'resets' da tabela players no banco de dados e ele tá falando q nao existe esse campo resets como era: db.executeQuery("UPDATE `players` SET `description` = ' [Reset: "..description.."]' WHERE `players`.`id`= ".. playerid .."") como vc deixou: db.query("UPDATE `players` SET `resets`=".. resets + 1 ..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") ^-^ Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Agosto 3, 2017 7 anos @xWhiteWolf eu nem mudei nada, eu peguei o script que você posto na pagina 5 falando que que é a versão 1.2 mas em fim, eu troquei isso que você falo e deu outro erro. Spoiler ai depois eu troquei a linha db.query("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") por db.executeQuery("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") ai deu esse outro erro Spoiler OBS: eu não manjo muito, mas pensei em testa antes de vim pergunta novamente. mas obrigado pela atenção. Editado Agosto 3, 2017 7 anos por Koring4 (veja o histórico de edições)
Postado Agosto 3, 2017 7 anos Esse sistema de reset, tem como fazer para voltarem para hp normal de cada vocação no level 8?
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.