11/05/2023 12:21
(11/05/2023 02:03)Sysner Escreveu: Umas das formas de fazer isso, é criando uma variável booleana que armazenar apenas valores True(1) ou False(0)Obrigado!! Alem de me tirar a duvida, consertou a minha lógica, agradeço muito, pois ainda estou aprendendo a programação e é muito bom estudar e aprender a lógicar por esse angulo mais avançado
Código:new bool:EffectRgbVehicle[MAX_PLAYERS];
aí e só fazer um código para alternar os valores toda vez que usar comando CMD:rgb
Código:new bool:EffectRgbVehicle[MAX_PLAYERS];
CMD:rgb(playerid)
{
EffectRgbVehicle[playerid] = EffectRgbVehicle[playerid] == true ? false : true;
if(EffectRgbVehicle[playerid])
{
// codigo para ativao o efeito
}
else if(!EffectRgbVehicle[playerid])
{
// codigo para desativa o efeito
}
return 1;
}
Se você quer uma efeito para os veículos pisca de cor aletoriamente
Esse código não e apropriado, porque faz o Loop somente ate o numero de jogadores suportado pelo servido MAX_PLAYERS, isso instantaneamente, sem intervalor para o jogador visualizar todas as cores trocadas.
Seria melhor usar uma função SetTimerEx com intervalo de segundos, é o comando CMD:rgb controlará o efeito iniciando função TimeEx para ativa ou destruindo o TimerEx para desativa
Exemplo rápido:
Código:new bool:EffectRgbVehicle[MAX_PLAYERS], IDTempEffectRgbVehicle[MAX_PLAYERS];
forward EffectRgbVehicleProcess(vehicleid);
public EffectRgbVehicleProcess(vehicleid)
{
new id, id2;
id = random(0, 7);
id2 = random(0, 7);
ChangeVehicleColor(vehicleid, id, id2);
return 1;
}
CMD:rgb(playerid)
{
EffectRgbVehicle[playerid] = EffectRgbVehicle[playerid] == true ? false : true;
if(EffectRgbVehicle[playerid])
{
new vehicleid = GetPlayerVehicleID(playerid);
IDTempEffectRgbVehicle[playerid] = SetTimerEx("EffectRgbVehicleProcess", 1000, true, "i", vehicleid);
SendClientMessage(playerid, -1, "RGB Ativado");
}
else if(!EffectRgbVehicle[playerid])
{
KillTimer(IDTempEffectRgbVehicle[playerid]);
SendClientMessage(playerid, -1, "RGB Desativado");
}
return 1;
}
A partir daí e só enriquece mais o sistema.