rendered paste body#include <a_samp>
#include <dudb>
#include <dini>
#include <core>
#include <file>
#include <dutils>
#include <time>
#include <float>
#define COLOR_SYSTEM 0xEFEFF7AA
#define TEAM_ROBBER 1
#define TEAM_COPS 2
#define TEAM_CIVLIAN 3
#define TEAM_NATE 4
#define TEAM_NICK 5
#define TEAM_ROBBER_COLOR 0xAA3333AA
#define TEAM_COPS_COLOR 0x00BFFFAA
#define TEAM_CIVLIAN_COLOR 0x33AA33AA
#define TEAM_NATE_COLOR 0xFFFF00AA
#define TEAM_NATE_INLOGED 5
#define TEAM_NICK_COLOR 0xAA3333AA
#define TEAM_NICK_INLOGED 5
forward getCheckpointType(playerID);
forward IsPlayerInArea(playerid, Float:data[4]);
forward checkpointUpdate();
forward ReturnPlayerName(playerid);
forward HunterArea(playerid);
forward RealTimeUpdate();
forward SetupPlayerForClassSelection(playerid);
forward SetPlayerTeamFromClass(playerid, classid);
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_SAVOKAGE 0x339900
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x000099
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_ADMIN 0x00EE00AA
#define COLOR_STEALTH 0xFFFFFF00
#define COLOR_/me 0xCC33FFAA
#define TIME 7500
#define AMOUNT 100
#define MAX_WANTED_LEVEL 10
#define MAX_POINTS 4
#define CP_STATION1 0
#define CP_STATION2 1
#define CP_POLICESF_A 16
#define CP_POLICESF_B 17
#define MAX_CARS 82 //make sure to change this to your vehicle count
new Float:checkCoords[MAX_POINTS][4] = { //areas
{-2450.3767,949.5080,-2400.8530,1069.8329},
{-1715.5112,349.5567,-1658.8451,458.3686},
{240.2292,107.9838,251.4587,114.3411}, //Police Station SF entrance
{-1593.5632,707.6714,-1573.9974,726.9960} //Police Station SF Exit
};
new Float:checkpoints[MAX_POINTS][3] = { // checkpoints
{-2413.7427,975.9317,45.0031},
{-1672.3597,414.2950,6.8866},
{245.3814,109.1928,1003.2188}, //Police Station SF entrace
{-1589.7340,716.5689,-5.2422} //Police Station SF exit
};
new checkpointType[MAX_POINTS] = {
CP_STATION1,
CP_STATION2,
CP_POLICESF_A,
CP_POLICESF_B
};
//new Level[MAX_PLAYERS];
new gAAreaTime = 5000;
new gAHunterTime = 2500;
new gTeam[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];
new jailed[MAX_PLAYERS];
new god[MAX_PLAYERS];
new playerCheckpoint[MAX_PLAYERS];
new logged[MAX_PLAYERS];
new Kills[MAX_PLAYERS]; // after your includes
new WantedPlayerName[MAX_PLAYERS];
new WantedLevel[MAX_PLAYERS];
new IsSuspect[ MAX_PLAYERS ];
new IsRobberySuspect[ MAX_PLAYERS ];
new HasRobberyStarted = 0;
forward CountDownRobberyTimer();
forward CommitRobbery(playerid);
#define MAX_WANTED_LEVEL 10
#define Wantedlvl
public getCheckpointType(playerID) {
return checkpointType[playerCheckpoint[playerID]];
}
public IsPlayerInArea(playerid, Float:data[4])
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if (x >= data[0] && x <= data[2] && y >= data[1] && y <= data[3]) return 1;
return 0;
}
public checkpointUpdate()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) {
for(new j=0; j < MAX_POINTS; j++) {
if(IsPlayerInArea(i, checkCoords[j])) {
if(playerCheckpoint[i]!=j) {
DisablePlayerCheckpoint(i);
SetPlayerCheckpoint(i, checkpoints[j][0],checkpoints[j][1],checkpoints[j][2], 2);
playerCheckpoint[i] = j;
}
} else {
if(playerCheckpoint[i]==j) {
DisablePlayerCheckpoint(i);
playerCheckpoint[i] = 999;
}
}
}
}
}
}
public OnPlayerEnterCheckpoint(playerid)
{
switch(getCheckpointType(playerid))
{
case CP_POLICESF_A:
{
SetPlayerPos(playerid,-1593.0771,713.2375,-5.2422);
SetPlayerInterior(playerid, 0);
}
case CP_POLICESF_B:
{
SetPlayerPos(playerid,249.9437,109.4484,1003.2188);
SetPlayerInterior(playerid, 10);
}
}
return 1;
}
main()
{
print("\n----------------------------------");
print(" Cops and robbers by nate ");
print("----------------------------------\n");
}
public OnGameModeInit()
{
AddStaticVehicle(497,-1680.3749,704.5128,30.7798,0.0009,0,1); // Police Maverick.
AddStaticVehicle(599,-1605.2196,651.6606,6.9562,0.9726,0,1); // police ranger
AddStaticVehicle(599,-1612.0226,673.3074,6.9546,179.6672,0,1); // police ranger
AddStaticVehicle(427,-1577.0059,682.9627,7.3194,180.7012,0,1); // Police Enforcer.
AddStaticVehicle(427,-1623.0345,649.7377,-5.1104,91.5731,0,1); // Police Enforcer.
AddStaticVehicle(427,-1589.0669,710.4260,-5.1256,271.5549,0,1); // Police Enforcer
AddStaticVehicle(597,-1605.3680,723.8331,11.6455,272.5913,0,1); // Police Car.
AddStaticVehicle(597,-1594.1158,673.5861,6.9564,1.4614,0,1); // Police Car.
AddStaticVehicle(597,-1634.2604,651.5620,6.9549,179.4405,0,1); // Police Car.
AddStaticVehicle(597,-1592.2837,749.3787,-5.4728,1.2686,0,1); // Police Car.
AddStaticVehicle(597,-1573.4305,730.5614,-5.4729,269.5667,0,1); // Police Car.
AddStaticVehicle(597,-1616.6693,693.5255,-5.4759,1.8063,0,1); // Police Car.
AddStaticVehicle(432,-1637.3768,672.5403,6.9572,272.5824,0,1); // tank13
AddStaticVehicle(432,-1637.8108,664.0803,6.9568,269.8907,0,1); // tank14
AddStaticVehicle(597,-1600.2981,673.5774,6.9562,178.9777,0,1); // copcar1
AddStaticVehicle(597,-1605.9984,672.9949,6.9573,181.8224,0,1); // copcar2
AddStaticVehicle(597,-1628.7797,651.5225,6.9562,359.8818,0,1); // copcar3
AddStaticVehicle(597,-1622.6779,651.6612,6.9595,359.0346,0,1); // copcar4
AddStaticVehicle(549,-2171.7766,293.6785,34.8143,182.6010,75,39); // civliancar1
AddStaticVehicle(549,-2167.3306,294.0976,34.8146,180.5858,75,39); // civliancar2
AddStaticVehicle(549,-2163.1868,294.2909,34.8143,185.2952,75,39); // civliancar3
AddStaticVehicle(549,-2179.7725,294.0576,34.8144,176.3835,75,39); // civliancar4
AddStaticVehicle(555,-2222.5808,293.0718,34.8031,185.1406,58,1); // civliancar5
AddStaticVehicle(555,-2226.6169,293.4097,34.8017,181.8129,58,1); // civliancar6
AddStaticVehicle(555,-2231.2681,293.1929,34.8010,176.7054,58,1); // civliancar7
AddStaticVehicle(555,-2235.4819,293.5661,34.8013,178.5132,58,1); // civliancar8
AddStaticVehicle(580,-1746.5840,948.0662,24.6061,270.7752,99,99); // Stafford Mordini.
AddStaticVehicle(580,-1761.3190,947.9057,24.6060,270.7638,99,99); // Stafford Mordini.
AddStaticVehicle(545,-1740.4283,955.6047,24.6247,254.1344,99,99); // Hustler Mordini.
AddStaticVehicle(545,-1753.5284,956.4266,24.6197,269.9702,99,99); // Hustler Mordini.
AddStaticVehicle(545,-1767.7406,955.8743,24.6199,284.2748,99,99); // Hustler Mordini.
AddStaticVehicle(545,-2754.5225,386.2861,4.0374,177.6572,0,0); // Hustler Meruda.
AddStaticVehicle(545,-2754.7739,377.8806,4.0375,177.9179,0,0); // Hustler Meruda.
AddStaticVehicle(545,-2755.0198,367.9162,4.0632,178.4173,0,0); // Hustler Meruda.
AddStaticVehicle(580,-2752.5933,339.1029,4.0780,200.3602,0,0); // Stafford Meruda.
AddStaticVehicle(580,-2752.7485,411.7692,4.0258,153.2618,0,0); // Stafford Meruda.
AddStaticVehicle(580,-2713.9949,-302.0736,6.9067,137.6028,86,86); // Stafford Savokage.
AddStaticVehicle(580,-2734.4165,-322.2122,6.9059,132.7012,86,86); // Stafford Savokage.
AddStaticVehicle(545,-2725.3633,-313.6233,6.9200,137.8215,86,86); // Hustler Savokage.
AddStaticVehicle(545,-2748.8176,-330.2668,6.9201,109.8319,86,86); // Hustler Savokage.
AddStaticVehicle(545,-2709.5601,-297.0791,6.9201,138.9872,86,86); // Hustler Savokage.
AddStaticVehicle(589,-2621.1040,1340.4357,6.8534,132.7076,-1,-1); // Club.
AddStaticVehicle(589,-2512.0986,1205.2826,37.0800,91.0768,-1,-1); // Club.
AddStaticVehicle(589,-2433.7761,740.7537,34.6737,1.2764,-1,-1); // Club.
AddStaticVehicle(589,-1990.9706,245.2761,34.8299,84.5442,-1,-1); // Club.
AddStaticVehicle(589,-2265.9458,121.0710,34.8300,270.3289,-1,-1); // Club.
AddStaticVehicle(579,-2425.9446,518.5499,29.8708,41.4188,-1,-1); // Huntley.
AddStaticVehicle(579,-2589.4492,637.3941,14.3841,90.3327,-1,-1); // Huntley.
AddStaticVehicle(579,-2616.3613,134.6362,4.2657,269.0216,-1,-1); // Huntley.
AddStaticVehicle(579,-2340.9753,-126.2900,35.2453,181.1295,-1,-1); // Huntley.
AddStaticVehicle(579,-2394.7759,-597.0898,132.5772,125.3594,-1,-1); // Huntley.
AddStaticVehicle(576,-2076.9812,-84.2807,34.7737,1.4765,-1,-1); // Tornado.
AddStaticVehicle(576,-1424.0941,-294.4950,13.6805,228.6542,-1,-1); // Tornado.
AddStaticVehicle(576,-1948.0771,261.2358,40.6561,69.1133,-1,-1); // Tornado.
AddStaticVehicle(576,-1659.6881,1213.3640,20.7652,294.6318,-1,-1); // Tornado.
AddStaticVehicle(576,-1810.3162,1312.2656,59.3457,7.5611,-1,-1); // Tornado.
AddStaticVehicle(575,-2617.9253,1377.3344,6.7358,0.7257,-1,-1); // Broadway.
AddStaticVehicle(575,-1659.7809,1214.4174,6.8522,277.1044,-1,-1); // Broadway.
AddStaticVehicle(575,-1959.8875,271.1338,35.0698,63.2096,-1,-1); // Broadway.
AddStaticVehicle(575,-2669.5833,-35.0694,3.9376,358.7679,-1,-1); // Broadway.
AddStaticVehicle(575,-2413.4187,331.1511,34.5772,327.3887,-1,-1); // Broadway.
AddStaticVehicle(555,-2222.5813,293.0608,34.8016,185.1510,-1,-1); // Windsor.
AddStaticVehicle(555,-1938.1459,585.1694,34.8080,359.2372,-1,-1); // Windsor.
AddStaticVehicle(555,-1660.4066,452.8901,6.8664,225.0719,-1,-1); // Windsor.
AddStaticVehicle(555,-1577.1997,1061.9341,6.7915,2.9790,-1,-1); // Windsor.
AddStaticVehicle(555,-1897.8563,-775.0292,31.7079,269.4234,-1,-1); // Windsor.
AddStaticVehicle(554,-1700.4092,413.2181,7.2667,230.1029,-1,-1); // Yosemite.
AddStaticVehicle(554,-1921.5852,303.2188,41.1323,182.1299,-1,-1); // Yosemite.
AddStaticVehicle(554,-1975.9774,172.4849,27.7798,89.8271,-1,-1); // Yosemite.
AddStaticVehicle(554,-2046.1158,144.3073,28.9261,183.2282,-1,-1); // Yosemite.
AddStaticVehicle(554,-2019.3204,-96.5513,35.2467,0.1224,-1,-1); // Yosemite.
AddStaticVehicle(551,-2023.0157,-45.3402,35.1611,180.7982,-1,-1); // Merit.
AddStaticVehicle(551,-1954.7444,304.3097,40.8477,125.7017,-1,-1); // Merit.
AddStaticVehicle(551,-2723.0200,916.0835,67.3960,90.9384,-1,-1); // Merit.
AddStaticVehicle(551,-1651.9823,1311.0405,6.8347,133.6104,-1,-1); // Merit.
AddStaticVehicle(551,-2029.7131,156.7948,28.6365,177.4403,-1,-1); // Merit.
AddStaticVehicle(549,-2265.2805,196.6459,34.8612,271.1180,-1,-1); // Tampa.
AddStaticVehicle(549,-2175.6553,293.6523,34.8143,179.9391,-1,-1); // Tampa.
AddStaticVehicle(549,-2243.9795,781.3792,49.1196,90.5608,-1,-1); // Tampa.
AddStaticVehicle(549,-2619.5999,250.6183,4.1843,272.5283,-1,-1); // Tampa.
AddStaticVehicle(549,-2558.6196,194.5899,5.9878,204.2521,-1,-1); // Tampa.
AddStaticVehicle(534,-2671.7200,74.5818,4.0598,269.3201,-1,-1); // Remington.
AddStaticVehicle(534,-2171.6804,-218.7995,35.0425,274.6324,-1,-1); // Remington.
AddStaticVehicle(534,-1659.2943,-10.0754,3.2795,49.3506,-1,-1); // Remington.
AddStaticVehicle(534,-1882.8195,-201.5378,15.9597,270.3367,-1,-1); // Remington.
AddStaticVehicle(534,-1872.3752,-933.5781,31.7483,269.7854,-1,-1); // Remington.
AddStaticVehicle(496,-1872.1163,-757.0396,31.7399,270.9176,-1,-1); // Blista Compact.
AddStaticVehicle(496,-1836.4868,-11.8524,14.8334,275.3156,-1,-1); // Blista Compact.
AddStaticVehicle(496,-2796.2195,197.0260,6.9042,88.8864,-1,-1); // Blista Compact.
AddStaticVehicle(496,-2877.7839,734.4507,29.3668,276.7068,-1,-1); // Blista Compact.
AddStaticVehicle(496,-2485.7646,1138.5597,55.4430,179.6677,-1,-1); // Blista Compact.
AddStaticVehicle(495,-673.0724,911.5737,12.4758,88.4422,0,6); // Sandking Admin.
AddStaticVehicle(495,-672.9341,916.6760,12.4489,88.4409,0,6); // Sandking Admin.
AddStaticVehicle(451,-680.0200,962.8774,11.8393,77.8229,0,6); // Turismo Admin.
AddStaticVehicle(405,-687.6938,949.6626,12.0272,88.5235,0,6); // Sentinel Admin.
AddStaticVehicle(541,-679.1749,969.1595,11.7578,102.5085,0,6); // Bullet Admin.
AddStaticVehicle(522,-670.7420,944.4076,11.7034,87.5749,0,6); // Nrg Admin.
AddStaticVehicle(580,-2779.3296,-281.9901,6.8352,183.4484,86,86); // robbercar1
AddStaticVehicle(580,-2773.1599,-281.5904,6.8371,180.9500,86,86); // robbercar2
AddStaticVehicle(580,-2765.2600,-281.6456,6.8391,179.4369,86,86); // robbercar3
AddStaticVehicle(580,-2758.2275,-280.7198,6.8352,180.7286,86,86); // robbercar 4
AddStaticVehicle(580,-2745.0264,-281.9504,6.8345,178.9146,86,86); // robbercar 5
AddStaticVehicle(580,-2732.4482,-281.3699,6.8372,175.7836,86,86); // robbercar6
AddStaticVehicle(497,-1680.3749,704.5128,30.7798,0.0009,0,1); //Maverick
AddPlayerClass(111,-2790.0576,-290.5177,7.1952,270.7163,24,500,4,0,0,0); // robber.
AddPlayerClass(124,-2790.0576,-290.5177,7.1952,270.7163,24,500,4,0,0,0); // robber.
AddPlayerClass(127,-2790.0576,-290.5177,7.1952,270.7163,24,500,4,0,0,0); // robber.
AddPlayerClass(7,-2790.0576,-290.5177,7.1952,270.7163,24,500,4,0,0,0); // robber.3
AddPlayerClass(58,-2790.0576,-290.5177,7.1952,270.7163,24,500,4,0,0,0); // robber.4
AddPlayerClass(181,-2790.0576,-290.5177,7.1952,270.7163,24,500,4,0,0,0); // robber.5
AddPlayerClass(135,-2790.0576,-290.5177,7.1952,270.7163,24,500,4,0,0,0); // robber.6
AddPlayerClass(213,-2790.0576,-290.5177,7.1952,270.7163,24,500,4,0,0,0); // robber.7
AddPlayerClass(212,-2790.0576,-290.5177,7.1952,270.7163,24,500,4,0,0,0); // robber.8
AddPlayerClass(285,-1615.7305,681.9357,7.1875,177.7683,24,500,4,0,0,0); // Police Skin.9
AddPlayerClass(281,-1615.7305,681.9357,7.1875,177.7683,24,500,4,0,0,0); // Police Skin.10
AddPlayerClass(280,-1615.7305,681.9357,7.1875,177.7683,24,500,4,0,0,0); // Police Skin.11
AddPlayerClass(282,-1615.7305,681.9357,7.1875,177.7683,24,500,4,0,0,0); // Police Skin.12
AddPlayerClass(288,-1615.7305,681.9357,7.1875,177.7683,24,500,4,0,0,0); // Police Skin.13
AddPlayerClass(46,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn14
AddPlayerClass(188,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn15
AddPlayerClass(250,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn16
AddPlayerClass(72,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn17
AddPlayerClass(101,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn18
AddPlayerClass(202,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn19
AddPlayerClass(32,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn20
AddPlayerClass(145,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn21
AddPlayerClass(133,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn22
AddPlayerClass(223,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn23
AddPlayerClass(37,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn24
AddPlayerClass(229,-2188.8416,288.4583,35.3203,359.3415,0,0,0,0,0,0); // civiliansspawn25
AddPlayerClass(217,-1635.1990,665.0344,7.1875,268.3459,0,0,0,0,0,0); // natespawn:)26
AddPlayerClass(188,-1519.6886,676.0905,139.2734,42.4250,0,0,0,0,0,0); //nickspawn:}26
AddStaticPickup(46,2,-1749.5188,866.6671,25.0859);
AddStaticPickup(356,2,-2762.1160,-299.7388,7.0391);//robber weapons
AddStaticPickup(36,2,-2762.1160,-299.7388,7.0391);//robber weapons
AddStaticPickup(350,2,-2761.8804,-304.6026,7.0391);//robberweapon
AddStaticPickup(358,2,-2761.8293,-308.2541,7.0391);//robberweapon
AddStaticPickup(1242,2,-2761.6365,-312.2020,7.0391);//robberarmour
AddStaticPickup(1240,2,-1626.7014,665.3132,7.1875);//cophealthpickup
AddStaticPickup(1240,2,-2762.8184,-295.6996,7.0391);//robberhealth
AddStaticPickup(36,2,-2752.1326,-252.1819,7.1875);//Bossuka
AddStaticPickup(31,2,-1619.3286,663.5551,6.9562);//copsm4
AddStaticPickup(1242,2,-1616.0618,685.4894,7.1875);//cop armor
AddStaticPickup(356,2,-2752.1326,-252.1819,7.1875);//cop weapons
AddStaticPickup(38,2,-1636.7981,688.1226,7.1875);//cop weapons
AddStaticPickup(350,2,-1632.0856,688.2438,7.1875);//copweapon
AddStaticPickup(358,2,-1627.0679,688.4559,7.1875);//copweapon
AddStaticPickup(371,2,-1542.9221,698.1633,139.2734);//Nicks Parchute
print("GameModeInit()");
SetGameModeText("Copsandrobbers v1.0");
ShowNameTags(1);
ShowPlayerMarkers(1);
SetTimer("AdminArea",gAAreaTime,1);
SetTimer("HunterArea",gAHunterTime,1);
SetTimer("RealTimeUpdate",1,0);
return 1;
}
public ReturnPlayerName(playerid)
{
new pname[ 256 ];
GetPlayerName(playerid, pname, sizeof (pname));
return 1;
}
public CountDownRobberyTimer( )
{
for( new i = 0; i < MAX_PLAYERS; i++ )
{
if( HasRobberyStarted == 1 )
{
if( IsRobberySuspect[ i ] == 1 )
{
SendClientMessage( i, COLOR_RED, "The police have been notified to the robbery, get away quick!" );
IsRobberySuspect[ i ] = 0;
}
}
}
HasRobberyStarted = 0;
}
public CommitRobbery( playerid )
{
if( HasRobberyStarted == 1 )
{
SendClientMessage( playerid, COLOR_RED, "Robbery already in progess." );
return;
}
if( gTeam[ playerid ] == TEAM_ROBBER )
{
if( GetPlayerInterior( playerid ) == 10 )
{
GivePlayerMoney( playerid, 10000 );
SendClientMessage( playerid, COLOR_RED, "You have 10 seconds before the police are alerted, GET OUT NOW!" );
IsRobberySuspect[ playerid ] = 1;
HasRobberyStarted = 1;
SetTimer( "CountDownRobberyTimer", 1000*10, 0 );
}
else
{
SendClientMessage( playerid, COLOR_ORANGE, "You must be inside to rob something, moron." );
return;
}
}
else
{
SendClientMessage( playerid, COLOR_RED, "Only robbers can commit robbery." );
return;
}
}
public AdminArea(playerid)
{
new i, Float:X, Float:Y, Float:Z;
for (i = 0; i < MAX_PLAYERS; i++)
{
GetPlayerPos(i, X, Y, Z);
if(X >= -764.5396 && X <= -632.9658 && Y >= 802.6583 && Y <= 1015.8968)
{
if (!IsPlayerAdmin(playerid))
{
GameTextForPlayer(playerid,"Your not allowed in the Admin Area!",5000,5);
SendClientMessage(playerid, COLOR_RED, "Please login as Admin to access this area!");
SetPlayerPos(playerid,-1753.7256 ,885.2352, 295.8750);
}
else if(IsPlayerAdmin(playerid)){
}
}
}
}
public HunterArea(playerid)
{
new i, Float:X, Float:Y, Float:Z;
for (i = 0; i < MAX_PLAYERS; i++)
{
GetPlayerPos(i, X, Y, Z);
if(X >= -1623.0717 && X <= -1590.2161 && Y >= 304.3722 && Y <= 285.4943)
{
if (!IsPlayerAdmin(playerid))
{
GameTextForAll("Intruder Alert!",2500,1);
SendClientMessage(playerid, COLOR_RED, "Do not come near that hunter again!");
SetPlayerHealth(playerid, 0.00);
}
else if(IsPlayerAdmin(playerid)){
SendClientMessage(playerid, COLOR_GREEN, "hope you can fly those things");
}
}
}
}
public RealTimeUpdate()
{
new h=0, m=0, s=0; //setup time flags
new string[256]; //string for format
gettime(h,m,s); //Get what the real time is
SetWorldTime(h); //Set world time to real time (only hours work)
format(string, sizeof(string), "The time is updated - %d:%d:%d", h, m, s);
print(string);
SetTimer("RealTimeUpdate",1000,0); //reset interval (1000 = 1 second, 1000000 = ten miniutes)
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerTeamFromClass(playerid, classid);
SetupPlayerForClassSelection(playerid);
gPlayerClass[playerid] = classid;
switch (classid) {
case 0:
{
GameTextForPlayer(playerid, "~r~Robber", 1000, 3); //DISPLAY THIS.
}
case 1:
{
GameTextForPlayer(playerid, "~r~robber", 1000, 3);//DISPLAY THIS.
}
case 2:
{
GameTextForPlayer(playerid, "~r~robber", 1000, 3);//DISPLAY THIS.
}
case 3:
{
GameTextForPlayer(playerid, "~r~robber", 1000, 3);//DISPLAY THIS.
}
case 4:
{
GameTextForPlayer(playerid, "~r~robber", 1000, 3);//DISPLAY THIS.
}
case 5:
{
GameTextForPlayer(playerid, "~r~robber", 1000, 3);//DISPLAY THIS.
}
case 6:
{
GameTextForPlayer(playerid, "~r~robber", 1000, 3);//DISPLAY THIS.
}
case 7:
{
GameTextForPlayer(playerid, "~r~robber", 1000, 3);//DISPLAY THIS.
}
case 8:
{
GameTextForPlayer(playerid, "~r~robber", 1000, 3);//DISPLAY THIS.
}
case 9:
{
GameTextForPlayer(playerid, "~g~Cops", 1000, 3);//DISPLAY THIS.
}
case 10:
{
GameTextForPlayer(playerid, "~g~Cops", 1000, 3);//DISPLAY THIS.
}
case 11:
{
GameTextForPlayer(playerid, "~g~Cops", 1000, 3);//DISPLAY THIS.
}
case 12:
{
GameTextForPlayer(playerid, "~g~Cops", 1000, 3);//DISPLAY THIS.
}
case 13:
{
GameTextForPlayer(playerid, "~g~Cops", 1000, 3);//DISPLAY THIS.
}
case 14:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 15:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 16:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 17:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 18:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 19:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 20:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 21:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 22:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 23:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 24:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 25:
{
GameTextForPlayer(playerid, "~g~Civlian", 1000, 3);//DISPLAY THIS.
}
case 26:
{
GameTextForPlayer(playerid, "~g~Nate ~n~ Password Needed", 1000,3);//displaythis
gTeam[playerid] = TEAM_NATE;
}
case 27:
{
GameTextForPlayer(playerid, "~g~Nick ~n~ If Your Not Nick Go Home", 1000,3);//displaythis
gTeam[playerid] = TEAM_NICK;
}
}
return 1;
}
public SetupPlayerForClassSelection(playerid) //Do those action when a player select the pg.
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-1972.2493,285.0720,35.1719);
SetPlayerFacingAngle(playerid, 90.0);
SetPlayerCameraPos(playerid,-1972.2493-1.5,285.0720,35.1719+0.7);
SetPlayerCameraLookAt(playerid,-1972.2493-1.5,285.0720,35.1719+0.7);
return;
}
public SetPlayerTeamFromClass(playerid, classid) {
if(classid == 0) {
gTeam[playerid] = TEAM_ROBBER;
} else if(classid == 1) {
gTeam[playerid] = TEAM_ROBBER;
} else if(classid == 2) {
gTeam[playerid] = TEAM_ROBBER;
} else if(classid == 3) {
gTeam[playerid] = TEAM_ROBBER;
} else if(classid == 4) {
gTeam[playerid] = TEAM_ROBBER;
} else if(classid == 5) {
gTeam[playerid] = TEAM_ROBBER;
} else if(classid == 6) {
gTeam[playerid] = TEAM_ROBBER;
} else if(classid == 7) {
gTeam[playerid] = TEAM_ROBBER;
} else if(classid == 8) {
gTeam[playerid] = TEAM_ROBBER;
} else if(classid == 9) {
gTeam[playerid] = TEAM_COPS;
} else if(classid == 10) {
gTeam[playerid] = TEAM_COPS;
} else if(classid == 11) {
gTeam[playerid] = TEAM_COPS;
} else if(classid == 12) {
gTeam[playerid] = TEAM_COPS;
} else if(classid == 13) {
gTeam[playerid] = TEAM_COPS;
} else if(classid == 14) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 15) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 16) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 17) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 18) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 19) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 20) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 21) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 22) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 23) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 24) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 25) {
gTeam[playerid] = TEAM_CIVLIAN;
} else if(classid == 26) {
gTeam[playerid] = TEAM_NATE;
GivePlayerWeapon(playerid,36,9999);
GivePlayerWeapon(playerid,38,9999);
TogglePlayerControllable(playerid,0);
} else if(classid == 26) {
gTeam[playerid] = TEAM_NICK;
GivePlayerWeapon(playerid,36,9999);
GivePlayerWeapon(playerid,38,9999);
TogglePlayerControllable(playerid,0);
}
}
public OnGameModeExit()
{
print("GameModeExit()");
return 1;
}
public OnPlayerConnect(playerid)
{
Kills[playerid]=0; // put it on OnPlayerConnect
SendClientMessage(playerid,COLOR_RED,"type: /help to get started.");
SendClientMessage(playerid,COLOR_YELLOW,"type: /register to save your stats and money.");
SendClientMessage(playerid,COLOR_RED,"be sure to read /rules.");
return 1;
}
public OnPlayerDisconnect(playerid)
{
return 0;
}
public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid,0);
SendClientMessage(playerid, COLOR_YELLOW,"Robbers Kill the cops!");
SendClientMessage(playerid, COLOR_YELLOW,"Cops Defend yourself!");
SendClientMessage(playerid, COLOR_YELLOW,"Civlians Watch Yourself!");
GivePlayerMoney(playerid,500);
// Team Colors
if(gTeam[playerid] == TEAM_ROBBER) {
SetPlayerColor(playerid,TEAM_ROBBER_COLOR);
}else if(gTeam[playerid] == TEAM_COPS) {
SetPlayerColor(playerid,TEAM_COPS_COLOR);
}else if(gTeam[playerid] == TEAM_CIVLIAN) {
SetPlayerColor(playerid,TEAM_CIVLIAN_COLOR);
}else if(gTeam[playerid] == TEAM_NATE) {
GivePlayerWeapon(playerid,38,9999);
GivePlayerWeapon(playerid,32,9999);
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,TEAM_NATE_COLOR,"Your Not Nate :P");
}else if(gTeam[playerid] == TEAM_NICK) {
GivePlayerWeapon(playerid,38,9999);
GivePlayerWeapon(playerid,32,9999);
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,TEAM_NICK_COLOR,"You Are Frozen Until You Type In My Password");
}
if(IsPlayerAdmin(playerid) == 1 || gTeam[playerid] == TEAM_COPS){
SetVehicleParamsForPlayer(1,playerid,0,0);
SetVehicleParamsForPlayer(2,playerid,0,0);
SetVehicleParamsForPlayer(3,playerid,0,0);
SetVehicleParamsForPlayer(4,playerid,0,0);
SetVehicleParamsForPlayer(5,playerid,0,0);
SetVehicleParamsForPlayer(6,playerid,0,0);
SetVehicleParamsForPlayer(7,playerid,0,0);
SetVehicleParamsForPlayer(8,playerid,0,0);
SetVehicleParamsForPlayer(9,playerid,0,0);
SetVehicleParamsForPlayer(10,playerid,0,0);
SetVehicleParamsForPlayer(11,playerid,0,0);
SetVehicleParamsForPlayer(12,playerid,0,0);
SetVehicleParamsForPlayer(13,playerid,0,0);
SetVehicleParamsForPlayer(14,playerid,0,0);
}else{
SetVehicleParamsForPlayer(1,playerid,0,1);
SetVehicleParamsForPlayer(2,playerid,0,1);
SetVehicleParamsForPlayer(3,playerid,0,1);
SetVehicleParamsForPlayer(4,playerid,0,1);
SetVehicleParamsForPlayer(5,playerid,0,1);
SetVehicleParamsForPlayer(6,playerid,0,1);
SetVehicleParamsForPlayer(7,playerid,0,1);
SetVehicleParamsForPlayer(8,playerid,0,1);
SetVehicleParamsForPlayer(9,playerid,0,1);
SetVehicleParamsForPlayer(10,playerid,0,1);
SetVehicleParamsForPlayer(11,playerid,0,1);
SetVehicleParamsForPlayer(12,playerid,0,1);
SetVehicleParamsForPlayer(13,playerid,0,1);
SetVehicleParamsForPlayer(14,playerid,0,1);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new playermoney = GetPlayerMoney(playerid);
Kills[killerid]++; // in OnPlayerDeath
SendDeathMessage(killerid,playerid,reason);
ResetPlayerMoney(playerid);
GivePlayerMoney(killerid, playermoney + 500);
if(WantedLevel[killerid]<11){
WantedLevel[killerid]++;
}else{
if(WantedLevel[killerid]>10){
WantedLevel[killerid]=10;
WantedLevel[playerid] = 0;
WantedLevel[playerid]++; //this will increase the wanted level
WantedLevel[playerid]--; //this will decrease the wanted level
if( gTeam[ killerid ] == TEAM_COPS )
{
if( gTeam[ playerid ] == TEAM_ROBBER && IsSuspect[ playerid ] == 1 )
{
SendClientMessage( killerid, COLOR_ORANGE, "You have been awarded 1000 dollars for killing a suspect." );
GivePlayerMoney( killerid, 1000 );
SetPlayerScore( killerid, GetPlayerScore( killerid ) + 1 );
}
}
if( gTeam[ playerid ] == TEAM_COPS )
{
if( IsSuspect[ killerid ] == 0 )
{
new oh_noes[ 256 ];
IsSuspect[ killerid ] = 1;
SetPlayerColor( killerid, COLOR_ORANGE );
if( gTeam[ killerid ] == TEAM_ROBBER )
{
format( oh_noes, sizeof( oh_noes ), "%s killed a police officer, calling all cars.", ReturnPlayerName( killerid ) );
}
else if( gTeam[ killerid ] == TEAM_COPS && IsSuspect[ playerid ] == 0 )
{
format( oh_noes, sizeof( oh_noes ), "%s has killed a fellow police officer, proceed with caution.", ReturnPlayerName( killerid ) );
}
SendClientMessageToAll( COLOR_ORANGE, oh_noes );
SendDeathMessage( killerid, playerid, reason );
}
}
}
if(gTeam[playerid] == TEAM_ROBBER) { //IF VICTIM IS a COP
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
}
if(gTeam[playerid] == TEAM_COPS) {//IF VICTIM IS a ROBBER
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
}
if(gTeam[playerid] == TEAM_CIVLIAN) {//IF VICTIM IS A COP
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
}
if(gTeam[playerid] == gTeam[killerid]){ //IF KILLER'S TEAM IS THE SAME OF VICTIM'S TEAM
GameTextForPlayer(killerid, "~r~No Teamkill", 1000, 3);//SAY TO DO NOT TEAMKILL.
SetPlayerHealth(killerid, 0);
SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
}
if (Kills[killerid] == 10) { Kills[killerid]=0; SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(killerid)+1);}
}
}
public OnVehicleSpawn(vehicleid)
{
printf("OnVehicleSpawn(%d)", vehicleid);
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
printf("OnVehicleDeath(%d, %d)", vehicleid, killerid);
return 1;
}
public SettingsExistsCheck()
{
if (!dini_Exists(FILE_SETTINGS)) {
dini_Create(FILE_SETTINGS);
dini_IntSet(FILE_SETTINGS, "register", 1);
dini_IntSet(FILE_SETTINGS, "maxusers", 2000);
}
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256], index;
cmd = strtok(cmdtext,index);
new tmp[256], tmp2[256];
tmp = strtok(cmdtext,index);
new dir[256];
dir = strtok(cmdtext, index);
new string[256];
new playermoney;
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new playername[MAX_PLAYER_NAME];
new giveplayerid, moneys;
new i;
if (strcmp(cmd, "/help", true)==0)
{
SendClientMessage(playerid, COLOR_YELLOW, "*HELP*");
SendClientMessage(playerid, COLOR_YELLOW, "*SA:MP: Cops and robbers Coded by nate.*");
SendClientMessage(playerid, COLOR_YELLOW, "*Type: /objective : to find out what to do in this gamemode.*");
SendClientMessage(playerid, COLOR_YELLOW, "*Type: /rules : to find out what our rules are!*");
SendClientMessage(playerid, COLOR_YELLOW, "*Type: /commands : for a list of all commands.*");
return 1;
}
if(strcmp(cmd, "/objective", true)==0)
{
SendClientMessage(playerid, COLOR_YELLOW, "*OBJECTIVE*");
SendClientMessage(playerid, COLOR_YELLOW, "*This gamemode is Cops And robbers Version 1.0.*");
SendClientMessage(playerid, COLOR_YELLOW, "*In Cops and robbers, when you kill a cop, you get the money they are carrying.*");
SendClientMessage(playerid, COLOR_YELLOW, "*Killing Cops is the primary goal.");
SendClientMessage(playerid, COLOR_YELLOW, "*Only Watch out there are cop stopping you.*");
SendClientMessage(playerid, COLOR_YELLOW, "*DO NOT CHEAT or will be banned.*");
SendClientMessage(playerid, COLOR_YELLOW, "*END OF OBJECTIVE*");
return 1;
}
if(strcmp(cmd, "/rules", true)==0)
{
SendClientMessage(playerid, COLOR_YELLOW, "*RULES*");
SendClientMessage(playerid, COLOR_YELLOW, "*Here are the rules that are needed for the server.*");
SendClientMessage(playerid, COLOR_YELLOW, "*Cops are there to defend themselves.*");
SendClientMessage(playerid, COLOR_YELLOW, "*The Robbers Are supposed to attack the COPS*");
SendClientMessage(playerid, COLOR_YELLOW, "*DO not Spawn kill ect. keep it fair*");
return 1;
}
if(strcmp(cmd, "/commands", true)==0)
{
SendClientMessage(playerid, COLOR_YELLOW, "*COMMANDS*");
SendClientMessage(playerid, COLOR_YELLOW, "*/kill /server. *");
SendClientMessage(playerid, COLOR_YELLOW, "*/pm [ID] : To send a Private message. *");
SendClientMessage(playerid, COLOR_YELLOW, "*/lock : to (un)lock your car doors for others. *");
SendClientMessage(playerid, COLOR_YELLOW, "*/givecash [ID] : to send money to a player. *");
SendClientMessage(playerid, COLOR_YELLOW, "*/me [action] : For RolePlaying I suggest you use it. *");
SendClientMessage(playerid, COLOR_YELLOW, "*/version : to get the current server version. *");
return 1;
}
if(strcmp(cmd, "/admincommands1", true)==0)
if(IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_ADMIN, "*ADMIN-COMMANDS cmdlist 1*");
SendClientMessage(playerid, COLOR_ADMIN, "*/weps admin : To get special Admin weapons.*");
SendClientMessage(playerid, COLOR_ADMIN, "*/aspawn [location] : to spawn at a location.(/adminlocations)*");
SendClientMessage(playerid, COLOR_ADMIN, "*/(un)jail [ID] : to jail a player who brakes the rules.*");
SendClientMessage(playerid, COLOR_ADMIN, "*/(un)freeze [ID] : To Freeze a player from moving.*");
SendClientMessage(playerid, COLOR_ADMIN, "*/kick [ID] to kick a player from the server.*");
SendClientMessage(playerid, COLOR_ADMIN, "*/ban [ID] to ban a player from the server.*");
SendClientMessage(playerid, COLOR_ADMIN, "*/heal [ID] : Heals the selected player.");
SendClientMessage(playerid, COLOR_ADMIN, "*/god [ID] : Make a player invulnerable.*");
SendClientMessage(playerid, COLOR_ADMIN, "*/tpto [fromID] [toID] : teleports a player to player.");
SendClientMessage(playerid, COLOR_ADMIN, "*Type: /admincmdlist2 : to get more commands.*");
return 1;
}
if(strcmp(cmdtext, "/admin locations", true)==0)
if(IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_ADMIN, "*Here are admin spawn locations.*");
SendClientMessage(playerid, COLOR_ADMIN, "*admincars*");
SendClientMessage(playerid, COLOR_ADMIN, "*naval*");
SendClientMessage(playerid, COLOR_ADMIN, "*SFPD*");
SendClientMessage(playerid, COLOR_ADMIN, "*bermuda*");
SendClientMessage(playerid, COLOR_ADMIN, "*savokage*");
SendClientMessage(playerid, COLOR_ADMIN, "*mordini*");
SendClientMessage(playerid, COLOR_ADMIN, "*overlook(highserbuilding of SF)*");
SendClientMessage(playerid, COLOR_ADMIN, "*more to come.*");
return 1;
}
if(strcmp(cmd, "/admincmdlist2", true)==0)
if(IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_ADMIN, "*ADMIN-COMMANDS cmdlist 2*");
SendClientMessage(playerid, COLOR_ADMIN, "*/disarm [ID] : TO disarm a selected player.*");
SendClientMessage(playerid, COLOR_ADMIN, "*/murder [ID} : That will kill a player directly.*");
SendClientMessage(playerid, COLOR_ADMIN, "*/admin-unlock : will unlock all admin cars (not avalible).*");
SendClientMessage(playerid, COLOR_ADMIN, "*/admon-lock : will lock all admin cars(not avalible).*");
return 1;
}
if(strcmp(cmd, "/version", true)==0)
{
SendClientMessage(playerid, COLOR_YELLOW, "*The current server version is: Cops And Robbers v1.0*");
SendClientMessage(playerid, COLOR_YELLOW, "*END*");
return 1;
}
if(strcmp(cmd, "/wanted", true) == 0)
{
if(gTeam[playerid]==TEAM_COPS) {
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Current Wanted People:");
for(new i=0; i < MAX_WANTED_LEVEL; i++) {
if(WantedLevel[i]>0) {
GetPlayerName(i,WantedPlayerName,sizeof(WantedPlayerName));
format(string, sizeof(string), "%s(ID:%d) - %d Wanted Level", WantedPlayerName,i,WantedLevel[i]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}else{
SendClientMessage(playerid, COLOR_RED, "You can only view this as a cop!");
}
return 1;
}
if(strcmp(cmd, "/wantedlvl", true) == 0) {
WantedLevel[playerid]++; //this will increase the wanted level
WantedLevel[playerid]--; //this will decrease the wanted level
return 1;
}
if(strcmp(cmdtext, "/nate geistytv1", true) == 0) {
if(gTeam[playerid] == TEAM_NATE){
gTeam[playerid]= TEAM_NATE_INLOGED;
SendClientMessage(playerid,TEAM_NATE_COLOR," You Are Now Playing As NATE.");
GivePlayerWeapon(playerid,31,500);
SetPlayerColor(playerid,TEAM_NATE_COLOR);}
TogglePlayerControllable(playerid,1);}
if(strcmp(cmdtext, "/nick 1234567a", true) == 0) {
if(gTeam[playerid] == TEAM_NICK){
gTeam[playerid]= TEAM_NICK_INLOGED;
SendClientMessage(playerid,TEAM_NICK_COLOR," Hey Nick GO KICK SOME SHIT");
GivePlayerWeapon(playerid,31,500);
SetPlayerColor(playerid,TEAM_NICK_COLOR);}
TogglePlayerControllable(playerid,1);
return 1;
}
if( strcmp( cmd, "/rob" ) == 0 )
{
CommitRobbery( playerid );
return 1;
}
if(strcmp(cmdtext, "/kill", true) == 0)
{
SetPlayerHealth(playerid,0.0);
return 1;
}
if(strcmp(cmdtext, "/server", true, 3)==0) {
new str[256];
format(str, 256, "Server: %s", cmdtext[4]);
SendClientMessageToAll(COLOR_ORANGE, str);
return 1;
}
//--------------------------Admin Logins/commands--------------------------------
/*if(strcmp(cmdtext, "/alog 869", true)==0)
{
Level[playerid] = 5;
SendClientMessage(playerid,COLOR_ADMIN,"You are now logged in as admin.");
SendClientMessage(playerid,COLOR_ADMIN,"Type: /admincommands for a list of commands.");
return 1;
}*/
//----------------------------------admin commands----------------------------------
if(strcmp(cmd, "/register", true) == 0) {
new a,b;
a = dini_Int(FILE_SETTINGS, "register");
if (a == 0) {
SendClientMessage(playerid, COLOR_RED, "* Register are not allowed on this server!");
return 1;
}
a = dini_Int(FILE_SETTINGS, "maxusers");
b = dini_Int(FILE_TOTALSTAT, "users");
if (b >= a) {
SendClientMessage(playerid, COLOR_RED, "* User limit reached! You cannot register.");
return 1;
}
tmp = strtok(cmd, index);
GetPlayerName(playerid, playername, sizeof(playername));
if(strlen(tmp) > 20 || strlen(tmp) < 5) {
SendClientMessage(playerid, COLOR_YELLOW, "* Password length must be 5-20 symbols.");
return 1;
}
if(!strlen(tmp))
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /register [password]");
else {
if (!dini_Exists(udb_encode(playername))) {
dini_Create(udb_encode(playername));
dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
tmp2 = dini_Get(FILE_SETTINGS, "defaultprotection");
dini_IntSet(udb_encode(playername), "protection", strval(tmp2));
dini_Set(udb_encode(playername), "x", "x");
dini_Set(udb_encode(playername), "y", "y");
dini_Set(udb_encode(playername), "z", "z");
if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
tmp2 = dini_Get(FILE_TOTALSTAT, "users");
dini_IntSet(FILE_TOTALSTAT, "users", strval(tmp2)+1);
format(string, sizeof(string), "--- %s (id: %d) created account. Password: %s.", playername, playerid, tmp);
printf(string);
format(string, sizeof(string), "* Account named %s created! You can login with password %s.", playername, tmp);
SendClientMessage(playerid, COLOR_GREEN, string);
}
else {
format(string, sizeof(string), "* %s already registered.", playername,tmp);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 1;
}
if(strcmp(cmd, "/login", true) == 0) {
new a;
a = dini_Int(FILE_SETTINGS, "register");
if (a == 0) {
SendClientMessage(playerid, COLOR_RED, "* Register are not allowed on this server!");
return 1;
}
tmp = strtok(cmdtext, index);
GetPlayerName(playerid, playername, sizeof(playername));
if(!strlen(tmp))
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /login [password]");
else {
if (dini_Exists(udb_encode(playername))) {
if (logged[playerid] == 1) {
format(string, sizeof(string), "--- %s already logged.", playername);
printf(string);
SendClientMessage(playerid, COLOR_YELLOW, "[RpC-Register]: You already logged.");
}
else {
tmp2 = dini_Get(udb_encode(playername), "password");
if (udb_hash(tmp) != strval(tmp2)) {
format(string, sizeof(string), "--- %s (id: %d) typed wrong password: %s.", playername, playerid, tmp);
printf(string);
SendClientMessage(playerid, COLOR_RED, "[RpC-Register]: Wrong password.");
}
else {
logged[playerid] = 1;
dini_Get(udb_encode(playername), "carid");
dini_Get(udb_encode(playername), "owner");
format(string, sizeof(string), "--- %s (id: %d) logged in. Password: %s.", playername, playerid, tmp);
printf(string);
SendClientMessage(playerid, COLOR_GREEN, "You are logged in!");
}
}
}
else {
format(string, sizeof(string), "%s no such account.", playername);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 1;
}
if(strcmp(cmd, "/uspawn", true) == 0 && IsPlayerAdmin(playerid) == 1) {
tmp = strtok(cmdtext, index);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_RED, "USAGE: /aspawn [LOCATION] : to spawn at selected locatio");
return 1;
}
if(strcmp(tmp, "admincars", true)==0){
SetPlayerPos(playerid,-688.1244, 942.2581, 13.6328);
SendClientMessage(playerid, COLOR_YELLOW,"Welcome to the Admin area cars");
GameTextForPlayer(playerid," ~b~ Have fun driving them!",5000,5);
return 1;
}
if(strcmp(tmp, "naval", true)==0){
SetPlayerPos(playerid,-1347.6167, 492.3663, 18.2344);
SendClientMessage(playerid, COLOR_YELLOW,"Welcome to the Naval Base");
return 1;
}
if(strcmp(tmp, "SFPD", true)==0){
SetPlayerPos(playerid,-1615.7305, 681.9357, 7.1875);
SendClientMessage(playerid, COLOR_YELLOW,"Welcome to the SF police department.");
return 1;
}
if(strcmp(tmp, "bermuda", true)==0){
SetPlayerPos(playerid,-2763.0950, 373.0516, 5.8993);
SendClientMessage(playerid, COLOR_YELLOW,"Welcome to the Bermuda spawn");
return 1;
}
if(strcmp(tmp, "savokage", true)==0){
SetPlayerPos(playerid,-2720.9956 ,-317.8231, 7.8438);
SendClientMessage(playerid, COLOR_YELLOW,"Welcome to the Savokage spawn");
return 1;
}
if(strcmp(tmp, "mordini", true)==0){
SetPlayerPos(playerid,-1757.1803, 960.4439, 24.8828);
SendClientMessage(playerid, COLOR_YELLOW,"Welcome to the Mordini spawn");
return 1;
}
if(strcmp(tmp, "overlook", true)==0){
SetPlayerPos(playerid,-1753.7256, 885.2352, 295.8750);
GivePlayerWeapon(playerid,46,1);
SendClientMessage(playerid, COLOR_YELLOW,"Welcome to SF overlook");
return 1;
}
return 1;
}
if(strcmp(cmdtext, "/weps admin", true)==0)
if(IsPlayerAdmin(playerid))
{
GivePlayerWeapon(playerid,29,999);
GivePlayerWeapon(playerid,31,999);
return 1;
}
if(strcmp(cmd, "/freeze", true) == 0 && IsPlayerAdmin(playerid) == 1) {
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /freeze [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
TogglePlayerControllable(giveplayerid, 0);
format(string, sizeof(string), "--- %s (id: %d) freezes %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
printf(string);
format(string, sizeof(string), "* %s (id: %d) frozen.", giveplayer,giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "* You frozen by %s (id: %d).", sendername,playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
}
else {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/unfreeze", true) == 0 && IsPlayerAdmin(playerid) == 1) {
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /unfreeze [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
TogglePlayerControllable(giveplayerid, 1);
format(string, sizeof(string), "--- %s (id: %d) unfreezes %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
printf(string);
format(string, sizeof(string), "* %s (id: %d) unfrozen.", giveplayer,giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "* You unfrozen by %s (id: %d).", sendername,playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
}
else {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/disarm", true) == 0 && IsPlayerAdmin(playerid) == 1) {
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /disarm [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
ResetPlayerWeapons(giveplayerid);
format(string, sizeof(string), "--- %s (id: %d) removed weapons from %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
printf(string);
format(string, sizeof(string), "* Removed all weapons from %s (id: %d).", giveplayer,giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "* %s (id: %d) removed all your weapons.", sendername,playerid);
SendClientMessage(giveplayerid, COLOR_RED, string);
}
else {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/tpto", true) == 0 && IsPlayerAdmin(playerid) == 1) {
new telename[MAX_PLAYER_NAME];
new teleid;
new Float:pX, Float:pY, Float:pZ;
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /tpto [playerid] [to playerid]");
return 1;
}
giveplayerid = strval(tmp);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /tpto [playerid] [to playerid]");
return 1;
}
teleid = strval(tmp);
if (IsPlayerConnected(giveplayerid) && IsPlayerConnected(teleid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(teleid, telename, sizeof(telename));
GetPlayerPos(teleid, pX,pY,pZ);
SetPlayerPos(giveplayerid, pX,pY,pZ);
format(string, sizeof(string), "--- %s (id: %d) teleported %s (id: %d) to %s (id: %d)", sendername,playerid,giveplayer,giveplayerid,telename,teleid);
printf(string);
format(string, sizeof(string), "* You teleported %s (id: %d) to %s (id: %d).", giveplayer,giveplayerid,telename,teleid);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "* You teleported to %s (id: %d) by %s (id: %d).", telename,teleid,sendername,playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
}
if (!IsPlayerConnected(giveplayerid)) {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
if (!IsPlayerConnected(teleid)) {
format(string, sizeof(string), "* %d is not an active player.", teleid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/jail", true) == 0 && IsPlayerAdmin(playerid)){
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /jail [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
dini_IntSet(udb_encode(giveplayer), "jailed", 1);
jailed[giveplayerid] = 1;
SetPlayerInterior(giveplayerid,10);
SetPlayerPos(giveplayerid,214.9906,110.3532,999.0156);
format(string, sizeof(string), "--- %s (id: %d) jailed %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
printf(string);
format(string, sizeof(string), "* %s (id: %d) jailed.", giveplayer,giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "* You jailed by %s (id: %d).", sendername,playerid);
SendClientMessage(giveplayerid, COLOR_RED, string);
}
else {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/unjail", true) == 0 && IsPlayerAdmin(playerid) == 1) {
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /unjail [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
SetPlayerInterior(giveplayerid,0);
SetPlayerPos(giveplayerid,-1620.5162,692.4617,7.1875);
dini_IntSet(udb_encode(giveplayer), "jailed", 0);
jailed[giveplayerid] = 0;
format(string, sizeof(string), "--- %s (id: %d) released %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
printf(string);
format(string, sizeof(string), "* %s (id: %d) released.", giveplayer,giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "* You released by %s (id: %d).", sendername,playerid);
SendClientMessage(giveplayerid, COLOR_GREEN, string);
}
else {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/kick", true) == 0 && IsPlayerAdmin(playerid) == 1) {
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /kick [playerid] [reason]");
return 1;
}
giveplayerid = strval(tmp);
strmid(tmp, cmdtext, 6+strlen(tmp), strlen(cmdtext));
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /kick [playerid] [reason]");
return 1;
}
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
KickMsg(giveplayerid, sendername, tmp);
}
else {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/ban", true) == 0 && IsPlayerAdmin(playerid) == 1) {
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /ban [playerid] [reason]");
return 1;
}
giveplayerid = strval(tmp);
strmid(tmp, cmdtext, 5+strlen(tmp), strlen(cmdtext));
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /ban [playerid] [reason]");
return 1;
}
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
BanMsg(giveplayerid, sendername, tmp);
}
else {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/heal", true) == 0 && IsPlayerAdmin(playerid) == 1) {
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /heal [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
SetPlayerHealth(giveplayerid, 100.0);
god[playerid] = 0;
format(string, sizeof(string), "--- %s (id: %d) healed %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
printf(string);
format(string, sizeof(string), "* %s (id: %d) healed.", giveplayer,giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "* You healed by %s (id: %d).", sendername,playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
}
else {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/god", true) == 0 && IsPlayerAdmin(playerid) == 1) {
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /god [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
god[giveplayerid] = 1;
SetPlayerHealth(giveplayerid, 99999.0);
format(string, sizeof(string), "--- %s (id: %d) invincibled %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
printf(string);
format(string, sizeof(string), "* %s (id: %d) is now invincible.", giveplayer,giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "* %s (id: %d) made you invincible.", sendername,playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
}
else {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if(strcmp(cmd, "/murder", true) == 0 && IsPlayerAdmin(playerid) == 1) {
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /murder [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
SetPlayerHealth(giveplayerid, 0.0);
god[giveplayerid] = 0;
format(string, sizeof(string), "--- %s (id: %d) murdered %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
printf(string);
format(string, sizeof(string), "* %s (id: %d) is now dead.", giveplayer,giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "* %s (id: %d) killed you.", sendername,playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
}
else {
format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
//-------------------------end of Admin logins/commands--------------------------
//--------------------------Vechicle Lock----------------------------------------
if (strcmp(cmdtext, "/lock", true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new State=GetPlayerState(playerid);
if(State!=PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid,COLOR_WHITE,"You can only lock the doors as the driver.");
return 1;
}
for(i=0;i<MAX_PLAYERS;i++)
{
if(i != playerid)
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
}
}
SendClientMessage(playerid, COLOR_GREEN, "Vehicle locked!");
new Float:pX, Float:pY, Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
PlayerPlaySound(playerid,1056,pX,pY,pZ);
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "You're not in a vehicle!");
}
return 1;
}
if (strcmp(cmdtext, "/unlock", true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new State=GetPlayerState(playerid);
if(State!=PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid,COLOR_WHITE,"You can only unlock the doors as the driver.");
return 1;
}
for(i=0;i<MAX_PLAYERS;i++)
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
}
SendClientMessage(playerid, 0xFFFF00AA, "Vehicle unlocked!");
new Float:pX, Float:pY, Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
PlayerPlaySound(playerid,1057,pX,pY,pZ);
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "You're not in a vehicle!");
}
return 1;
}
//---------------------------------End of lock--------------------------------------
//----------------------------------/me command-----------------------------------------
if(strcmp(cmdtext, "/me", true, 3)==0) {
new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
format(str, 256, "%s %s", pname, cmdtext[4]);
SendClientMessageToAll(COLOR_/me, str);
return 1;
}
//------------------------------end of /me----------------------------------------------
if(strcmp(cmd, "/givecash", true) == 0) {
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, index);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
return 1;
}
moneys = strval(tmp);
//printf("givecash_command: %d %d",giveplayerid,moneys);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys) {
GivePlayerMoney(playerid, (0 - moneys));
GivePlayerMoney(giveplayerid, moneys);
format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
}
else {
SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount.");
}
}
else {
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
return 0;
}
public OnPlayerInfoChange(playerid)
{
printf("OnPlayerInfoChange(%d)");
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid);
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
printf("OnPlayerStateChange(%d, %d, %d)", playerid, newstate, oldstate);
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
printf("OnPlayerLeaveCheckpoint(%d)", playerid);
return 1;
}