Postado Abril 19, 2019 6 anos 11 horas atrás, louco3626 disse: não funciono continua vindo com o tanto de vida do lv 1000 e outra sempre que eu logo o char morre... deu algum bug Olha nao deu erro em nada mais só que quando eu to no lv 1000 tenho 15000 de vida e quando eu reseto minha vida continua 15000/15000 e se eu colocar a "percent" em 0 o personagem fica morrendo infinitamente e tenho que deletalo porque buga, teria alguma forma de minha vida volta para 435/435 como ela realmente é no lv 20? Tenta esse 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 = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) maxresets = 50, --- quantidade maxima de resets levelbyreset = 0, --- quanto de level vai precisar a mais no próximo reset item = 2160, --- ID do item que vai adicionar qnts = 1 --- Quantidade de item que vai adicionar } --- end config function getResets(uid) resets = getPlayerStorageValue(uid, 378378) if resets < 0 then resets = 0 end return resets end 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) if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid function addReset(cid) if(npcHandler:isFocused(cid)) then npcHandler:releaseFocus(cid) end talkState[talkUser] = 0 resets = getResets(cid) setPlayerStorageValue(cid, 378378, resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) local hp = getCreatureMaxHealth(cid) doCreatureAddHealth(cid, hp) local mana = getCreatureMaxMana(cid) doCreatureAddMana(cid, mana) doPlayerAddItem(cid,config.item,config.qnts) doRemoveCreature(cid) local description = resets+1 db.executeQuery("UPDATE `players` SET `description` = ' [Reset: "..description.."]' WHERE `players`.`id`= ".. playerid .."") db.executeQuery("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") return true end 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 selfSay('You want to reset your character? It will cost '..newPrice..' gp\'s!', cid) talkState[talkUser] = 1 else selfSay('You already reached the maximum reset level!', cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerMoney(cid) < newPrice then selfSay('Its necessary to have at least '..newPrice..' gp\'s for reseting!', cid) elseif getPlayerLevel(cid) < newminlevel then selfSay('The minimum level for reseting is '..newminlevel..'!', cid) else doPlayerRemoveMoney(cid,newPrice) playerid = getPlayerGUID(cid) 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." doPlayerPopupFYI(cid, msg) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no')) and isInArray({1}, talkState[talkUser]) == TRUE then talkState[talkUser] = 0 npcHandler:releaseFocus(cid) selfSay('Ok.', cid) elseif msgcontains(msg, 'quantity') then selfSay('You have a total of '..getResets(cid)..' reset(s).', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Junho 9, 2020 4 anos Seria possível você nos ajudar a adicionar % de dano a mais por reset @xWhiteWolf Editado Junho 9, 2020 4 anos por You Know Nothing (veja o histórico de edições)
Postado Janeiro 26, 2021 4 anos Em 16/01/2018 em 16:38, xWhiteWolf disse: a resposta é bem simples: vc vai precisar de uma tabela estilo essa aqui: local itemsneeded = { [reset] = {item, quantidade}, } pra cada valor q reset pode assumir. Você também pode fazer ranges de reset, se for maior que X e menor que Y então é tal item. Por fim você pode fazer mais de um item, por ex, 3 minotaur leather e 50 gold coins. Dependendo da forma q vc escolher o resto do código fica diferente Sera que pode montar um exemplo? nao entendi direito como faz, queria saber tambem pra cada reset ele pedir 1 item a mais
Postado Janeiro 31, 2021 4 anos Desculpem reviver o tópico. @xWhiteWolf, tem como disponibilizar nesse mesmo tópico, uma versão onde em vez do reset custar dinheiro, precisar entregar um item super raríssimo onde só dropa dos Boss fodão, no qual precisa de 3 EK pra solar, mais 8 ED dando exura sio? Editado Janeiro 31, 2021 4 anos por Heyron (veja o histórico de edições)
Postado Fevereiro 1, 2021 4 anos Autor On 1/30/2021 at 10:08 PM, Heyron said: Desculpem reviver o tópico. @xWhiteWolf, tem como disponibilizar nesse mesmo tópico, uma versão onde em vez do reset custar dinheiro, precisar entregar um item super raríssimo onde só dropa dos Boss fodão, no qual precisa de 3 EK pra solar, mais 8 ED dando exura sio? é só vc olhar no código onde tem essas linhas aqui: if getPlayerMoney(cid) < newPrice then selfSay('Its necessary to have at least '..newPrice..' gp\'s for reseting!', cid) doPlayerRemoveMoney(cid,newPrice) e trocar por funções que sejam de checar itens.
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.