Postado Março 5, 2012 13 anos Olá! Estou treinando table, mas no seguinte script o random da sempre 3 '-' e o outro rando q era para ser 1,100 sempre da a primeira opção. local config = { {monstro = "Minotaur", corpse = {2876,2830,2871,2866}, leather = 5878}, {monstro = "Dragon", corpse = 2844, leather = 5877} } collected = math.random(1,3) function onUse(cid, item, frompos, item2, topos) local corpse = { id = item2.itemid, uid = item2.uid, position = toPosition } if item2.itemid == config[2].corpse then if (math.random(1,100) >= 50) then doPlayerAddItem(cid, config[2].leather, collected) doPlayerSendTextMessage(cid, 22, "You got " .. collected .. " piece" .. (collected > 1 and "s" or "") .. " of leather.") doSendMagicEffect(getPlayerPosition(cid), 13) elseif (math.random(1,100) <= 49) then doPlayerSendTextMessage(cid, 22, "You didn't get any piece of leather.") end else doPlayerSendCancel(cid, "Não é possível tirar couro disto '-' .") end end Da um help ai, pf! =D. O que está errado no script? Edit: Arrumei !! Da Closed ! Editado Março 5, 2012 13 anos por Coyoty (veja o histórico de edições) Scripts: http://tibiaking.com...onte-por-level/ Tutoriais: http://tibiaking.com...51-newtypes-87/
Postado Março 5, 2012 13 anos Olá, Coyoty. Já notei que você arrumou seu script, mas só para esclarecer: - Quando a função math.random() fica fora do corpo da função onUse(), ela randomiza apenas uma vez no carregamento do servidor e não toda vez que executar a action. - E no caso da math.random(1, 100) não é necessário usar elseif, apenas else. if math.random(1, 100) >= 50 then (...) else (...) end Abraços Editado Março 5, 2012 13 anos por Lpz (veja o histórico de edições)
Postado Março 5, 2012 13 anos Autor Obrigado pela explicação, agora não erro mais '-' !! vlw! Scripts: http://tibiaking.com...onte-por-level/ Tutoriais: http://tibiaking.com...51-newtypes-87/
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.