Postado Dezembro 3, 2015 9 anos Fala galera, estou tentando fazer uma quest, em que o bau da um item randomico ao jogador, mas esta dando erro, alguem pode me ajudar? Segue o Script que ue tava tentando fazer function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 20220 then local config = { [0] = {id = 8302}, [1] = {id = 8301}, [2] = {id = 8300}, } doPlayerSendTextMessage(cid,22,"Voce Recebeu seu item") doPlayerAddItem(cid, math.random(config.id[0], config.id[2]), 1) else return 0 end return 1 end obs: eu sei que não tem storage, é para ser assim msm, pois eu vou teleportar o jogador depois que pegar o item. obs2:o log diz que o id é um numero null. Ja resolvi, falta um # << antes do config
Postado Dezembro 4, 2015 9 anos O problema no seu código está aqui: doPlayerAddItem(cid, math.random(config.id[0], config.id[2]), 1) Vamos analisar por partes. Primeiro, devemos prestar atenção em como o método doPlayerAddItem se comporta: Citar doPlayerAddItem(creatureid, itemid) creatureid - Player que receberá o item itemid - Id do item que será adicionado ao player Vamos prestar atenção no que você fez: Citar doPlayerAddItem(cid, math.random(config.id[0], config.id[2]), 1) O parâmetro cid está ok. No caso, o player que usar a box receberá o item. Já o segundo parâmetro está totalmente equivocado. O math.random(from, to) gera para nós um número aleatório entre um intervalo. O modo que você usou está equivocado tanto na forma de usar o math.random, como na forma de acessar um valor da tabela. if item.uid == 20220 thenlocal config = { [0] = {id = 8302}, [1] = {id = 8301}, [2] = {id = 8300}, config.id[0] - O erro foi tentar acessar o valor de config.id, que não existe. O que existe é config[0].id. Um exemplo onde config.id seria possível seria esse: local config = { id = 2160, } print(config.id) Código corrigido: local config = { [0] = 8302, [1] = 8301, [2] = 8300, } function onUse(cid, item, fromPosition, itemEx, toPosition) doPlayerSendTextMessage(cid, 22, "Você Recebeu seu item!") doPlayerAddItem(cid, config[math.random(#config)], 1) return true end local config = { [0] = 8302, [1] = 8301, [2] = 8300, } function onUse(cid, item, fromPosition, itemEx, toPosition) doPlayerSendTextMessage(cid, 22, "Você Recebeu seu item!") doPlayerAddItem(cid, config[math.random(#config)], 1) return true end -"Supra Omnes Lux Lucis" - Acima de todos brilha a Luz -
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.