Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Script by: Sasuke_Uchiha
- Map by: JimmySpaceTravel1337
- Mission Base: Stealing
- Mission Type: Vehicle stealing
- Mission Type ID: 3
- */
- //==============================================================================
- // Includes
- //==============================================================================
- #include <a_samp>
- #include <crashdetect>
- #include <float>
- #include "..\filterscripts\MM\stuff\defines"
- #include "..\filterscripts\MM\stuff\serverkeymsg"
- //==============================================================================
- // Defines
- //==============================================================================
- #define MISSION_NAME "Gone In Seconds"
- #define Health 99.0
- #define TEAM_DEFEND_NAME "Security"
- #define TEAM_ATTACK_NAME "Robber"
- #define MAX_MAP_OBJECTS 37
- #define VEHICLE_HEALTH 999.0
- #define CLASS_POSTION 414.1389,2535.3748,19.1484
- #define CLASS_CAMERA 416.1389,2537.3748,19.1484
- #define CLASS_FACING_AGNLE 175.9721
- #define OBJ_POS -1954.8777,303.5036,40.7530,180.0000000
- #define OBJ_ID 451
- #define OBJ_NAME "Sport Car"
- #define CP_POS -2046.7501,-237.5858,35.3203
- #define SPAWN_PROTECTION true
- //==============================================================================
- // Per mission functions
- //==============================================================================
- enum skindata
- {
- TeamID,
- SkinID,
- Float:SpawnX,
- Float:SpawnY,
- Float:SpawnZ,
- Float:SpawnAngle,
- SpawnInterior,
- VirtualWorld,
- Weapon1,
- Ammo1,
- Weapon2,
- Ammo2,
- Weapon3,
- Ammo3,
- };
- new const SkinData[][skindata] = {
- {TEAM_ATTACK,124, -2091.5039, -275.3531, 35.3203, 343.0164,0,0,WEAPON_DEAGLE,100,WEAPON_MP5,200,WEAPON_M4,250},
- {TEAM_DEFEND,73,-1928.1935,275.7250,41.0469,172.4459,0,0,WEAPON_SHOTGSPA,200,WEAPON_AK47,250,WEAPON_COLT45,250}
- };
- #if MAX_MAP_OBJECTS != 0
- new Object[MAX_MAP_OBJECTS];
- CreateMap()
- {
- Object[0] = CreateObject(1634,-2040.7939000,-105.9988000,35.2578000,0.0000000,0.0000000,0.0000000); //
- Object[1] = CreateObject(1634,-2044.9318000,-106.0025000,35.2513000,0.0000000,0.0000000,0.0000000); //
- Object[2] = CreateObject(1634,-2049.0347000,-106.0049000,35.2675000,0.0000000,0.0000000,0.0000000); //
- Object[3] = CreateObject(1634,-2053.1612000,-106.0040000,35.2820000,0.0000000,0.0000000,0.0000000); //
- Object[4] = CreateObject(1634,-2040.8254000,-98.7535000,35.2113000,0.0000000,0.0000000,180.0000000); //
- Object[5] = CreateObject(1634,-2044.9373000,-98.7111000,35.1940000,0.0000000,0.0000000,180.0000000); //
- Object[6] = CreateObject(1634,-2049.0267000,-98.7214000,35.1940000,0.0000000,0.0000000,180.0000000); //
- Object[7] = CreateObject(1634,-2053.1307000,-98.7739000,35.2113000,0.0000000,0.0000000,180.0000000); //
- Object[8] = CreateObject(969,-1893.0123000,247.4494000,40.2137000,0.0000000,0.0000000,258.7500000); //
- Object[9] = CreateObject(975,-1892.1238000,251.9661000,41.7215000,0.0000000,0.0000000,258.7500000); //
- Object[10] = CreateObject(975,-1890.3895000,260.7105000,41.7215000,0.0000000,0.0000000,258.7500000); //
- Object[11] = CreateObject(975,-1888.5888000,269.4495000,41.7215000,0.0000000,0.0000000,258.7500000); //
- Object[12] = CreateObject(975,-1886.8320000,278.1831000,41.7215000,0.0000000,0.0000000,258.7500000); //
- Object[13] = CreateObject(975,-1885.0732000,286.9045000,41.7215000,0.0000000,0.0000000,258.7500000); //
- Object[14] = CreateObject(969,-1882.4771000,299.8583000,40.2137000,0.0000000,0.0000000,258.7500000); //
- Object[15] = CreateObject(969,-1890.5918000,303.4466000,40.2137000,0.0000000,0.0000000,337.5000000); //
- Object[16] = CreateObject(975,-1894.8262000,305.2325000,41.7215000,0.0000000,0.0000000,337.5000000); //
- Object[17] = CreateObject(969,-1907.7289000,306.9239000,40.2137000,0.0000000,0.0000000,0.0000000); //
- Object[18] = CreateObject(1424,-1895.6689000,239.8876000,40.5603000,0.0000000,0.0000000,359.9999000); //
- Object[19] = CreateObject(1424,-1897.7046000,239.8904000,40.5603000,0.0000000,0.0000000,359.9999000); //
- Object[20] = CreateObject(1424,-1899.8117000,239.9165000,40.5603000,0.0000000,0.0000000,359.9999000); //
- Object[21] = CreateObject(969,-1990.4964000,300.1333000,34.3462000,0.0000000,0.0000000,90.0000000); //
- Object[22] = CreateObject(969,-1990.0817000,309.2105000,34.3387000,0.0000000,0.0000000,0.0000000); //
- Object[23] = CreateObject(969,-1992.5593000,268.5641000,34.3387000,0.0000000,0.0000000,78.7500000); //
- Object[24] = CreateObject(975,-1986.1559000,277.2025000,35.8540000,0.0000000,0.0000000,0.0000000); //
- Object[25] = CreateObject(975,-1985.8464000,299.9063000,35.8465000,0.0000000,0.0000000,180.0000000); //
- Object[26] = CreateObject(975,-1992.6287000,263.9050000,35.8540000,0.0000000,0.0000000,90.0000000); //
- Object[27] = CreateObject(975,-1993.5073000,255.0361000,35.8465000,0.0000000,0.0000000,78.7500000); //
- Object[28] = CreateObject(975,-1994.3864000,246.1780000,35.8465000,0.0000000,0.0000000,90.0000000); //
- Object[29] = CreateObject(975,-1989.8406000,241.6533000,35.8465000,0.0000000,0.0000000,180.0000000); //
- Object[30] = CreateObject(1424,-1984.1900000,241.2887000,34.6853000,0.0000000,0.0000000,337.4999000); //
- Object[31] = CreateObject(1424,-1981.9886000,240.2049000,34.6853000,0.0000000,0.0000000,326.2500000); //
- Object[32] = CreateObject(969,-1904.0733000,237.3343000,34.2888000,0.0000000,0.0000000,180.0000000); //
- Object[33] = CreateObject(1424,-1903.1176000,237.2002000,34.6447000,0.0000000,0.0000000,44.9999000); //
- Object[34] = CreateObject(1424,-1913.3563000,237.3944000,34.6447000,0.0000000,0.0000000,315.0000000); //
- Object[35] = CreateObject(969,-1980.3606000,277.5171000,34.3387000,0.0000000,0.0000000,90.0000000); //
- Object[36] = CreateObject(969,-1980.3377000,290.5290000,34.3387000,0.0000000,0.0000000,90.0000000); //
- for(new i; i < 10; i++) AddStaticVehicle(487,floatadd(-2090.2080,floatmul(8.2, i)),-268.5651,34.9982,0.0,-1,-1); // helicopters
- for(new i; i < 20; i++) AddStaticVehicle(479,floatadd(-2090.3660,floatmul(3.85, i)),-257.5562,34.6133,0.0,-1,-1); // cars
- }
- #endif
- //==============================================================================
- // Basic vars
- //==============================================================================
- new bool:MissionStarted;
- new bool:ObjectiveStarted;
- new bool:MissionCancelled;
- new bool:ObjectiveStolen;
- new ObjectiveStolenBy;
- native IsValidVehicle(vehicleid);
- enum obj
- {
- ObjectiveVeh,
- ObjectiveName[30],
- ObjectiveMarker,
- Float:ObjectiveEndX,
- Float:ObjectiveEndY,
- Float:ObjectiveEndZ
- };
- enum teamdata
- {
- Name[32],
- Members,
- Kills
- };
- enum playerdata
- {
- UserName[MAX_PLAYER_NAME],
- bool:TeamChosen,
- TeamSelection,
- PlayerClassID
- };
- new Team[2][teamdata];
- new PlayerMissionInfo[MAX_PLAYERS][playerdata];
- new ObjectiveInfo[obj];
- //==============================================================================
- // Basic script
- //==============================================================================
- main()
- {
- print("----------------------------------");
- print(" Mission: "MISSION_NAME" started.");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- MissionStarted= true;
- format(Team[TEAM_DEFEND][Name],32,"%s",TEAM_DEFEND_NAME);
- format(Team[TEAM_ATTACK][Name],32,"%s",TEAM_ATTACK_NAME);
- format(ObjectiveInfo[ObjectiveName],sizeof(ObjectiveInfo[ObjectiveName]),"%s",OBJ_NAME);
- ObjectiveInfo[ObjectiveVeh] = CreateVehicle(OBJ_ID,OBJ_POS,random(225),random(225),3);
- SetVehicleHealth(ObjectiveInfo[ObjectiveVeh],1100);
- new iEngine, iLights, iAlarm, iDoors, iBonnet, iBoot, iObjective;
- GetVehicleParamsEx(ObjectiveInfo[ObjectiveVeh], iEngine, iLights, iAlarm, iDoors, iBonnet, iBoot, iObjective);
- SetVehicleParamsEx(ObjectiveInfo[ObjectiveVeh], iEngine, iLights, iAlarm, iDoors, iBonnet, iBoot, 1);
- AddStaticVehicleEx(476,290.5000000,2539.1001000,18.0000000,180.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,324.7000100,2538.8000500,18.0000000,180.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,274.7999900,2522.1001000,17.9000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,274.7000100,2509.0000000,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,263.5000000,2522.1001000,17.9000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,274.8999900,2482.3000500,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,274.7998000,2495.2998000,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,252.7000000,2522.1999500,17.9000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,242.3999900,2522.1999500,17.9000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,231.3999900,2522.1999500,17.9000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,263.6000100,2509.3999000,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,252.6000100,2509.6999500,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,242.3000000,2510.1001000,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,231.3000000,2510.3000500,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,231.3999900,2496.8000500,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,231.6000100,2483.3999000,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,242.0000000,2483.8000500,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,252.2000000,2483.8000500,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,263.2999900,2483.6999500,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,263.3999900,2495.8999000,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,252.5000000,2496.1001000,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(476,242.0000000,2496.5000000,17.7000000,270.0000000,170,157,15); //Rustler
- AddStaticVehicleEx(405,341.0000000,2530.1999500,16.8000000,270.0000000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,340.8999900,2533.3000500,16.8000000,270.0000000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,340.8999900,2536.6001000,16.8000000,270.0000000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,341.0000000,2540.0000000,16.8000000,270.0000000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,340.8999900,2543.5000000,16.8000000,270.0000000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,342.0000000,2547.3999000,16.8000000,230.0000000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,347.3999900,2547.0000000,16.7000000,179.9990000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,350.8999900,2546.8000500,16.7000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,354.1000100,2546.8000500,16.6000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,357.5000000,2546.6999500,16.6000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,360.7999900,2546.6001000,16.6000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,364.5000000,2546.6001000,16.5000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,368.2000100,2546.8000500,16.5000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,371.6000100,2546.8000500,16.5000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,375.3999900,2546.6001000,16.5000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,379.0000000,2546.6999500,16.5000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,383.0000000,2546.8000500,16.5000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,387.1000100,2546.8999000,16.5000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,387.1000100,2534.6001000,16.5000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,383.7999900,2534.5000000,16.5000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,379.3999900,2534.8000500,16.6000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,375.1000100,2534.8999000,16.6000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,371.3999900,2535.1001000,16.6000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,367.8999900,2535.1999500,16.7000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,364.5000000,2535.1001000,16.7000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,361.1000100,2535.3000500,16.7000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,357.3999900,2535.1001000,16.7000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,353.7000100,2535.1999500,16.7000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(405,350.7000100,2535.1999500,16.7000000,179.9950000,34,25,15); //Sentinel
- AddStaticVehicleEx(574,1339.0000000,1550.6999500,10.6000000,0.0000000,255,255,15); //Sweeper
- AddStaticVehicleEx(574,1336.5000000,1550.6999500,10.6000000,0.0000000,255,255,15); //Sweeper
- AddStaticVehicleEx(552,1346.5000000,1632.1999500,10.6000000,270.0000000,255,255,15); //Utility
- AddStaticVehicleEx(552,1346.5000000,1628.1999500,10.6000000,270.0000000,255,255,15); //Utility
- AddStaticVehicleEx(552,1346.5000000,1624.3000500,10.6000000,270.0000000,255,255,15); //Utility
- AddStaticVehicleEx(407,1292.6999500,1565.5000000,11.2000000,270.0000000,185,-1,15); //Firetruck
- AddStaticVehicleEx(416,1294.0000000,1560.3000500,11.1000000,270.0000000,255,255,15); //Ambulance
- AddStaticVehicleEx(417,1326.5999800,1406.6999500,11.0000000,0.0000000,-1,-1,15); //Leviathan
- AddStaticVehicleEx(487,1328.0999800,1505.3000500,11.1000000,270.0000000,93,126,15); //Maverick
- AddStaticVehicleEx(487,1334.5000000,1692.1999500,11.1000000,270.0000000,93,126,15); //Maverick
- AddStaticVehicleEx(563,1341.9000200,1407.3000500,11.7000000,0.0000000,255,255,15); //Raindance
- AddStaticVehicleEx(511,1285.0999800,1323.9000200,12.3000000,270.0000000,189,190,15); //Beagle
- AddStaticVehicleEx(553,1521.5000000,1171.8000500,13.0000000,0.0000000,147,163,15); //Nevada
- AddStaticVehicleEx(593,1398.1999500,1768.1999500,11.4000000,180.0000000,48,79,15); //Dodo
- AddStaticVehicleEx(593,1380.5999800,1768.1999500,11.4000000,180.0000000,48,79,15); //Dodo
- AddStaticVehicleEx(577,1601.1999500,1264.0000000,9.8000000,40.0000000,189,190,15); //AT-400
- #if MAX_MAP_OBJECTS != 0
- CreateMap();
- #endif
- for(new i=0; i<sizeof(SkinData); i++)
- {
- AddPlayerClassEx(SkinData[i][TeamID],SkinData[i][SkinID],SkinData[i][SpawnX],SkinData[i][SpawnY],SkinData[i][SpawnZ],SkinData[i][SpawnAngle],0,0,0,0,0,0);
- }
- for(new i=0; i<MAX_PLAYERS; i++) PlayerMissionInfo[i][TeamSelection]= NO_TEAM;
- for(new i=0; i<MAX_VEHICLES; i++) if(IsValidVehicle(i)) SetVehicleHealth(i,VEHICLE_HEALTH);
- if(CallRemoteFunction("GetCurrentMissionCJWalk","")) UsePlayerPedAnims();
- SetTimer("StartMissionFunc",3000,false);
- return 1;
- }
- FUNCTION StartMissionFunc()
- {
- CallRemoteFunction("StartMission","");
- ObjectiveStarted= true;
- return 1;
- }
- public OnGameModeExit()
- {
- #if MAX_MAP_OBJECTS != 0
- for(new i=0;i<MAX_MAP_OBJECTS;i++) DestroyObject(Object[i]);
- #endif
- for(new i=0; i<MAX_VEHICLES; i++)
- {
- DestroyVehicle(i);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- if(PlayerMissionInfo[playerid][TeamChosen] && PlayerMissionInfo[playerid][TeamSelection] != NO_TEAM)
- {
- Team[PlayerMissionInfo[playerid][TeamSelection]][Members] --;
- PlayerMissionInfo[playerid][TeamChosen]=false;
- }
- return 1;
- }
- public OnPlayerRequestClass(playerid,classid)
- {
- SetPlayerPos(playerid,CLASS_POSTION);
- SetPlayerCameraPos(playerid,CLASS_CAMERA);
- SetPlayerCameraLookAt(playerid,CLASS_POSTION);
- SetPlayerFacingAngle(playerid,CLASS_FACING_AGNLE);
- CallRemoteFunction("ShowClassSelection","iisiii",playerid, SkinData[classid][TeamID],Team[SkinData[classid][TeamID]][Name], SkinData[classid][Weapon1], SkinData[classid][Weapon2], SkinData[classid][Weapon3]);
- if(PlayerMissionInfo[playerid][TeamChosen])
- {
- PlayerMissionInfo[playerid][TeamChosen] = false;
- Team[PlayerMissionInfo[playerid][TeamSelection]][Members]--;
- }
- PlayerMissionInfo[playerid][TeamSelection] = SkinData[classid][TeamID];
- PlayerMissionInfo[playerid][PlayerClassID]=classid;
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- new opp_team = (PlayerMissionInfo[playerid][TeamSelection] == 1)? 0:1;
- if(Team[PlayerMissionInfo[playerid][TeamSelection]][Members] > Team[opp_team][Members])
- {
- CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1, "This Team is full, choose another!",0);
- return 0;
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerHealth(playerid,Health);
- new string[124];
- CallRemoteFunction("UpdateAliveState","ii",playerid,1);
- if(CallRemoteFunction("GetSpectateStatus","d",playerid)) return CallRemoteFunction("SpecOffAdmin","d",playerid);
- if(CallRemoteFunction("GetJailedStatus","d",playerid)) CallRemoteFunction("SetJailed","d",playerid);
- else
- {
- SetPlayerPos(playerid,SkinData[PlayerMissionInfo[playerid][PlayerClassID]][SpawnX],SkinData[PlayerMissionInfo[playerid][PlayerClassID]][SpawnY],SkinData[PlayerMissionInfo[playerid][PlayerClassID]][SpawnZ]);
- SetPlayerInterior(playerid,SkinData[PlayerMissionInfo[playerid][PlayerClassID]][SpawnInterior]);
- SetPlayerFacingAngle(playerid,SkinData[PlayerMissionInfo[playerid][PlayerClassID]][SpawnAngle]);
- SetPlayerVirtualWorld(playerid,SkinData[PlayerMissionInfo[playerid][PlayerClassID]][VirtualWorld]);
- if(!PlayerMissionInfo[playerid][TeamChosen])
- {
- Team[PlayerMissionInfo[playerid][TeamSelection]][Members]++;
- PlayerMissionInfo[playerid][TeamChosen] = true;
- if(PlayerMissionInfo[playerid][TeamSelection] == TEAM_ATTACK)
- {
- format(string,sizeof(string),"You are a %s, your mission is to steal the %s.",Team[TEAM_ATTACK][Name],ObjectiveInfo[ObjectiveName]);
- CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1,string,2000);
- format(string,sizeof(string),"%s will try to stop you, eliminate them!.",Team[TEAM_DEFEND][Name]);
- CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1, string,4000);
- format(string,sizeof(string),"Steal the ~y~%s~w~!",ObjectiveInfo[ObjectiveName]);
- CallRemoteFunction("ShowInfoText", "iisi", playerid, -1, string,1000);
- }
- else
- {
- format(string,sizeof(string),"You are a %s, your mission is to protect the %s from %s.",Team[TEAM_DEFEND][Name],ObjectiveInfo[ObjectiveName],Team[TEAM_ATTACK][Name]);
- CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1,string,2000);
- format(string,sizeof(string),"Protect the ~y~%s~w~!.",ObjectiveInfo[ObjectiveName]);
- CallRemoteFunction("ShowInfoText", "iisi", playerid, -1, string,1000);
- }
- CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,SkinData[PlayerMissionInfo[playerid][PlayerClassID]][Weapon1],SkinData[PlayerMissionInfo[playerid][PlayerClassID]][Ammo1]);
- CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,SkinData[PlayerMissionInfo[playerid][PlayerClassID]][Weapon2],SkinData[PlayerMissionInfo[playerid][PlayerClassID]][Ammo2]);
- CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,SkinData[PlayerMissionInfo[playerid][PlayerClassID]][Weapon3],SkinData[PlayerMissionInfo[playerid][PlayerClassID]][Ammo3]);
- }
- }
- SetPlayerTeam(playerid,PlayerMissionInfo[playerid][TeamSelection]);
- if(PlayerMissionInfo[playerid][TeamSelection] == TEAM_ATTACK) SetPlayerColor(playerid,COLOR_TEAM_ATTACK);
- else SetPlayerColor(playerid,COLOR_TEAM_DEFEND);
- #if SPAWN_PROTECTION == true
- CallRemoteFunction("SetSpawnProtection","df",playerid,Health);
- #endif
- if(PlayerMissionInfo[playerid][TeamSelection] == TEAM_DEFEND) SetVehicleParamsForPlayer(ObjectiveInfo[ObjectiveVeh],playerid,1,1);
- else SetVehicleParamsForPlayer(ObjectiveInfo[ObjectiveVeh],playerid,1,0);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(killerid != INVALID_PLAYER_ID)
- {
- SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
- Team[PlayerMissionInfo[killerid][TeamSelection]][Kills]++;
- }
- if(PlayerMissionInfo[playerid][TeamSelection] == TEAM_ATTACK)
- {
- if(GetPlayerVehicleID(playerid) == ObjectiveInfo[ObjectiveVeh])
- {
- new string[124];
- format(string,sizeof(string),"%s has died and left the %s's %s.",PlayerMissionInfo[playerid][UserName],Team[TEAM_DEFEND][Name],ObjectiveInfo[ObjectiveName]);
- CallRemoteFunction("ShowInfoBox", "iisi", -1, -1, string,0);
- DisablePlayerRaceCheckpoint(playerid);
- }
- }
- CallRemoteFunction("UpdateAliveState","ii",playerid,0);
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- if(PlayerMissionInfo[playerid][TeamSelection] == TEAM_ATTACK)
- {
- if(vehicleid == ObjectiveInfo[ObjectiveVeh])
- {
- new string[124];
- format(string,sizeof(string),"%s is stealing the %s's %s.",PlayerMissionInfo[playerid][UserName],Team[TEAM_DEFEND][Name],ObjectiveInfo[ObjectiveName]);
- CallRemoteFunction("ShowInfoBox", "iisi", -1, -1, string,0);
- SetPlayerCheckpoint(playerid,CP_POS,10.0);
- }
- }
- else
- {
- if(vehicleid == ObjectiveInfo[ObjectiveVeh])
- {
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- SetPlayerPos(playerid,x,y,z+3);
- ClearAnimations(playerid);
- }
- }
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- if(PlayerMissionInfo[playerid][TeamSelection] == TEAM_ATTACK)
- {
- if(vehicleid == ObjectiveInfo[ObjectiveVeh])
- {
- new string[124];
- format(string,sizeof(string),"%s has left the %s's %s.",PlayerMissionInfo[playerid][UserName],Team[TEAM_DEFEND][Name],ObjectiveInfo[ObjectiveName]);
- CallRemoteFunction("ShowInfoBox", "iisi", -1, -1, string,0);
- DisablePlayerCheckpoint(playerid);
- }
- }
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- if(!MissionStarted || ObjectiveStolen) return 1;
- if(PlayerMissionInfo[playerid][TeamSelection] == TEAM_ATTACK)
- {
- if(GetPlayerVehicleID(playerid) == ObjectiveInfo[ObjectiveVeh])
- {
- new string[124];
- format(string,sizeof(string),"%s has stolen the %s's %s.",PlayerMissionInfo[playerid][UserName],Team[TEAM_DEFEND][Name],ObjectiveInfo[ObjectiveName]);
- CallRemoteFunction("ShowInfoBox", "iisi", -1, -1, string,0);
- for(new i=0,j=GetPlayerPoolSize(); i <= j; i++) if(IsPlayerConnected(i)) DisablePlayerCheckpoint(i);
- DestroyVehicle(ObjectiveInfo[ObjectiveVeh]);
- ObjectiveStolen= true;
- ObjectiveStolenBy=playerid;
- CallRemoteFunction("EndMission","");
- PlayerPlaySound(playerid,1097,0,0,0);
- }
- }
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- if(vehicleid == ObjectiveInfo[ObjectiveVeh])
- {
- if(PlayerMissionInfo[forplayerid][TeamSelection] == TEAM_DEFEND) SetVehicleParamsForPlayer(ObjectiveInfo[ObjectiveVeh],forplayerid,1,1);
- else SetVehicleParamsForPlayer(ObjectiveInfo[ObjectiveVeh],forplayerid,1,0);
- }
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- SetVehicleHealth(vehicleid,VEHICLE_HEALTH);
- if(vehicleid == ObjectiveInfo[ObjectiveVeh]) SetVehicleHealth(ObjectiveInfo[ObjectiveVeh],VEHICLE_HEALTH + (100*Team[TEAM_DEFEND][Members]));
- return 1;
- }
- FUNCTION EndTheMission()
- {
- if(!MissionStarted) return 1;
- MissionStarted= false;
- if(!MissionCancelled)
- {
- new string[128];
- new amount= 10000;
- if(!ObjectiveStolen)
- {
- amount+=Team[TEAM_DEFEND][Kills]*100;
- format(string,sizeof(string),""SERVER_KEY_MSG" %s has won the mission, by successfully defending the %s. Reward: $%d",Team[TEAM_DEFEND][Name],ObjectiveInfo[ObjectiveName],amount);
- SendClientMessageToAll(COLOR_SERVER,string);
- CallRemoteFunction("IRC_SendMessage","ss",string,IRC_SERVER_COLOR);
- format(string,sizeof(string),""SERVER_KEY_MSG" You have received $%i because your team has won the mission!",amount);
- for(new i=0,j=GetPlayerPoolSize(); i <= j; i++)
- {
- if(!PlayerMissionInfo[i][TeamChosen]) continue;
- if(PlayerMissionInfo[i][TeamSelection] == TEAM_DEFEND)
- {
- PlayerPlaySound(i,3200,0,0,0);
- SendClientMessage(i,COLOR_TEAM_DEFEND,string);
- CallRemoteFunction("GivePlayerCash","ii",i,amount);
- CallRemoteFunction("PlayerMissionStats","dd",i,0);
- }
- if(PlayerMissionInfo[i][TeamSelection] != TEAM_DEFEND)
- {
- PlayerPlaySound(i,17004,0,0,0);
- GameTextForPlayer(i,"~R~MISSION FAILED~w~!",3000,3);
- CallRemoteFunction("PlayerMissionStats","dd",i,1);
- }
- }
- }
- else
- {
- amount+=Team[TEAM_ATTACK][Kills]*100;
- format(string,sizeof(string),""SERVER_KEY_MSG" %s (%d) has stolen %s for %s to win the mission. Reward: $%d + Token",PlayerMissionInfo[ObjectiveStolenBy][UserName],ObjectiveInfo[ObjectiveName],ObjectiveStolenBy,Team[TEAM_ATTACK][Name],amount);
- SendClientMessageToAll(COLOR_SERVER,string);
- CallRemoteFunction("PlayerMissionStats","dd",ObjectiveStolenBy,7);
- CallRemoteFunction("GivePlayerToken","dd",ObjectiveStolenBy,1);
- CallRemoteFunction("IRC_SendMessage","ss",string,IRC_SERVER_COLOR);
- format(string,sizeof(string),""SERVER_KEY_MSG" You have received $%i because your team has won the mission!",amount);
- for(new i=0,j=GetPlayerPoolSize(); i <= j; i++)
- {
- if(!PlayerMissionInfo[i][TeamChosen]) continue;
- if(PlayerMissionInfo[i][TeamSelection] == TEAM_ATTACK)
- {
- PlayerPlaySound(i,3200,0,0,0);
- SendClientMessage(i,COLOR_TEAM_ATTACK,string);
- CallRemoteFunction("GivePlayerCash","ii",i,amount);
- CallRemoteFunction("PlayerMissionStats","dd",i,0);
- }
- if(PlayerMissionInfo[i][TeamSelection] != TEAM_ATTACK)
- {
- PlayerPlaySound(i,17004,0,0,0);
- GameTextForPlayer(i,"~R~MISSION FAILED~w~!",3000,3);
- CallRemoteFunction("PlayerMissionStats","dd",i,1);
- }
- }
- }
- }
- else
- {
- PlaySoundForAll(1058);
- SendClientMessageToAll(COLOR_SERVER,""SERVER_KEY_MSG" The mission has been cancelled.");
- CallRemoteFunction("IRC_SendMessage","ss",""SERVER_KEY_MSG" The mission has been cancelled.",IRC_SERVER_COLOR);
- CallRemoteFunction("ShowInfoBox", "iisi", -1, -1,"The mission has been cancelled.",0);
- GameTextForAll("~R~MISSION CANCELLED~w~!",3000,3);
- }
- return 1;
- }
- //==============================================================================
- // Mission functions
- //==============================================================================
- PlaySoundForAll(sound)
- {
- for (new i=0,j=GetPlayerPoolSize(); i <=j ; i++)
- {
- if(IsPlayerConnected(i)) PlayerPlaySound(i,sound,0,0,0);
- }
- }
- //==============================================================================
- // Important functions required
- //==============================================================================
- FUNCTION OnPlayerNameRecieve(playerid,name[])
- {
- format(PlayerMissionInfo[playerid][UserName],MAX_PLAYER_NAME,"%s",name);
- return 1;
- }
- FUNCTION CancelTheMission()
- {
- MissionCancelled= true;
- return 1;
- }
- FUNCTION MissionObjectiveStarted() return ObjectiveStarted;
Advertisement
Add Comment
Please, Sign In to add comment