Originally Posted by [HLF]Southclaw
Ok, I understand now.
To make vehicles only enterable by one team, firstly just create them as normal on OnGameMode/FilterScriptInit but give them IDs [names] so you can check what vehicle a player enters when the get into it.
To do this, use CreateVehicle with your sets of coordinates:
pawn Код:
OnGameModeInit() { CreateVehicle(476,1978.6555,-2396.0037,14.2643,89.5653); CreateVehicle(476,1978.7040,-2383.6899,14.2553,90.1082); CreateVehicle(476,1978.8127,-2370.9258,14.2562,89.6564); CreateVehicle(476,1978.7545,-2358.6887,14.2611,90.8094); CreateVehicle(476,1978.7524,-2346.6282,14.2542,90.3923); CreateVehicle(476,1978.7271,-2334.2107,14.2586,89.8635); CreateVehicle(476,1967.9773,-2334.0098,14.2537,89.2006); CreateVehicle(476,1968.0304,-2346.7659,14.2564,89.5600); CreateVehicle(476,1968.0143,-2359.2332,14.2567,89.3761); CreateVehicle(476,1967.8055,-2372.2275,14.2629,89.7649); CreateVehicle(476,1967.7516,-2384.9595,14.2562,89.7772); CreateVehicle(476,1967.9479,-2396.9973,14.2661,90.1868); CreateVehicle(476,1978.8635,-2409.2715,14.2563,89.8173); CreateVehicle(548,1994.9091,-2449.0818,13.6136,87.4790); CreateVehicle(432,1978.8031,-2322.4282,13.5596,89.2325); CreateVehicle(432,1978.6914,-2314.6343,13.5596,89.3591); CreateVehicle(432,1978.3168,-2306.7822,13.5596,88.8411); CreateVehicle(432,1978.5193,-2299.1052,13.5598,88.8872); }
But you need to assign ID lables to these vehicles, so later on on the callback OnPlayerEnterVehicle, you can check that the vehicle they entered is equal to one of those ID's
pawn Код:
//Top of Script new TeamCar01, TeamCar02, TeamCar03, TeamCar04, TeamCar05, TeamCar06, etcetera... OnGameModeInit() { TeamCar01=CreateVehicle(476,1978.6555,-2396.0037,14.2643,89.5653); TeamCar02=CreateVehicle(476,1978.7040,-2383.6899,14.2553,90.1082); TeamCar03=CreateVehicle(476,1978.8127,-2370.9258,14.2562,89.6564); TeamCar04=CreateVehicle(476,1978.7545,-2358.6887,14.2611,90.8094); TeamCar05=CreateVehicle(476,1978.7524,-2346.6282,14.2542,90.3923); TeamCar06=CreateVehicle(476,1978.7271,-2334.2107,14.2586,89.8635); TeamCar07=CreateVehicle(476,1967.9773,-2334.0098,14.2537,89.2006); TeamCar08=CreateVehicle(476,1968.0304,-2346.7659,14.2564,89.5600); TeamCar09=CreateVehicle(476,1968.0143,-2359.2332,14.2567,89.3761); TeamCar10=CreateVehicle(476,1967.8055,-2372.2275,14.2629,89.7649); TeamCar11=CreateVehicle(476,1967.7516,-2384.9595,14.2562,89.7772); TeamCar12=CreateVehicle(476,1967.9479,-2396.9973,14.2661,90.1868); TeamCar13=CreateVehicle(476,1978.8635,-2409.2715,14.2563,89.8173); TeamCar14=CreateVehicle(548,1994.9091,-2449.0818,13.6136,87.4790); TeamCar15=CreateVehicle(432,1978.8031,-2322.4282,13.5596,89.2325); TeamCar16=CreateVehicle(432,1978.6914,-2314.6343,13.5596,89.3591); TeamCar17=CreateVehicle(432,1978.3168,-2306.7822,13.5596,88.8411); TeamCar18=CreateVehicle(432,1978.5193,-2299.1052,13.5598,88.8872); }
But Wait! Why create 18 different variables, one for each car, when you can have an array that contains all of the ID numbers in One simple Label:
pawn Код:
//Top of Script new TeamCar[18]; OnGameModeInit() { TeamCar[0]=CreateVehicle(476,1978.6555,-2396.0037,14.2643,89.5653); TeamCar[1]=CreateVehicle(476,1978.7040,-2383.6899,14.2553,90.1082); TeamCar[2]=CreateVehicle(476,1978.8127,-2370.9258,14.2562,89.6564); TeamCar[3]=CreateVehicle(476,1978.7545,-2358.6887,14.2611,90.8094); TeamCar[4]=CreateVehicle(476,1978.7524,-2346.6282,14.2542,90.3923); TeamCar[5]=CreateVehicle(476,1978.7271,-2334.2107,14.2586,89.8635); TeamCar[6]=CreateVehicle(476,1967.9773,-2334.0098,14.2537,89.2006); TeamCar[7]=CreateVehicle(476,1968.0304,-2346.7659,14.2564,89.5600); TeamCar[8]=CreateVehicle(476,1968.0143,-2359.2332,14.2567,89.3761); TeamCar[9]=CreateVehicle(476,1967.8055,-2372.2275,14.2629,89.7649); TeamCar[10]=CreateVehicle(476,1967.7516,-2384.9595,14.2562,89.7772); TeamCar[11]=CreateVehicle(476,1967.9479,-2396.9973,14.2661,90.1868) TeamCar[12]=CreateVehicle(476,1978.8635,-2409.2715,14.2563,89.8173); TeamCar[13]=CreateVehicle(548,1994.9091,-2449.0818,13.6136,87.4790); TeamCar[14]=CreateVehicle(432,1978.8031,-2322.4282,13.5596,89.2325); TeamCar[15]=CreateVehicle(432,1978.6914,-2314.6343,13.5596,89.3591); TeamCar[16]=CreateVehicle(432,1978.3168,-2306.7822,13.5596,88.8411); TeamCar[17]=CreateVehicle(432,1978.5193,-2299.1052,13.5598,88.8872); }
This way you can check if the vehicle that the player entered is equal to ANY of the ID numbers in that array with a simple loop:
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid) { for(new var; var < 18; var++) { if(vehicleid == TeamCar[var]) // Checks that Vehicle that 'playerid' entered is one of the 'TeamCar' vehicles { // This is the team check you made, but reversed, so it will remove the player if the variables don't match. if(PlayerBase[playerid][pMedlem] != 1 || PlayerBase[playerid][pLedare] != 1) RemovePlayerFromVehicle(playerid); } } return 1; }
Hope that helps slightly, I would write more but I have to go now, let me know if you have any more problems and I will try and explain things in detail tomorrow. Good luck
|