Postado Maio 27, 2014 10 anos vou tentar fazer qnd der tempo, não parece algo muito dificil 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 Maio 28, 2014 10 anos Solução Este é um post popular. exatamente como vc pediu... terra = {351,352,353,354,355} levels = { [-1] = 2229, ---- skull [0] = 1294, --- small stone [1] = 3976, --- worm [10] = 2149, -- Small Emerald [12] = 2146, -- Small Sapphire [15] = 2145, -- Small Diamond [17] = 2150, -- Small Amethyst [20] = 2147, -- Small Ruby [25] = 2144, -- Black Pearls [27] = 2143, -- White Pearls [30] = 2157, -- Gold Nuggets [35] = 2156, --- red gem [36] = 2158, -- blue gem [37] = 2155, -- green gem [38] = 2153, -- violet gem [39] = 2154, -- yellow gem [40] = 2157, -- small enchanted emerald [42] = 2157, -- Small Enchanted Sapphiire [45] = 2158, -- Small Enchanted Amethyst [50] = 2161, -- Small Enchanted Ruby [70] = 2162 -- Life Crystal } local config = { storage = 19333, chance = 40, --- chance de achar um item ou não k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante) experience = 19334 } function onUse(cid, item, fromPosition, itemEx, toPosition) local drops = {} function getDrops(cid) for i= -1,getPlayerStorageValue(cid, config.storage) do if levels[i] then table.insert(drops, levels[i]) end end return true end if isInArray(terra, itemEx.itemid) then getDrops(cid) doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1) local experience = getPlayerStorageValue(cid, config.experience) if experience >= (getPlayerStorageValue(cid, config.storage)^2)/config.k then doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1) doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".") 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 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, 3) else doSendMagicEffect(toPosition, 2) return TRUE end elseif itemEx.itemid == item.itemid then doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".") else return FALSE end return true end agora é só ir no creaturescripts\scripts\login.lua e colocar antes do ultimo return true: if getPlayerStorageValue(cid, 19333) == -1 then setPlayerStorageValue(cid, 19333, 0) elseif getPlayerStorageValue(cid, 19334) == -1 then setPlayerStorageValue(cid, 19334, 0) end obs: a fórmula pro level da skill tá assim: level atual x level atual / k dá pra mudar mas eu prefiri fazer assim pq a função quadrática é crescente então a cada level ia precisar de mais experiencia doque o level anterior, mas fica a seu critério mudar. Pode parecer que tá bem fácil upar no começo, mas lembre-se doque eu falei. Fazendo uma continha simples você descobre que se precisa de somente 50 mineiradas pra pegar level 10, mas a mesma conta nos diz que é necessário 1250 mineiradas pra se chegar no 50. Então cuidado com oque faz na fórmula auheuhauheuh Também tomei a liberdade de editar o formato inicial das recompensas.. fiz a cada 2 leveis pra facilitar e não complicar o script ainda mais, mas ainda assim está dentro daquilo que vc falou anteriormente. Espero que vc tenha gostado porque leveu quase 4 horas pra fazer isso aí auhuhauhauh Editado Maio 28, 2014 10 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 Maio 28, 2014 10 anos Autor ja conseguir aruma kkk '---' tinha colocado o script no lugar errado '-' \o\ Editado Maio 28, 2014 10 anos por abnejesus (veja o histórico de edições)
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.