Portal SAMP
[Ajuda] Scrip com mal funcionamento - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Scrip com mal funcionamento (/showthread.php?tid=4386)



Scrip com mal funcionamento - kakaroto_developer - 07/01/2024

Boa noite.. venho mais uma vez nessa grande comunidade samp buscar conhecimento!
eu ja tentei de todas as formas resolver o seguinte erro..

No meu servidor existe a profissao caminhoneiro pois ent.. o sistema basicamente funciona assim..

o usuario ira coletar produtos /coletarprods, para depois ele entregar com o caminhao.
chegando no local marcado ele usara o cmd /entregarprods, o problema e o seguinte.. ele entrega tudo ok ate ai! porem qnd vem a grana para o player como pagamento, eu nao sei oque acontece que ele gera valores abulsivos enormes aleatoriamente.. vou deixar o codigo de /entregarprods a baixo para analise, espero encontrar soluçao agradeço desde ja Smile

Código:
    CMD:entregarprods(playerid)return ForT:entregarprodutos(playerid);
    CMD:entregarprodutos(playerid)
    {
            new cashmade;
            new tmpcar;
            tmpcar = GetPlayerVehicleID(playerid);
            if(GetVehicleModel(tmpcar) != 514 && GetVehicleModel(tmpcar) != 515 && GetVehicleModel(tmpcar) != 440 && GetVehicleModel(tmpcar) != 456)
            {
                GameTextForPlayer(playerid, "~r~Você não está em um veículo de entrega.", 5000, 1);
                return 1;
            }
            if(GetVehicleTrailer(tmpcar) < 1)
            {
                if(GetVehicleModel(tmpcar) != 440 && GetVehicleModel(tmpcar) != 456)
                {
                     SendClientMessage(playerid, COLOR_GREY, "Você pode entregar produtos apenas se tiver uma carga traseira.");
                     return 1;
                }
            }
            new string[128];
            if(PlayerHaul[tmpcar][pLoad] == 0)
            {
                GameTextForPlayer(playerid, "~r~Caminhao vazio, volte para o estoque.", 5000, 1);
                format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
                PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
                format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
                PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
                ShowCami(playerid);
                return 1;
            }
            for(new i = 0; i < sizeof(BizzInfo); i++)
            {
                if (PlayerToPoint(10, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
                {
                    if(BizzInfo[i][bProductsReq] < 1)
                    {
                        GameTextForPlayer(playerid, "~r~Nao precisamos mais de produtos", 5000, 1);
                        format(string, sizeof(string), "Dinheiro adquirido $%d.", cashmade);
                        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                        format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                        format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
                        PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
                        format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
                        PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
                        ShowCami(playerid);
                        return 1;
                    }
                    if(PlayerHaul[tmpcar][pLoad]*BizzInfo[i][bPriceProd] > BizzInfo[i][bTill])
                    {
                        GameTextForPlayer(playerid, "~r~Nao podemos pagar pelos produtos", 5000, 1);
                        format(string, sizeof(string), "Dinheiro adquirido $%d.", cashmade);
                        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                        format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                        format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
                        PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
                        format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
                        PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
                        ShowCami(playerid);
                        return 1;
                    }
                    cashmade = PlayerHaul[tmpcar][pLoad]*BizzInfo[i][bPriceProd];
                    BizzInfo[i][bProducts] += PlayerHaul[tmpcar][pLoad];
                    BizzInfo[i][bProductsReq] -= PlayerHaul[tmpcar][pLoad];
                    PlayerHaul[tmpcar][pLoad] = 0;
                    GiveDinheiro(playerid,cashmade);
                    BizzInfo[i][bTill] -= cashmade;
                    empmoney(playerid, 21, cashmade);
                    GameTextForPlayer(playerid, "~r~Caminhao vazio, volte para o estoque", 5000, 1);
                    format(string, sizeof(string), "Dinheiro adquirido $%d.", cashmade);
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                    format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
                    PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
                    format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
                    PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
                    ShowCami(playerid);
                    SalvarEmpresa(i);
                    Atualizar3Dtexts();
                    return 1;
                }
            }
            for(new i = 0; i < sizeof(SBizzInfo); i++)
            {
                if (PlayerToPoint(10, playerid,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ]))
                {
                    if(SBizzInfo[i][sbProductsReq] < 1)
                    {
                        GameTextForPlayer(playerid, "~r~Nao precisamos mais de produtos", 5000, 1);
                        format(string, sizeof(string), "Dinheiro adquirido $%d.", cashmade);
                        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                        format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                        format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
                        PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
                        format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
                        PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
                        ShowCami(playerid);
                        return 1;
                    }
                    /*if(PlayerHaul[tmpcar][pLoad]*SBizzInfo[i][sbPriceProd] > SBizzInfo[i][sbTill])
                    {
                        GameTextForPlayer(playerid, "~r~Não podemos pagar o acordo", 5000, 1);
                        format(string, sizeof(string), "Dinheiro adquirido $%d.", cashmade);
                        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                        format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                        format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
                        PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
                        format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
                        PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
                        ShowCami(playerid);
                        return 1;
                    }*/
                    cashmade = PlayerHaul[tmpcar][pLoad]*SBizzInfo[i][sbPriceProd];
                    SBizzInfo[i][sbProducts] += PlayerHaul[tmpcar][pLoad];
                    SBizzInfo[i][sbProductsReq] -= PlayerHaul[tmpcar][pLoad];
                    GiveDinheiro(playerid,cashmade);
                    SBizzInfo[i][sbTill] -= cashmade;
                    PlayerHaul[tmpcar][pLoad] = 0;
                    GameTextForPlayer(playerid, "~r~Caminhao vazio, volte para o estoque.", 5000, 1);
                    format(string, sizeof(string), "Dinheiro adquirido $%d.", cashmade);
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                    format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
                    PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
                    format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
                    PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
                    ShowCami(playerid);
                    SalvarSEmpresa(i);
                    Atualizar3Dtexts();
                    return 1;
                }
            }
            for(new i = 0; i < sizeof(FBizzInfo); i++)
            {
                if (PlayerToPoint(10, playerid,FBizzInfo[i][fbEntranceX], FBizzInfo[i][fbEntranceY], FBizzInfo[i][fbEntranceZ]))
                    {
                        if(FBizzInfo[i][fbProductsReq] < 1)
                        {
                            GameTextForPlayer(playerid, "~r~Nao precisamos mais de produtos", 5000, 1);
                            format(string, sizeof(string), "Dinheiro adquirido $%d.", cashmade);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
                            PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
                            format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
                            PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
                            ShowCami(playerid);
                            return 1;
                        }
                        /*if(PlayerHaul[tmpcar][pLoad]*FBizzInfo[i][fbPriceProd] > FBizzInfo[i][fbTill])
                        {
                            GameTextForPlayer(playerid, "~r~Não podemos pagar o acordo", 5000, 1);
                            format(string, sizeof(string), "Dinheiro adquirido $%d.", cashmade);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
                            PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
                            format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
                            PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
                            ShowCami(playerid);
                            return 1;
                        }*/
                        cashmade = PlayerHaul[tmpcar][pLoad]*FBizzInfo[i][fbPriceProd];
                        FBizzInfo[i][fbProducts] += PlayerHaul[tmpcar][pLoad];
                        FBizzInfo[i][fbProductsReq] -= PlayerHaul[tmpcar][pLoad];
                        GiveDinheiro(playerid,cashmade);
                        FBizzInfo[i][fbTill] -= cashmade;
                        PlayerHaul[tmpcar][pLoad] = 0;
                        GameTextForPlayer(playerid, "~r~Caminhao vazio, volte para o estoque.", 5000, 1);
                        format(string, sizeof(string), "Dinheiro adquiridot $%d.", cashmade);
                        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                        format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                        format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
                        PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
                        format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
                        PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
                        ShowCami(playerid);
                        SalvarFEmpresa(i);
                        Atualizar3Dtexts();
                        return 1;
                    }
                }
            GameTextForPlayer(playerid, "~r~Esta longe de uma empresa ou fazenda", 5000, 1);
            return 1;
    }
Dodgy


RE: Scrip com mal funcionamento - blueN - 07/01/2024

Vou te ajudar nisso ai, só me envia os arrays (BizzInfoSBizzInfo e FBizzInfo)

Código:
CMD:entregarprods(playerid) return ForT:entregarprodutos(playerid);
CMD:entregarprodutos(playerid)
{
    new
        cashmade,
        tmpcar = GetPlayerVehicleID(playerid);
   
    if(GetVehicleModel(tmpcar) != 514 && GetVehicleModel(tmpcar) != 515 && GetVehicleModel(tmpcar) != 440 && GetVehicleModel(tmpcar) != 456)
        return GameTextForPlayer(playerid, "~r~Você não está em um veículo de entrega.", 5000, 1);
   
    if(GetVehicleTrailer(tmpcar) < 1)
        if(GetVehicleModel(tmpcar) != 440 && GetVehicleModel(tmpcar) != 456)
            return SendClientMessage(playerid, COLOR_GREY, "Você pode entregar produtos apenas se tiver uma carga traseira.");
   
    new string[128];

    if(PlayerHaul[tmpcar][pLoad] == 0) {
        GameTextForPlayer(playerid, "~r~Caminhao vazio, volte para o estoque.", 5000, 1);
       
        updateHaul_Draw(playerid);
        ShowCami(playerid);
        return true;
    }

    new tempType = -1;
    for(new i = 0; i < sizeof BizzInfo; i++) {
        if(!PlayerToPoint(10, playerid, BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ])) continue;
        tempType = 0;
        goto verifyJumpper;
    }

    for(new i = 0; i < sizeof SBizzInfo; i++) {
        if (!PlayerToPoint(10, playerid, SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ])) continue;
        tempType = 1;
        goto verifyJumpper;
    }

    for(new i = 0; i < sizeof FBizzInfo; i++) {
        if (!PlayerToPoint(10, playerid,FBizzInfo[i][fbEntranceX], FBizzInfo[i][fbEntranceY], FBizzInfo[i][fbEntranceZ])) continue;
        tempType = 2;
        goto verifyJumpper;
    }

    verifyJumpper:
    if(tempType == -1)
        return GameTextForPlayer(playerid, "~r~Esta longe de uma empresa ou fazenda", 5000, 1);


    new tempPriceProd;
    switch(tempType)
    {
        case 0:
        {
            if(BizzInfo[i][bProductsReq] < 1)
                return HaulError(playerid, cashmade);
           
            tempPriceProd = BizzInfo[i][bPriceProd];
        }

        case 1:
        {
            if(SBizzInfo[i][sbProductsReq] < 1)
                return HaulError(playerid, cashmade);

            tempPriceProd = SBizzInfo[i][sbPriceProd];
        }

        case 2:
        {
            if(FBizzInfo[i][fbProductsReq] < 1)
                return HaulError(playerid, cashmade);   

            tempPriceProd = FBizzInfo[i][fbPriceProd];
        }
    }

    cashmade = PlayerHaul[tmpcar][pLoad] * tempPriceProd;

    switch(tempType)
    {
        case 0:
        {
            BizzInfo[i][bProducts] += PlayerHaul[tmpcar][pLoad];
            BizzInfo[i][bProductsReq] -= PlayerHaul[tmpcar][pLoad];
            BizzInfo[i][bTill] -= cashmade;
        }

        case 1:
        {
            SBizzInfo[i][sbProducts] += PlayerHaul[tmpcar][pLoad];
            SBizzInfo[i][sbProductsReq] -= PlayerHaul[tmpcar][pLoad];
            SBizzInfo[i][sbTill] -= cashmade;
        }

        case 2:
        {
            FBizzInfo[i][fbProducts] += PlayerHaul[tmpcar][pLoad];
            FBizzInfo[i][fbProductsReq] -= PlayerHaul[tmpcar][pLoad];
            FBizzInfo[i][fbTill] -= cashmade;
        }
    }

    PlayerHaul[tmpcar][pLoad] = 0;
    GiveDinheiro(playerid, cashmade);
    // empmoney(playerid, 21, cashmade);        // Verificar veracidade.

    GameTextForPlayer(playerid, "~r~Caminhao vazio, volte para o estoque", 5000, 1);
    format(string, sizeof string, "Dinheiro adquirido $%d.", cashmade);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
       
    updateHaul_Draw(playerid);

    ShowCami(playerid);
    SalvarEmpresa(i);
    Atualizar3Dtexts();
    return true;
}

stock updateHaul_Draw(playerid) {

    new string[128];
    format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
    PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
    format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
    PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
    return true;
}

stock HaulError(playerid, cashmade) {

    new string[22 + 11 + 1];
    GameTextForPlayer(playerid, "~r~Nao precisamos mais de produtos", 5000, 1);
    format(string, sizeof(string), "Dinheiro adquirido $%d.", cashmade);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);

    updateHaul_Draw(playerid);
    ShowCami(playerid);
    return true;
}

Fiz umas modificações no teu código, como estava sem as informações do enumeradores que estavam presentes no array, fiz essa adaptação utilizando switchers. Eu acho que por hora vai resolver seu problema, se não resolver só me notificar.


RE: Scrip com mal funcionamento - xbruno1000x - 07/01/2024

Esse é o código responsável por definir o valor pago:
Código:
cashmade = PlayerHaul[tmpcar][pLoad]*BizzInfo[i][bPriceProd];

Coloque um printf e faça um debug dos valores que estão sendo computados. Pode ser que esteja acontecendo de esse calculo estar dando um Float, que não pode ser armazenado num Int.


RE: Scrip com mal funcionamento - kakaroto_developer - 07/01/2024

blueNonde eu acho esses arrays? ainda nao tenho muito conhecimento, estou o dia analisando tdas as chaves q tem nesta linha de codigo 
Código:
cashmade = PlayerHaul[tmpcar][pLoad]*BizzInfo[i][bPriceProd];
Código:
CMD:entregarprods(playerid) return ForT:entregarprodutos(playerid);
CMD:entregarprodutos(playerid)
{
    new
        cashmade,
        tmpcar = GetPlayerVehicleID(playerid);
   
    if(GetVehicleModel(tmpcar) != 514 && GetVehicleModel(tmpcar) != 515 && GetVehicleModel(tmpcar) != 440 && GetVehicleModel(tmpcar) != 456)
        return GameTextForPlayer(playerid, "~r~Você não está em um veículo de entrega.", 5000, 1);
   
    if(GetVehicleTrailer(tmpcar) < 1)
        if(GetVehicleModel(tmpcar) != 440 && GetVehicleModel(tmpcar) != 456)
            return SendClientMessage(playerid, COLOR_GREY, "Você pode entregar produtos apenas se tiver uma carga traseira.");
   
    new string[128];

    if(PlayerHaul[tmpcar][pLoad] == 0) {
        GameTextForPlayer(playerid, "~r~Caminhao vazio, volte para o estoque.", 5000, 1);
       
        updateHaul_Draw(playerid);
        ShowCami(playerid);
        return true;
    }

    new tempType = -1;
    for(new i = 0; i < sizeof BizzInfo; i++) {
        if(!PlayerToPoint(10, playerid, BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ])) continue;
        tempType = 0;
        goto verifyJumpper;
    }

    for(new i = 0; i < sizeof SBizzInfo; i++) {
        if (!PlayerToPoint(10, playerid, SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ])) continue;
        tempType = 1;
        goto verifyJumpper;
    }

    for(new i = 0; i < sizeof FBizzInfo; i++) {
        if (!PlayerToPoint(10, playerid,FBizzInfo[i][fbEntranceX], FBizzInfo[i][fbEntranceY], FBizzInfo[i][fbEntranceZ])) continue;
        tempType = 2;
        goto verifyJumpper;
    }

    verifyJumpper:
    if(tempType == -1)
        return GameTextForPlayer(playerid, "~r~Esta longe de uma empresa ou fazenda", 5000, 1);


    new tempPriceProd;
    switch(tempType)
    {
        case 0:
        {
            if(BizzInfo[i][bProductsReq] < 1)
                return HaulError(playerid, cashmade);
           
            tempPriceProd = BizzInfo[i][bPriceProd];
        }

        case 1:
        {
            if(SBizzInfo[i][sbProductsReq] < 1)
                return HaulError(playerid, cashmade);

            tempPriceProd = SBizzInfo[i][sbPriceProd];
        }

        case 2:
        {
            if(FBizzInfo[i][fbProductsReq] < 1)
                return HaulError(playerid, cashmade);  

            tempPriceProd = FBizzInfo[i][fbPriceProd];
        }
    }

    cashmade = PlayerHaul[tmpcar][pLoad] * tempPriceProd;

    switch(tempType)
    {
        case 0:
        {
            BizzInfo[i][bProducts] += PlayerHaul[tmpcar][pLoad];
            BizzInfo[i][bProductsReq] -= PlayerHaul[tmpcar][pLoad];
            BizzInfo[i][bTill] -= cashmade;
        }

        case 1:
        {
            SBizzInfo[i][sbProducts] += PlayerHaul[tmpcar][pLoad];
            SBizzInfo[i][sbProductsReq] -= PlayerHaul[tmpcar][pLoad];
            SBizzInfo[i][sbTill] -= cashmade;
        }

        case 2:
        {
            FBizzInfo[i][fbProducts] += PlayerHaul[tmpcar][pLoad];
            FBizzInfo[i][fbProductsReq] -= PlayerHaul[tmpcar][pLoad];
            FBizzInfo[i][fbTill] -= cashmade;
        }
    }

    PlayerHaul[tmpcar][pLoad] = 0;
    GiveDinheiro(playerid, cashmade);
    // empmoney(playerid, 21, cashmade);        // Verificar veracidade.

    GameTextForPlayer(playerid, "~r~Caminhao vazio, volte para o estoque", 5000, 1);
    format(string, sizeof string, "Dinheiro adquirido $%d.", cashmade);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
       
    updateHaul_Draw(playerid);

    ShowCami(playerid);
    SalvarEmpresa(i);
    Atualizar3Dtexts();
    return true;
}

stock updateHaul_Draw(playerid) {

    new string[128];
    format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pLoad]);
    PlayerTextDrawSetString(playerid,Produtosnb[playerid], string);
    format(string, sizeof(string), "%d",PlayerHaul[tmpcar][pCapasity]);
    PlayerTextDrawSetString(playerid,MaxProdutosnb[playerid], string);
    return true;
}

stock HaulError(playerid, cashmade) {

    new string[22 + 11 + 1];
    GameTextForPlayer(playerid, "~r~Nao precisamos mais de produtos", 5000, 1);
    format(string, sizeof(string), "Dinheiro adquirido $%d.", cashmade);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);

    updateHaul_Draw(playerid);
    ShowCami(playerid);
    return true;
}

Fiz umas modificações no teu código, como estava sem as informações do enumeradores que estavam presentes no array, fiz essa adaptação utilizando switchers. Eu acho que por hora vai resolver seu problema, se não resolver só me notificar.[/quote Escreveu:

[quote="xbruno1000x como eu faria um debug? nao tenho ideia de como realizar o mesmo!, eu aindei analisando muito esta linha de codigo citada" pid="17040" dateline="1704645397"]
Código:
cashmade = PlayerHaul[tmpcar][pLoad]*BizzInfo[i][bPriceProd];
Esse é o código responsável por definir o valor pago:
Código:
cashmade = PlayerHaul[tmpcar][pLoad]*BizzInfo[i][bPriceProd];

Coloque um printf e faça um debug dos valores que estão sendo computados. Pode ser que esteja acontecendo de esse calculo estar dando um Float, que não pode ser armazenado num Int.