xCookie 1 Postado Setembro 3, 2015 Share Postado Setembro 3, 2015 (editado) --Bom eu uso esse script ele funciona, mais quero que der level ou 1 item aleatório que ta na tabela do script-- Obs. os items já estão dando, só falta o level e claro pode dar level ou 1 item. Não os 2 de uma vez. ERRO: 1° nao esta dando level. 2° na mensagem "Você abriu a box e ganhou 1 blablabla." CERTO: 1° Dar 5 leveis se nao vim os items da tabela 2° na mensagem "Você abriu a box e ganhou 1 blablabla." - No blablabla aparecer o nome do item que vim ou o level. actions/scripts: local items = { --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM} [1]={id=2159, count=1}, -- [2]={id=2695, count=1}, -- [3]={id=2090, count=1}, -- [4]={id=6570, count=1}, -- [5]={id=6571, count=1}, -- [6]={id=7632, count=1}, -- [7]={id=7633, count=1}, -- [8]={id=2153, count=1}, -- [9]={id=5952, count=1}, -- } function onUse(cid, item, fromPosition, itemEx, toPosition) a = math.random(1, #items) doPlayerAddItem(cid, items[a].id, items[a].count) doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN) doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou ".. items[a].count .. ".") doRemoveItem(item.uid, 1) return true end ME AJUDE PESSOAL!! Editado Setembro 3, 2015 por xCookie Link para o comentário Compartilhar em outros sites More sharing options...
0 Bruno 535 Postado Setembro 3, 2015 Share Postado Setembro 3, 2015 Tenta assim: local items = { --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM} [1]={id=2159, count=1}, -- [2]={id=2695, count=1}, -- [3]={id=2090, count=1}, -- [4]={id=6570, count=1}, -- [5]={id=6571, count=1}, -- [6]={id=7632, count=1}, -- [7]={id=7633, count=1}, -- [8]={id=2153, count=1}, -- [9]={id="level", count=1}, -- } function doPlayerAddLevel(cid, amount, round) local newExp = 0 local currentLevel = getPlayerLevel(cid) if amount > 0 then newExp = getExperienceForLevel(currentLevel + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) else newExp = -((round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) - getExperienceForLevel(currentLevel + amount)) end return doPlayerAddExp(cid, newExp) end function onUse(cid, item, fromPosition, itemEx, toPosition) local a = math.random(1, #items) if type(items[a].id) == "string" then doPlayerAddLevel(cid, items[a].count) else doPlayerAddItem(cid, items[a].id, items[a].count) end doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN) doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou ".. items[a].count .. ".") doRemoveItem(item.uid, 1) return true end Link para o comentário Compartilhar em outros sites More sharing options...
0 zipter98 1101 Postado Setembro 3, 2015 Share Postado Setembro 3, 2015 Tópico Movido Este tópico foi movido de "OTServ → Scripting → Scripts Prontos" para "OTServ → Suporte → Suporte Scripting". Link para o comentário Compartilhar em outros sites More sharing options...
0 xCookie 1 Postado Setembro 3, 2015 Autor Share Postado Setembro 3, 2015 zipter pra que voce moveu o topico mano.. arrumou o erro 1 apenas... falta o erro 2 que nao ta aparecendo a nome do item apenas quantidade! HELP ME! Link para o comentário Compartilhar em outros sites More sharing options...
0 Mudrock 326 Postado Setembro 3, 2015 Share Postado Setembro 3, 2015 zipter pra que voce moveu o topico mano.. arrumou o erro 1 apenas... falta o erro 2 que nao ta aparecendo a nome do item apenas quantidade! HELP ME! O Tópico só foi movido de área para uma mais adequada a sua duvida amigo. não para Duvidas resolvidas. espero que tenha entendido, Abraçoss Link para o comentário Compartilhar em outros sites More sharing options...
0 xCookie 1 Postado Setembro 3, 2015 Autor Share Postado Setembro 3, 2015 ok porfavor me ajude com essa mensagem please! Link para o comentário Compartilhar em outros sites More sharing options...
0 zipter98 1101 Postado Setembro 4, 2015 Share Postado Setembro 4, 2015 (editado) local items = { --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM} [1]={id=2159, count=1}, -- [2]={id=2695, count=1}, -- [3]={id=2090, count=1}, -- [4]={id=6570, count=1}, -- [5]={id=6571, count=1}, -- [6]={id=7632, count=1}, -- [7]={id=7633, count=1}, -- [8]={id=2153, count=1}, -- [9]={id="level", count=1}, -- } function doPlayerAddLevel(cid, amount, round) local newExp = 0 local currentLevel = getPlayerLevel(cid) if amount > 0 then newExp = getExperienceForLevel(currentLevel + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) else newExp = -((round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) - getExperienceForLevel(currentLevel + amount)) end return doPlayerAddExp(cid, newExp) end function onUse(cid, item, fromPosition, itemEx, toPosition) local a = math.random(1, #items) if type(items[a].id) == "string" then doPlayerAddLevel(cid, items[a].count) else doPlayerAddItem(cid, items[a].id, items[a].count) end doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN) doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou "..items[a].count.."x "..(tonumber(items[a].id) and getItemNameById(items[a].id) or "level"..(items[a].count > 1 and "s" or ""))..".") doRemoveItem(item.uid, 1) return true end Editado Setembro 4, 2015 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
0 xCookie 1 Postado Setembro 4, 2015 Autor Share Postado Setembro 4, 2015 a mensagem so ta aparecendo o nome do item !! nao esta aparecendo voce ganhou tanto blablabla Link para o comentário Compartilhar em outros sites More sharing options...
0 zipter98 1101 Postado Setembro 4, 2015 Share Postado Setembro 4, 2015 Desculpe, corrigido. Link para o comentário Compartilhar em outros sites More sharing options...
0 xCookie 1 Postado Setembro 4, 2015 Autor Share Postado Setembro 4, 2015 poxa tu e fera mesmo funcionou de boa! e possível por pra um item demorar pra vim, tipo % por itens entende? se não der muito trabalho pra você pode fazer esse favor? Link para o comentário Compartilhar em outros sites More sharing options...
0 Bruno 535 Postado Setembro 4, 2015 Share Postado Setembro 4, 2015 a mensagem so ta aparecendo o nome do item !! nao esta aparecendo voce ganhou tanto blablabla local items = { --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM} [1]={id=2159, count=1}, -- [2]={id=2695, count=1}, -- [3]={id=2090, count=1}, -- [4]={id=6570, count=1}, -- [5]={id=6571, count=1}, -- [6]={id=7632, count=1}, -- [7]={id=7633, count=1}, -- [8]={id=2153, count=1}, -- [9]={id="level", count=1}, -- } function doPlayerAddLevel(cid, amount, round) local newExp = 0 local currentLevel = getPlayerLevel(cid) if amount > 0 then newExp = getExperienceForLevel(currentLevel + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) else newExp = -((round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) - getExperienceForLevel(currentLevel + amount)) end return doPlayerAddExp(cid, newExp) end function onUse(cid, item, fromPosition, itemEx, toPosition) local a = math.random(1, #items) if type(items[a].id) == "string" then doPlayerAddLevel(cid, items[a].count) doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. " leve" .. (items[a].count > 1 and "is" or "l")) .. ".") else doPlayerAddItem(cid, items[a].id, items[a].count) doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. "x " .. getItemNameById(items[a].id) .. ".") end doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN) doRemoveItem(item.uid, 1) return true end Link para o comentário Compartilhar em outros sites More sharing options...
0 xCookie 1 Postado Setembro 4, 2015 Autor Share Postado Setembro 4, 2015 Funcionou os 2 parabens mais eu tinha me esquecido tipo o id 2090 da tabela e uma key eu coloco count=10 dai so vem 1 porque? Link para o comentário Compartilhar em outros sites More sharing options...
0 Bruno 535 Postado Setembro 4, 2015 Share Postado Setembro 4, 2015 Funcionou os 2 parabens mais eu tinha me esquecido tipo o id 2090 da tabela e uma key eu coloco count=10 dai so vem 1 porque? Tenta assim: local items = { --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM} [1]={id=2159, count=1}, -- [2]={id=2695, count=1}, -- [3]={id=2090, count=1}, -- [4]={id=6570, count=1}, -- [5]={id=6571, count=1}, -- [6]={id=7632, count=1}, -- [7]={id=7633, count=1}, -- [8]={id=2153, count=1}, -- [9]={id="level", count=1}, -- } function doPlayerAddLevel(cid, amount, round) local newExp = 0 local currentLevel = getPlayerLevel(cid) if amount > 0 then newExp = getExperienceForLevel(currentLevel + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) else newExp = -((round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) - getExperienceForLevel(currentLevel + amount)) end return doPlayerAddExp(cid, newExp) end function onUse(cid, item, fromPosition, itemEx, toPosition) local a = math.random(1, #items) if type(items[a].id) == "string" then doPlayerAddLevel(cid, items[a].count) doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. " leve" .. (items[a].count > 1 and "is" or "l")) .. ".") else if isItemStackable(items[a].id) then doPlayerAddItem(cid, items[a].id, items[a].count) else for i = 1, items[a].count then doPlayerAddItem(cid, items[a].id, 1) end end doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. "x " .. getItemNameById(items[a].id) .. ".") end doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN) doRemoveItem(item.uid, 1) return true end Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
xCookie 1
--Bom eu uso esse script ele funciona, mais quero que der level ou 1 item aleatório que ta na tabela do script--
Obs. os items já estão dando, só falta o level e claro pode dar level ou 1 item. Não os 2 de uma vez.
ERRO:
1° nao esta dando level.
2° na mensagem "Você abriu a box e ganhou 1 blablabla."
CERTO:
1° Dar 5 leveis se nao vim os items da tabela
2° na mensagem "Você abriu a box e ganhou 1 blablabla." - No blablabla aparecer o nome do item que vim ou o level.
actions/scripts:
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados