Mr_Taxi
Agora que vi seu pastebin, seu código é parcialmente o mesmo que o meu, a diferença é que criei um macro pra simplificar toda a operação de verificação de arrays.
Você tem diversas opções pra verificação dessas arrays em conjunto com a organização do player mas o método mais simples(nada otimizado) é verificar veículo por veículo. Você pode também usar um loop ou usar o macro criado por mim Vou postar aqui um exemplo usando loop e você adequada ao seu código conforme sua preferência.
Código:
VerifyVehicle(playerid, vehicleid)
{
if(Gang[playerid] == GROOVE)
{
new bool: confirmado = false;
for(new i; i <= sizeof(CarroGroove); ++i)
{
if(vehicleid == CarroGroove[i])
{
confirmado = true;
break;
}
}
return confirmado;
}
if(Gang[playerid] == COPS)
{
new bool: confirmado = false;
for(new i; i <= sizeof(CarroCops); ++i)
{
if(vehicleid == CarroCops[i])
{
confirmado = true;
break;
}
}
return confirmado;
}
return false;
}
Essa nova stock usa a mesma lógica que a sua se for prestar atenção, porem, a ordem dos returns está invertida então no caso se o player entrar que carro que for da equipe dele retornará à true, caso contrário, retornará à false.
Da forma que você fez retornaria à false mandando a mensagem ao player que o veículo não é da organização dele se o veículo fosse da organização dele.