Postado Fevereiro 22, 2018 7 anos Autor 1- Coloca em creaturescripts/scripts/ login.lua antes do ultimo return true: if getPlayerStorageValue(cid, 19333) == -1 then setPlayerStorageValue(cid, 19333, 0) setPlayerStorageValue(cid, 19334, 0) end 2- a formula fica nessa linha aqui:if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then você muda para:if experience >= 10 *(getPlayerStorageValue(cid, config.storage) + 1) then 3- basicamente colocar um else Spoiler local terra = {351,352,353,354,355} local levels = { [-1] = 2229, ---- skull [0] = 1294, --- small stone [10] = 2149, -- Small Emerald [12] = 2146, -- Small Sapphire [20] = 2145, -- Small Diamond [40] = 2150, -- Small Amethyst [60] = 2147, -- Small Ruby [80] = 2144, -- Black Pearls [100] = 2143, -- White Pearls [120] = 7761, -- small enchanted emerald [140] = 7759, -- Small Enchanted Sapphiire [160] = 7762, -- Small Enchanted Amethyst [180] = 7760, -- Small Enchanted Ruby [200] = 2157 -- Pepita de Ouro } local config = { storage = 19333, chance = 70, --- chance de achar um item ou não k = 10, --- constante de level.. quanto maior, mais dificil é upar. (a fórmula é level+1 * k) experience = 19334 } local function getDrops(uid) local drops = {} for i = -1, getPlayerStorageValue(uid, config.storage) do if levels[i] then table.insert(drops, levels[i]) end end return drops end function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray(terra, itemEx.itemid) then local drops = getDrops(cid) doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1) local experience = getPlayerStorageValue(cid, config.experience) if experience >= config.k *(getPlayerStorageValue(cid, config.storage) + 1) then doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1) doPlayerSetStorageValue(cid, config.experience, 0) doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".") doSendMagicEffect(getCreaturePosition(cid),98) doSendAnimatedText(getCreaturePosition(cid), 'Mining UP', 100, cid) if getPlayerStorageValue(cid, config.storage) == 50 then doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.") doPlayerAddItem(cid, 7497, 1, true) end else doPlayerSendTextMessage(cid, 20, "You have picked ".. getPlayerStorageValue(cid, config.experience) .." from ".. config.k *(getPlayerStorageValue(cid, config.storage) + 1) ..". Keep it up.") end if config.chance >= math.random(1,100) then if #drops >= 1 then local item = drops[math.random(1,#drops)] doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".") doPlayerAddItem(cid, item, 1, true) end doSendMagicEffect(toPosition, 289) doSendAnimatedText(toPosition , 'TiickK!', 169) else doSendMagicEffect(toPosition, 288) doSendAnimatedText(toPosition , "Puuff!", 61) return true end elseif itemEx.itemid == item.itemid then doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".") end return true end Editado Fevereiro 23, 2018 7 anos por xWhiteWolf (veja o histórico de edições) 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 Fevereiro 23, 2018 7 anos @xWhiteWolf Desculpa, eu esqueci de mencionar, funcionou perfeitamente a quantidade fixa de cada picaretada a cada level, porem, eu gostaria que ele resetasse, exemplo: Level 0 ao 1 = 10 picaretada Level 1 ao 2 = 20 picaretada começando do 0 Level 2 ao 3 = 30 picaretada começando do 0 No script atual quando to no nível 1 ele já diz que dei 10 picaretada do nível 1 ao 2, só que essas picaretada foi pra upar do 0 ao 1. A proposito, muito obrigado por estar me ajudando!
Postado Fevereiro 23, 2018 7 anos Autor para zerar vc usa: doPlayerSetStorageValue(cid, config.experience, Editei ali em cima e ja aproveitei e corrigi um fecha parenteses q tava faltando 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 Fevereiro 24, 2018 7 anos @xWhiteWolf Estou utilizando o script que você passou pro @Thayguroficial Que cada terra minera uma pedra preciosa diferente, está funcionando perfeitamente, só tem 1 pequeno problema: Quando meu nível de mining é 10 e eu tento minerar uma terra que ta setada pra vir drops do nível 12 por exemplo, não vem nada, só upa meu nível de mining. (obvio, estou tentando minerar uma terra de nível acima) Seria possível que quando o player tentasse da picaretada em terra de nível superior ao que ele tem de mining, aparecer uma mensagem em branco pra ele dizendo que aquela terra é só para niveis acima de 12. Isso para cada tipo de terra. Terra especial nível 12: desculpe você não tem nível 12 para minerar essa terra. Terra brilhante nível 30: desculpe você não tem nível 30 para minerar essa terra. Gostaria que essa mensagem não fosse padrão pra 1 terra só, pois vão existir diversas terras diferentes, outra coisa, se possível, ao tentar da picaretada na terra de nível superior, que não houvesse efeito nenhum (não upa skill).
Postado Fevereiro 26, 2018 7 anos Autor cola o script no seu comentário por favor pra eu n acabar pegando o errado 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)
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.