All pastes #587876 Raw Edit

Deathmatches (not rdy)

public text v1 · immutable
#587876 ·published 2007-06-25 04:55 UTC
rendered paste body
#include <a_samp>

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;
}