Postado Novembro 23, 2014 10 anos Galera, esse script e muito bom, porem pelo que eu testei no meu server, ele só da o item se o player estiver exatamente no lvl colocado no script, por exemplo, ganha o item no lvl 75, porem o player esta lvl 74 e mata um bixo e vai pro 76, sendo assim, ele nao ganhou o item. Alguem sabe fazer isso nesse script? Level recompense by Sky forever Ou se nao, tem um script que funcione e seja facil de editar? Obrigado
Postado Novembro 23, 2014 10 anos Não tenho certeza se vai funcionar: Mostrar conteúdo oculto function onAdvance(cid, oldLevel, newLevel) local t = { [1] = {level = 50, itemid = 0, quant = 0 ,stor = 35322}, -- level, itemid,quant,storage! [2]= {level = 100, itemid = 0, quant = 0 ,stor = 35333}, [3] = {level = 150, itemid = 0, quant = 0 ,stor = 35344} } for i = 1, #t do if getPlayerStorageValue(cid, t.stor) == -1 then if getPlayerLevel(cid) >= t.level then doPlayerAddItem(cid,t.itemid,t.quant) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Você recebeu "..t.quant.."" .. getItemNameById(t[getPlayerVocation(cid)].itemid) .. " Por chegar ao level "..getPlayerLevel(cid).."") setPlayerStorageValue(cid,t[getPlayerLevel(cid)].stor,1) return true end end Editado Novembro 23, 2014 10 anos por mateusak (veja o histórico de edições) Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta! NÃO CLIQUE AQUI! NEM AQUI! ________________________________________________________________________________________________________________________________________________________________________________________________________________________ “A imaginação é mais importante que o conhecimento.” Albert Einstein
Postado Novembro 23, 2014 10 anos Solução Em 23/11/2014 em 18:02, mateusak disse: Não tenho certeza se vai funcionar: function onAdvance(cid, oldLevel, newLevel) local t = { [1] = {level = 50, itemid = 0, quant = 0 ,stor = 35322}, -- level, itemid,quant,storage! [2]= {level = 100, itemid = 0, quant = 0 ,stor = 35333}, [3] = {level = 150, itemid = 0, quant = 0 ,stor = 35344} } for i = 1, #t do if getPlayerStorageValue(cid, t.stor) == -1 then if getPlayerLevel(cid) >= t.level then doPlayerAddItem(cid,t.itemid,t.quant) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Você recebeu "..t.quant.."" .. getItemNameById(t[getPlayerVocation(cid)].itemid) .. " Por chegar ao level "..getPlayerLevel(cid).."") setPlayerStorageValue(cid,t[getPlayerLevel(cid)].stor,1) return true end end Faltou encerrar o for e o callback. E creio que poderá bugar a mensagem já que está dentro do for. Talvez assim dê como você quer (retirei a mensagem pra evitar bugs), eu não testei: local level = { {level = {50, 99}, item = {5432, 1}, stor = 54321}, -- {level = {levelMin, levelMax}, item = {itemID, count}, stor = storage} {level = {100, 149}, item = {5432, 1}, stor = 54321}, {level = {150, 199}, item = {5432, 1}, stor = 54321}, {level = {200}, item = {5432, 100}, stor = 54321} -- {level = {lastLevel}, item = {itemID, count}, stor = storage} } function onAdvance(cid, skill, oldLevel, newLevel) for i = 1, #level do if skill == 8 and getPlayerStorageValue(cid, level[i].stor) < 1 and getPlayerStorageValue(cid, level[#level].stor) < 1 then if newLevel >= level[i].level[1] and newLevel <= level[i].level[2] then setPlayerStorageValue(cid, level[i].stor, 1) doPlayerAddItem(cid, level[i].item[1], level[i].item[2]) elseif newLevel >= level[#level].level[1] then setPlayerStorageValue(cid, level[#level].stor, 1) doPlayerAddItem(cid, level[#level].item[1], level[#level].item[2]) end end end return true end Editado Novembro 23, 2014 10 anos por Suicide (veja o histórico de edições) The corrupt fear us. The honest support us. The heroic join us.
Postado Novembro 23, 2014 10 anos Valeu Suicide, é que corrigi no Notepad++ mas esqueci de atualizar aqui. Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta! NÃO CLIQUE AQUI! NEM AQUI! ________________________________________________________________________________________________________________________________________________________________________________________________________________________ “A imaginação é mais importante que o conhecimento.” Albert Einstein
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.