Jump to content

ajuda com esse sistema de inventario


Recommended Posts

Oque está acontecendo é o seguinte quando eu equipo a arma e logo em seguida eu equipo a munição ele equipa qualquer munição porém quando vc dá /garma ele volta com a munição correta eu gostaria q desse pra arrumar esse bug e colocar pra equipar somente a munição certa na arma q o jogador estiver na mão 

--arquivo onde você equipa os items do iventario
if itemClass == "Armas" then
    if quantidade == 1 then
        useWeapon(player, itemID, Config["Itens"][itemID]["Weapon"])
    else
        exports._infobox:addNotification(player, "Você pode equipar apenas um "..itemName.." por vez.", "error")
    end
elseif itemClass == "Municao" then
    local weapon = getPedWeapon(player)
    if weapon and weaponsConfig[tonumber(weapon)] then
		local weaponID = weaponsConfig[tonumber(weapon)].Item
        if weaponID then    
            takeItem(player, itemID, quantidade)
            exports._infobox:addNotification(player, "Arma recarregada", "success")
            giveWeapon(player, weapon, quantidade)
            toggleControl(player, 'fire',true)
            reloadPedWeapon ( player )
        else
			exports._infobox:addNotification(player, "Essa arma usa outro tipo de munição!", "error")
        end
    else
		exports._infobox:addNotification(player, "Fique com a arma na mão!", "error")
	end
--arquivo de configuração das armas
  weaponsConfig = {
    [33] = {Item = 3, Municao = 20}, -- Id da arma no mta, id do item da arma, id da municao que ela usa
    [30] = {Item = 4, Municao = 21}, -- Id da arma no mta, id do item da arma, id da municao que ela usa
    [31] = {Item = 5, Municao = 21}, -- Id da arma no mta, id do item da arma, id da municao que ela usa   
    [29] = {Item = 6, Municao = 22}, -- Id da arma no mta, id do item da arma, id da municao que ela usa  
    [32] = {Item = 7, Municao = 22}, -- Id da arma no mta, id do item da arma, id da municao que ela usa 
    [24] = {Item = 8, Municao = 23}, -- Id da arma no mta, id do item da arma, id da municao que ela usa 
    [22] = {Item = 9, Municao = 22}, -- Id da arma no mta, id do item da arma, id da municao que ela usa     
    [23] = {Item = 10, Municao = 0}, -- Id da arma no mta, id do item da arma, id da municao que ela usa  
}

 

Edited by ItaloMendes
arquivo lua ficou meio bagunçado ai editei pra organizar
Link to comment
  • 3 weeks later...

O problema parece ser que quando você equipa a munição imediatamente após equipar a arma, o jogo não reconhece que a arma foi equipada e, portanto, equipa a munição para a arma atual em mãos, independentemente do tipo de munição necessária.

Para corrigir isso, você precisará fazer com que o jogo reconheça que a arma foi equipada antes de tentar equipar a munição. Isso pode ser feito adicionando uma pequena pausa entre o equipamento da arma e o equipamento da munição. Por exemplo, você pode adicionar um setTimer de 500 milissegundos para esperar antes de equipar a munição, permitindo que a arma seja reconhecida e selecionada corretamente.

Aqui está um exemplo de como você pode adicionar um setTimer para a função giveWeapon que equipa a munição para a arma correta:

if itemClass == "Armas" then
    if quantidade == 1 then
        useWeapon(player, itemID, Config["Itens"][itemID]["Weapon"])
    else
        exports._infobox:addNotification(player, "Você pode equipar apenas um "..itemName.." por vez.", "error")
    end
elseif itemClass == "Municao" then
    local weapon = getPedWeapon(player)
    if weapon and weaponsConfig[tonumber(weapon)] then
        local weaponID = weaponsConfig[tonumber(weapon)].Item
        if weaponID then    
            takeItem(player, itemID, quantidade)
            exports._infobox:addNotification(player, "Arma recarregada", "success")
            setTimer(giveWeapon, 500, 1, player, weapon, quantidade, true) -- adiciona um setTimer para esperar 500ms antes de equipar a munição
            toggleControl(player, 'fire',true)
            reloadPedWeapon(player)
        else
            exports._infobox:addNotification(player, "Essa arma usa outro tipo de munição!", "error")
        end
    else
        exports._infobox:addNotification(player, "Fique com a arma na mão!", "error")
    end
end

Espero que isso ajude a corrigir o problema do equipamento de munição para a arma errada.

  • Thanks 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...