#include forward PickDestroy(o); new weapmod[600] = {1212,331,333,334,335,336,337,338,339,341,321,322,323,324, 325,326,342,343,344,345,345,345,346,347,348,349,350,351,352,353,355,356,372,357, 358,359,360,361,362,363,364,365,366,367,368,369,371}; new PickUpMoney[101] = {false, ...}; new DropPick[101] = {false, ...}; new WeaponMelee[] = {1,2,3,4,5,6,7,8,9}; new WeaponSMelee[] = {10,11,12,13,14,15}; enum PlayerSpawnInfo { Float:PlayerX, Float:PlayerY, Float:PlayerZ, Float:PlayerAngle} stock SetPlayerPosAngel(playerid, Float:x, Float:y, Float:z, Float:ang) { SetPlayerFacingAngle(SetPlayerPos(playerid, Float:x, Float:y, Float:z),Float:ang); } new playerColors[100] = { 0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,0xFFD720FF, 0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF, 0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF, 0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF, 0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF, 0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF, 0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF, 0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF, 0x9F945CFF,0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF, 0x3FE65CFF}; new Number[] = { 1,2,3,280,281,282,283,284,285,286,287,254,255,256,257,258,259,260,261,262,263,264, 274,275,276,290,291,292,293,294,295,296,297,298,299,288,277,278,279,47,48,49,50, 51,52,53,54,55,56,57,58,59,60,61,62,63,64,66,67,68,69,70,71,72,73,75,76,78,79,80, 81,82,83,84,85,86,87,88,89,91,92,93,95,96,97,98,99,100,101,102,103,104,105,106, 107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125,126,127, 128,129,131,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150, 151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170, 171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, 191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210, 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230, 231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250, 251,253}; new Float:gRandomStartSpawns[][PlayerSpawnInfo] = { {2576.3540,-1280.7972,1060.9844,134.6950}, {2580.8687,-1283.4233,1054.6406,131.5850}, {2572.4883,-1299.7338,1054.6406,356.8504}, {2555.1799,-1300.5607,1054.6470,178.5620}, {2566.9807,-1281.3185,1054.6406,176.9954}, {2530.2720,-1302.0006,1054.6406,173.2353}, {2539.8242,-1287.3820,1054.6406,91.1646}, {2521.0806,-1282.1433,1054.6406,180.4421}, {2525.3621,-1291.0267,1048.2891,268.5693}, {2569.8931,-1306.5029,1048.2891,359.4368}, {2545.7000,-1280.7485,1048.2891,181.4852}, {2559.1785,-1281.5060,1044.1250,173.0251}, {2576.3672,-1281.6589,1044.1250,179.6052}, {2568.3884,-1294.6321,1037.7734,176.8414}, {2575.3367,-1281.4165,1031.4219,172.2443}, {2555.7791,-1285.7932,1031.4219,86.0768}, {2530.9226,-1289.7579,1031.4219,272.8581}, {2527.6555,-1290.1365,1031.4219,182.2805}, {2523.9763,-1311.2969,1031.4219,359.3156}, {2528.2156,-1321.5485,1031.4219,89.2431} }; new Float:gRandomAirSpawns[][PlayerSpawnInfo] = { {-2515.5476,-713.7686,279.7344,299.3666}, {-2488.1536,-704.5867,279.7344,56.5543}, {-2488.3354,-697.9131,279.7344,122.0416}, {-2509.8284,-716.4245,279.7344,358.3534}, {-2509.7170,-685.3597,279.7344,178.8351}, {-2515.0623,-688.8592,279.7344,235.5490} }; // This is a comment // uncomment the line below if you want to write a filterscript //#define FILTERSCRIPT #if defined FILTERSCRIPT public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Classes and Deathmachtes"); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } #else main() { print("\n----------------------------------"); print("Deathmachtes"); print("----------------------------------\n"); } #endif public OnGameModeInit() { // Don't use these lines if it's a filterscript print("GameModeInit()"); SetGameModeText("Deathmachtes"); AddPlayerClass(0,0.0, 0.0, 0.0, 0.0,0,0,0,0,0,0); UsePlayerPedAnims(); AllowInteriorWeapons(true); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerColor(playerid,playerColors[playerid]); SetPlayerInterior(playerid,2); SetPlayerFacingAngle(playerid,190.0); SetPlayerPos(playerid,2566.9807,-1281.3185,1054.6406); SetPlayerCameraPos(playerid, 2572.9807,-1281.3185,1054.6406); SetPlayerCameraLookAt(playerid, 2566.9807,-1281.3185,1054.6406); return 1; } public OnPlayerRequestSpawn(playerid) { ResetSpawnInfo(playerid); return 1; } public OnPlayerConnect(playerid) { new name[MAX_PLAYER_NAME+1]; new string[256]; GetPlayerName(playerid, name, sizeof(name)); SendClientMessageToAll(0x33CCFFAA,""); format(string, sizeof(string), "Welcome %s ", name); SendClientMessageToAll(0x33AA33AA, string); SendClientMessageToAll(0x33CCFFAA,""); return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerSpawn(playerid) { SetPlayerColor(playerid,playerColors[random(sizeof(playerColors))]); SetPlayerHealth(playerid,100); SetPlayerInterior(playerid,2); GameTextForPlayer(playerid, "~r~/help", 1000, 3); SendClientMessage(playerid,0xFF9900AA,"You start in Big Smoke`s Crackfort (no exit)"); return 1; } public OnPlayerDeath(playerid, killerid, reason) { ResetSpawnInfo(playerid); // - Defines new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); new weap[200]; new ammo; // not used new temp; new s[256]; new PX; new PY; // - End of Defines for(new i=0;i<15;i++){ // Getting random pos near to player format(s, 256 ,"%.0f", X); temp = strval(s); PX = random((temp+2)-(temp-2))+(temp-2); format(s, 256 ,"%.0f", Y); temp = strval(s); PY = random((temp+2)-(temp-2))+(temp-2); // end of pos // Placing Pickups if(i<12){ GetPlayerWeaponData(playerid, i, weap[i], ammo); if(weapmod[weap[i]] == 1212){ new pickid = CreatePickup(1212, 3,PX, PY, Z); PickUpMoney[pickid]=true; DropPick[pickid]=true; } else { DropPick[CreatePickup(weapmod[weap[i]], 3,PX, PY, Z)]=true; } } if(i==14) { new pickid = CreatePickup(1212, 3,PX, PY, Z); PickUpMoney[pickid]=true; DropPick[pickid]=true; } if(i==15){ new pickid = CreatePickup(1212, 3,PX, PY, Z); PickUpMoney[pickid]=true; DropPick[pickid]=true; } } // End of placing pickups return 1; } ResetSpawnInfo(playerid) { new rand = random(sizeof(gRandomStartSpawns)); SetSpawnInfo(playerid, 255, Number[random(sizeof(Number))], gRandomStartSpawns[rand][PlayerX], gRandomStartSpawns[rand][PlayerY], gRandomStartSpawns[rand][PlayerZ], gRandomStartSpawns[rand][PlayerAngle], 0, 0, 0, 0, 0, 0); } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerPrivmsg(playerid, recieverid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/start", cmdtext, true, 10) == 0) { ResetPlayerWeapons(playerid); SetPlayerInterior(playerid,2); new rand = random(sizeof(gRandomStartSpawns)); SetPlayerPosAngel(playerid, gRandomStartSpawns[rand][PlayerX], gRandomStartSpawns[rand][PlayerY], gRandomStartSpawns[rand][PlayerZ], gRandomStartSpawns[rand][PlayerAngle]); } if (strcmp("/position", cmdtext, true, 10) == 0) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); new string[256]; format(string, sizeof(string), "Position: %.2f, %.2f, %.2f", x, y, z); SendClientMessage(playerid,0xAA3333AA, string); } if (strcmp("/restart", cmdtext, true, 10) == 0) { GameModeExit(); return 1; } if (strcmp("/help", cmdtext, true, 10) == 0) { SendClientMessage(playerid,0x33AA33AA,"Help"); SendClientMessage(playerid,0x33CCFFAA,"/start"); SendClientMessage(playerid,0x33CCFFAA,"/position"); SendClientMessage(playerid,0x33CCFFAA,"/interior"); SendClientMessage(playerid,0x33CCFFAA,"/deathmachtes (Melee)"); return 1; } if (strcmp("/deathmatch", cmdtext, true, 10) == 0) { SendClientMessage(playerid,0x33AA33AA,"Deathmatches"); SendClientMessage(playerid,0x33CCFFAA,"/dinterior"); SendClientMessage(playerid,0x33CCFFAA,"/doutside"); return 1; } if (strcmp("/dinterior", cmdtext, true, 10) == 0) { SendClientMessage(playerid,0x33AA33AA,"Deathmatch Interior"); SendClientMessage(playerid,0x33CCFFAA,"/shamal"); return 1; } if (strcmp("/shamal", cmdtext, true, 10) == 0) { ResetPlayerWeapons(playerid); SetPlayerInterior(playerid,1); SetPlayerPos(playerid,1.80,33.49,1199.59); } if (strcmp("/doutside", cmdtext, true, 10) == 0) { SendClientMessage(playerid,0x33AA33AA,"Deathmatch Outside with meleeweapons"); SendClientMessage(playerid,0x33CCFFAA,"/fix"); SendClientMessage(playerid,0x33CCFFAA,"/lbay"); SendClientMessage(playerid,0x33CCFFAA,"/air"); } if (strcmp("/fix", cmdtext, true, 10) == 0) { ResetPlayerWeapons(playerid); GivePlayerWeapon(playerid,WeaponMelee[random(sizeof(WeaponMelee))],-1); GivePlayerWeapon(playerid,WeaponSMelee[random(sizeof(WeaponSMelee))],-1); SetPlayerInterior(playerid,0); SetPlayerPos(playerid,2394.03,1491.39,10.54); } if (strcmp("/lbay", cmdtext, true, 10) == 0) { ResetPlayerWeapons(playerid); GivePlayerWeapon(playerid,WeaponMelee[random(sizeof(WeaponMelee))],-1); GivePlayerWeapon(playerid,WeaponSMelee[random(sizeof(WeaponSMelee))],-1); SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1643.90,-1515.57,13.57); } if (strcmp("/air", cmdtext, true, 10) == 0) { ResetPlayerWeapons(playerid); GivePlayerWeapon(playerid,WeaponMelee[random(sizeof(WeaponMelee))],-1); GivePlayerWeapon(playerid,WeaponSMelee[random(sizeof(WeaponSMelee))],-1); SetPlayerInterior(playerid,0); new rand = random(sizeof(gRandomAirSpawns)); SetPlayerPosAngel(playerid, gRandomAirSpawns[rand][PlayerX], gRandomAirSpawns[rand][PlayerY], gRandomAirSpawns[rand][PlayerZ], gRandomAirSpawns[rand][PlayerAngle]); } return 0; } public OnPlayerInfoChange(playerid) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(PickUpMoney[pickupid])GivePlayerMoney(playerid, 20); // Will give you 500$ when you pickup money if(DropPick[pickupid])SetTimerEx("PickDestroy", 10, 0, "d", pickupid); // Destroying pickups return 1; } public PickDestroy(o)DestroyObject(o); // Destroy pickup ! Muha xD! public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; }