Ir para conteúdo
  • 0

Contagem de itens


IOWeenI

Pergunta

Spoiler

function sendMsgCountToItens(cid) -- FUNÇÃO PARA MANDAR A MSG DE QUANTOS ITENS FALTA
    local item1 = getPlayerStorageValue(cid, 251461):explode("|")
    
    if getPlayerItemCount(cid, item1[1]) >= tonumber(item1[3]) then
        valor1 = 0
    else
        valor1 = tonumber(item1[3]) - getPlayerItemCount(cid, item1[1])
    end
        
    if getPlayerItemCount(cid, item1[2]) >= tonumber(item1[4]) then
        valor2 = 0
    else
        valor2 = tonumber(item1[4]) - getPlayerItemCount(cid, item1[2])
    end
                
    if getPlayerItemCount(cid, item1[5]) >= tonumber(item1[7]) then
        valor3 = 0
    else
        valor3 = tonumber(item1[7]) - getPlayerItemCount(cid, item1[5])
    end
                
    if getPlayerItemCount(cid, item1[6]) >= tonumber(item1[8]) then
        valor4 = 0
    else
        valor4 = tonumber(item1[8]) - getPlayerItemCount(cid, item1[6])
    end
        
    selfSay("Ainda falta você me trazer os seguintes itens ["..valor1.."] "..getItemNameById(item1[1])..", ["..valor2.."] "..getItemNameById(item1[2])..", ["..valor3.."] "..getItemNameById(item1[5])..",  ["..valor4.."] "..getItemNameById(item1[6])..".", cid)        
    return true
end

 Salve galerinha beleza? Bom esse codigo faz a contagem dos itens que está na sua bag, mas ela não para após zerar ela começa a contagem negativa, (-1, -2, -3, -4, -5,...) gostaria que ela parace no 0 e não aparecesse mais e após o player entregar os itens não ter mais a contagem pois os itens continuam contando depois que o player entrega como se estivesse fazendo de novo!

 

VLWWW REP++

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
function sendMsgCountToItens(cid)
    local item1 = getPlayerStorageValue(cid, 251461):explode("|")
    
    -- Verificar se todos os itens foram entregues
    local allItemsDelivered = getPlayerItemCount(cid, item1[1]) >= tonumber(item1[3]) and
                              getPlayerItemCount(cid, item1[2]) >= tonumber(item1[4]) and
                              getPlayerItemCount(cid, item1[5]) >= tonumber(item1[7]) and
                              getPlayerItemCount(cid, item1[6]) >= tonumber(item1[8])
    
    -- Se todos os itens foram entregues, definir a mensagem como vazia e remover o valor de armazenamento
    if allItemsDelivered then
        setPlayerStorageValue(cid, 251461, -1)
        return false
    end
    
    -- Caso contrário, calcular os valores de contagem dos itens
    local valor1 = math.max(0, tonumber(item1[3]) - getPlayerItemCount(cid, item1[1]))
    local valor2 = math.max(0, tonumber(item1[4]) - getPlayerItemCount(cid, item1[2]))
    local valor3 = math.max(0, tonumber(item1[7]) - getPlayerItemCount(cid, item1[5]))
    local valor4 = math.max(0, tonumber(item1[8]) - getPlayerItemCount(cid, item1[6]))
    
    -- Enviar mensagem com a contagem dos itens que faltam
    selfSay("Ainda falta você me trazer os seguintes itens ["..valor1.."] "..getItemNameById(item1[1])..", ["..valor2.."] "..getItemNameById(item1[2])..", ["..valor3.."] "..getItemNameById(item1[5])..",  ["..valor4.."] "..getItemNameById(item1[6])..".", cid)        
    
    return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 16/04/2024 em 19:34, Holograma disse:
function sendMsgCountToItens(cid)
    local item1 = getPlayerStorageValue(cid, 251461):explode("|")
    
    -- Verificar se todos os itens foram entregues
    local allItemsDelivered = getPlayerItemCount(cid, item1[1]) >= tonumber(item1[3]) and
                              getPlayerItemCount(cid, item1[2]) >= tonumber(item1[4]) and
                              getPlayerItemCount(cid, item1[5]) >= tonumber(item1[7]) and
                              getPlayerItemCount(cid, item1[6]) >= tonumber(item1[8])
    
    -- Se todos os itens foram entregues, definir a mensagem como vazia e remover o valor de armazenamento
    if allItemsDelivered then
        setPlayerStorageValue(cid, 251461, -1)
        return false
    end
    
    -- Caso contrário, calcular os valores de contagem dos itens
    local valor1 = math.max(0, tonumber(item1[3]) - getPlayerItemCount(cid, item1[1]))
    local valor2 = math.max(0, tonumber(item1[4]) - getPlayerItemCount(cid, item1[2]))
    local valor3 = math.max(0, tonumber(item1[7]) - getPlayerItemCount(cid, item1[5]))
    local valor4 = math.max(0, tonumber(item1[8]) - getPlayerItemCount(cid, item1[6]))
    
    -- Enviar mensagem com a contagem dos itens que faltam
    selfSay("Ainda falta você me trazer os seguintes itens ["..valor1.."] "..getItemNameById(item1[1])..", ["..valor2.."] "..getItemNameById(item1[2])..", ["..valor3.."] "..getItemNameById(item1[5])..",  ["..valor4.."] "..getItemNameById(item1[6])..".", cid)        
    
    return true
end

 

Não Pegou manin, esse aqui é um Action do Autoloot, quando eu cliko no corpose ele sobe e começa a contagem

Link para o comentário
Compartilhar em outros sites

  • 0

puts.. eu ja fui melhor..

 

function sendMsgCountToItens(cid)
    local item1 = getPlayerStorageValue(cid, 251461):explode("|")
    
    -- Verificar se todos os itens foram entregues
    local allItemsDelivered = getPlayerItemCount(cid, item1[1]) >= tonumber(item1[3]) and
                              getPlayerItemCount(cid, item1[2]) >= tonumber(item1[4]) and
                              getPlayerItemCount(cid, item1[5]) >= tonumber(item1[7]) and
                              getPlayerItemCount(cid, item1[6]) >= tonumber(item1[8])
    
    -- Se todos os itens foram entregues, definir a mensagem como vazia e remover o valor de armazenamento
    if allItemsDelivered then
        setPlayerStorageValue(cid, 251461, -1)
        return false
    end
    
    -- Caso contrário, calcular os valores de contagem dos itens
    local valor1 = math.max(0, tonumber(item1[3]) - getPlayerItemCount(cid, item1[1]))
    local valor2 = math.max(0, tonumber(item1[4]) - getPlayerItemCount(cid, item1[2]))
    local valor3 = math.max(0, tonumber(item1[7]) - getPlayerItemCount(cid, item1[5]))
    local valor4 = math.max(0, tonumber(item1[8]) - getPlayerItemCount(cid, item1[6]))
    
    -- Se a contagem atingir zero, remova o valor de armazenamento
    if valor1 == 0 and valor2 == 0 and valor3 == 0 and valor4 == 0 then
        setPlayerStorageValue(cid, 251461, -1)
    end
    
    -- Enviar mensagem com a contagem dos itens que faltam
    if valor1 > 0 or valor2 > 0 or valor3 > 0 or valor4 > 0 then
        selfSay("Ainda falta você me trazer os seguintes itens ["..valor1.."] "..getItemNameById(item1[1])..", ["..valor2.."] "..getItemNameById(item1[2])..", ["..valor3.."] "..getItemNameById(item1[5])..",  ["..valor4.."] "..getItemNameById(item1[6])..".", cid)        
    end
    
    return true
end



tenta assim por gentileza

Link para o comentário
Compartilhar em outros sites

  • 0
Em 25/04/2024 em 22:04, Holograma disse:

puts.. eu ja fui melhor..

 

function sendMsgCountToItens(cid)
    local item1 = getPlayerStorageValue(cid, 251461):explode("|")
    
    -- Verificar se todos os itens foram entregues
    local allItemsDelivered = getPlayerItemCount(cid, item1[1]) >= tonumber(item1[3]) and
                              getPlayerItemCount(cid, item1[2]) >= tonumber(item1[4]) and
                              getPlayerItemCount(cid, item1[5]) >= tonumber(item1[7]) and
                              getPlayerItemCount(cid, item1[6]) >= tonumber(item1[8])
    
    -- Se todos os itens foram entregues, definir a mensagem como vazia e remover o valor de armazenamento
    if allItemsDelivered then
        setPlayerStorageValue(cid, 251461, -1)
        return false
    end
    
    -- Caso contrário, calcular os valores de contagem dos itens
    local valor1 = math.max(0, tonumber(item1[3]) - getPlayerItemCount(cid, item1[1]))
    local valor2 = math.max(0, tonumber(item1[4]) - getPlayerItemCount(cid, item1[2]))
    local valor3 = math.max(0, tonumber(item1[7]) - getPlayerItemCount(cid, item1[5]))
    local valor4 = math.max(0, tonumber(item1[8]) - getPlayerItemCount(cid, item1[6]))
    
    -- Se a contagem atingir zero, remova o valor de armazenamento
    if valor1 == 0 and valor2 == 0 and valor3 == 0 and valor4 == 0 then
        setPlayerStorageValue(cid, 251461, -1)
    end
    
    -- Enviar mensagem com a contagem dos itens que faltam
    if valor1 > 0 or valor2 > 0 or valor3 > 0 or valor4 > 0 then
        selfSay("Ainda falta você me trazer os seguintes itens ["..valor1.."] "..getItemNameById(item1[1])..", ["..valor2.."] "..getItemNameById(item1[2])..", ["..valor3.."] "..getItemNameById(item1[5])..",  ["..valor4.."] "..getItemNameById(item1[6])..".", cid)        
    end
    
    return true
end



tenta assim por gentileza

Ainda não ta pegando mano, quando cliko no corpse não faz a contagem

 

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...