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
};
forward Float:GetPlayerArmourEx(p);
Float:GetPlayerArmourEx(p)
{
new Float:a;
GetPlayerArmour(p, a);
return a;
}
enum PlayerSpawnInfo1 {
Float:PlayerX,
Float:PlayerY,
Float:PlayerZ,
Float:PlayerAngle
}
enum PlayerSpawnInfo2 {
Float:PlayerX,
Float:PlayerY,
Float:PlayerZ,
Float:PlayerAngle
}
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[][PlayerSpawnInfo1] =
{
{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[][PlayerSpawnInfo2] =
{
{-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}
};
main()
{
print("\n----------------------------------");
print(" Classes and Deathmachtes");
print("----------------------------------\n");
}
public OnGameModeInit()
{
UsePlayerPedAnims();
print("GameModeInit()");
SetGameModeText("Blank Script");
AddPlayerClass(Number[random(sizeof(Number))],0.0, 0.0, 0.0, 0.0,WeaponMelee[random(sizeof(WeaponMelee))],-1,WeaponSMelee[random(sizeof(WeaponSMelee))],-1,0,0);
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==13)DropPick[CreatePickup(1240, 3,PX, PY, Z)]=true;
if(i==14)if(GetPlayerArmourEx(playerid)>0.0)DropPick[CreatePickup(1242, 3,PX, PY, Z)]=true; else {
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;
}
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!
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 OnPlayerRequestClass(playerid, classid)
{
SetPlayerInterior(playerid,2);
SetPlayerFacingAngle(playerid,190.0);
SetPlayerPos(playerid,2566.9807,-1281.3185,1054.6406);
SetCameraBehindPlayer(playerid);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
ResetSpawnInfo(playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerHealth(playerid,100);
SetPlayerInterior(playerid,2);
SendClientMessage(playerid,0xFF9900AA,"You are in Big Smoke`s Crackfort");
GameTextForPlayer(playerid, "~r~/help", 1000, 3);
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 OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/help", true)==0)
{
SendClientMessage(playerid,0x33AA33AA,"Help");
SendClientMessage(playerid,0x33CCFFAA,"/position");
SendClientMessage(playerid,0x33CCFFAA,"/interior");
SendClientMessage(playerid,0x33CCFFAA,"/deathmachtes (Melee)");
return 1;
}
if (strcmp(cmdtext, "/deathmatch", true)==0)
{
SendClientMessage(playerid,0x33AA33AA,"Deathmatches");
SendClientMessage(playerid,0x33CCFFAA,"/dinterior");
SendClientMessage(playerid,0x33CCFFAA,"/doutside");
return 1;
}
if (strcmp(cmdtext, "/dinterior", true)==0)
{
SendClientMessage(playerid,0x33AA33AA,"Deathmatch Interior");
SendClientMessage(playerid,0x33CCFFAA,"/shamal");
return 1;
}
if (strcmp(cmdtext, "/doutside", true)==0)
{
SendClientMessage(playerid,0x33AA33AA,"Deathmatch Outside with meleeweapons");
SendClientMessage(playerid,0x33CCFFAA,"/fix");
SendClientMessage(playerid,0x33CCFFAA,"/lbay");
SendClientMessage(playerid,0x33CCFFAA,"/air");
}
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("/fix", cmdtext, true, 10) == 0)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,2394.03,1491.39,10.54);
}
if (strcmp("/shamal", cmdtext, true, 10) == 0)
{
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,1.80,33.49,1199.59);
}
if (strcmp("/lbay", cmdtext, true, 10) == 0)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1643.90,-1515.57,13.57);
}
if (strcmp("/air", cmdtext, true, 10) == 0)
{
SetPlayerInterior(playerid,0);
new rand = random(sizeof(gRandomAirSpawns));
SetPlayerPos(playerid,
gRandomAirSpawns[rand][PlayerX],
gRandomAirSpawns[rand][PlayerY],
gRandomAirSpawns[rand][PlayerZ]);
}
return 0;
}