Ir para conteúdo

Featured Replies

Postado

^ Se o item não for stackable, a quantia adicionada será sempre 1, não importando o que você coloca no parâmetro.

 

@Kd meu arrozz

Testarei o código e verei o que pode estar causando tal erro. Se possível, poste o código com suas alterações. Talvez, na verdade, o erro esteja nas configurações.

EDIT: Testei o código, e está funcionando perfeitamente. Há algum erro no console? E, novamente: poste o código alterado por você, por favor.

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

  • Respostas 20
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Sabe fazer a tag? local price = {itemid, count}            --Troque itemid pelo ID do item que será cobrado, e count pela quantia. local items = {     --[itemid] = {chance, count},        >> O

  • Hm, troca por esse código: local price = {itemid, count}            --Troque itemid pelo ID do item que será cobrado, e count pela quantia. local items = {     --[itemid] = {chance, count},        

  • local price = {itemid, count}            --Troque itemid pelo ID do item que será cobrado, e count pela quantia. local items = {     --[itemid] = {chance, count},        >> Onde itemid é o ID do

Postado
  • Autor

 

local price = {6527, 6}            --Troque itemid pelo ID do item que será cobrado, e count pela quantia.

local items = {
    --[8303] = {70, 5},
--[8302] = {70, 5},
    --[7422] = {30, 1},        >> Onde itemid é o ID do item, chance, obviamente, a chance dele ser sorteado, e count, a quantidade.
    --Exemplo:                           >> Para adicionar mais items, siga o modelo indicado acima. [itemid] = {chance, count},
    --[2160] = {50, 10},                 >> Assim, o item de ID 2160 teria 50% de chance de ser sorteado. Quantidade -> 10.
}
function onUse(cid)
    local _table = {}
    local number = math.random(1, 100)
    local item = 0
    if doPlayerRemoveItem(cid, price[1], price[2]) then
        for itemid, chance in pairs(items) do
            if item == 0 then
                item = itemid
            else
                if number <= chance[1] then
                    local new_chance = chance[1] - number 
                    local old_chance = items[item][1] - number 
                    if new_chance < old_chance then
                        if #_table > 0 then
                            _table = {}
                        end
                        table.insert(_table, itemid)
                        item = itemid
                    elseif new_chance == old_chance then
                        table.insert(_table, itemid)
                    end
                end
            end
        end
        if item ~= 0 then
            if #_table > 1 then
                item = _table[math.random(#_table)]
            end
            local count = items[item][2]
            if not isItemStackable(item) then
                if count > 1 then
                    for i = 1, count do
                        doPlayerAddItem(cid, item, 1)
                    end
                else
                    doPlayerAddItem(cid, item, 1)
                end
            else
                doPlayerAddItem(cid, item, count)
            end
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You received: "..count.."x "..getItemNameById(item)..(count > 1 and "s" or "")..".")
        end
    else
        return doPlayerSendCancel(cid, "You do not have "..price[2].." "..getItemNameById(price[1])..".")
    end
    return true
end

 

 

Poderia postar as tags também, para saber se coloquei tudo certo.

 

Ah lembrando, acabei nem falando a versão do tfs é 0.3.6 pode ter algo haver com isso

Editado por Kd meu arrozz (veja o histórico de edições)

Postado

Você usa duas travessões (--) apenas quando quer deixar um comentário no código. Assim, a parte que vier depois não será lida quando o script for executado.

Troque:

    --[8303] = {70, 5},
    --[8302] = {70, 5},
    --[7422] = {30, 1},        >> Onde itemid é o ID do item, chance, obviamente, a chance dele ser sorteado, e count, a quantidade.
por:
    [8303] = {70, 5},
    [8302] = {70, 5},
    [7422] = {30, 1},        

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Postado
  • Autor

Deu certinho a unica coisa é que tipo, ele ta dando em troca apenas o mesmo item.

 

Eu coloquei para sortea 3 itens:

 

 [8303] = {70, 5},     <<<<apenas desse id está vindo
 [8302] = {70, 5},
 [7422] = {30, 1},

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.6k

Informação Importante

Confirmação de Termo