Postado Abril 16, 2019 6 anos Em 16/04/2019 em 05:40, louco3626 disse: Alguém consegue coloca para ganhar X item toda vez que for reseta ? ♥ 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) local resethp = hp*(config.percent/100) setCreatureMaxHealth(cid, resethp) local differencehp = (hp - resethp) doCreatureAddHealth(cid, -differencehp) local mana = getCreatureMaxMana(cid) local resetmana = mana*(config.percent/100) setCreatureMaxMana(cid, resetmana) local differencemana = (mana - resetmana) doCreatureAddMana(cid, -differencemana) 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()) item = 2160, --- ID do item que vai adicionar qnts = 1 --- Quantidade de item que vai adicionar Editado Abril 16, 2019 6 anos por tetheuscunha (veja o histórico de edições) Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.
Postado Abril 16, 2019 6 anos Em 16/04/2019 em 15:57, tetheuscunha disse: Que item tu quer que ganhe?? Item 21142 E a mana e vida tem que resetar também Jamais se desespere em meio as sombrias afeiçoes da sua vida, pois das nuvens mais negras cai água límpida e fecunda
Postado Abril 16, 2019 6 anos Em 16/04/2019 em 16:03, louco3626 disse: Item 21142 E a mana e vida tem que resetar também Tu quer que resete a mana e vida ao total? Voltar a ter mana e vida do lvl 8?? E so mudar de 100 para 0, olha o post anterior que la ja postei o que add o item, e só mudar la onde eu falei. percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.
Postado Abril 16, 2019 6 anos Em 16/04/2019 em 16:10, tetheuscunha disse: Tu quer que resete a mana e vida ao total? Voltar a ter mana e vida do lvl 8?? E so mudar de 100 para 0, olha o post anterior que la ja postei o que add o item, e só mudar la onde eu falei. percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) Muito obrigado meus Rep acabou hj mais amanhã não esqueço de você ♥ assim que eu chegar em casa eu testo Editado Abril 16, 2019 6 anos por louco3626 Esqueci de uma coisa (veja o histórico de edições) Jamais se desespere em meio as sombrias afeiçoes da sua vida, pois das nuvens mais negras cai água límpida e fecunda
Postado Abril 18, 2019 6 anos Em 16/04/2019 em 16:10, tetheuscunha disse: Tu quer que resete a mana e vida ao total? Voltar a ter mana e vida do lvl 8?? E so mudar de 100 para 0, olha o post anterior que la ja postei o que add o item, e só mudar la onde eu falei. percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) 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 Em 06/05/2014 em 17:46, xWhiteWolf disse: Fala galera do TK, hoje vim pra trazer pra vocês um npc criado por mim e pelo Nogard numa madrugada aí para solucionar a dúvida de um cara no suporte. Eu dei uma melhorada no script original, tirei umas coisas repetidas e adicionei novas funções; Você agora pode configurar se quer que o preço aumente a cada reset, se quer que o level pra resetar aumente e se vc quer que a vida resete junto (e quanto % da vida atual será a vida após resetar).Testado em TFS 0.3.6, Versão 8.45Sem mais delongas, vamos ao script. Antes de tudo crie um arquivo chamado reseter.lua na pasta data\npc\scripts\ e coloque isso daqui dentro dele: Conteúdo Oculto Você pode editar tudo mexendo aqui: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) levelbyreset = 0 --- quanto de level vai precisar a mais no próximo reset } Feito isso, crie agora o npc que irá utilizar esse script.. em data\npc crie um arquivo.xml chamado Reseter.xml e coloque isso dentro dele: Conteúdo Oculto Agora é só colocar o seu npc no mapa pelo mapa editor e curtir OBS 1: Se seu server for 8.6 ou maior troque no script.lua as funções db.executeQuery por db.query OBS 2: Esse script dava pra ser diminuido ainda mais mas por hora deixa ele assim, se vc tiver alguma proposta melhor por favor poste nos comentários que eu testo a sua versão e edito o tópico se for o caso. OBS 3: Não remova os créditos, isso é a coisa mais baixa e suja que alguém pode fazer.. eu scripto pra ajudar a comunidade do Tibia a evoluir e libero 99% doque eu faço, se vocês não removerem os créditos e não postarem em outros fórums sem minha permissão isso pode continuar assim.--- EDIT: Coloquei algumas imagens pra vcs verem como fica no server Conteúdo Oculto Conteúdo Oculto Conteúdo Oculto Conteúdo Oculto EDIT: Arrumei o problema de o npc não dar bye automáticamente qnd o player se afasta, bugando em algumas versões e impedindo de conversar com outros npcs. Apenas substituam o arquivo em scripts pela versão atualizada, grato. EDIT2: Novos erros arrumados, agora o NPC dá bye automaticamente e não buga qnd te reseta. EDIT3: Resolvido bug de dar hi, reset, yes várias vezes e derrubar o servidor (troque tanto o xml qnt o script do npc) O script também foi identado. 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? Jamais se desespere em meio as sombrias afeiçoes da sua vida, pois das nuvens mais negras cai água límpida e fecunda
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.