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