#define A_SKIN 287 // ARMY
#define T_SKIN 179 // TERRIOST
#define T_WEAPON 30 // ak47
#define T_WEAPON2 24 // Deagle
#define T_WEAPON3 32 // TEC9
#define A_WEAPON 31 // M4
#define A_WEAPON2 24 // DEAGLE
#define A_WEAPON3 28 // MICRO SMG
#include <a_samp>
#include <streamer>
//colors
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
// team set ups
new gTeam[MAX_PLAYERS];
#define TEAM_TERRIOST 0
#define TEAM_ARMY 1
#define A_SKIN 287
#define T_SKIN 179
#define T_WEAPON 30
#define T_WEAPON2 24
#define T_WEAPON3 32
#define A_WEAPON 31
#define A_WEAPON2 24
#define A_WEAPON3 28
#define A_COLOR 0x33AA33AA
#define T_COLOR 0xAA3333AA
//Mission Textdraw
new Text:Mission;
//Objectives Textdraw
new Text:ArmyO;
new Text:TerriostO;
//Timer
new Timer;
main()
{
print("\n----------------------------------");
print("Drug Factory ");
print("----------------------------------\n");
}
public OnGameModeInit()
{
SetGameModeText("Drug Factory MM Based");
AddPlayerClass(179, 0.0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0);
AddPlayerClass(287, 0.0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0);
UsePlayerPedAnims();
//Mission name
Mission = TextDrawCreate(207,435,"~r~MISSION:~w~Drug Factory");
TextDrawFont(Mission,2);
//Objectives
ArmyO = TextDrawCreate(81.000000, 325.000000, "~r~Army:~w~ Defend Factory from being planted by terriost ");
TextDrawBackgroundColor(ArmyO, 255);
TextDrawFont(ArmyO, 1);
TextDrawLetterSize(ArmyO, 0.400000, 1.000000);
TextDrawColor(ArmyO, 65535);
TextDrawSetOutline(ArmyO, 0);
TextDrawSetProportional(ArmyO, 1);
TextDrawSetShadow(ArmyO, 1);
TerriostO = TextDrawCreate(128.000000, 344.000000, "~r~Terriost:~w~Plant bomb in factory red checkpoint on ur map");
TextDrawBackgroundColor(TerriostO, 255);
TextDrawFont(TerriostO, 1);
TextDrawLetterSize(TerriostO, 0.429999, 1.000000);
TextDrawColor(TerriostO, -16776961);
TextDrawSetOutline(TerriostO, 0);
TextDrawSetProportional(TerriostO, 1);
TextDrawSetShadow(TerriostO, 1);
// Terriost Cars
AddStaticVehicle(533,843.21868896,-1861.35693359,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,840.44598389,-1861.12011719,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,837.63818359,-1861.24707031,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,834.90191650,-1861.53759766,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,831.78240967,-1861.67053223,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,828.75762939,-1861.20483398,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,825.62701416,-1860.79809570,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,843.37475586,-1867.95043945,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,840.19885254,-1868.09069824,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,837.33642578,-1867.93591309,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,834.60577393,-1867.91662598,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,831.86743164,-1867.57434082,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,828.99688721,-1867.50769043,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,825.62438965,-1867.20068359,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,843.31610107,-1874.42590332,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,840.18096924,-1874.75109863,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,837.36022949,-1874.65832520,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,834.60021973,-1874.36108398,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,831.69921875,-1873.90856934,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,828.52276611,-1873.96276855,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(447,857.56347656,-2184.16406250,17.19399834,0.00000000,-1,-1); //Seasparrow
AddStaticVehicle(447,825.88085938,-2184.21093750,17.04965782,0.00000000,-1,-1); //Seasparrow
AddStaticVehicle(447,856.16210938,-2068.78320312,21.55822182,90.00000000,-1,-1); //Seasparrow
AddStaticVehicle(533,846.21923828,-1861.74218750,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,846.40142822,-1868.63928223,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,846.37512207,-1874.48925781,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,848.93395996,-1862.29992676,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,848.71002197,-1868.26013184,12.66718769,180.00000000,-1,-1); //Feltzer
AddStaticVehicle(533,849.11981201,-1874.14721680,12.66718769,180.00000000,-1,-1); //Feltzer
// Factory Objects
CreateDynamicObject(5143,-956.81036377,-3129.28417969,64.74794006,0.00000000,358.00000000,270.00000000); //object(las2chendock04) (1)
CreateDynamicObject(5154,-925.40069580,-3123.38305664,45.15196991,0.00000000,0.00000000,0.00000000); //object(dk_cargoshp03d) (1)
CreateDynamicObject(5184,854.95574951,-2120.42480469,30.97360611,0.00000000,0.00000000,90.00000000); //object(mdock1a_las2) (1)
CreateDynamicObject(5143,844.15039062,-2194.11621094,36.50021362,0.00000000,358.00000000,272.00000000); //object(las2chendock04) (3)
CreateDynamicObject(969,799.61602783,-2127.38989258,12.32087708,0.00000000,0.00000000,0.00000000); //object(electricgate) (1)
CreateDynamicObject(980,873.66046143,-2178.26660156,12.86418533,0.00000000,0.00000000,0.00000000); //object(airportgate) (1)
CreateDynamicObject(980,862.16918945,-2177.94775391,12.86418533,0.00000000,0.00000000,0.00000000); //object(airportgate) (2)
CreateDynamicObject(980,850.56823730,-2178.10595703,12.86738968,0.00000000,0.00000000,0.00000000); //object(airportgate) (3)
CreateDynamicObject(980,839.00164795,-2178.32177734,12.61738968,0.00000000,0.00000000,0.00000000); //object(airportgate) (4)
CreateDynamicObject(980,827.30181885,-2178.42431641,12.61418533,0.00000000,0.00000000,0.00000000); //object(airportgate) (5)
CreateDynamicObject(980,816.20184326,-2178.51464844,12.61418533,0.00000000,0.00000000,0.00000000); //object(airportgate) (6)
CreateDynamicObject(980,806.56597900,-2178.50732422,12.61418533,0.00000000,0.00000000,0.00000000); //object(airportgate) (7)
CreateDynamicObject(11011,838.80078125,-2136.63061523,15.97446251,0.00000000,0.00000000,180.00000000); //object(crackfactjump_sfs) (1)
CreateDynamicObject(11295,866.21020508,-2167.36645508,17.92361450,0.00000000,0.00000000,0.00000000); //object(facttanks_sfse09) (1)
CreateDynamicObject(11295,865.83483887,-2152.42895508,17.92361450,0.00000000,0.00000000,0.00000000); //object(facttanks_sfse09) (2)
CreateDynamicObject(11295,866.61651611,-2137.12011719,17.92361450,0.00000000,0.00000000,0.00000000); //object(facttanks_sfse09) (3)
CreateDynamicObject(17012,799.37567139,-2145.35693359,17.48122406,0.00000000,0.00000000,0.00000000); //object(cwsthseing26) (1)
CreateDynamicObject(17012,798.91619873,-2069.54516602,17.34422302,0.00000000,0.00000000,0.00000000); //object(cwsthseing26) (2)
CreateDynamicObject(17017,876.26342773,-2187.04101562,62.47515869,0.00000000,0.00000000,0.00000000); //object(cuntwplant10) (1)
CreateDynamicObject(17017,808.75543213,-2192.00341797,64.31607819,0.00000000,0.00000000,0.00000000); //object(cuntwplant10) (2)
CreateDynamicObject(5131,849.43762207,-2207.95312500,18.24231720,0.00000000,0.00000000,90.00000000); //object(imrancomp1_las2) (1)
CreateDynamicObject(6975,861.11352539,-2217.65917969,15.76429367,0.00000000,0.00000000,0.00000000); //object(shamheliprt2) (1)
CreateDynamicObject(4516,826.30718994,-1839.46655273,14.44237328,0.00000000,0.00000000,180.00000000); //object(cn2_roadblock03ld) (1)
CreateDynamicObject(4516,840.73278809,-1839.07727051,14.37257004,0.00000000,0.00000000,179.99450684); //object(cn2_roadblock03ld) (2)
CreateDynamicObject(4516,853.74346924,-1842.50683594,15.41151524,0.00000000,0.00000000,179.99450684); //object(cn2_roadblock03ld) (3)
CreateDynamicObject(4516,815.86853027,-1835.28576660,11.81580734,0.00000000,0.00000000,179.99450684); //object(cn2_roadblock03ld) (4)
CreateDynamicObject(4516,827.93487549,-1800.01440430,13.71276569,0.00000000,0.00000000,179.99450684); //object(cn2_roadblock03ld) (5)
CreateDynamicObject(4516,839.65362549,-1782.03308105,15.64444637,0.00000000,0.00000000,179.99450684); //object(cn2_roadblock03ld) (6)
CreateDynamicObject(4516,817.82653809,-1779.16235352,15.45154953,0.00000000,0.00000000,179.99450684); //object(cn2_roadblock03ld) (7)
CreateDynamicObject(1374,842.31488037,-2119.33959961,13.82093811,0.00000000,0.00000000,90.00000000); //object(traincross2) (1)
CreateDynamicObject(5262,831.21777344,-2208.36132812,15.80227852,0.00000000,0.00000000,0.00000000); //object(las2dkwar04) (2)
CreateDynamicObject(5262,830.83007812,-2218.00878906,15.36232376,0.00000000,0.00000000,0.00000000); //object(las2dkwar04) (3)
CreateDynamicObject(5262,830.83697510,-2227.45458984,15.94105339,0.00000000,0.00000000,0.00000000); //object(las2dkwar04) (4)
CreateDynamicObject(7040,844.90917969,-2212.98022461,16.55211067,0.00000000,0.00000000,0.00000000); //object(vgnplcehldbox01) (1)
CreateDynamicObject(8884,857.96350098,-2072.14428711,15.51857376,0.00000000,0.00000000,96.00000000); //object(vgsefrght02) (1)
CreateDynamicObject(8884,866.31536865,-2093.85083008,15.51857376,0.00000000,0.00000000,91.99951172); //object(vgsefrght02) (2)
CreateDynamicObject(8884,867.04925537,-2115.35839844,15.51857376,0.00000000,0.00000000,91.99951172); //object(vgsefrght02) (3)
CreateDynamicObject(8884,870.49304199,-2124.08349609,15.51857376,0.00000000,0.00000000,91.99951172); //object(vgsefrght02) (4)
CreateDynamicObject(8884,814.95526123,-2044.61938477,8.53494167,0.00000000,0.00000000,91.99951172); //object(vgsefrght02) (5)
CreateDynamicObject(8884,814.70404053,-2032.54772949,8.40236855,0.00000000,0.00000000,91.99951172); //object(vgsefrght02) (6)
CreateDynamicObject(10814,845.86553955,-2203.13745117,27.85213280,0.00000000,0.00000000,0.00000000); //object(apfuel2_sfse) (1)
CreateDynamicObject(12930,873.71801758,-2233.01074219,23.16100502,0.00000000,258.00000000,356.00000000); //object(sw_pipepile02) (1)
CreateDynamicObject(942,848.87982178,-2228.77221680,15.99550438,0.00000000,0.00000000,0.00000000); //object(cj_df_unit_2) (1)
CreateDynamicObject(942,856.48065186,-2229.31933594,16.02386093,0.00000000,0.00000000,0.00000000); //object(cj_df_unit_2) (2)
CreateDynamicObject(942,841.95184326,-2228.45288086,15.97592545,0.00000000,0.00000000,0.00000000); //object(cj_df_unit_2) (3)
CreateDynamicObject(942,862.96783447,-2228.52685547,16.00411987,0.00000000,0.00000000,0.00000000); //object(cj_df_unit_2) (4)
CreateDynamicObject(942,862.40014648,-2224.89526367,15.87668991,0.00000000,0.00000000,0.00000000); //object(cj_df_unit_2) (5)
CreateDynamicObject(942,855.62695312,-2224.81616211,15.86567307,0.00000000,0.00000000,0.00000000); //object(cj_df_unit_2) (6)
CreateDynamicObject(942,848.58044434,-2224.87573242,15.85916328,0.00000000,0.00000000,0.00000000); //object(cj_df_unit_2) (7)
CreateDynamicObject(942,842.43554688,-2225.20605469,15.86320114,0.00000000,0.00000000,0.00000000); //object(cj_df_unit_2) (8)
CreateDynamicObject(942,856.01605225,-2208.99902344,15.80986404,0.00000000,0.00000000,0.00000000); //object(cj_df_unit_2) (9)
CreateDynamicObject(942,862.80700684,-2207.14013672,15.80588913,0.00000000,0.00000000,0.00000000); //object(cj_df_unit_2) (10)
CreateDynamicObject(942,867.93975830,-2219.43652344,15.81264877,0.00000000,0.00000000,100.00000000); //object(cj_df_unit_2) (11)
CreateDynamicObject(942,865.59326172,-2211.90307617,15.80637169,0.00000000,0.00000000,99.99755859); //object(cj_df_unit_2) (12)
CreateDynamicObject(942,869.07788086,-2224.87963867,15.88428879,0.00000000,0.00000000,69.99755859); //object(cj_df_unit_2) (13)
CreateDynamicObject(7503,836.52789307,-1900.83691406,12.03874207,0.00000000,0.00000000,90.00000000); //object(vegaswrailroad06) (1)
CreateDynamicObject(7503,836.54931641,-2136.82250977,12.26234818,0.00000000,0.00000000,90.00000000); //object(vegaswrailroad06) (2)
CreateDynamicObject(6490,880.63122559,-1902.72387695,19.42721558,0.00000000,0.00000000,90.00000000); //object(tvstudio01_law2) (1)
CreateDynamicObject(6490,879.56835938,-1993.85644531,18.16439819,0.00000000,0.00000000,90.00000000); //object(tvstudio01_law2) (2)
CreateDynamicObject(6490,792.91546631,-1885.23327637,18.67509842,0.00000000,0.00000000,90.00000000); //object(tvstudio01_law2) (3)
CreateDynamicObject(6490,794.38958740,-1985.43603516,19.57760811,0.00000000,0.00000000,90.00000000); //object(tvstudio01_law2) (4)
CreateDynamicObject(6490,834.45556641,-1770.28210449,20.84741783,0.00000000,0.00000000,90.00000000); //object(tvstudio01_law2) (5)
CreateDynamicObject(6490,787.82092285,-1824.00134277,15.01302528,0.00000000,0.00000000,90.00000000); //object(tvstudio01_law2) (6)
CreateDynamicObject(6490,891.64147949,-1844.22888184,16.44427490,0.00000000,0.00000000,90.00000000); //object(tvstudio01_law2) (7)
return 1;
}
public OnGameModeExit()
{
TextDrawDestroy(Mission);
TextDrawDestroy(ArmyO);
TextDrawDestroy(TerriostO);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, -1959.4025,700.4174,46.5625);
SetPlayerCameraPos(playerid, -1958.2029,711.0995,53.6375);
SetPlayerCameraLookAt(playerid, -1959.4025,700.4174,46.5625);
SetPlayerFacingAngle(playerid,357.4232);
if(classid == 0)
{
gTeam[playerid] = TEAM_TERRIOST;
GameTextForPlayer(playerid,"~r~Terriost",1000,4);
}
if(classid == 1)
{
GameTextForPlayer(playerid,"~b~Army",1000,4);
gTeam[playerid] = TEAM_ARMY;
}
return 1;
}
public OnPlayerConnect(playerid)
{
TextDrawShowForPlayer(playerid, Mission);
SetPlayerTime(playerid,0,0);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
TextDrawHideForPlayer(playerid, Mission);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(gTeam[playerid] == TEAM_ARMY)
{
SetPlayerPos(playerid,818.1965,-2207.8291,18.7840);
SetPlayerFacingAngle(playerid,351.5399);
SetTimer("HideTDarmy",5000,false);
GivePlayerWeapon(playerid,A_WEAPON,500);
GivePlayerWeapon(playerid,A_WEAPON2,500);
GivePlayerWeapon(playerid,A_WEAPON3,500);
SetPlayerSkin(playerid,A_SKIN);
SetPlayerColor(playerid,A_COLOR);
SetPlayerTeam(playerid,1);
SetPlayerTime(playerid,0,0);
SetPlayerCheckpoint(playerid, 870.2067,-2228.4536,20.2579, 6.0);
TextDrawShowForPlayer(playerid,ArmyO);
}
else if(gTeam[playerid] == TEAM_TERRIOST)
{
SetPlayerPos(playerid,851.7012,-1856.7540,12.8672);
SetPlayerFacingAngle(playerid,165.5696);
SetTimer("HideTDterriost",5000,false);
SetPlayerColor(playerid,T_COLOR);
SetPlayerTeam(playerid,0);
GivePlayerWeapon(playerid,T_WEAPON,500);
GivePlayerWeapon(playerid,T_WEAPON2,500);
GivePlayerWeapon(playerid,T_WEAPON3,500);
SetPlayerSkin(playerid,T_SKIN);
SetPlayerTime(playerid,0,0);
SetPlayerCheckpoint(playerid, 870.2067,-2228.4536,20.2579, 6.0);
TextDrawShowForPlayer(playerid,TerriostO);
}
return 1;
}
forward HideTDterriost(playerid);
public HideTDterriost(playerid)
{
TextDrawHideForPlayer(playerid,TerriostO);
}
forward HideTDarmy(playerid);
public HideTDarmy(playerid)
{
TextDrawHideForPlayer(playerid,ArmyO);
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterCheckpoint(playerid)
{
if(gTeam[playerid] == TEAM_ARMY)
{
GameTextForPlayer(playerid,"~r~ERROR: ~w~ YOU CANT PLANT THE BOMB~n~DEFEND IT FROM TERRIOSTS",5000,4);
}
else if(gTeam[playerid] == TEAM_TERRIOST)
{
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "~r~%s is planting bomb takes~w~15 ~r~second",name);
GameTextForAll(string,6000,4);
Timer = SetTimer("Explode",15000,false);
}
return 1;
}
forward Explode(playerid);
public Explode(playerid)
{
PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
CreateExplosion(870.2067,-2228.4536,20.2579, 7, 40.0);
if(gTeam[playerid] == TEAM_TERRIOST)
{
GameTextForPlayer(playerid,"~g~ Mission Passed ~w~ +1000",3000,4);
GivePlayerMoney(playerid,1000);
}
else if(gTeam[playerid] == TEAM_ARMY)
{
GameTextForPlayer(playerid,"~r~ Mission Failed ~w~ -1000",3000,4);
GivePlayerMoney(playerid,-1000);
}
SetTimer("Finsh",6000,false);
return 1;
}
forward Finsh(playerid);
public Finsh(playerid)
{
PlayerPlaySound(playerid, 1130, 0.0, 0.0, 10.0);
GameTextForPlayer(playerid,"~r~PLEASE WAIT CHANGING ~w~MISSION",6000,0);
SendRconCommand("changemode Factory");
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
if(gTeam[playerid] == TEAM_TERRIOST)
{
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "~r~%s ~w~has stoped planting the bomb",name);
GameTextForAll(string,6000,4);
KillTimer(Timer);
}
return 1;
}
Yabadabadoo! I didn't try this GM, but it should proof great to new scripters (Even though they're usually too stupid to go rant everywhere with GF related questions (OWL DO NOT ANSWERS TO GF OR OTHER 'DIFFICULT' SCRIPTZ IF YOUZ TOO ****)).
This should be fun enough to play straightaway and also give enough opportunities to add new features. Good job. |
Looks nice
![]() ![]() format(string, sizeof(string), "~r~%s ~w~has stoped planting the bomb",name); GameTextForPlayer(playerid,"~r~ERROR: ~w~ YOU CANT PLANT THE BOMB~n~DEFEND IT FROM TERRIOSTS",5000,4); |