Ir para conteúdo

Featured Replies

Postado

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

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 then
local 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 -

5VGnDyBz.png

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo