07/01/2024 18:32
(Esta mensagem foi modificada pela última vez a: 07/01/2024 18:34 por kakaroto_developer.)
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"]
Esse é o código responsável por definir o valor pago:Código:cashmade = PlayerHaul[tmpcar][pLoad]*BizzInfo[i][bPriceProd];
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.