rendered paste body#include <a_samp>
#include <dini>
#include <dudb>
#define dcmd(%1,%2,%3) if ((strcmp(%3, "/%1", true, %2+1) == 0)&&(((%3[%2+1]==0)&&(dcmd_%1(playerid,"")))||((%3[%2+1]==32)&&(dcmd_%1(playerid,%3[%2+2]))))) return 1
#define stat "stat.txt"
#define bugs "bugs.txt"
#define LV 1
#define SF 2
#define LS 3
#define Race 1
#define DM 2
#define TDM 3
#define KOTH 4
#define Classic 5
#define PY_Poison 6
#define Knockout 7
#define Assault 8
#define R_VS_B_TDM 9
#define R_VS_B_Race 10
enum Info
{
DMScore,
TDMScore,
UserID,
Level,
Team,
Clan,
DMMatch,
CP,
Admin,
UserID,
RaceSC,
Logged,
Spawn,
KOTHp,
Team,
Pos,
M\
}
enum SavePlayerPosEnum
{
Float:LastX,
Float:LastY,
Float:LastZ
}
new places[MAX_PLAYERS];
new pInfo[MAX_PLAYERS][Info];
new sCity;
new sMode;
new cp[MAX_PLAYERS];
new pText[MAX_PLAYERS];
new TDMti;
new KOTHti;
new kill[MAX_PLAYERS],tk[MAX_PLAYERS];
new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum];
new InvalidWeapons[10][1] = {{19},{20},{21},{34},{35},{36},{39},{40},{17},{18}};
new dmWep[9][2] = {
{29,300},
{24,180},
{31,300},
{30,290},
{32,200},
{37,130},
{26,200},
{9,1},
{28,250}
};
new Float:dmSP_LS[4][3] = {
{2309.4165,-674.4250,130.0091},
{2288.4580,-669.6822,131.3005},
{2280.4292,-695.5555,131.1989},
{2301.4214,-709.7009,129.8425}
};
new Float:tdmSP[7][3] = {
{-1304.2070,497.0576,18.2344},
{-2307.7952,-172.9224,35.3125},
{-2443.0991,748.9878,35.1786},
{-2654.8455,-287.4772,7.5391},
{-1763.9769,587.5311,35.1641},
{-2640.6619,1389.4934,7.1016},
{-2088.8594,172.4748,38.0798}
};
main()
{
print("\n\n..:: :: ::.. ..:: :: ::.. ..:: :: ::..");
print(" ..:: :: SA:MP Rebel League :: ::..");
print("..:: :: ::.. ..:: :: ::.. ..:: :: ::..\n\n");
if(!dini_Exists(stat))
{
dini_Create(stat);
dini_IntSet(stat,"users",0);
print("..:: :: ::.. File 'stat' not found ..:: :: ::..");
print("..:: :: ::.. File 'stat' created ..:: :: ::..");
print("..:: :: ::.. Stat 'users' set to 0 ..:: :: ::..");
}
if(!dini_Exists(bugs))
{
dini_Create(bugs);
print("..:: :: ::.. File 'bugs' not found ..:: :: ::..");
print("..:: :: ::.. File 'bugs' created ..:: :: ::..");
}
}
public OnGameModeInit()
{
SetGameModeText("SA:MP Rebel League");
SetTimer("Anticheat",1160,1);
SetTimer("SpamClear",3000,1);
SetTimer("CheckMoney",1000,1);
sMode = DM;
sCity = LS;
AddPlayerClass(60,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(71,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(80,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(81,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(82,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(91,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(92,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(98,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(104,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(105,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(109,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(112,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(114,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(118,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(121,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(125,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(137,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(142,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(163,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(167,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddPlayerClass(170,1501.0045,-864.9221,62.2258,338.7674,0,0,0,0,0,0);
AddStaticVehicle(411,1979.8151,827.4567,6.4926,269.9634,64,1);
AddStaticVehicle(411,1982.4417,858.9680,6.4892,269.2342,64,1);
AddStaticVehicle(522,1982.8641,852.9677,6.3043,269.2648,3,8);
AddStaticVehicle(522,1980.5972,834.7927,6.3096,264.9829,3,8);
AddStaticVehicle(429,1982.1381,838.7711,6.4216,268.7822,2,1);
AddStaticVehicle(429,1981.9502,847.2244,6.4058,271.0836,2,1);
AddStaticVehicle(401,-2118.9319,194.8274,35.7567,2.7513,-1,-1);
AddStaticVehicle(401,-2036.5212,305.6321,35.9090,359.8144,-1,-1);
AddStaticVehicle(413,-2087.8369,255.6416,37.0341,357.9168,-1,-1);
AddStaticVehicle(457,-2652.9031,-297.2605,8.0617,315.6009,-1,-1);
AddStaticVehicle(457,-2659.7441,-289.6562,8.0920,313.6239,-1,-1);
AddStaticVehicle(457,-2642.9949,-301.7552,8.0090,47.6567,-1,-1);
AddStaticVehicle(421,-2681.7434,-276.2391,8.0605,44.2241,-1,-1);
AddStaticVehicle(575,-2618.9480,1376.7870,7.7322,181.1998,-1,-1);
AddStaticVehicle(411,-2645.5964,1376.7522,7.8935,267.8349,-1,-1);
AddStaticVehicle(409,-2628.6924,1377.4845,7.9350,180.7913,-1,-1);
AddStaticVehicle(409,-2633.1638,1332.7010,7.9953,269.6430,-1,-1);
AddStaticVehicle(444,-2876.3977,26.3173,7.2123,118.5961,-1,-1);
AddStaticVehicle(470,-1382.4279,455.8060,7.1838,359.9849,-1,-1);
AddStaticVehicle(470,-1439.3396,455.1034,7.1739,0.1531,-1,-1);
AddStaticVehicle(542,-1465.0304,455.6730,7.9280,358.9676,-1,-1);
AddStaticVehicle(571,-1677.1865,438.8195,7.4635,227.1910,-1,-1);
AddStaticVehicle(476,-1433.3817,-504.8247,15.8794,158.2625,-1,-1);
AddStaticVehicle(476,-1464.6495,-522.4009,15.8899,234.2019,-1,-1);
AddStaticVehicle(500,-2219.7209,-83.2318,36.4367,2.0481,-1,-1);
AddStaticVehicle(541,-2018.4379,-98.9675,35.7890,358.5420,-1,-1);
AddStaticVehicle(541,-2352.0959,-126.8848,35.9374,179.5324,-1,-1);
AddStaticVehicle(405,-2180.1277,41.8536,36.1953,269.9865,-1,-1);
AddStaticVehicle(522,-2269.4526,69.5823,35.7279,89.6104,-1,-1);
AddStaticVehicle(522,-2266.0090,145.0206,35.7322,92.0045,-1,-1);
AddStaticVehicle(475,-2129.2864,787.6249,70.3666,87.1679,-1,-1);
AddStaticVehicle(475,-2424.9958,740.8871,35.8205,177.6701,-1,-1);
AddStaticVehicle(400,-2684.7639,636.4294,14.5454,179.2696,-1,-1);
AddStaticVehicle(496,-2545.7666,627.5895,15.1684,89.1952,-1,-1);
AddStaticVehicle(496,-2428.7107,514.7900,30.6451,207.9893,-1,-1);
AddStaticVehicle(429,-2498.4822,357.5526,35.7969,58.0823,-1,-1);
AddStaticVehicle(429,-2664.9673,268.9968,5.0156,357.6026,-1,-1);
AddStaticVehicle(420,-2626.5276,-53.6779,5.1144,357.7703,-1,-1);
AddStaticVehicle(434,-2718.5354,-124.4790,5.3071,269.1429,-1,-1);
AddStaticVehicle(434,-2487.5295,-125.3075,26.5715,90.9363,-1,-1);
AddStaticVehicle(400,-2486.0298,51.5018,27.7954,177.2178,-1,-1);
AddStaticVehicle(400,-2574.9736,146.5981,5.4279,1.8790,-1,-1);
AddStaticVehicle(559,-2800.0251,205.2155,7.8399,92.2606,-1,-1);
AddStaticVehicle(549,-1741.0009,811.0599,25.5879,270.6703,-1,-1);
AddStaticVehicle(549,-1920.7559,875.2713,36.1113,270.0973,-1,-1);
AddStaticVehicle(500,-2040.4465,1107.7076,54.4032,89.8491,-1,-1);
AddStaticVehicle(500,-1968.8488,465.6065,36.2766,89.3124,-1,-1);
AddStaticVehicle(401,-1938.2876,584.4863,35.9137,1.1244,-1,-1);
AddStaticVehicle(401,-1825.2035,-0.4858,15.8965,270.0104,-1,-1);
AddStaticVehicle(579,-1820.0182,-175.9391,10.3323,87.9147,-1,-1);
AddStaticVehicle(429,-1687.9076,1003.5587,18.2656,91.3972,-1,-1);
AddStaticVehicle(439,-1704.8613,1058.0004,18.4810,182.3475,-1,-1);
AddStaticVehicle(579,-1702.2262,1028.7677,18.5187,270.2923,-1,-1);
AddStaticVehicle(480,-1735.9534,1016.0621,18.3580,268.5771,-1,-1);
AddStaticVehicle(400,-2782.3508,442.1533,5.5383,57.1401,-1,-1);
AddStaticVehicle(400,-2836.3665,865.6495,44.1470,268.7662,-1,-1);
AddStaticVehicle(415,-2899.3823,1112.4786,27.3954,268.9744,-1,-1);
AddStaticVehicle(516,-2654.5662,615.2198,15.2873,0.1598,-1,-1);
AddStaticVehicle(416,-2618.7363,627.2617,15.6024,179.6464,-1,-1);
AddStaticVehicle(401,-1968.8031,-400.9335,35.1227,88.2282,-1,-1);
AddStaticVehicle(516,-1904.3373,-599.6174,24.4277,344.2378,-1,-1);
AddStaticVehicle(475,-1639.3912,-567.4948,13.9482,80.1914,-1,-1);
AddStaticVehicle(475,-1405.5500,-309.2615,13.9504,174.9827,-1,-1);
AddStaticVehicle(475,-2132.1143,160.2086,35.1341,270.0023,-1,-1);
AddStaticVehicle(500,-2151.4924,428.9210,35.1902,176.6156,-1,-1);
AddStaticVehicle(500,-2304.8279,360.0154,35.2835,201.6184,-1,-1);
AddStaticVehicle(522,-1696.7413,977.0867,17.1574,7.0263,-1,-1);
AddStaticVehicle(429,-2641.7395,1333.0645,6.8700,356.7557,-1,-1);
AddStaticVehicle(457,-2650.6292,-280.5106,7.0874,132.0127,-1,-1);
AddStaticVehicle(421,-1409.6693,456.0711,7.0672,3.2988,-1,-1);
AddStaticVehicle(487,-1681.5756,706.4234,30.7777,266.5047,-1,-1);
AddStaticVehicle(603,-2617.2964,1349.0765,7.0217,358.1852,-1,-1);
AddStaticVehicle(475,-2129.8242,288.0418,34.9864,269.9582,-1,-1);
AddStaticVehicle(475,-2664.0950,-259.9579,6.5482,74.4868,-1,-1);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
pInfo[playerid][Pos] = 1;
SetTimer("Bla",1300,0);
if(sCity == LS)
{
switch(sMode)
{
case Race: GameTextForPlayer(playerid,"~w~Mode:~n~~r~Race",2500,1);
case DM: GameTextForPlayer(playerid,"~w~Mode:~n~~g~Deathmatch",2500,6);
case TDM:
{
if(classid >= 0 && classid <= 2) GameTextForPlayer(playerid,"~w~Civilian",1200,3);
if(classid == 3) GameTextForPlayer(playerid,"~r~Fighter",1200,3);
if(classid == 3 || classid == 4 || classid == 5 || classid == 6) GameTextForPlayer(playerid,"~y~Paparazzi",1200,3);
if(classid == 7 || classid == 11) GameTextForPlayer(playerid,"~b~Mafia",1200,3);
if(classid == 8 || classid== 9 || classid == 10 || classid == 12) GameTextForPlayer(playerid,"~g~Gangster",1200,3);
if(classid == 13 || classid == 14 || classid == 15) GameTextForPlayer(playerid,"~r~Robber",1200,3);
if(classid == 16 || classid == 17 || classid == 18 || classid == 19) GameTextForPlayer(playerid,"~b~Undercover",1200,3);
else GameTextForPlayer(playerid,"Civilian",1200,3);
}
case KOTH: GameTextForPlayer(playerid,"~w~Mode:~n~~p~Catch The Flag",1000,0);
case Classic: GameTextForPlayer(playerid,"~n~~n~~n~~n~~w~Mode:~n~~y~Classic Weapon",2300,5);
case PY_Poison: GameTextForPlayer(playerid,"~w~Mode:~n~~g~Pick Your Poison",1000,1);
case Knockout: GameTextForPlayer(playerid,"~w~Mode:~n~Knockout",2800,6);
case Assault: GameTextForPlayer(playerid,"~w~Mode:~n~~r~Assault",2900,3);
case R_VS_B_TDM: GameTextForPlayer(playerid,"~w~Mode:~n~Red vs Blue~n~~b~TDM",1000,0);
case R_VS_B_Race: GameTextForPlayer(playerid,"~w~Mode:~n~Red vs Blue~n~~g~Race",1000,0);
}
SetPlayerPos(playerid,746.0897,-1260.5690,13.5612);
SetPlayerFacingAngle(playerid,300.1104);
SetPlayerCameraPos(playerid, 749.7837,-1257.8916,13.5612);
SetPlayerCameraLookAt(playerid,746.0897,-1260.5690,13.5612);
}
if(sCity == LV)
{
switch(sMode)
{
case Race: GameTextForPlayer(playerid,"~w~Mode:~n~~r~Race",2500,1);
case DM: GameTextForPlayer(playerid,"~w~Mode:~n~~g~Deathmatch",2500,6);
case TDM:
{
if(classid >= 0 && classid <= 2) GameTextForPlayer(playerid,"~w~Civilian",1200,3);
if(classid == 3) GameTextForPlayer(playerid,"~r~Fighter",1200,3);
if(classid == 3 || classid == 4 || classid == 5 || classid == 6) GameTextForPlayer(playerid,"~y~Paparazzi",1200,3);
if(classid == 7 || classid == 11) GameTextForPlayer(playerid,"~b~Mafia",1200,3);
if(classid == 8 || classid== 9 || classid == 10 || classid == 12) GameTextForPlayer(playerid,"~g~Gangster",1200,3);
if(classid == 13 || classid == 14 || classid == 15) GameTextForPlayer(playerid,"~r~Robber",1200,3);
if(classid == 16 || classid == 17 || classid == 18 || classid == 19) GameTextForPlayer(playerid,"~b~Undercover",1200,3);
else GameTextForPlayer(playerid,"Civilian",1200,3);
}
case KOTH: GameTextForPlayer(playerid,"~w~Mode:~n~~p~Catch The Flag",1000,0);
case Classic: GameTextForPlayer(playerid,"~n~~n~~n~~n~~w~Mode:~n~~y~Classic Weapon",2300,5);
case PY_Poison: GameTextForPlayer(playerid,"~w~Mode:~n~~g~Pick Your Poison",1000,1);
case Knockout: GameTextForPlayer(playerid,"~w~Mode:~n~Knockout",2800,6);
case Assault: GameTextForPlayer(playerid,"~w~Mode:~n~~r~Assault",2900,3);
case R_VS_B_TDM: GameTextForPlayer(playerid,"~w~Mode:~n~Red vs Blue~n~~b~TDM",1000,0);
case R_VS_B_Race: GameTextForPlayer(playerid,"~w~Mode:~n~Red vs Blue~n~~g~Race",1000,0);
}
SetPlayerPos(playerid,2332.2705,2123.0315,34.0625);
SetPlayerFacingAngle(playerid,324.9640);
SetPlayerCameraPos(playerid,2334.4961,2126.2051,33.4606);
SetPlayerCameraLookAt(playerid,2332.2705,2123.0315,34.0625);
}
if(sCity == SF)
{
switch(sMode)
{
case Race: GameTextForPlayer(playerid,"~w~Mode:~n~~r~Race",2500,1);
case DM: GameTextForPlayer(playerid,"~w~Mode:~n~~g~Deathmatch",2500,6);
case TDM:
{
if(classid >= 0 && classid <= 2)
{
GameTextForPlayer(playerid,"~w~Civilian",1200,3);
pInfo[playerid][Team] = 1;
}
if(classid == 3 || classid == 4)
{
GameTextForPlayer(playerid,"~r~Fighter",1200,3);
pInfo[playerid][Team] = 2;
}
if(classid == 5 || classid == 6)
{
GameTextForPlayer(playerid,"~y~Paparazzi",1200,3);
pInfo[playerid][Team] = 3;
}
if(classid == 7 || classid == 11)
{
GameTextForPlayer(playerid,"~b~Mafia",1200,3);
pInfo[playerid][Team] = 4;
}
if(classid == 8 || classid== 9 || classid == 10 || classid == 12)
{
GameTextForPlayer(playerid,"~g~Gangster",1200,3);
pInfo[playerid][Team] = 5;
}
if(classid == 13 || classid == 14 || classid == 15)
{
GameTextForPlayer(playerid,"~r~Robber",1200,3);
pInfo[playerid][Team] = 6;
}
if(classid == 16 || classid == 17 || classid == 18 || classid == 19)
{
GameTextForPlayer(playerid,"~b~Undercover",1200,3);
pInfo[playerid][Team] = 7;
}
}
case KOTH: GameTextForPlayer(playerid,"~w~Mode:~n~~p~Catch The Flag",1000,0);
case Classic: GameTextForPlayer(playerid,"~n~~n~~n~~n~~w~Mode:~n~~y~Classic Weapon",2300,5);
case PY_Poison: GameTextForPlayer(playerid,"~w~Mode:~n~~g~Pick Your Poison",1000,1);
case Knockout: GameTextForPlayer(playerid,"~w~Mode:~n~Knockout",2800,6);
case Assault: GameTextForPlayer(playerid,"~w~Mode:~n~~r~Assault",2900,3);
case R_VS_B_TDM: GameTextForPlayer(playerid,"~w~Mode:~n~Red vs Blue~n~~b~TDM",1000,0);
case R_VS_B_Race: GameTextForPlayer(playerid,"~w~Mode:~n~Red vs Blue~n~~g~Race",1000,0);
}
SetPlayerPos(playerid,-1974.3521,272.5114,35.1719);
SetPlayerFacingAngle(playerid,148.7567);
SetPlayerCameraPos(playerid,-1976.7562,268.5482,35.1719);
SetPlayerCameraLookAt(playerid,-1974.3521,272.5114,35.1719);
}
if(classid >= 0 && classid <= 2)
{
pInfo[playerid][Team] = 1;
}
if(classid == 3 || classid == 4)
{
pInfo[playerid][Team] = 2;
}
if(classid == 5 || classid == 6)
{
pInfo[playerid][Team] = 3;
}
if(classid == 7 || classid == 11)
{
pInfo[playerid][Team] = 4;
}
if(classid == 8 || classid== 9 || classid == 10 || classid == 12)
{
pInfo[playerid][Team] = 5;
}
if(classid == 13 || classid == 14 || classid == 15)
{
pInfo[playerid][Team] = 6;
}
if(classid == 16 || classid == 17 || classid == 18 || classid == 19)
{
pInfo[playerid][Team] = 7;
}
return 1;
}
public OnPlayerConnect(playerid)
{
cp[playerid] = 0;
pInfo[playerid][Spawn] = 0;
SendClientMessage(playerid,0xFFFFFFAA,"..:: Hello and welcome to the SA:MP Rebel League server young rebel. ::..");
SendClientMessage(playerid,0x00FF00AA,"..:: This server and league are under construction so there will be bugs. ::..");
SendClientMessage(playerid,0xFF8800AA,"..:: If you find any bugs, use /bugreport to report them so we can fix them. ::..");
SendClientMessage(playerid,0x008833AA,"..:: That is all you need to know. Go compete and make yourself proud to be a rebel. ::..");
return 1;
}
public OnPlayerDisconnect(playerid)
{
new player[24];
GetPlayerName(playerid,player,24);
if(dini_Exists(udb_encode(player)))
{
dini_IntSet(udb_encode(player),"DMScore",pInfo[playerid][DMScore]);
dini_IntSet(udb_encode(player),"Race",pInfo[playerid][RaceSC]);
}
return 1;
}
public OnPlayerSpawn(playerid)
{
pInfo[playerid][Spawn] = 255;
SetTimer("Spawned",1000,0);
SetTimer("Bla",1300,0);
new count[MAX_PLAYERS];
count[playerid]++;
switch(sMode)
{
case Race:
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(count[i] == 1)
{
GameTextForAll("~b~Race has started~n~~g~Go GO GO",3000,3);
}
}
cp[playerid] = 0;
SetPlayerCheckpoint(playerid,1990.5972,834.7927,8.3096,8);
SetPlayerPos(playerid,1970.5972,834.7927,8.3096);
}
case DM:
{
new s = random(sizeof(dmWep));
new r = random(sizeof(dmSP_LS));
SetPlayerPos(playerid,dmSP_LS[r][0],dmSP_LS[r][1],dmSP_LS[r][2]);
GivePlayerWeapon(playerid,dmWep[s][0],dmWep[s][1]);
GivePlayerWeapon(playerid,dmWep[s][0],dmWep[s][1]);
GivePlayerWeapon(playerid,dmWep[s][0],dmWep[s][1]);
}
case KOTH:
{
new s = random(sizeof(dmWep));
SetPlayerPos(playerid,-2365.1873,-667.4210,123.5148);
GivePlayerWeapon(playerid,dmWep[s][0],dmWep[s][1]);
GivePlayerWeapon(playerid,dmWep[s][0],dmWep[s][1]);
GameTextForPlayer(playerid,"~w~Hold the ~r~Hill~n~~w~For points",1000,6);
pInfo[playerid][KOTHp] = 0;
for(new i=0; i<MAX_PLAYERS; i++) if(count[i] == 1)
KOTHti = SetTimer("KOTHt",1000,1);
return SendClientMessage(playerid,0x00FFFFAA,"..:: Hold the hilltop to gain points. Stay KOTH for 60 seconds to win. ::..");
}
case TDM:
{
if(GetPlayerMoney(playerid) < 100) GivePlayerMoney(playerid,1000);
SendClientMessage(playerid,0x11FF11AA,"..:: You may chat to your team by typing ; [text]");
if(pInfo[playerid][Team] == 1)
{
GameTextForPlayer(playerid,"~w~Civilian",1200,1);
SetPlayerPos(playerid,-1304.2070,497.0576,18.2344);
GivePlayerWeapon(playerid,26,40);
GivePlayerWeapon(playerid,22,180);
GivePlayerWeapon(playerid,30,200);
SetPlayerColor(playerid,0xFFFFFFAA);
}
if(pInfo[playerid][Team] == 2)
{
GameTextForPlayer(playerid,"~r~Fighter",1200,1);
SetPlayerPos(playerid,-2307.7952,-172.9224,35.3125);
GivePlayerWeapon(playerid,27,50);
GivePlayerWeapon(playerid,31,200);
GivePlayerWeapon(playerid,28,100);
SetPlayerColor(playerid,0xFF0101AA);
}
if(pInfo[playerid][Team] == 3)
{
GameTextForPlayer(playerid,"~y~Paparazzi",1200,1);
SetPlayerPos(playerid,-2443.0991,748.9878,35.1786);
GivePlayerWeapon(playerid,25,50);
GivePlayerWeapon(playerid,23,200);
GivePlayerWeapon(playerid,32,100);
SetPlayerColor(playerid,0xFFFF00AA);
}
if(pInfo[playerid][Team] == 4)
{
GameTextForPlayer(playerid,"~b~Mafia",1200,1);
SetPlayerPos(playerid,-2654.8455,-287.4772,7.5391);
GivePlayerWeapon(playerid,24,50);
GivePlayerWeapon(playerid,29,200);
GivePlayerWeapon(playerid,33,100);
SetPlayerColor(playerid,0x000088AA);
}
if(pInfo[playerid][Team]== 5)
{
GameTextForPlayer(playerid,"~g~Gangster",1200,1);
SetPlayerPos(playerid,-1763.9769,587.5311,35.1641);
GivePlayerWeapon(playerid,9,1);
GivePlayerWeapon(playerid,26,50);
GivePlayerWeapon(playerid,31,200);
SetPlayerColor(playerid,0x008800AA);
}
if(pInfo[playerid][Team] == 6)
{
GameTextForPlayer(playerid,"~r~Robber",1200,1);
SetPlayerPos(playerid,-2640.6619,1389.4934,7.1016);
GivePlayerWeapon(playerid,24,80);
GivePlayerWeapon(playerid,25,50);
GivePlayerWeapon(playerid,29,130);
SetPlayerColor(playerid,0xEEB4B4AA);
}
if(pInfo[playerid][Team] == 7)
{
GameTextForPlayer(playerid,"~b~Undercover",1200,1);
SetPlayerPos(playerid,-2088.8594,172.4748,38.0798);
GivePlayerWeapon(playerid,30,180);
GivePlayerWeapon(playerid,28,130);
GivePlayerWeapon(playerid,47,90);
SetPlayerColor(playerid,0x00688BAA);
}
}
case Classic: GameTextForPlayer(playerid,"~n~~n~~n~~n~~w~Mode:~n~~y~Classic Weapon",2300,5);
case PY_Poison: GameTextForPlayer(playerid,"~w~Mode:~n~~g~Pick Your Poison",1000,1);
case Knockout: GameTextForPlayer(playerid,"~w~Mode:~n~Knockout",2800,6);
case Assault: GameTextForPlayer(playerid,"~w~Mode:~n~~r~Assault",2900,3);
case R_VS_B_TDM: GameTextForPlayer(playerid,"~w~Mode:~n~Red vs Blue~n~~b~TDM",1000,0);
case R_VS_B_Race: GameTextForPlayer(playerid,"~w~Mode:~n~Red vs Blue~n~~g~Race",1000,0);
}
TogglePlayerControllable(playerid,1);
SetCameraBehindPlayer(playerid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new string[125],killer[24],player[24];
GetPlayerName(playerid,player,24);
if(killerid == INVALID_PLAYER_ID) return 1;
GetPlayerName(killerid,killer,24);
pInfo[playerid][Spawn] = 0;
GetPlayerName(playerid,player,24);
if(sMode == DM)
{
if(killerid == INVALID_PLAYER_ID)
{
pInfo[playerid][DMScore]-=1;
GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~Respect ~r~- ~w~1",1000,5);
SetPlayerScore(playerid,pInfo[playerid][DMScore]);
if(dini_Exists(udb_encode(player))) dini_IntSet(udb_encode(player),"DM_Score",pInfo[playerid][DMScore]);
format(string,sizeof(string),"..:: %s wimped out and suicided ::..",player);
SendClientMessageToAll(0xFF1111AA,string);
return 1;
}
GetPlayerName(killerid,killer,24);
GetPlayerName(playerid,player,24);
GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~Respect ~r~- ~w~1",1000,5);
pInfo[killerid][DMScore]+=1;
GameTextForPlayer(killerid,"~n~~n~~n~~n~~n~~n~~n~~w~Respect ~g~+ ~w~1",1000,5);
SetPlayerScore(killerid,pInfo[killerid][DMScore]);
if(dini_Exists(udb_encode(killer))) dini_IntSet(udb_encode(killer),"DM_Score",pInfo[killerid][DMScore]);
new death = random(3) + 1;
if(death == 1)
format(string,sizeof(string),"..:: %s was shown no mercy by %s ::..",player,killer);
if(death == 2)
format(string,sizeof(string),"..:: %s was guttered by the stronger %s ::..",player,killer);
if(death == 3)
format(string,sizeof(string),"..:: %s was blown apart to 10 pieces by %s ::..",player,killer);
SendClientMessageToAll(0xFF1111AA,string);
if(pInfo[killerid][DMScore] > 20)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
format(string,sizeof(string),"~w~%s won ~g~20~r~/~g~20",killer);
GameTextForAll(string,2500,3);
format(string,sizeof(string),"..:: %s showed his true power and won the match ::..",killer);
pInfo[i][DMScore] = 0;
pInfo[killerid][DMMatch]+=1;
new tmp[255];
tmp = dini_Get(udb_encode(player),"DMWins");
dini_IntSet(udb_encode(player),"DMWins",strval(tmp)+1);
sCity = LV;
sMode = Race;
SendClientMessageToAll(0xFF1111AA,string);
return SpawnPlayer(i);
}
}
}
}
new Float:x,Float:y,Float:z;
GetPlayerPos(killerid,x,y,z);
if(z > 700)
{
format(string,sizeof(string),"..:: SA:MP Rebel League - Cheater detected using |Indoor Weapons| [%s] ::..",killer);
Report(string);
}
for(new s=0; s<sizeof(InvalidWeapons); s++)
{
if(reason == InvalidWeapons[s][0])
{
format(string,sizeof(string),"..:: SA:MP Rebel League - Cheater detected using |Fake Kill| [%s] ::..",player);
Report(string);
}
}
if(sMode == TDM)
{
if(killerid == INVALID_PLAYER_ID)
{
format(string,sizeof(string),"..:: %s suicided ::..",player);
SendClientMessageToAll(0xFF1111AA,string);
return 1;
}
for(new s=0; s<7; s++) if(PlayerToPoint(5,killerid,tdmSP[s][0],tdmSP[s][1],tdmSP[s][2]))
{
if(GetPlayerState(killerid) == 2 || GetPlayerState(killerid) == PLAYER_STATE_ONFOOT)
kill[killerid]++;
}
if(pInfo[playerid][Team] == pInfo[killerid][Team])
{
SendClientMessage(killerid,0xFF0000AA,"..:: Please do not teamkill as it is unneeded and stupid. ::..");
tk[killerid]++;
pInfo[killerid][TDMScore]-=2;
}
pInfo[killerid][TDMScore]++;
SetPlayerScore(playerid,pInfo[playerid][TDMScore]);
SetPlayerScore(killerid,pInfo[killerid][TDMScore]);
GivePlayerMoney(killerid,random(1000)+random(500));
if(pInfo[playerid][Logged] == 1) dini_IntSet(udb_encode(player),"TDMScore",pInfo[playerid][TDMScore]);
if(pInfo[killerid][Logged] == 1) dini_IntSet(udb_encode(killer),"TDMScore",pInfo[killerid][TDMScore]);
}
return 1;
}
public OnPlayerText(playerid,text[])
{
new str[130],player[24];
GetPlayerName(playerid,player,24);
format(str,sizeof(str),"..:: [Team Chat] %s: %s",player,text[1]);
if(sMode == TDM)
{
if(text[0] == ';')
{
for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
{
if(pInfo[i][Team] == pInfo[playerid][Team])
{
SendClientMessage(i,0x00FF00AA,str);
return 0;
}
}
}
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(register,8,cmdtext);
dcmd(login,5,cmdtext);
dcmd(bugreport,9,cmdtext);
dcmd(stats,5,cmdtext);
dcmd(tdm,3,cmdtext);
dcmd(koth,4,cmdtext);
dcmd(race,4,cmdtext);
return 0;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
cp[playerid]++;
if(sMode == Race)
{
if(GetPlayerState(playerid) == 2 && cp[playerid] == 0 || cp[playerid] == 1)
{
SetPlayerCheckpoint(playerid,2656.2507,949.9442,6.3899,8);
PlayerPlaySound(playerid,1138,0,0,0);
}
if(GetPlayerState(playerid) == 2 && cp[playerid] == 2)
{
SetPlayerCheckpoint(playerid,2716.8281,1903.7262,6.3894,8);
PlayerPlaySound(playerid,1138,0,0,0);
}
if(GetPlayerState(playerid) == 2 && cp[playerid] == 3)
{
SetPlayerCheckpoint(playerid,2672.0728,2449.5107,6.4002,8);
PlayerPlaySound(playerid,1138,0,0,0);
}
if(GetPlayerState(playerid) == 2 && cp[playerid] == 4)
{
SetPlayerCheckpoint(playerid,1556.6851,2462.8850,6.7818,8);
PlayerPlaySound(playerid,1138,0,0,0);
}
if(GetPlayerState(playerid) == 2 && cp[playerid] == 5)
{
SetPlayerCheckpoint(playerid,1216.1133,1434.8116,6.3918,8);
PlayerPlaySound(playerid,1138,0,0,0);
}
if(GetPlayerState(playerid) == 2 && cp[playerid] == 6)
{
SetPlayerCheckpoint(playerid,1476.1558,843.4284,6.4657,8);
PlayerPlaySound(playerid,1138,0,0,0);
}
if(GetPlayerState(playerid) == 2 && cp[playerid] == 7)
{
SetPlayerCheckpoint(playerid,1980.5972,834.7927,6.3096,8);
PlayerPlaySound(playerid,1138,0,0,0);
}
if(GetPlayerState(playerid) == 2 && cp[playerid] == 8)
{
cp[playerid] = 255;
places[playerid] = 1;
PlaceCheck(playerid);
new v = GetPlayerVehicleID(playerid);
RemovePlayerFromVehicle(playerid);
SetVehicleToRespawn(v);
DisablePlayerCheckpoint(playerid);
PlayerPlaySound(playerid,1137,0,0,0);
new s,player[24];
GetPlayerName(playerid,player,24);
for(new i=0; i<MAX_PLAYERS; i++) s++;
if(s == PlayerID(player))
{
sMode = KOTH;
sCity = SF;
SpawnAll();
for(new i=0; i<MAX_PLAYERS; i++) pInfo[i][Pos] = 1;
SetTimer("Bla",1300,0);
}
}
}
return 1;
}
stock GivePlayerWeaponEx(playerid,w1,a1,w2,a2,w3,a3)
{
GivePlayerWeapon(playerid,w1,a1);
GivePlayerWeapon(playerid,w2,a2);
return GivePlayerWeapon(playerid,w3,a3);
}
stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
return 0;
}
stock PlaceCheck(playerid)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new string[86],player[24];
GetPlayerName(playerid,player,24);
if(places[i] == 1) pInfo[playerid][RaceSC] += 1;
format(string,sizeof(string),"..:: %s finished in the race tournament ::..",player);
return SendClientMessageToAll(0x00FF00AA,string);
}
}
return false;
}
public Anticheat()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new Float:h,player[24],string[130],mph[MAX_PLAYERS],Float:x,Float:y,Float:z;
GetPlayerPos(i,x,y,z);
GetPlayerName(i,player,24);
new Float:distance,value;
distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
value = floatround(distance * 5600);
SavePlayerPos[i][LastX] = x;
SavePlayerPos[i][LastY] = y;
SavePlayerPos[i][LastZ] = z;
mph[i] = floatround(value/3600);
GetPlayerHealth(i,h);
if(pInfo[i][Spawn] == 1) return 1;
if(h > 100)
{
if(mph[i] <= 0) return 1;
format(string,sizeof(string),"..:: SA:MP Rebel League - Cheater detected using |Health| [%s] ::..",player);
Report(string);
}
if(h == 100)
{
/* SetPlayerHealth(i,99);
new h2 = GetPlayerHealth(i,h);
if(h2 == 100)
{
if(!pInfo[i][Spawn]) return 1;
if(mph[i] <= 0) return 1;
if(h < 100) return 1;
format(string,sizeof(string),"..:: SA:MP Rebel League - Cheater detected using |Health| [%s] ::..",player);
Report(string);
SetPlayerHealth(i,100);
} */
}
if(GetPlayerState(i) != 2)
{
if(mph[i] > 40)
{
if(z > 700) return 1;
format(string,sizeof(string),"..:: SA:MP Rebel League - Cheater detected using |Speed| [%s] ::..",player);
Report(string);
}
}
if(GetPlayerState(i) == 2)
{
if(mph[i] > 240)
{
format(string,sizeof(string),"..:: SA:MP Rebel League - Cheater detected using |Speed| [%s] ::..",player);
Report(string);
}
}
if(GetPlayerMoney(i) >= 999999)
{
if(IsPlayerAdmin(i)) return 1;
format(string,sizeof(string),"..:: SA:MP Rebel League - Cheater detected using |Cash| [%s] ::..",player);
Report(string);
}
}
}
return 1;
}
public SpamClear() for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) pText[i] = 0;
public KOTHt()
{
for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
{
new count[MAX_PLAYERS],tmp[255];
if(PlayerToPoint(5,i,-2423.1328,-607.2607,132.5625))
{
count[i]++;
if(count[i] > 1)
{
GameTextForPlayer(i,"~n~~n~~n~~n~Get the other player off the KOTH area",2300,3);
break;
}
new str[86];
new player[24];
GetPlayerName(i,player,24);
if(pInfo[i][KOTHp] > 60)
{
format(str,sizeof(str),"~g~%s~w~ has won the ~b~KOTH",player);
GameTextForAll(str,2300,6);
pInfo[i][KOTHp] = 0;
tmp = dini_Get(udb_encode(player),"KOTHWins");
dini_IntSet(udb_encode(player),"KOTHWins",strval(tmp)+1);
sMode = TDM;
sCity = SF;
TDMti = SetTimer("TDMt",1000,1);
SpawnAll();
for(new b=0; b<MAX_PLAYERS; b++) pInfo[b][Pos] = 1;
KillTimer(KOTHti);
SetTimer("Bla",1300,0);
break;
}
format(str,sizeof(str),"~y~Hold this area for ~r~%d~w~ more seconds",60-pInfo[i][KOTHp]);
GameTextForPlayer(i,str,2300,6);
pInfo[i][KOTHp]++;
}
}
}
public TDMt()
{
new s;
s++;
if(s == 120) GameTextForAll("~r~3 ~w~Minutes left till TDM over",1000,1);
if(s == 300)
{
GameTextForAll("~r~TDM ~w~is now over",1000,1);
sMode = DM;
sCity = LS;
KillTimer(TDMti);
SpawnAll();
for(new i=0; i<MAX_PLAYERS; i++) pInfo[i][Pos] = 1;
SetTimer("Bla",1300,0);
}
}
stock Report(string[]) for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) if(IsPlayerAdmin(i)) SendClientMessage(i,0x00FF00AA,string);
dcmd_register(playerid,params[])
{
new player[24],user[255],str[255],tmp[255],ID[255];
GetPlayerName(playerid,player,24);
if(!strlen(params))
{
SendClientMessage(playerid,0xFFFF00AA,"..:: Sintax: /register [password] ::..");
return 1;
}
if(dini_Exists(udb_encode(player)))
{
SendClientMessage(playerid,0xFFFF00AA,"..:: You already have an account with the SA:MP Rebel League ::..");
return 1;
}
dini_Create(udb_encode(player));
if(IsPlayerAdmin(playerid)) dini_IntSet(udb_encode(player),"Admin",6);
else dini_IntSet(udb_encode(player),"Admin",1);
user = dini_Get(stat,"users");
dini_IntSet(stat,"users",strval(user)+1);
dini_IntSet(udb_encode(player),"UserID",strval(user));
dini_Set(udb_encode(player),"pass",params);
dini_IntSet(udb_encode(player),"DM",pInfo[playerid][DMScore]);
dini_IntSet(udb_encode(player),"Race",pInfo[playerid][RaceSC]);
tmp = dini_Get(udb_encode(player),"Admin");
ID = dini_Get(udb_encode(player),"UserID");
dini_IntSet(udb_encode(player),"TDMScore",pInfo[playerid][TDMScore]);
SendClientMessage(playerid,0x00FF00AA,"..:: Your now registered to the league. Your stats are listed below. ::..");
format(str,sizeof(str),"..:: [UserID: %d Level: %d Password: %s DM Wins: %d Race Wins: %d TDM Score: %d] ::..",strval(ID),strval(tmp),params,pInfo[playerid][DMScore],pInfo[playerid][RaceSC],pInfo[playerid][TDMScore]);
SendClientMessage(playerid,0xFF00FFAA,str);
pInfo[playerid][Logged] = 1;
return 1;
}
dcmd_login(playerid,params[])
{
new player[24],str[255],tmp[255],user[255];
GetPlayerName(playerid,player,24);
if(!strlen(params))
{
SendClientMessage(playerid,0xFFFF00AA,"..:: Sintax: /login [password] ::..");
return 1;
}
if(!dini_Exists(udb_encode(player)))
{
SendClientMessage(playerid,0xFFFF00AA,"..:: You don't have an account with the SA:MP Rebel League ::..");
return 1;
}
if(pInfo[playerid][Logged])
{
SendClientMessage(playerid,0xFFFF00AA,"..:: You are already logged with the SA:MP Rebel League ::..");
return 1;
}
tmp = dini_Get(udb_encode(player),"pass");
if(strcmp(params, tmp, true) == 0)
{
pInfo[playerid][Logged] = 1;
tmp = dini_Get(udb_encode(player),"DM");
pInfo[playerid][DMScore] = strval(tmp);
tmp = dini_Get(udb_encode(player),"Race");
pInfo[playerid][RaceSC] = strval(tmp);
tmp = dini_Get(udb_encode(player),"Admin");
user = dini_Get(udb_encode(player),"UserID");
SendClientMessage(playerid,0x00FF00AA,"..:: Your now logged into the league. Your stats are listed below. ::..");
format(str,sizeof(str),"..:: [UserID: %d Level: %d Password: %s DM Wins: %d Race Wins: %d TDM Score: %d] ::..",user,strval(tmp),params,pInfo[playerid][DMScore],pInfo[playerid][RaceSC],pInfo[playerid][TDMScore]);
SendClientMessage(playerid,0xFF00FFAA,str);
return 1;
}
SendClientMessage(playerid,0xFFFF00AA,"..:: You typed the wrong password, please try again. ::..");
return 1;
}
dcmd_bugreport(playerid,params[])
{
new str[160],player[24],h,m,s,y,month,day;
if(!strlen(params))
{
SendClientMessage(playerid,0xFFFF00AA,"..:: Sintax: /bugreport [text to send] ::..");
return 1;
}
GetPlayerName(playerid,player,24);
getdate(y,month,day);
gettime(h,m,s);
format(str,sizeof(str),"..:: %s reports bug: %s",player,params[0]);
Report(str);
format(str,sizeof(str),"%d:%d:%d %d/%d/%d",h,m,s,day,month,y);
dini_Set(bugs,str,params[0]);
SendClientMessage(playerid,0x00FF00AA,"..:: Bug report successfully sent and stored. ::..");
return 1;
}
dcmd_stats(playerid,params[])
{
new str[160],race[255],dm[255],player[24],tmp[255];
GetPlayerName(playerid,player,24);
if(!pInfo[playerid][Logged])
{
SendClientMessage(playerid,0x00FF00AA,"..:: You must be logged in or registered with the SA:MP Rebel League to see your stats ::..");
return 1;
}
dm = dini_Get(udb_encode(player),"DMScore");
tmp = dini_Get(udb_encode(player),"KOTHWins");
format(str,sizeof(str),"..:: [|] User(%s) Stats: DM Wins: %d Race Wins: %d Koth Wins: %d[|] ::..",player,dm,race,tmp);
SendClientMessage(playerid,0xFF00FFAA,str);
#pragma unused params
return 1;
}
dcmd_tdm(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
sCity = SF;
sMode = TDM;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SpawnAll();
ResetPlayerWeapons(i);
TDMti = SetTimer("TDMt",1000,1);
SetTimer("TDMt",1000,1);
pInfo[i][Pos] = 1;
SetTimer("Bla",1300,0);
}
}
}
#pragma unused params
return 1;
}
dcmd_koth(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
sCity = SF;
sMode = KOTH;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SpawnAll();
ResetPlayerWeapons(i);
KOTHti = SetTimer("KOTHt",1000,1);
SetTimer("KOTHt",1000,1);
pInfo[i][Pos] = 1;
SetTimer("Bla",1300,0);
}
}
}
#pragma unused params
return 1;
}
dcmd_race(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
sCity = LV;
sMode = Race;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SpawnAll();
ResetPlayerWeapons(i);
pInfo[i][Pos] = 1;
SetTimer("Bla",1300,0);
}
}
}
#pragma unused params
return 1;
}
stock EndKoth()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
sMode = DM;
sCity = LS;
SpawnPlayer(i);
break;
}
}
}
stock PlayerID(player[])
{
for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
{
new name[24];
GetPlayerName(i,name,24);
if(strcmp(name, player, true) == 0) return i;
}
return false;
}
stock SetPlayerPosEx(playerid,Float:x,Float:y,Float:z,Float:angle)
{
SetPlayerPos(playerid,x,y,z);
SetPlayerFacingAngle(playerid,angle);
return 1;
}
stock SpawnAll() for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SpawnPlayer(i);
public Bla() for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) pInfo[i][Pos] = 0;
public Spawned() for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) if(pInfo[i][Spawn] == 255) pInfo[i][Spawn] = 1;
public CheckMoney()
{
for(new i=0; i<MAX_PLAYERS; i++) if(pInfo[i][M] < GetPlayerMoney(i))
{
OnPlayerGetMoney(i,GetPlayerMoney(i),pInfo[i][M]);
pInfo[i][M] = GetPlayerMoney(i);
}
}
stock OnPlayerGetMoney(playerid,newmoney,oldmoney)
{
if(newmoney - oldmoney > 10000)
{
new am = newmoney - oldmoney,player[24],str[120];
GetPlayerName(playerid,player,24);
format(str,sizeof(str),"..:: SA:MP Rebel League - Cheater detected using |Cash +$%d| [%s] ::..",am,player);
Report(str);
}
return 1;
}
public CheckTK()
{
for(new playerid=0; playerid<MAX_PLAYERS; playerid++)
{
new killer[24],string[120];
GetPlayerName(playerid,killer,24);
if(kill[playerid] >= 3)
{
format(string,sizeof(string),"..:: SA:MP Rebel League - Abuser detected doing |Spawnkill| [%s] ::..",killer);
Report(string);
kill[playerid] = 0;
}
if(tk[playerid] >= 3)
{
format(string,sizeof(string),"..:: SA:MP Rebel League - Abuser detected doing |Teamkill| [%s] ::..",killer);
Report(string);
tk[playerid] = 0;
}
}
}