rendered paste body#include <a_samp>
#include <core>
#include <float>
#include <time>
//Forwards
forward SetPlayerRandomSpawn(playerid);
forward SetupPlayerForClassSelection(playerid);
forward SetPlayerToTeam(playerid, classid);
forward OnPlayerRequestSpawn(playerid);
//Random Spawning
new Float:myRandomPlayerSpawns[4][2][3] = {
{
{2561.7942 ,-1281.6093, 1031.4219}, // SWAT Up
{2543.2893 ,-1305.5304, 1025.0703} // SWAT Down
},
{
{2565.5864,-1285.6382,1054.8312}, // Bitch 1
{2556.7554,-1303.2566,1054.8755} // Bitch 2
},
{
{2581.0796,-1285.5583,1044.1250}, // Upstairs
{2527.8672,-1289.7570,1031.4219} // Downstairs
},
{
{2575.4609,-1287.5713,1065.3672} // Jackpot
{2575.4609,-1287.5713,1065.3672} // Jackpot
}
};
// Colors
#define COLOR_WHITE 0xFFFFFF00
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xFF0000AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_BLUE 0x0000FFAA
#define CRIMSON 0xDC143CAA
#define LGREEN 0x33FF00AA
#define HUMAN 0xFF9966AA
#define PURPLE 0x663399AA
#define Lightblue 0x33CCFFAA
#define DADA 0x006699AA
#define WTF 0xFFCC99AA
#define GLOBAL 0xD0D0FFAA
#define WHITE 0xFFFFFFAA
#define NEW 0xCC0033AA
#define NEWG 0x99FF99AA
#define COP 0x2972B6AA
#define TAXI 0xFFD700AA
#define LAW 0xF5F5F5AA
#define COLOR_LIME 0x10F441AA
#define COLOR_MAGENTA 0xFF00FFFF
#define COLOR_NAVY 0x000080AA
#define COLOR_AQUA 0xF0F8FFAA
#define COLOR_CRIMSON 0xDC143CAA
#define COLOR_FLBLUE 0x6495EDAA
#define COLOR_BISQUE 0xFFE4C4AA
#define COLOR_BLACK 0x000000AA
#define COLOR_CHARTREUSE 0x7FFF00AA
#define COLOR_BROWN 0XA52A2AAA
#define COLOR_CORAL 0xFF7F50AA
#define COLOR_GOLD 0xB8860BAA
#define COLOR_GREENYELLOW 0xADFF2FAA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_IVORY 0xFFFF82AA
#define COLOR_LAWNGREEN 0x7CFC00AA
#define COLOR_SEAGREEN 0x20B2AAAA
#define COLOR_LIMEGREEN 0x32CD32AA
#define COLOR_MIDNIGHTBLUE 0X191970AA
#define COLOR_MAROON 0x800000AA
#define COLOR_OLIVE 0x808000AA
#define COLOR_ORANGERED 0xFF4500AA
#define COLOR_PINK 0xFFC0CBAA
#define COLOR_SPRINGGREEN 0x00FF7FAA
#define COLOR_TOMATO 0xFF6347AA
#define COLOR_YELLOWGREEN 0x9ACD32AA
#define COLOR_MEDIUMAQUA 0x83BFBFAA
#define COLOR_MEDIUMMAGENTA 0x8B008BAA
//Weapons' Pickups
#define BRASS_KNUCKLES 331
#define GOLFCLUB 333
#define NITESTICK 334
#define KNIFE 335
#define BAT 336
#define SHOVEL 337
#define POOLSTICK 338
#define KATANA 338
#define CHAINSAW 341
#define DILDO 321
#define DILDO2 322
#define VIBRATOR1 323
#define VIBRATOR2 324
#define FLOWER 325
#define CANE 326
#define GRENADE 342
#define TEARGAS 343
#define MOLOTOV 344
#define MISSILE 345
#define COLT45 346
#define SILENCED 347
#define DEAGLE 348
#define SHOTGUN 349
#define SAWNOFF 350
#define COMBAT 351
#define UZI 352
#define MP5 353
#define HYDRAFLARE 354
#define AK47 355
#define TEC9 372
#define RIFLE 357
#define SNIPER 358
#define ROCKETLAUNCHER 359
#define HEATSEEKER 360
#define FLAMETHROWER 361
#define MINIGUN 362
#define SPRAYCAN 365
#define FIRE 366
#define CAMERA 367
#define NIGHTVISION 368
#define THERMAL_GOGGLES 369
#define PARACHUTE 371
#define ARMOR 1242
new iSpawnSet[MAX_PLAYERS];
main()
{
print("\n----------------------------------");
print("Crack Lab Ambush");
print("----------------------------------\n");
}
public OnGameModeInit()
{
SetDisabledWeapons(43,44,45);
UsePlayerPedAnims();
AllowInteriorWeapons(true);
SetGameModeText("Crack Lab Ambush");
ShowNameTags(0);
ShowPlayerMarkers(0);
AddPlayerClass(285,2561.7942,-1281.6093,1031.4219,177.6640,0,0,0,0,0,0); // SWAT spawn
//AddPlayerClass(285,2543.2893,-1305.5304,1025.0703,177.7108,0,0,0,0,0,0); // Backdoor SWAT spawn
AddPlayerClass(256,2556.7554,-1303.2566,1054.8755,318.2443,0,0,0,0,0,0); // Bitch 2 Spawn
//AddPlayerClass(256,2565.5864,-1285.6382,1054.8312,135.7611,0,0,0,0,0,0); // Bitch 1 Spawn
AddPlayerClass(103,2527.8672,-1289.7570,1031.4219,179.2775,0,0,0,0,0,0); // Clerk
//AddPlayerClass(103,2581.0796,-1285.5583,1044.1250,178.6368,0,0,0,0,0,0); // Clerk Upstairs Spawn
AddPlayerClass(104,2575.4609,-1287.5713,1065.3672,178.7350,0,0,0,0,0,0); // Defensive spawn
//Pickups
AddStaticPickup(FLAMETHROWER,2,2526.6130,-1280.8849,1048.2891); // Flamethrower Spawn
AddStaticPickup(ARMOR,2,2539.8181,-1287.2502,1054.6406); // Armor spawn
AddStaticPickup(SHOTGUN,2,2546.1648,-1288.4102,1054.6406); // Shotgun spawn
AddStaticPickup(UZI,2,2548.5208,-1288.4637,1054.6406); // Uzi spawn
AddStaticPickup(DILDO,2,2569.3267,-1306.5793,1054.6406); // Dildo spawn
AddStaticPickup(DILDO2,2,2570.0420,-1280.6382,1054.6406); // Dildo 2 Spawn
AddStaticPickup(SAWNOFF,2,2567.5930,-1294.3945,1063.2520); // Sawnoff Shotgun spawn
AddStaticPickup(DEAGLE,2,2551.0925,-1294.6327,1060.9844); // Deagle Spawn
AddStaticPickup(SHOTGUN,2,2569.3594,-1295.3799,1048.2891); // Shotgun Spawn
AddStaticPickup(MOLOTOV,2,2556.0098,-1293.3105,1045.3607); // Molotov Spawn
AddStaticPickup(TEC9,2,2575.1409,-1283.7291,1037.7734); // Tec-9 Spawn
AddStaticPickup(FIRE,2,2545.3689,-1300.7240,1031.4219); // Fire-EX Spawn
AddStaticPickup(MP5,2,2533.0952,-1289.7023,1032.8657); // SMG spawn
AddStaticPickup(COMBAT,2,2564.4683,-1306.3578,1031.4219); // Combat Spawn
AddStaticPickup(AK47,2,2523.9204,-1309.9073,1031.4219); // AK47 Spawn
AddStaticPickup(ARMOR,2,2543.3320,-1321.3157,1031.4219); // Armor Spawn
AddStaticPickup(KNIFE,2,2566.8740,-1282.6508,1031.4219); // Knife Spawn
AddStaticPickup(BAT,2,2566.6606,-1298.9374,1037.7734); // Bat Spawn
}
public OnPlayerConnect(playerid)
{
new string[256];
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public SetupPlayerForClassSelection(playerid)
{
SetPlayerPos(playerid,2548.5259,-1282.3193,1060.9844);
SetPlayerCameraPos(playerid,2547.7554,-1284.3251,1060.9844);
SetPlayerFacingAngle(playerid,179.0600);
SetPlayerCameraLookAt(playerid,325.2217,307.2875,999.1484);
SetPlayerInterior(playerid,2);
}
public OnPlayerRequestClass(playerid, classid)
{
SetupPlayerForClassSelection(playerid);
PlaySoundForAll(1070, 0.0, 0.0, 0.0);
switch (classid)
{
case 0:
{
SetPlayerColor(playerid,0x2972B6AA);
GameTextForPlayer(playerid, "~b~S.W.A.T", 1500, 6); //0
iSpawnSet[playerid]=0;
}
case 1:
{
SetPlayerColor(playerid,0xFFFF00AA);
GameTextForPlayer(playerid, "~y~Mad Bitch", 1500, 6); //2
iSpawnSet[playerid]=1;
}
case 2:
{
SetPlayerColor(playerid,0x4B00B0AA);
GameTextForPlayer(playerid, "~p~Security Clerk", 1500, 6); //3
iSpawnSet[playerid]=2;
}
case 3:
{
SetPlayerColor(playerid,0xFF0000AA);
GameTextForPlayer(playerid, "~r~Defence", 1500, 6); // 1
iSpawnSet[playerid]=3;
}
}
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid,2);
SetPlayerRandomSpawn(playerid);
}
public SetPlayerRandomSpawn(playerid)
{
new rand = random(2);
SetPlayerPos(playerid,sRandomPlayerSpawns[iSpawnSet[playerid]][rand][0], sRandomPlayerSpawns[iSpawnSet[playerid]][rand][1], sRandomPlayerSpawns[iSpawnSet[playerid]][rand][2]);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid == INVALID_PLAYER_ID) {
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
GameTextForPlayer(playerid, "Rest in pieces", 5000, 2);
} else {
// Valid kill
SendDeathMessage(killerid,playerid,reason);
GameTextForPlayer(playerid, "You got ownt", 5000, 2);
}
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[256];
if(strcmp(cmdtext, "/Help", true) == 0)
{
SendClientMessage(playerid,LGREEN,"Welcome to the Crack Lab Ambush mode");
SendClientMessage(playerid,LGREEN,"This mode isnt about killing, score, gangs etc.");
SendClientMessage(playerid,LGREEN,"FreeRoam includes many cool games, alot teleporting commands,");
SendClientMessage(playerid,LGREEN,"and much more... You are the one who reveals the secrets of FreeRoam!!");
SendClientMessage(playerid,LGREEN,"Type /Menu to start your trip");
return 1;
}
//AFK Command
if(strcmp(cmdtext, "/afk", true) == 0) {
SendClientMessage(playerid,0x33CCCC,"You Declare your Away From Keyboard Status");
SendClientMessage(playerid,COLOR_RED,"You are now Frozen ");
SendClientMessage(playerid,COLOR_RED,"type /back when u are back over your Keyboard.");
SendClientMessage(playerid,COLOR_RED,"and u will be Un-Frozen .");
TogglePlayerControllable (playerid, 0);
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
format(string, sizeof(string),"%s is Away From Keyboard and froze himself.", string);
SendClientMessageToAll(0xFFFFFFAA,string);
return 1;
}
//BACK Command
if(strcmp(cmdtext, "/back", true) == 0)
{
SendClientMessage(playerid,0x33CCCC,"You Declare your are back over your Keyboard");
SendClientMessage(playerid,COLOR_RED,"You are now Un-Frozen ");
TogglePlayerControllable (playerid, 1);
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
format(string, sizeof(string),"%s is back and unfroze himself.", string);
SendClientMessageToAll(0xFFFFFFAA,string);
return 1;
}
return 0;
}
public OnPlayerInfoChange(playerid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnGameModeExit()
{
}
PlaySoundForAll(soundid, Float:x, Float:y, Float:z)
{
for (new i=0; i<MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
PlayerPlaySound(i, soundid, x, y, z);
}
}
}