Й muito simples.
No comeзo de seu gamemode, use um define como este:
Pronto, temos um comeзo. Precisamos agora definir os players que serгo da polнcia.
Irei assumir que seu GM tenha uma array de players com o nome PlayerInfo. Caso ela seja diferente, poste no tуpico a sua array que eu ajusto.
Iremos definir quem й policial.
pawn Код:
stock Policia(playerid)
{
if(PlayerInfo[playerid][pTeam] == POLICIA || GetPlayerTeam(playerid) == POLICIA) return 1;
return 0;
}
Agora, vamos para os carros.
Primeiro, vocк deve definir os carros.
pawn Код:
stock CarroDaPolicia(carid) // Coloque esta funзгo em qualquer lugar do GM (fora de qualquer funзгo)
{
for(new i = 0; i < sizeof(carrosdapolicia); i++)
{
if(carid == carrosdapolicia[i]) return 1;
}
return 0;
}
//Agora, coloque isso em OnGameModeInit:
//Atenзгo. Isso й apenas um exemplo dos carros que vocк pode colocar. Voc~e pode colocar quantos carros quiser.
new carrosdapolicia[10]; //Quantidade de carros. Sempre adicione um a mais que o ъltimo. Exemplo: O ъltimo й o 9, entгo a array deve ter 10 slots.
carrosdapolicia[0] = AddStaticVehicleEx(599,[PosiзгoX], [PosiзгoY], [PosiзгoZ], [Вngulo],-1,1,3600000); //Police Ranger
carrosdapolicia[1] = AddStaticVehicleEx(596,[PosiзгoX], [PosiзгoY], [PosiзгoZ], [Вngulo],-1,1,3600000); //Police Car (LSPD)
carrosdapolicia[2] = AddStaticVehicleEx(472,[PosiзгoX], [PosiзгoY], [PosiзгoZ], [Вngulo],-1,1,3600000); // BARCO LSPD
carrosdapolicia[3] = AddStaticVehicleEx(430,[PosiзгoX], [PosiзгoY], [PosiзгoZ], [Вngulo],-1,1,3600000); // PREDATOR LSPD
carrosdapolicia[4] = AddStaticVehicleEx(523,[PosiзгoX], [PosiзгoY], [PosiзгoZ], [Вngulo],-1,1,3600000); //HPV1000
carrosdapolicia[5] = AddStaticVehicleEx(597,[PosiзгoX], [PosiзгoY], [PosiзгoZ], [Вngulo],-1,1,3600000); //Police Car (SFPD)
carrosdapolicia[6] = AddStaticVehicleEx(427,[PosiзгoX], [PosiзгoY], [PosiзгoZ], [Вngulo],-1,1,3600000); //Enforcer
carrosdapolicia[7] = AddStaticVehicleEx(426,[PosiзгoX], [PosiзгoY], [PosiзгoZ], [Вngulo],-1,1,3600000); //Premier
carrosdapolicia[8] = AddStaticVehicleEx(601,[PosiзгoX], [PosiзгoY], [PosiзгoZ], [Вngulo],-1,1,3600000);//S.W.A.T. Van
carrosdapolicia[9] = AddStaticVehicleEx(427,[PosiзгoX], [PosiзгoY], [PosiзгoZ], [Вngulo],-1,1,3600000); //Enforcer
Agora temos todos os carros que precisamos. Mas precisamos saber os ID's deles para a checagem.
Apуs vocК checar os id's deles (irei tomar como exemplo que eles sejam do carro ID 15 ao 20.), iremos prosseguir com a checagem.
Vб atй a funзгo OnPlayerStateChange, e coloque isso:
pawn Код:
new vehicle = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(CarrosDaPolicia(vehicleid))
{
if(Policial(playerid))
{
SendClientMessage(playerid, 0x0080FFFF, ":: Este veнculo pertence a Polнcia ::");
}
else
{
SendClientMessage(playerid, 0xAFAFAFFF, "Vocк nгo pode dirigir este carro.!");
RemovePlayerFromVehicle(playerid);
}
}
}
Temos agora os carrinhos bonitinhos dos policiais. Agora, vamos para a seзгo do Spawn.
Se vocк tem um sistema de login, ache a funзгo, e coloque isto nela:
pawn Код:
if(GetPlayerTeam(playerid) == POLICIA || PlayerInfo[playerid][pTeam] == POLICIA) SetSpawnInfo(playerid, POLICIA, [skin], [Posiзгo do Spawn X], [Posiзгo do Spawn Y] ,[Posiзгo do Spawn Z], [Вngulo], [Arma de Spawn 1], [Muniзгo de Spawn 1], [Arma de Spawn 2], [Muniзгo de Spawn 2], [Arma de Spawn 3], [Muniзгo de Spawn 3]);
E entгo, para salvar as kills, vocк deve navegar atй a funзгo OnPlayerDeath, e colocar isso:
pawn Код:
PlayerInfo[killerid][pKills]++;
Agora, que temos quase tudo pronto, vamos para o /ingressarpolicia.
Em OnPlayerCommandText, adicione isso:
pawn Код:
if(!strcmp(cmd, "/ingressarpolicia", true))
{
new Float:pos[500][3];
GetPlayerPos(playerid, pos[playerid][0], pos[playerid][1], pos[playerid][2]);
if(pos[playerid][0] == [posiзгo x de onde vocк quer que digite o comando] && pos[playerid][1] == [posiзгo y de onde vocк quer que digite o comando] && pos[playerid][2] == [posiзгo z de onde vocк quer que digite o comando])
{
if(PlayerInfo[playerid][pKills] < 500) return SendClientMessage(playerid, 0xAFAFAFFF, "Vocк nгo matou gente suficiente pra entrar na polнcia!");
SetPlayerTeam(playerid, POLICIA);
SpawnPlayer(playerid);
return SendClientMessage(playerid, 0xAFAFAFFF, "Vocк agora й um policial!");
}
else return SendClientMessage(playerid, 0xAFAFAFFF, "Vocк nгo estб no lugar que ingressa na polнcia!");
return 1;
}
E este й o bбsico de uma base. Caso queira mais funзхes, me adicione no MSN, e discutiremos sobre.
Espero ter ajudado.