Vou te ajudar nisso ai, só me envia os arrays (BizzInfo, SBizzInfo e FBizzInfo)
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.
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.