Team Vehicles
#1

Hello Friends,


I want to ask you better way to set team vehicles so other team player could not enters the other tem vehicles please tell me if you know.
Reply
#2

Enumerators/definitions of your teams? We cant do anything without code..
Reply
#3

https://sampwiki.blast.hk/wiki/OnVehicleStreamIn
https://sampwiki.blast.hk/wiki/SetVehicleParamsForPlayer

If you look into SA-MP's default gamemode "rivershell.pwn", you'll get an idea of how it locks vehicles for other players.
Reply
#4

Thanks
Reply
#5

try this method, easy as fuck :3

pawn Код:
enum tcar
{
   tInfernus1,
   tInfernus2,
   tNRG1
}
new TCar[tcar];

stock BelongingCars(vehicleid)
{
   if(vehicleid == TCar[tInfernus1]) return 1;
   if(vehicleid == TCar[tInfernus2]) return 1;
   if(vehicleid == TCar[tNRG1]) return 1;
   return 0;
}

//OnGamemodeInIt

   TCar[tInfernus1] = CreateVehicle.....
   TCar[tInfernus2] = CreateVehicle.....
   TCar[tNRG1] = CreateVehicle.....

//OnPlayerState Change

   if(newstate = PLAYER_STATE_DRIVER)
   {
      new vehicleid = GetPlayerVehicleID(playerid);
      if(BelongingCars(vehicleid) && PlayerIsNotWhat?)
      {
      new Float:x, Float:y, Float:z;
      GetPlayerPos(playerid, x, y, z);
      SetPlayerPos(playerid, x, y, z+3);
      SendClientMessage(playerid, 0xFF0000AA, "You can't drive this vehicle");
      return 0;
      }
   }
Reply
#6

@Red_Hunter that is not easy for new scripters.

You could try simple variables such as:

pawn Код:
new TeamRedVehicle[3]; //vehicle count is 3 for each team
new TeamBlueVehicle[3];
new bool:TeamRed[MAX_PLAYERS]; //Setting teams
new bool:TeamBlue[MAX_PLAYERS];

//OnGameModeInit
TeamRedVehicle[0] = CreateVehicle... // creating vehicles
TeamRedVehicle[1] = CreateVehicle...
TeamRedVehicle[2] = CreateVehicle...
TeamBlueVehicle[0] = CreateVehicle...
TeamBlueVehicle[1] = CreateVehicle...
TeamBlueVehicle[2] = CreateVehicle...

//OnPlayerConnect
TeamRed[playerid] = true;
//or
TeamBlue[playerid] = true;

//OnPlayerDisconnect
TeamRed[playerid] = false;
TeamBlue[playerid] = false;

//OnPlayerEnterVehicle
if(TeamRed[playerid])
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(vehicleid == TeamBlueVehicle[i]) return ClearAnimations(playerid, true);
    }
}

if(TeamBlue[playerid])
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(vehicleid == TeamRedVehicle[i]) return ClearAnimations(playerid, true);
    }
}
Reply
#7

https://sampforum.blast.hk/showthread.php?tid=555270
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)