Cores veículos de inventário - desconhecido123 - 05/09/2025
Bom dia!
Tô fazendo um sistema em que o player puxa o veículo de inventario venha cores aleatórias e quando player selecionar uma cor o veiculo vim so dá cor selecionada, a unicá coisa q não está fucionado e as cores aletorias fica vindo só carro preto q e a cor padrão do inventario
Código: new Cor1 = 0;
if(PlayerInfo[playerid][pCarCorInv] == -1)
{
Cor1 = random(255);
}
else if(PlayerInfo[playerid][pCarCorInv] >= 0)
{
Cor1 = PlayerInfo[playerid][pCarCorInv];
}
CarroInventario[playerid] = AddStaticVehicleEx(item,X,Y,Z, 1,Cor1,Cor1,-1);
PutPlayerInVehicle(playerid, CarroInventario[playerid], 0);
RE: Cores veículos de inventário - xbruno1000x - 05/09/2025
Não sei por qual motivo, mas o random(255) sempre buga a cor e sai sempre preto. Altere para random(254) e deve funcionar corretamente. Certifique-se também de a váriavel PlayerInfo[playerid][pCarCorInv] estar sendo setada como -1, pois geralmente as variaveis inicializam como 0.
RE: Cores veículos de inventário - desconhecido123 - 05/09/2025
( 10:48)desconhecido123 Escreveu: Bom dia!
Tô fazendo um sistema em que o player puxa o veículo de inventario venha cores aleatórias e quando player selecionar uma cor o veiculo vim so dá cor selecionada, a unicá coisa q não está fucionado e as cores aletorias fica vindo só carro preto q e a cor padrão do inventario
Código: new Cor1 = 0;
if(PlayerInfo[playerid][pCarCorInv] == -1)
{
Cor1 = random(255);
}
else if(PlayerInfo[playerid][pCarCorInv] >= 0)
{
Cor1 = PlayerInfo[playerid][pCarCorInv];
}
CarroInventario[playerid] = AddStaticVehicleEx(item,X,Y,Z, 1,Cor1,Cor1,-1);
PutPlayerInVehicle(playerid, CarroInventario[playerid], 0);
( 18:13)xbruno1000x Escreveu: Não sei por qual motivo, mas o random(255) sempre buga a cor e sai sempre preto. Altere para random(254) e deve funcionar corretamente. Certifique-se também de a váriavel PlayerInfo[playerid][pCarCorInv] estar sendo setada como -1, pois geralmente as variaveis inicializam como 0.
Código: stock AtualizarInvCor(playerid)
{
if(PlayerInfo[playerid][pCorInv] == 0)
{
PlayerInfo[playerid][pCorInv] = 0x00000050;
PlayerInfo[playerid][pCarCorInv] = -1;
}
PlayerTextDrawBoxColor(playerid, invText[playerid][0], PlayerInfo[playerid][pCorInv]);
if(InventarioAberto[playerid] == 1)
{
PlayerTextDrawShow(playerid, invText[playerid][0]);
}
if(PlayerInfo[playerid][pCorInv] == 0x0000003C)
{
PlayerTextDrawBoxColor(playerid, textDoLadoInv[playerid][0], 95);
}
else
{
PlayerTextDrawBoxColor(playerid, textDoLadoInv[playerid][0], PlayerInfo[playerid][pCorInv]);
}
return 0;
}
if(item > 399 && item < 610)
{
if(AguardarVeiculo[playerid] >= 1){
format(stringZCMD, sizeof stringZCMD, "* Você pegou um veículo de inventário a pouco tempo! Aguarde 5:30 segundos.", AguardarVeiculo[playerid]);
SendClientMessage(playerid, COR_GRAD1, stringZCMD);
return 1;
}
if(GetPlayerVirtualWorld(playerid) != 0)
return SendClientMessage(playerid, COR_LIGHTRED, "ERRO: {FFFFFF}Você só pode pegar veículos de inventário no world [0]!");
if(GetPlayerInterior(playerid) > 0)
return SendClientMessage(playerid, COR_LIGHTRED, "ERRO: {FFFFFF}Você não pode pegar veículos de inventário em interior!");
if(IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, COR_LIGHTRED, "ERRO: {FFFFFF}Você já está em um veículo!");
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
//new arquivo[64];
//new arquivo2[64];
//new Cor1 = 1 + random(255);
//new Cor2 = 1 + random(255);
new Cor1 = 0;
if(PlayerInfo[playerid][pCarCorInv] == -1)
{
Cor1 = random(255);
}
else if(PlayerInfo[playerid][pCarCorInv] >= 0)
{
Cor1 = PlayerInfo[playerid][pCarCorInv];
}
CarroInventario[playerid] = AddStaticVehicleEx(item,X,Y,Z, 1,Cor1,Cor1,-1);
PutPlayerInVehicle(playerid, CarroInventario[playerid], 0);
//CarroInventario[playerid] = AddStaticVehicleEx(item,X,Y,Z, 1,Cor1,Cor2,-1);
//PutPlayerInVehicle(playerid, CarroInventario[playerid], 0);
/*for(new x = 1200; x != MAX_VEHICLES; ++x)
{
format(arquivo, sizeof(arquivo), Pasta_CarrosVIP,x);
format(arquivo2, sizeof(arquivo2), Pasta_CarrosFixo,x);
if(!DOF2_FileExists(arquivo) && !DOF2_FileExists(arquivo2))
{
CarroInventario[playerid] = AddStaticVehicleEx(item,X,Y,Z, 1,1,0,-1);
PutPlayerInVehicle(playerid, CarroInventario[playerid], 0);
break;
}
}*/
if(item == 441 || item == 464 || item == 465 || item == 501 || item == 564 || item == 594)
{
SendClientMessage(playerid, COR_LIGHTBLUE, "Carrinho: Você pegou seu brinquedo, quando quiser guarda-lo pressione F ou N");
format(gstring, sizeof(gstring), "[BRINQUEDO]: %s Pegou um(a) %s de brinquedo.", PlayerName(playerid), Nomedosveiculos[item - 400]);
ProxDetector(30.0, playerid, gstring, COR_AZUL,COR_AZUL,COR_AZUL,COR_PURPLE,COR_PURPLE);
}
else
{
SendClientMessage(playerid, COR_LIGHTBLUE, "Você pegou seu veículo de inventário, para guarda-lô, pressione a tecla F ou N.");
format(gstring, sizeof(gstring), "[Veiculo de Inventário]: %s Pegou um(a) %s em seu inventário.", PlayerName(playerid), Nomedosveiculos[item - 400]);
ProxDetector(30.0, playerid, gstring, COR_AZUL,COR_AZUL,COR_AZUL,COR_PURPLE,COR_PURPLE);
}
BoxAberto[playerid] = 0;
GetVehicleParamsEx(CarroInventario[playerid],engineZCMD,lightsZCMD,alarmZCMD,doorsZCMD,bonnetZCMD,bootZCMD,objectiveZCMD);
SetVehicleParamsEx(CarroInventario[playerid],VEHICLE_PARAMS_ON,lightsZCMD,alarmZCMD,doorsZCMD,bonnetZCMD,bootZCMD,objectiveZCMD);
SendClientMessage(playerid, 0xFFFFFFFF, "Veiculo: {228B22}Ligado!");
EngineCarro[CarroInventario[playerid]] = 1;
AguardarVeiculo[playerid] = 530;
Gas[CarroInventario[playerid]] = GasMax;
FecharInventario(playerid);
}
if(dialogid == 1474)
{
if(response)
{
if(listitem == 0)
{
PlayerInfo[playerid][pCorInv] = 0x00000050; PlayerInfo[playerid][pCarCorInv] = -1;
}
else
{
PlayerInfo[playerid][pCorInv] = AllCarColorsI[listitem];
PlayerInfo[playerid][pCarCorInv] = listitem;
}
AtualizarInvCor(playerid);
//InventarioConfig(playerid);
//if(InventarioAberto[playerid] == 1)
//{
//FecharInventario(playerid);
//}
}
}
if(listitem == 12)
{
MEGAString[0] = EOS;
new color[30];
for(new i; i < 185; i++)
{
if(i == 0)
{
format(stringZCMD, 50, "{FFFFFF}Cor Padrão\n");
strcat(MEGAString, stringZCMD);
}
else
{
format(color, 7, "%06x", ConvertColour(AllCarColors[i], COLOUR_MODE_RGB, COLOUR_MODE_RGB));
format(stringZCMD, 50, "{%s}Cor %d\n", color, i);
strcat(MEGAString, stringZCMD);
}
}
ShowPlayerDialog(playerid, 1474, DIALOG_STYLE_LIST, "Paleta de Cores do Inventário:", MEGAString, "Alterar", "Voltar");
}
RE: Cores veículos de inventário - xbruno1000x - 06/09/2025
Testou trocar o
Código: Cor1 = random(255);
por
Código: Cor1 = random(254);
como eu havia dito?
RE: Cores veículos de inventário - desconhecido123 - 06/09/2025
( 00:14)xbruno1000x Escreveu: Testou trocar o
Código: Cor1 = random(255);
por
Código: Cor1 = random(254);
como eu havia dito?
Sim, no caso tive que colocar o 0, e deu certo mais quando vou trocar a cor na dialog e muda para cor padrão fica saido só laranja
|