Anything wrong?
#1

PHP код:
#include <a_samp>
#include <file>
#include "../include/gl_common.inc"
#include <LocalChat>
#include <YSI\y_ini>
#include <sscanf>
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
new playername[128];
new 
wantedlevel=0;
new 
score=0;
new 
life=0;
new 
muted[128];
//admincommands
new adminlevel=0;
new 
spectating=0;
new 
admduty=0;
main()
{
    print(
"\n-----------------------------------------");
    print(
" San Andreas Roleplay Cops and Robbers");
    print(
" By Amal M");
    print(
"-----------------------------------------\n");
}
//colors
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN    0x33AA33AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x3A47DEFF
#define COLOR_TAN 0xBDB76BAA
#define COLOR_PURPLE 0x800080AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE    0x33CCFFAA
#define COLOR_ORANGE    0xFF9900AA
#define COLOR_INDIGO    0x4B00B0AA
#define COLOR_BLACK    0x00000000
#define COLOR_DARKGREY 0x696969FF
#define COLOR_ADMINBLUE 0x0080FFFF
#define COL_WHITE "{FFFFFF}"
#define COL_RED "{F81414}"
#define COL_GREEN "{00FF22}"
#define COL_LIGHTBLUE "{00CED1}"
//User system dialogs
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SUCCESS_1 3
#define DIALOG_SUCCESS_2 4
#define PATH "/Users/%s.ini"
enum pInfo
{
    
pPass,
    
pCash,
    
pAdmin,
    
pScore,
    
pBanned,
    
pBanreason,
    
pAdminwhobanned,
}
new 
PlayerInfo[MAX_PLAYERS][pInfo];
forward LoadUser_data(playerid,name[],value[]);
public 
LoadUser_data(playerid,name[],value[])
{
    
INI_Int("Password",PlayerInfo[playerid][pPass]);
    
INI_Int("Cash",PlayerInfo[playerid][pCash]);
    
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    
INI_Int("Score",PlayerInfo[playerid][pScore]);
    
INI_Int("Banned",PlayerInfo[playerid][pBanned]);
    
INI_Int("Banreason",PlayerInfo[playerid][pBanreason]);
    
INI_Int("Adminwhobanned",PlayerInfo[playerid][pAdminwhobanned]);
    return 
1;
}
stock UserPath(playerid)
{
    new 
string[128];
    
GetPlayerName(playerid,playername,sizeof(playername));
    
format(string,sizeof(string),PATH,playername);
    return 
string;
}
stock udb_hash(buf[]) {
    new 
length=strlen(buf);
    new 
s1 1;
    new 
s2 0;
    new 
n;
    for (
n=0n<lengthn++)
    {
       
s1 = (s1 buf[n]) % 65521;
       
s2 = (s2 s1)     % 65521;
    }
    return (
s2 << 16) + s1;
}
public 
OnGameModeInit()
{
    
SetGameModeText("Roleplay/Cops and Robbers");
    
//Vehicles
    
LoadStaticVehiclesFromFile("vehicles/flint.txt");
    
LoadStaticVehiclesFromFile("vehicles/bone.txt");
    
LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
    
LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
    
LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");
    
LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
    
LoadStaticVehiclesFromFile("vehicles/lv_airport.txt");
    
LoadStaticVehiclesFromFile("vehicles/lv_gen.txt");
    
LoadStaticVehiclesFromFile("vehicles/lv_law.txt");
    
LoadStaticVehiclesFromFile("vehicles/pilots.txt");
    
LoadStaticVehiclesFromFile("vehicles/red_county.txt");
    
LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
    
LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");
    
LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
    
LoadStaticVehiclesFromFile("vehicles/sf_terrain.txt");
    
LoadStaticVehiclesFromFile("vehicles/tierra.txt");
    
LoadStaticVehiclesFromFile("vehicles/trains.txt");
    
LoadStaticVehiclesFromFile("vehicles/trainsplatform.txt");
    
LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
//Server Vehicles
    
AddStaticVehicle(411,1921.8412,-1763.8225,13.2575,269.7150,128,128);
// Player Classes
    //[Cops]
    
AddPlayerClass(71,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(163,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(164,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(165,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(166,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(211,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(281,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(282,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(283,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(284,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(286,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(288,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(265,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(266,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(267,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
//[SWAT]
    
AddPlayerClass(285,2523.1890,-2118.1357,13.5469,355.3507,32,2500,26,1000,31,2500);
    
//[ARMY]
    
AddPlayerClass(287,253.5259,1879.8744,11.4609,95.0310,32,2500,26,1000,31,2500);
    
AddPlayerClass(179,253.5259,1879.8744,11.4609,95.0310,32,2500,26,1000,31,2500);
    
//[Civillians]
    
AddPlayerClass(1,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(2,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(3,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(4,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(5,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(6,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(7,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(8,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(9,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(10,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(11,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(12,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(13,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(14,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(15,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(16,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(17,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(18,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(19,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(20,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(21,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(22,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(23,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(24,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(25,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(26,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(27,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(28,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(29,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(30,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(31,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(32,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(33,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(34,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(35,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(36,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(37,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(38,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(39,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(40,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(41,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(43,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(44,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(45,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(46,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(47,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(48,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(49,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(50,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(51,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(52,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(53,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(54,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(55,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(56,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(57,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(58,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(59,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(60,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(61,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(62,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(63,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(64,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(65,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(66,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(67,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(68,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(69,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(70,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(71,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(72,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(73,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(75,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(76,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(78,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(79,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(80,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(81,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(82,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(83,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(84,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(85,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(86,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(87,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(88,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(89,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(90,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(91,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(92,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(93,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(94,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(95,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(96,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(97,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(98,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(99,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(100,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(101,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
     
AddPlayerClass(102,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(103,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(104,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(105,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(106,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(107,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(108,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(109,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(110,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(111,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(112,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(113,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(114,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(115,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(116,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(117,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(118,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(119,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(120,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(121,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(122,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(123,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(124,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(125,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(126,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(127,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(128,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(129,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(130,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(131,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(132,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(134,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(135,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(136,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(137,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(138,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(139,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(140,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(141,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(142,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(143,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(144,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(145,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(146,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(147,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(148,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(149,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(150,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(151,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(152,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(153,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(154,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(156,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(157,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(158,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(159,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(160,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(161,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(162,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(163,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(164,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(165,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(166,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(167,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(168,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(169,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(170,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(171,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(172,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(173,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(174,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(175,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(176,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(177,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(178,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(179,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(180,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(181,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(182,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(183,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(184,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(185,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(186,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(187,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(188,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(189,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(190,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(191,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(192,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(193,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(194,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(195,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(196,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(197,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(198,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(199,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(200,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(201,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(202,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(203,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(204,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(205,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(206,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(207,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(208,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(209,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(210,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(212,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(213,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(214,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(215,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(216,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(217,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(218,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(219,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(221,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(222,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(223,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(224,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(225,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(226,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(227,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(228,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(229,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(230,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(231,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(232,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(233,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(234,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(235,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(236,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(237,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(238,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(239,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(240,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(241,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(242,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(243,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(244,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(245,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(246,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(247,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(248,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(249,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(250,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(251,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(252,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(253,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(254,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(255,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(256,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(257,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(258,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(259,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(260,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(261,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(262,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(263,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(264,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(269,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(270,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(271,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(272,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(273,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(290,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(291,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(292,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(293,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(294,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(295,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(296,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(297,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(298,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(299,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
//[MECHANICS]
    
AddPlayerClass(42,841.3635,-1865.6621,13.3897,94.0425,32,2500,26,1000,31,2500);
    
AddPlayerClass(268,841.3635,-1865.6621,13.3897,94.0425,32,2500,26,1000,31,2500);
    
//[TAXI DRIVERS]
    
AddPlayerClass(142,1695.5009,-2325.5298,13.5469,359.0902,32,2500,26,1000,31,2500);
    
AddPlayerClass(220,1695.5009,-2325.5298,13.5469,359.0902,32,2500,26,1000,31,2500);
    
//[MEDIC]
    
AddPlayerClass(274,2023.0836,-1418.7443,16.9922,140.5513,32,2500,26,1000,31,2500);
    
AddPlayerClass(275,2023.0836,-1418.7443,16.9922,140.5513,32,2500,26,1000,31,2500);
    
AddPlayerClass(276,2023.0836,-1418.7443,16.9922,140.5513,32,2500,26,1000,31,2500);
    
//[FIREMEN]
    
AddPlayerClass(277,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(278,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(279,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
//[PIZZA BOY]
    
AddPlayerClass(155,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(167,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
UsePlayerPedAnims();
    return 
1;
}
public 
OnGameModeExit()
{
    return 
1;
}
public 
OnPlayerRequestClass(playeridclassid)
{
    
SetPlayerPos(playerid,1442.0126,-869.8841,52.4946);
    
SetPlayerFacingAngle(playerid,196.9944);
    
SetPlayerCameraPos(playerid,1443.3689,-873.9153,52.8520);
    
SetPlayerCameraLookAt(playerid,1442.0126,-869.8841,52.4946);
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    
GetPlayerName(playeridplayernamesizeof(playername));
    new 
joining[128];
    
format (joiningsizeof(joining), "%s has joined San Andreas Roleplay/Cops and Robbers."playername);
    
SendClientMessageToAll(COLOR_GREYjoining);
    new 
File:log=fopen("Logs/Mainlog.log"io_append);
    new 
string[128];
    
format (stringsizeof(string), "%s has joined.\r\n"playername);
    
fwrite(logstring);
    
fclose(log);
    if(
fexist(UserPath(playerid)))
    {
        
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra true, .extra playerid);
        if(
PlayerInfo[playerid][pBanned]==0)
        {
            
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
        }
        else
        {
            new 
loginban[128], banreason[128], adminwhobanned[128];
            
format(loginban,sizeof(loginban),"Auto-kick: %s has been kicked from the server (Reason: Banned)."playername);
            
SendClientMessageToAll(COLOR_BRIGHTREDloginban);
            
SendClientMessage(playeridCOLOR_ORANGE"");
            
SendClientMessage(playeridCOLOR_ORANGE"");
            
SendClientMessage(playeridCOLOR_ORANGE"");
            
SendClientMessage(playeridCOLOR_ORANGE"");
            
SendClientMessage(playeridCOLOR_ORANGE"If you believe this ban is unfair, you can appeal for unban at sa-rcr.com/forum.");
            
SendClientMessage(playeridCOLOR_ORANGE"Note:Cheaters won't be unbanned.");
            
SendClientMessage(playeridCOLOR_ORANGE"Note: Don't play in other account while you are banned (ban evade), you will never get unbanned if you do that.");
            
format(banreasonsizeof(banreason), "REASON: %s"PlayerInfo[playerid][pBanreason]);
            
SendClientMessage(playeridCOLOR_BRIGHTREDbanreason);
            
format(adminwhobannedsizeof(adminwhobanned), "ADMIN WHO BANNED: %s"playername);
            
SendClientMessage(playeridCOLOR_BRIGHTREDadminwhobanned);
            
SetTimerEx("kickbanlogin"1000false"i"playerid);
        }
    }
    else
    {
        
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT,""COL_WHITE"Register",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
    }
    return 
1;
}
forward kickbanlogin(playerid);
public 
kickbanlogin(playerid)
{
    
Kick(playerid);
}
public 
OnPlayerDisconnect(playeridreason)
{
    new 
leaving[128];
    
format (leavingsizeof(leaving), "%s has left the server (Reason:%s)."playernamereason);
    
SendClientMessage(playeridCOLOR_GREYleaving);
    new 
File:log=fopen("Logs/Mainlog.log"io_append);
    new 
string[128];
    
format (stringsizeof(string), "%s has left.\r\n"playername);
    
fwrite(logstring);
    
fclose(log);
    new 
INI:File INI_Open(UserPath(playerid));
    
INI_SetTag(File,"data");
    
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
    
INI_WriteInt(File,"Score",GetPlayerScore(playerid));
    
INI_Close(File);
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    
life=1;
    
GivePlayerWeapon(playerid34100);
    
GivePlayerWeapon(playerid465);
    
GivePlayerWeapon(playerid24200);
    
SetPlayerArmour(playerid100.0);
    
SetPlayerColor(playeridCOLOR_WHITE);
    new 
File:log=fopen("Logs/MainLog.log"io_append);
    new 
string[128];
    
format (stringsizeof(string), "%s has spawned.\r\n"playername);
    
fwrite(logstring);
    
fclose(log);
    return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    new 
File:log=fopen("Logs/Mainlog.log"io_append);
    new 
string[128];
    
format (stringsizeof(string), "%s has died.\r\n"playername);
    
fwrite(logstring);
    
fclose(log);
    
life=0;
    return 
1;
}
public 
OnVehicleSpawn(vehicleid)
{
    return 
1;
}
public 
OnVehicleDeath(vehicleidkillerid)
{
    return 
1;
}
public 
OnPlayerText(playeridtext[])
{
    if(
muted[playerid] == 0) return SendClientMessage(playeridCOLOR_ORANGE"ERROR: You cannot send chat messages while you are muted.");
    return 
1;
}
// /kick[dcmd]
dcmd_kick(playeridparams[])
{
    new 
reason[128], pID;
    if(
adminlevel == 0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel<3) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"us"pIDreason)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /kick [name/id] [reason]");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    if(
playerid == pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot kick yourself.");
    new 
pIDadminlevel;
    
INI_ParseFile(UserPath(pID), "LoadUser_%s", .bExtra true, .extra pID);
    
pIDadminlevelPlayerInfo[pID][pAdmin];
    if(
pIDadminlevel 0) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot kick another admin.");
    if(
adminlevel == 10)
    {
        new 
amalkickserver[128], pIDname[128], amalkickclient[128], amalkick[128];
        
GetPlayerName(pIDpIDnamesizeof(pIDname));
        
format(amalkickclientsizeof(amalkickclient), "You have been kicked from the server by Senior Admin AmalM (Reason: %s)."reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDamalkickclient);
        
SetTimerEx("kicktimersenior"1000false"i"pID);
        
format(amalkickserversizeof(amalkickserver), "Admin-kick: %s(%d) has been kicked from the server by Senior Admin AmalM (Reason: %s)."pIDnamepIDreason);
        
SendClientMessageToAll(COLOR_BRIGHTREDamalkickserver);
        
format(amalkicksizeof(amalkick), "AmalM, You have kicked %s(%d) from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessage(playeridCOLOR_ADMINBLUEamalkick);
        return 
1;
    }
    else
    {
        new 
pIDname[128], kickserver[128], kickclient[128], kicka[128];
        
GetPlayerName(pIDpIDnamesizeof(pIDname));
        
format(kickclientsizeof(kickclient), "You have been kicked from the server (Reason: %s)."reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDkickclient);
        
SetTimerEx("kicktimerjunior"1000false"i"pID);
        
format(kickserversizeof(kickserver), "Admin-kick: %s(%d) has been kicked from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessageToAll(COLOR_BRIGHTREDkickserver);
        
format(kickasizeof(kicka), "You have kicked %s(%d) from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessage(playeridCOLOR_ADMINBLUEkicka);
        return 
1;
    }
}
forward kicktimersenior(pID);
public 
kicktimersenior(pID)
{
    
Kick(pID);
}
forward kicktimerjunior(pID);
public 
kicktimerjunior(pID)
{
    
Kick(pID);
}
// /ban[dcmd]
dcmd_ban(playeridparams[])
{
    new 
reason[128], pID;
    if(
adminlevel == 0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel<4) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"us"pIDreason)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /ban [name/id] [reason]");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    if(
playerid == pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot ban yourself.");
    new 
pIDadminlevel;
    
INI_ParseFile(UserPath(pID), "LoadUser_%s", .bExtra true, .extra pID);
    
pIDadminlevelPlayerInfo[pID][pAdmin];
    if(
pIDadminlevel 0) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot ban another admin.");
    if(
adminlevel == 10)
    {
        new 
amalbanserver[128], pIDname[128], amalbanclient[128], amalban[128];
        
GetPlayerName(pIDpIDnamesizeof(pIDname));
        
format(amalbanclientsizeof(amalbanclient), "You have been banned from the server by Senior Admin AmalM (Reason: %s)."reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDamalbanclient);
         new 
INI:File INI_Open(UserPath(pID));
         
INI_WriteInt(File,"Banned",1);
         
INI_WriteInt(File,"Banreason"udb_hash(reason));
         
INI_WriteInt(File,"Adminwhobanned"udb_hash(playername));
        new 
messagebanreason[128], messagebanadmin[128];
        
SendClientMessage(pIDCOLOR_GREY"If you believe this ban is unfair, you can appeal for unban at sa-rcr.com/forum.");
        
SendClientMessage(pIDCOLOR_GREY"Note: Cheaters won't be unbanned");
        
format(messagebanreasonsizeof(messagebanreason), "REASON: %s"reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDmessagebanreason);
        
format(messagebanadminsizeof(messagebanadmin), "ADMIN WHO BANNED: %s"playername);
        
SendClientMessage(pIDCOLOR_BRIGHTREDmessagebanadmin);
        
SetTimerEx("bantimersenior"1000false"i"pID);
        
format(amalbanserversizeof(amalbanserver), "Admin-ban: %s(%d) has been banned from the server by Senior Admin AmalM (Reason: %s)."pIDnamepIDreason);
        
SendClientMessageToAll(COLOR_BRIGHTREDamalbanserver);
        
format(amalbansizeof(amalban), "AmalM, You have banned %s(%d) from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessage(playeridCOLOR_ADMINBLUEamalban);
        return 
1;
    }
    else
    {
        new 
pIDname[128], kickserver[128], kickclient[128], kicka[128];
        
GetPlayerName(pIDpIDnamesizeof(pIDname));
        
SendClientMessage(playeridCOLOR_ORANGE"");
        
format(kickclientsizeof(kickclient), "You have been banned from the server (Reason: %s)."reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDkickclient);
        new 
INI:File INI_Open(UserPath(pID));
         
INI_WriteInt(File,"Banned",1);
         
INI_WriteInt(File,"Banreason"udb_hash(reason));
         
INI_WriteInt(File,"Adminwhobanned"udb_hash(playername));
        new 
messagebanreason[128], messagebanadmin[128];
        
SendClientMessage(pIDCOLOR_ORANGE"If you believe this ban is unfair, you can appeal for unban at sa-rcr.com/forum.");
        
SendClientMessage(pIDCOLOR_ORANGE"Note: Cheaters won't be unbanned");
        
SendClientMessage(pIDCOLOR_ORANGE"Note: Don't play in other account while you are banned (ban evade), you will never get unbanned if you do that.");
        
format(messagebanreasonsizeof(messagebanreason), "REASON: %s"reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDmessagebanreason);
        
format(messagebanadminsizeof(messagebanadmin), "ADMIN WHO BANNED: %s"playername);
        
SendClientMessage(pIDCOLOR_BRIGHTREDmessagebanadmin);
        
SetTimerEx("bantimerjunior"1000false"i"pID);
        
format(kickserversizeof(kickserver), "Admin-kick: %s(%d) has been banned from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessageToAll(COLOR_BRIGHTREDkickserver);
        
format(kickasizeof(kicka), "You have banned %s(%d) from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessage(playeridCOLOR_ADMINBLUEkicka);
        return 
1;
    }
}
forward bantimersenior(pID);
public 
bantimersenior(pID)
{
    
Kick(pID);
}
forward bantimerjunior(pID);
public 
bantimerjunior(pID)
{
    
Kick(pID);
}
// /packet[dcmd]
dcmd_packet(playeridparams[])
{
    new 
pID;
    if(
adminlevel==0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel==1) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /packet [name/id]");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    
GivePlayerWeapon(pID34100);
    
GivePlayerWeapon(pID460);
    
GivePlayerWeapon(pID24200);
    
GivePlayerWeapon(pID322500);
    
GivePlayerWeapon(pID261000);
    
GivePlayerWeapon(pID312000);
    
SetPlayerArmour(pID100.0);
    
GivePlayerMoney(pID15000);
    return 
1;
}
// /slap[dcmd]
dcmd_slap(playeridparams[])
{
    new 
pIDslapserver[128], pIDname[128];
    if(
adminlevel==0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct uage: /slap [name/id]");
    if(
playerid==pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot slap yourself");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    
SendClientMessage(pIDCOLOR_ORANGE"You have been slapped by an admin. Ouch.");
    
GameTextForPlayer(pID"~r~SLAPPED"20004);
    
GetPlayerName(pIDpIDnamesizeof(pIDname));
    
format(slapserversizeof(slapserver), "%s(%d) has been slapped by an admin."pIDnamepID);
    
SendClientMessageToAll(COLOR_BRIGHTREDslapserver);
    return 
1;
}
// /tptome[dcmd]
new Float:adminxFloat:adminyFloat:adminz;
dcmd_tptome(playeridparams[])
{
    new 
pID;
    if(
adminlevel==0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel==1) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /tptome [name/id]");
    if(
playerid==pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: The requested player is you.");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    
GetPlayerPos(playeridadminxadminyadminz);
    
SendClientMessage(playeridCOLOR_ADMINBLUE"The requested player will teleport to your location in 10 seconds.");
    
SendClientMessage(playeridCOLOR_ADMINBLUE"Please move from your current position inorder to avoid a bug.");
    
SetTimerEx("tptome"10000false"ii"pIDplayerid);
    return 
1;
}
forward tptome(pIDplayerid);
public 
tptome(pIDplayerid)
{
    
SetPlayerPos(pIDadminxadminyadminz);
    
SendClientMessage(playeridCOLOR_ADMINBLUE"The requested player has been teleported to your location successfully.");
    
SendClientMessage(pIDCOLOR_ORANGE"An admin has teleported you to his position.");
}
// /tptoplayer[dcmd]
new Float:playerx,Float:playeryFloat:playerz;
dcmd_tptoplayer(playeridparams[])
{
    new 
pID;
    if(
adminlevel==0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel==1) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /tptoplayer [name/id]");
    if(
playerid==pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: The requested player is you.");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    
GetPlayerPos(pIDplayerxplayeryplayerz);
    
GetPlayerPos(playeridadminxadminyadminz);
    
SendClientMessage(playeridCOLOR_ADMINBLUE"You will be teleported to the requested player's position in 5 seconds.");
    
SetTimerEx("tptoplayer"5000false"ii"pIDplayerid);
    return 
1;
}
forward tptoplayer(pIDplayerid);
public 
tptoplayer(pIDplayerid)
{
    
SetPlayerPos(playeridplayerxplayeryplayerz);
    
SendClientMessage(playeridCOLOR_ADMINBLUE"You have been successfully teleported to the requested player's position.");
}
// /spectate[dcmd]
dcmd_spectate(playeridparams[])
{
    new 
pIDvehicleid;
    if(
adminlevel==0) return SendClientMessage(playeridCOLOR_WHITE"Server: Unrecognized command, type /commands to see the commands available for you.");
     if(
adminlevel<2) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correcy usage: /spectate [name/id]");
    if(
playerid==pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: The requested player is you.");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    if(
IsPlayerInAnyVehicle(pID))
    {
         
TogglePlayerSpectating(playerid1);
        
vehicleid=GetPlayerVehicleID(pID);
        
PlayerSpectateVehicle(playeridvehicleid);
        
spectating=1;
    }
    else
    {
        
TogglePlayerSpectating(playerid1);
         
PlayerSpectatePlayer(playeridpID);
        
spectating=1;
    }
    return 
1;
}
// /mute[dcmd]
dcmd_mute(playeridparams[])
{
    new 
pIDtimereason[128];
    if(
adminlevel==0) return SendClientMessage(playeridCOLOR_WHITE"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel<2) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"uds"pIDtimereason)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /mute [name/id] [seconds] [reason]");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    if(
playerid==pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot mute yourself.");
    new 
pIDadminlevel;
    
INI_ParseFile(UserPath(pID), "LoadUser_%s", .bExtra true, .extra pID);
    
pIDadminlevelPlayerInfo[pID][pAdmin];
    if(
pIDadminlevel>0)
    {
        if(
adminlevel==10)
        {
            
muted[pID] = 1;
            new 
amalmuteclient[128], amalmuteserver[128];
            
format(amalmuteclientsizeof(amalmuteclient), "You have been muted by the Senior Admin AmalM for %d seconds (Reason: %s)."timereason);
            
SendClientMessage(pIDCOLOR_BRIGHTREDamalmuteclient);
            new 
pName[128];
            
GetPlayerName(pIDpNamesizeof(pName));
            
format(amalmuteserversizeof(amalmuteserver), "Admin-mute: %s(%d) has been muted by the Senior Admin AmalM for %d seconds (Reason: %s)."pNamepIDtimereason);
            
SendClientMessageToAll(COLOR_BRIGHTREDamalmuteserver);
            
SetTimerEx("amalmute"time*1000false"is"pIDpName);
        }
        else
        {
            
muted[pID] = 1;
            new 
muteclient[128], muteserver[128];
            
format(muteclientsizeof(muteclient), "You have been muted by an admin for %d seconds (Reason: %s)."timereason);
            
SendClientMessage(pIDCOLOR_BRIGHTREDmuteclient);
            new 
pName[128];
            
GetPlayerName(pIDpNamesizeof(pName));
            
format(muteserversizeof(muteserver), "Admin-mute: %s(%d) has been muted for %d seconds (Reason: %s)."pNamepIDtimereason);
               
SendClientMessageToAll(COLOR_BRIGHTREDmuteserver);
            
SetTimerEx("mute"time*1000false"i"pIDpName);
        }
    }
    return 
1;
}
forward amalmute(pIDpName);
public 
amalmute(pIDpName)
{
    
muted[pID] = 0;
    
SendClientMessage(pIDCOLOR_BRIGHTRED"You have been auto-unmuted.");
    new 
unmuted[128];
    
format(unmutedsizeof(unmuted), "Auto-unmute: %s(%d) has been auto-unmuted."pNamepID);
    
SendClientMessageToAll(COLOR_BRIGHTREDunmuted);
    return 
1;
}
forward mute(pIDpName);
public 
mute(pIDpName)
{
    
muted[pID] = 0;
    
SendClientMessage(pIDCOLOR_BRIGHTRED"You have been auto-unmuted.");
    new 
unmuted[128];
    
format(unmutedsizeof(unmuted), "Auto-unmute: %s(%d) has been auto-unmuted."pNamepID);
    
SendClientMessageToAll(COLOR_BRIGHTREDunmuted);
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
// /help
    
if (strcmp("/help"cmdtexttrue10) == 0)
    {
        
SendClientMessage(playeridCOLOR_WHITE" Read /rules and /pc. Type /commands to see the commands available for you.");
        return 
1;
    }
// /kill
    
if (strcmp("/kill"cmdtexttrue10) == 0)
    {
        
wantedlevel=GetPlayerWantedLevel(playerid);
        if (
life==1)
        {
            if (
wantedlevel==0)
            {
                new 
suicide[128];
                
format (suicidesizeof(suicide), "%s has committed suicide using /kill."playername);
                
SendClientMessageToAll(COLOR_BRIGHTREDsuicide);
                
SetPlayerHealth(playerid0.0);
                
score=GetPlayerScore(playerid);
                
score--;
                
SetPlayerScore(playeridscore);
                return 
1;
            }
            else
            {
                
SendClientMessage(playeridCOLOR_YELLOW"You cannot use this command when cops are looking for you.");
                return 
1;
            }
        }
        else
        {
            
SendClientMessage(playeridCOLOR_ORANGE,"You are already dead.");
            return 
1;
        }
    }
// /me
    
if (strcmp(cmdtext"/me "true4) == 0)
    {
        if(!
cmdtext[4])return SendClientMessage(playeridCOLOR_ORANGE"Correct Usage: /me [action]");
        if(
muted[playerid] > 0) return SendClientMessage(playeridCOLOR_ORANGE"You cannot use this command when you are muted.");
        new 
actionme[128];
        
format (actionmesizeof(actionme), "*%s %s"playernamecmdtext[4]);
        
SendLocalMessage(playeridCOLOR_PINK7actionme);
        return 
1;
    }
// /do
    
if (strcmp(cmdtext,"/do "true4) == 0)
    {
        if(!
cmdtext[4])return SendClientMessage(playeridCOLOR_ORANGE"Correct Usage: /do [message]");
        if(
muted[playerid] > 0) return SendClientMessage(playeridCOLOR_ORANGE"You cannot use this command when you are muted.");
        new 
actiondo[128];
        
format (actiondosizeof(actiondo), "*%s((%s))"cmdtext[4], playername);
        
SendLocalMessage(playerid,COLOR_PINK,7actiondo);
        return 
1;
    }
// /do
    
if (strcmp(cmdtext"/w "true3) == 0)
    {
        if(!
cmdtext[3])return SendClientMessage(playeridCOLOR_ORANGE"Correct Usage: /w [message]");
        if(
muted[playerid] > 0) return SendClientMessage(playeridCOLOR_ORANGE"You cannot use this command when you are muted.");
        new 
wmessage[128];
        
format (wmessagesizeof(wmessage), "(Local) %s(%d): %s"playernameplayeridcmdtext[3]);
        
SendLocalMessage(playeridCOLOR_YELLOW7wmessage);
        return 
1;
    }
// /cc
    
if(strcmp(cmdtext"/cc"true15) == 0)
    {
        if(
adminlevel>0)
        {
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"An admin has cleared the chat.");
        }
        else
        {
            
SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
        }
        return 
1;
    }
// /announce
    
if(strcmp(cmdtext"/announce "true10) == 0)
    {
        if(
adminlevel>0)
        {
            if(!
cmdtext[10]) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /announce [message]");
            
SendClientMessageToAll(COLOR_ADMINBLUEcmdtext[10]);
        }
        else
        {
            
SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
        }
        return 
1;
    }
// /stopspectate
    
if(strcmp(cmdtext"/stopspectate"true20) == 0)
    {
        if(
adminlevel==0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
        if(
adminlevel<2) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
        if(
spectating==0) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You are not spectating anyone.");
        
TogglePlayerSpectating(playerid0);
        return 
1;
    }
// /adm
    
if(strcmp(cmdtext"/adm "true5) == 0)
    {
        if(
adminlevel==0) return SendClientMessage(playeridCOLOR_WHITE"Server: Unrecognized command, type /commands to see the commands available for you.");
        if(!
cmdtext[5]) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /adm [message]");
        for(new 
i=0i<MAX_PLAYERSi++)
        {
             new 
iadminlevel;
            
INI_ParseFile(UserPath(i), "LoadUser_%s", .bExtra true, .extra i);
            
iadminlevelPlayerInfo[i][pAdmin];
            new 
admmessage[128];
            
format(admmessagesizeof(admmessage), "(Admin Chat) %s: %s"playernamecmdtext[5]);
            if(
iadminlevel>0) return SendClientMessage(iCOLOR_ADMINBLUEadmmessage);
        }
        return 
1;
    }
// /kick
    
dcmd (kick4cmdtext);
// /ban
    
dcmd (ban3cmdtext);
// /packet
    
dcmd (packet6cmdtext);
// /slap
    
dcmd (slap4cmdtext);
// /tptome
    
dcmd (tptome6cmdtext);
// /tptoplayer
    
dcmd (tptoplayer10cmdtext);
// /spectate
    
dcmd (spectate8cmdtext);
// /mute
    
dcmd (mute4cmdtext);
    return 
SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
}
public 
OnPlayerEnterVehicle(playeridvehicleidispassenger)
{
    return 
1;
}
public 
OnPlayerExitVehicle(playeridvehicleid)
{
    return 
1;
}
public 
OnPlayerStateChange(playeridnewstateoldstate)
{
    return 
1;
}
public 
OnPlayerEnterCheckpoint(playerid)
{
    return 
1;
}
public 
OnPlayerLeaveCheckpoint(playerid)
{
    return 
1;
}
public 
OnPlayerEnterRaceCheckpoint(playerid)
{
    return 
1;
}
public 
OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 
1;
}
public 
OnRconCommand(cmd[])
{
    return 
1;
}
public 
OnPlayerRequestSpawn(playerid)
{
    return 
1;
}
public 
OnObjectMoved(objectid)
{
    return 
1;
}
public 
OnPlayerObjectMoved(playeridobjectid)
{
    return 
1;
}
public 
OnPlayerPickUpPickup(playeridpickupid)
{
    return 
1;
}
public 
OnVehicleMod(playeridvehicleidcomponentid)
{
    return 
1;
}
public 
OnVehiclePaintjob(playeridvehicleidpaintjobid)
{
    return 
1;
}
public 
OnVehicleRespray(playeridvehicleidcolor1color2)
{
    return 
1;
}
public 
OnPlayerSelectedMenuRow(playeridrow)
{
    return 
1;
}
public 
OnPlayerExitedMenu(playerid)
{
    return 
1;
}
public 
OnPlayerInteriorChange(playeridnewinterioridoldinteriorid)
{
    return 
1;
}
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    return 
1;
}
public 
OnRconLoginAttempt(ip[], password[], success)
{
    return 
1;
}
public 
OnPlayerUpdate(playerid)
{
    return 
1;
}
public 
OnPlayerStreamIn(playeridforplayerid)
{
    return 
1;
}
public 
OnPlayerStreamOut(playeridforplayerid)
{
    return 
1;
}
public 
OnVehicleStreamIn(vehicleidforplayerid)
{
    return 
1;
}
public 
OnVehicleStreamOut(vehicleidforplayerid)
{
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch( 
dialogid )
    {
        case 
DIALOG_REGISTER:
        {
            
SendClientMessage(playeridCOLOR_INDIGO"Your name should not contain spaces.");
              
SendClientMessage(playeridCOLOR_INDIGO"If you need to seperate your last name, don't use space, use _ instead.");
            
SendClientMessage(playeridCOLOR_INDIGO"If your current name have spaces, please relog now with a valid name.");
            if (!
response)
            {
                new 
stringserver[128];
                
SendClientMessage(playeridCOLOR_BRIGHTRED"You have been kicked from the server (Reason: Failed to register).");
                
Kick (playerid);
                
format(stringserversizeof(stringserver), "Auto-kick: %s has been kicked from the server (Reason: Failed to register)."playername);
                
SendClientMessageToAll(COLOR_BRIGHTREDstringserver);
                return 
1;
            }
            else if(
response)
            {
                if(!
strlen(inputtext)) return ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT""COL_WHITE"Register.",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
                new 
INI:File INI_Open(UserPath(playerid));
                
INI_SetTag(File,"data");
                
INI_WriteInt(File,"Password",udb_hash(inputtext));
                
INI_WriteInt(File,"Cash",0);
                
INI_WriteInt(File"Admin",0);
                
INI_WriteInt(File,"Score",0);
                
INI_WriteInt(File,"Banned",0);
                
INI_WriteInt(File,"Banreason",0);
                
INI_WriteInt(File,"Adminwhobanned",0);
                
INI_Close(File);
                new 
playerip[128], ipinlog[128], registered[128];
                
GetPlayerIp(playeridplayeripsizeof(playerip));
                new 
File:log=fopen("Logs/Mainlog.log"io_append);
                
format(ipinlogsizeof(ipinlog), "Player IP (%s) = %s"playernameplayerip);
                
fwrite(logipinlog);
                
format(registeredsizeof(registered), "%s has registered."playername);
                
fwrite(logregistered);
                
fclose(log);
                new 
userpath[128];
                
format(userpathsizeof(userpath), "UserIPs/%s.txt"playername);
                new 
File:userip=fopen(userpathio_append);
                
fwrite(useripplayerip);
                
fclose(userip);
                
SpawnPlayer(playerid);
                new 
registersuccess[128];
                
format(registersuccesssizeof(registersuccess),"Great! You have been successfully registered under the password %s."inputtext);
                
SendClientMessage(playeridCOLOR_GREENregistersuccess);
            }
        }
        case 
DIALOG_LOGIN:
        {
            if ( !
response )
            {
                new 
stringserver[128];
                
SendClientMessage(playeridCOLOR_BRIGHTRED"You have been kicked from the server (Reason: Failed to login).");
                
Kick (playerid);
                
format(stringserversizeof(stringserver), "Auto-kick: %s has been kicked from the server (Reason: Failed to login)."playername);
                
SendClientMessageToAll(COLOR_BRIGHTREDstringserver);
                return 
1;
            }
            else if( 
response )
            {
                if(
udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra true, .extra playerid);
                    
GivePlayerMoney(playeridPlayerInfo[playerid][pCash]);
                    
SetPlayerScore(playeridPlayerInfo[playerid][pScore]);
                    
adminlevel=PlayerInfo[playerid][pAdmin];
                    
SendClientMessage(playeridCOLOR_GREEN"You have been successfully logged in. Enjoy!");
                    new 
playerip[128], ipinlog[128], loggedin[128];
                    
GetPlayerIp(playeridplayeripsizeof(playerip));
                    new 
File:log=fopen("Logs/Mainlog.log"io_append);
                    
format(ipinlogsizeof(ipinlog), "Player IP (%s) = %s"playernameplayerip);
                    
fwrite(logipinlog);
                    
format(loggedinsizeof(loggedin), "%s has logged in."playername);
                    
fwrite(logloggedin);
                    
fclose(log);
                    new 
userpath[128];
                    
format(userpathsizeof(userpath), "UserIPs/%s.txt"playername);
                    new 
File:userip=fopen(userpathio_append);
                    new 
stringplayerip[128];
                    
format(stringplayeripsizeof(stringplayerip), "\r\n%s"playerip);
                    
fwrite(useripstringplayerip);
                    
fclose(userip);
                }
                else
                {
                    
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
                }
                return 
1;
            }
        }
    }
    return 
1;
}
public 
OnPlayerClickPlayer(playeridclickedplayeridsource)
{
    return 
1;

Is there anything wrong with this script? especially with the variable 'adminlevel'?
Reply
#2

I mean, do I need to set the variables like adminlevel to adminlevel[128] and adminlevel[playerid]?
Reply
#3

Why dont you test your script? See if it works. If not, make sure you understand what the problem is and then post a thread if you can't solve it by yourself.
Reply
#4

Just...
pawn Код:
stock UserPath(playerid)
{
    GetPlayerName(playerid,playername,sizeof(playername));
    return playername;
}
If when you compile, you have a problem (errors/warns), search the line(s) and try to understand.
Otherwise, post the line(s) and the errors/wanrs here, we'll help you.
Reply
#5

I got no warns or errors
Reply
#6

Your global variables that are player specific should be arrays so that you can refer to player IDs...

pawn Код:
new adminLevel[MAX_PLAYERS];

// In some random call back where you have the playerid variable available..
adminLevel[playerid] = 1;
Furthermore, you should try using enumerators, it's allows a neater, friendly and more efficient 2D arrays (Learn about Multi-dimensional arrays here. Beginners Guide to Single/Two/Multidimensional arrays.)

pawn Код:
enum ePVars {
    adminLevel,
    someOtherVar,
    anotherVar,
}
new pInfo[MAX_PLAYERS][ePVars]; // Refers to Player ID and Enumerator
Reply
#7

Quote:
Originally Posted by Shoulen
Посмотреть сообщение
Your global variables that are player specific should be arrays so that you can refer to player IDs...

pawn Код:
new adminLevel[MAX_PLAYERS];

// In some random call back where you have the playerid variable available..
adminLevel[playerid] = 1;
Furthermore, you should try using enumerators, it's allows a neater, friendly and more efficient 2D arrays (Learn about Multi-dimensional arrays here. Beginners Guide to Single/Two/Multidimensional arrays.)

pawn Код:
enum ePVars {
    adminLevel,
    someOtherVar,
    anotherVar,
}
new pInfo[MAX_PLAYERS][ePVars]; // Refers to Player ID and Enumerator
Thank you very much, but I already changed my global variables to player specific.

Now, I learned using 2D arrays. But, is 3D arrays useful?
Reply
#8

The 3D arrays are very unusual, but you'll understand when you'll need it.
Reply
#9

Can you please tell a situation where 2D and 3D arrays are useful?

This is my script now:
PHP код:
#include <a_samp>
#include <file>
#include "../include/gl_common.inc"
#include <LocalChat>
#include <YSI\y_ini>
#include <sscanf>
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
new playername[128];
new 
wantedlevel=0;
new 
score=0;
new 
life=0;
new 
muted[128];
//admincommands
new adminlevel[128];
new 
spectating[128];
new 
admduty[128];
main()
{
    print(
"\n-----------------------------------------");
    print(
" San Andreas Roleplay Cops and Robbers");
    print(
" By Amal M");
    print(
"-----------------------------------------\n");
}
//colors
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN    0x33AA33AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x3A47DEFF
#define COLOR_TAN 0xBDB76BAA
#define COLOR_PURPLE 0x800080AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE    0x33CCFFAA
#define COLOR_ORANGE    0xFF9900AA
#define COLOR_INDIGO    0x4B00B0AA
#define COLOR_BLACK    0x00000000
#define COLOR_DARKGREY 0x696969FF
#define COLOR_ADMINBLUE 0x0080FFFF
#define COL_WHITE "{FFFFFF}"
#define COL_RED "{F81414}"
#define COL_GREEN "{00FF22}"
#define COL_LIGHTBLUE "{00CED1}"
//User system dialogs
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SUCCESS_1 3
#define DIALOG_SUCCESS_2 4
#define PATH "/Users/%s.ini"
enum pInfo
{
    
pPass,
    
pCash,
    
pAdmin,
    
pScore,
    
pBanned,
    
pBanreason,
    
pAdminwhobanned,
}
new 
PlayerInfo[MAX_PLAYERS][pInfo];
forward LoadUser_data(playerid,name[],value[]);
public 
LoadUser_data(playerid,name[],value[])
{
    
INI_Int("Password",PlayerInfo[playerid][pPass]);
    
INI_Int("Cash",PlayerInfo[playerid][pCash]);
    
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    
INI_Int("Score",PlayerInfo[playerid][pScore]);
    
INI_Int("Banned",PlayerInfo[playerid][pBanned]);
    
INI_Int("Banreason",PlayerInfo[playerid][pBanreason]);
    
INI_Int("Adminwhobanned",PlayerInfo[playerid][pAdminwhobanned]);
    return 
1;
}
stock UserPath(playerid)
{
    new 
string[128];
    
GetPlayerName(playerid,playername,sizeof(playername));
    
format(string,sizeof(string),PATH,playername);
    return 
string;
}
stock udb_hash(buf[]) {
    new 
length=strlen(buf);
    new 
s1 1;
    new 
s2 0;
    new 
n;
    for (
n=0n<lengthn++)
    {
       
s1 = (s1 buf[n]) % 65521;
       
s2 = (s2 s1)     % 65521;
    }
    return (
s2 << 16) + s1;
}
public 
OnGameModeInit()
{
    
SetGameModeText("Roleplay/Cops and Robbers");
    
//Vehicles
    
LoadStaticVehiclesFromFile("vehicles/flint.txt");
    
LoadStaticVehiclesFromFile("vehicles/bone.txt");
    
LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
    
LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
    
LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");
    
LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
    
LoadStaticVehiclesFromFile("vehicles/lv_airport.txt");
    
LoadStaticVehiclesFromFile("vehicles/lv_gen.txt");
    
LoadStaticVehiclesFromFile("vehicles/lv_law.txt");
    
LoadStaticVehiclesFromFile("vehicles/pilots.txt");
    
LoadStaticVehiclesFromFile("vehicles/red_county.txt");
    
LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
    
LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");
    
LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
    
LoadStaticVehiclesFromFile("vehicles/sf_terrain.txt");
    
LoadStaticVehiclesFromFile("vehicles/tierra.txt");
    
LoadStaticVehiclesFromFile("vehicles/trains.txt");
    
LoadStaticVehiclesFromFile("vehicles/trainsplatform.txt");
    
LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
//Server Vehicles
    
AddStaticVehicle(411,1921.8412,-1763.8225,13.2575,269.7150,128,128);
// Player Classes
    //[Cops]
    
AddPlayerClass(71,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(163,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(164,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(165,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(166,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(211,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(281,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(282,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(283,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(284,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(286,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(288,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(265,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(266,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
AddPlayerClass(267,1584.6842,-1686.7813,6.2188,290.3138,32,2500,26,1000,31,2500);
    
//[SWAT]
    
AddPlayerClass(285,2523.1890,-2118.1357,13.5469,355.3507,32,2500,26,1000,31,2500);
    
//[ARMY]
    
AddPlayerClass(287,253.5259,1879.8744,11.4609,95.0310,32,2500,26,1000,31,2500);
    
AddPlayerClass(179,253.5259,1879.8744,11.4609,95.0310,32,2500,26,1000,31,2500);
    
//[Civillians]
    
AddPlayerClass(1,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(2,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(3,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(4,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(5,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(6,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(7,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(8,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(9,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(10,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(11,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(12,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(13,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(14,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(15,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(16,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(17,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(18,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(19,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(20,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(21,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(22,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(23,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(24,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(25,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(26,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(27,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(28,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(29,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(30,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(31,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(32,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(33,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(34,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(35,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(36,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(37,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(38,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(39,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(40,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(41,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(43,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(44,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(45,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(46,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(47,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(48,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(49,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(50,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(51,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(52,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(53,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(54,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(55,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(56,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(57,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(58,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(59,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(60,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(61,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(62,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(63,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(64,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(65,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(66,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(67,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(68,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(69,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(70,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(71,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(72,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(73,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(75,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(76,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(78,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(79,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(80,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(81,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(82,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(83,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(84,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(85,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(86,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(87,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(88,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(89,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(90,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(91,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(92,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(93,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(94,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(95,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(96,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(97,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(98,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(99,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(100,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(101,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
     
AddPlayerClass(102,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(103,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(104,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(105,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(106,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(107,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(108,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(109,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(110,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(111,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(112,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(113,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(114,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(115,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(116,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(117,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(118,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(119,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(120,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(121,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(122,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(123,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(124,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(125,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(126,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(127,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(128,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(129,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(130,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(131,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(132,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(134,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(135,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(136,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(137,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(138,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(139,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(140,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(141,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(142,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(143,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(144,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(145,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(146,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(147,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(148,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(149,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(150,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(151,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(152,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(153,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(154,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(156,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(157,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(158,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(159,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(160,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(161,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(162,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(163,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(164,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(165,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(166,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(167,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(168,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(169,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(170,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(171,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(172,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(173,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(174,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(175,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(176,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(177,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(178,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(179,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(180,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(181,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(182,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(183,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(184,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(185,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(186,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(187,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(188,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(189,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(190,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(191,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(192,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(193,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(194,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(195,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(196,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(197,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(198,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(199,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(200,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(201,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(202,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(203,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(204,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(205,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(206,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(207,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(208,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(209,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(210,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(212,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(213,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(214,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(215,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(216,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(217,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(218,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(219,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(221,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(222,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(223,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(224,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(225,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(226,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(227,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(228,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(229,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(230,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(231,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(232,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(233,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(234,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(235,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(236,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(237,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(238,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(239,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(240,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(241,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(242,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(243,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(244,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(245,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(246,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(247,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(248,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(249,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(250,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(251,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(252,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(253,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(254,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(255,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(256,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(257,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(258,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(259,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(260,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(261,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(262,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(263,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(264,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(269,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(270,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(271,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(272,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(273,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(290,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(291,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(292,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(293,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(294,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(295,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(296,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(297,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(298,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(299,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
//[MECHANICS]
    
AddPlayerClass(42,841.3635,-1865.6621,13.3897,94.0425,32,2500,26,1000,31,2500);
    
AddPlayerClass(268,841.3635,-1865.6621,13.3897,94.0425,32,2500,26,1000,31,2500);
    
//[TAXI DRIVERS]
    
AddPlayerClass(142,1695.5009,-2325.5298,13.5469,359.0902,32,2500,26,1000,31,2500);
    
AddPlayerClass(220,1695.5009,-2325.5298,13.5469,359.0902,32,2500,26,1000,31,2500);
    
//[MEDIC]
    
AddPlayerClass(274,2023.0836,-1418.7443,16.9922,140.5513,32,2500,26,1000,31,2500);
    
AddPlayerClass(275,2023.0836,-1418.7443,16.9922,140.5513,32,2500,26,1000,31,2500);
    
AddPlayerClass(276,2023.0836,-1418.7443,16.9922,140.5513,32,2500,26,1000,31,2500);
    
//[FIREMEN]
    
AddPlayerClass(277,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(278,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(279,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
//[PIZZA BOY]
    
AddPlayerClass(155,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
AddPlayerClass(167,1759.0189,-1898.1260,13.5622,266.4503,32,2500,26,1000,31,2500);
    
UsePlayerPedAnims();
    return 
1;
}
public 
OnGameModeExit()
{
    return 
1;
}
public 
OnPlayerRequestClass(playeridclassid)
{
    
SetPlayerPos(playerid,1442.0126,-869.8841,52.4946);
    
SetPlayerFacingAngle(playerid,196.9944);
    
SetPlayerCameraPos(playerid,1443.3689,-873.9153,52.8520);
    
SetPlayerCameraLookAt(playerid,1442.0126,-869.8841,52.4946);
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    
GetPlayerName(playeridplayernamesizeof(playername));
    new 
joining[128];
    
format (joiningsizeof(joining), "%s has joined San Andreas Roleplay/Cops and Robbers."playername[playerid]);
    
SendClientMessageToAll(COLOR_GREYjoining);
    new 
File:log=fopen("Logs/Mainlog.log"io_append);
    new 
string[128];
    
format (stringsizeof(string), "%s has joined.\r\n"playername[playerid]);
    
fwrite(logstring);
    
fclose(log);
    if(
fexist(UserPath(playerid)))
    {
        
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra true, .extra playerid);
        if(
PlayerInfo[playerid][pBanned]==0)
        {
            
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
        }
        else
        {
            new 
loginban[128], banreason[128], adminwhobanned[128];
            
format(loginban,sizeof(loginban),"Auto-kick: %s has been kicked from the server (Reason: Banned)."playername[playerid]);
            
SendClientMessageToAll(COLOR_BRIGHTREDloginban);
            
SendClientMessage(playeridCOLOR_ORANGE"");
            
SendClientMessage(playeridCOLOR_ORANGE"");
            
SendClientMessage(playeridCOLOR_ORANGE"");
            
SendClientMessage(playeridCOLOR_ORANGE"");
            
SendClientMessage(playeridCOLOR_ORANGE"If you believe this ban is unfair, you can appeal for unban at sa-rcr.com/forum.");
            
SendClientMessage(playeridCOLOR_ORANGE"Note:Cheaters won't be unbanned.");
            
SendClientMessage(playeridCOLOR_ORANGE"Note: Don't play in other account while you are banned (ban evade), you will never get unbanned if you do that.");
            
format(banreasonsizeof(banreason), "REASON: %s"PlayerInfo[playerid][pBanreason]);
            
SendClientMessage(playeridCOLOR_BRIGHTREDbanreason);
            
format(adminwhobannedsizeof(adminwhobanned), "ADMIN WHO BANNED: %s"playername);
            
SendClientMessage(playeridCOLOR_BRIGHTREDadminwhobanned);
            
SetTimerEx("kickbanlogin"1000false"i"playerid);
        }
    }
    else
    {
        
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT,""COL_WHITE"Register",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
    }
    return 
1;
}
forward kickbanlogin(playerid);
public 
kickbanlogin(playerid)
{
    
Kick(playerid);
}
public 
OnPlayerDisconnect(playeridreason)
{
    new 
leaving[128];
    
format (leavingsizeof(leaving), "%s has left the server (Reason:%s)."playername[playerid], reason);
    
SendClientMessage(playeridCOLOR_GREYleaving);
    new 
File:log=fopen("Logs/Mainlog.log"io_append);
    new 
string[128];
    
format (stringsizeof(string), "%s has left.\r\n"playername[playerid]);
    
fwrite(logstring);
    
fclose(log);
    new 
INI:File INI_Open(UserPath(playerid));
    
INI_SetTag(File,"data");
    
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
    
INI_WriteInt(File,"Score",GetPlayerScore(playerid));
    
INI_Close(File);
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    
life=1;
    
GivePlayerWeapon(playerid34100);
    
GivePlayerWeapon(playerid465);
    
GivePlayerWeapon(playerid24200);
    
SetPlayerArmour(playerid100.0);
    
SetPlayerColor(playeridCOLOR_WHITE);
    new 
File:log=fopen("Logs/MainLog.log"io_append);
    new 
string[128];
    
format (stringsizeof(string), "%s has spawned.\r\n"playername[playerid]);
    
fwrite(logstring);
    
fclose(log);
    return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    new 
File:log=fopen("Logs/Mainlog.log"io_append);
    new 
string[128];
    
format (stringsizeof(string), "%s has died.\r\n"playername[playerid]);
    
fwrite(logstring);
    
fclose(log);
    
life=0;
    return 
1;
}
public 
OnVehicleSpawn(vehicleid)
{
    return 
1;
}
public 
OnVehicleDeath(vehicleidkillerid)
{
    return 
1;
}
public 
OnPlayerText(playeridtext[])
{
    if(
muted[playerid] == 1) return SendClientMessage(playeridCOLOR_ORANGE"ERROR: You cannot send chat messages while you are muted.");
    return 
1;
}
// /kick[dcmd]
dcmd_kick(playeridparams[])
{
    new 
reason[128], pID;
    if(
adminlevel[playerid] == 0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel[playerid]<3) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"us"pIDreason)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /kick [name/id] [reason]");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    if(
playerid == pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot kick yourself.");
    new 
pIDadminlevel;
    
INI_ParseFile(UserPath(pID), "LoadUser_%s", .bExtra true, .extra pID);
    
pIDadminlevelPlayerInfo[pID][pAdmin];
    if(
pIDadminlevel 0) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot kick another admin.");
    if(
adminlevel[playerid] == 10)
    {
        new 
amalkickserver[128], pIDname[128], amalkickclient[128], amalkick[128];
        
GetPlayerName(pIDpIDnamesizeof(pIDname));
        
format(amalkickclientsizeof(amalkickclient), "You have been kicked from the server by Senior Admin AmalM (Reason: %s)."reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDamalkickclient);
        
SetTimerEx("kicktimersenior"1000false"i"pID);
        
format(amalkickserversizeof(amalkickserver), "Admin-kick: %s(%d) has been kicked from the server by Senior Admin AmalM (Reason: %s)."pIDnamepIDreason);
        
SendClientMessageToAll(COLOR_BRIGHTREDamalkickserver);
        
format(amalkicksizeof(amalkick), "AmalM, You have kicked %s(%d) from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessage(playeridCOLOR_ADMINBLUEamalkick);
        return 
1;
    }
    else
    {
        new 
pIDname[128], kickserver[128], kickclient[128], kicka[128];
        
GetPlayerName(pIDpIDnamesizeof(pIDname));
        
format(kickclientsizeof(kickclient), "You have been kicked from the server (Reason: %s)."reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDkickclient);
        
SetTimerEx("kicktimerjunior"1000false"i"pID);
        
format(kickserversizeof(kickserver), "Admin-kick: %s(%d) has been kicked from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessageToAll(COLOR_BRIGHTREDkickserver);
        
format(kickasizeof(kicka), "You have kicked %s(%d) from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessage(playeridCOLOR_ADMINBLUEkicka);
        return 
1;
    }
}
forward kicktimersenior(pID);
public 
kicktimersenior(pID)
{
    
Kick(pID);
}
forward kicktimerjunior(pID);
public 
kicktimerjunior(pID)
{
    
Kick(pID);
}
// /ban[dcmd]
dcmd_ban(playeridparams[])
{
    new 
reason[128], pID;
    if(
adminlevel[playerid] == 0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel[playerid]<4) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"us"pIDreason)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /ban [name/id] [reason]");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    if(
playerid == pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot ban yourself.");
    new 
pIDadminlevel;
    
INI_ParseFile(UserPath(pID), "LoadUser_%s", .bExtra true, .extra pID);
    
pIDadminlevelPlayerInfo[pID][pAdmin];
    if(
pIDadminlevel 0) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot ban another admin.");
    if(
adminlevel[playerid] == 10)
    {
        new 
amalbanserver[128], pIDname[128], amalbanclient[128], amalban[128];
        
GetPlayerName(pIDpIDnamesizeof(pIDname));
        
format(amalbanclientsizeof(amalbanclient), "You have been banned from the server by Senior Admin AmalM (Reason: %s)."reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDamalbanclient);
         new 
INI:File INI_Open(UserPath(pID));
         
INI_WriteInt(File,"Banned",1);
         
INI_WriteInt(File,"Banreason"udb_hash(reason));
         
INI_WriteInt(File,"Adminwhobanned"udb_hash(playername[playerid]));
        new 
messagebanreason[128], messagebanadmin[128];
        
SendClientMessage(pIDCOLOR_GREY"If you believe this ban is unfair, you can appeal for unban at sa-rcr.com/forum.");
        
SendClientMessage(pIDCOLOR_GREY"Note: Cheaters won't be unbanned");
        
format(messagebanreasonsizeof(messagebanreason), "REASON: %s"reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDmessagebanreason);
        
format(messagebanadminsizeof(messagebanadmin), "ADMIN WHO BANNED: %s"playername[playerid]);
        
SendClientMessage(pIDCOLOR_BRIGHTREDmessagebanadmin);
        
SetTimerEx("bantimersenior"1000false"i"pID);
        
format(amalbanserversizeof(amalbanserver), "Admin-ban: %s(%d) has been banned from the server by Senior Admin AmalM (Reason: %s)."pIDnamepIDreason);
        
SendClientMessageToAll(COLOR_BRIGHTREDamalbanserver);
        
format(amalbansizeof(amalban), "AmalM, You have banned %s(%d) from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessage(playeridCOLOR_ADMINBLUEamalban);
        return 
1;
    }
    else
    {
        new 
pIDname[128], banserver[128], banclient[128], bana[128];
        
GetPlayerName(pIDpIDnamesizeof(pIDname));
        
SendClientMessage(playeridCOLOR_ORANGE"");
        
format(banclientsizeof(banclient), "You have been banned from the server (Reason: %s)."reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDbanclient);
        new 
INI:File INI_Open(UserPath(pID));
         
INI_WriteInt(File,"Banned",1);
         
INI_WriteInt(File,"Banreason"udb_hash(reason));
         
INI_WriteInt(File,"Adminwhobanned"udb_hash(playername));
        new 
messagebanreason[128], messagebanadmin[128];
        
SendClientMessage(pIDCOLOR_ORANGE"If you believe this ban is unfair, you can appeal for unban at sa-rcr.com/forum.");
        
SendClientMessage(pIDCOLOR_ORANGE"Note: Cheaters won't be unbanned");
        
SendClientMessage(pIDCOLOR_ORANGE"Note: Don't play in other account while you are banned (ban evade), you will never get unbanned if you do that.");
        
format(messagebanreasonsizeof(messagebanreason), "REASON: %s"reason);
        
SendClientMessage(pIDCOLOR_BRIGHTREDmessagebanreason);
        
format(messagebanadminsizeof(messagebanadmin), "ADMIN WHO BANNED: %s"playername[playerid]);
        
SendClientMessage(pIDCOLOR_BRIGHTREDmessagebanadmin);
        
SetTimerEx("bantimerjunior"1000false"i"pID);
        
format(banserversizeof(banserver), "Admin-ban: %s(%d) has been banned from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessageToAll(COLOR_BRIGHTREDbanserver);
        
format(banasizeof(bana), "You have banned %s(%d) from the server (Reason: %s)."pIDnamepIDreason);
        
SendClientMessage(playeridCOLOR_ADMINBLUEbana);
        return 
1;
    }
}
forward bantimersenior(pID);
public 
bantimersenior(pID)
{
    
Kick(pID);
}
forward bantimerjunior(pID);
public 
bantimerjunior(pID)
{
    
Kick(pID);
}
// /packet[dcmd]
dcmd_packet(playeridparams[])
{
    new 
pID;
    if(
adminlevel[playerid]==0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel[playerid]==1) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /packet [name/id]");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    
GivePlayerWeapon(pID34100);
    
GivePlayerWeapon(pID460);
    
GivePlayerWeapon(pID24200);
    
GivePlayerWeapon(pID322500);
    
GivePlayerWeapon(pID261000);
    
GivePlayerWeapon(pID312000);
    
SetPlayerArmour(pID100.0);
    
GivePlayerMoney(pID15000);
    
SendClientMessage(playeridCOLOR_ADMINBLUE"You gave a SARCR packet to this player.");
    if(
adminlevel[playerid] == 10) return SendClientMessage(pIDCOLOR_GREEN"Packet received: You received a packet from the Senior admin AmalM.");
    
SendClientMessage(pIDCOLOR_GREEN"Packet received: You received a packet from adn admin.");
    return 
1;
}
// /slap[dcmd]
dcmd_slap(playeridparams[])
{
    new 
pIDslapserver[128], pIDname[128];
    if(
adminlevel[playerid]==0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct uage: /slap [name/id]");
    if(
playerid==pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot slap yourself");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    
SendClientMessage(pIDCOLOR_ORANGE"You have been slapped by an admin. Ouch.");
    
GameTextForPlayer(pID"~r~SLAPPED"20004);
    
GetPlayerName(pIDpIDnamesizeof(pIDname));
    
format(slapserversizeof(slapserver), "%s(%d) has been slapped by an admin."pIDnamepID);
    
SendClientMessageToAll(COLOR_BRIGHTREDslapserver);
    return 
1;
}
// /tptome[dcmd]
new Float:adminxFloat:adminyFloat:adminz;
dcmd_tptome(playeridparams[])
{
    new 
pID;
    if(
adminlevel[playerid]==0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel[playerid]==1) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /tptome [name/id]");
    if(
playerid==pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: The requested player is you.");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    
GetPlayerPos(playeridadminxadminyadminz);
    
SetPlayerPos(pIDadminx+2adminyadminz);
    
SendClientMessage(playeridCOLOR_ADMINBLUE"The requested player has been teleported to your location successfully.");
    
SendClientMessage(pIDCOLOR_ORANGE"An admin has teleported you to his position.");
    return 
1;
}
// /tptoplayer[dcmd]
new Float:playerx,Float:playeryFloat:playerz;
dcmd_tptoplayer(playeridparams[])
{
    new 
pID;
    if(
adminlevel[playerid]==0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel[playerid]==1) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /tptoplayer [name/id]");
    if(
playerid==pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: The requested player is you.");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    
GetPlayerPos(pIDplayerxplayeryplayerz);
    
GetPlayerPos(playeridadminxadminyadminz);
    
SetPlayerPos(playeridplayerx+2playeryplayerz);
    
SendClientMessage(playeridCOLOR_ADMINBLUE"You have been successfully teleported to the requested player's position.");
    return 
1;
}
// /spectate[dcmd]
dcmd_spectate(playeridparams[])
{
    new 
pIDvehicleid;
    if(
adminlevel[playerid]==0) return SendClientMessage(playeridCOLOR_WHITE"Server: Unrecognized command, type /commands to see the commands available for you.");
     if(
adminlevel[playerid]<2) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correcy usage: /spectate [name/id]");
    if(
playerid==pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: The requested player is you.");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    if(
IsPlayerInAnyVehicle(pID))
    {
         
TogglePlayerSpectating(playerid1);
        
vehicleid=GetPlayerVehicleID(pID);
        
PlayerSpectateVehicle(playeridvehicleid);
        
spectating[playerid]=1;
    }
    else
    {
        
TogglePlayerSpectating(playerid1);
         
PlayerSpectatePlayer(playeridpID);
        
spectating[playerid]=1;
    }
    return 
1;
}
// /mute[dcmd]
dcmd_mute(playeridparams[])
{
    new 
pIDtimereason[128];
    if(
adminlevel[playerid]==0) return SendClientMessage(playeridCOLOR_WHITE"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
adminlevel[playerid]<2) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
sscanf(params"uds"pIDtimereason)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /mute [name/id] [seconds] [reason]");
    if(!
IsPlayerConnected(pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This player is not connected.");
    if(
playerid==pID) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot mute yourself.");
    new 
pIDadminlevel;
    
INI_ParseFile(UserPath(pID), "LoadUser_%s", .bExtra true, .extra pID);
    
pIDadminlevelPlayerInfo[pID][pAdmin];
    if(
pIDadminlevel>0)
    {
        if(
adminlevel[playerid]==10)
        {
            
muted[pID] = 1;
            new 
amalmuteclient[128], amalmuteserver[128];
            
format(amalmuteclientsizeof(amalmuteclient), "You have been muted by the Senior Admin AmalM for %d seconds (Reason: %s)."timereason);
            
SendClientMessage(pIDCOLOR_BRIGHTREDamalmuteclient);
            new 
pName[128];
            
GetPlayerName(pIDpNamesizeof(pName));
            
format(amalmuteserversizeof(amalmuteserver), "Admin-mute: %s(%d) has been muted by the Senior Admin AmalM for %d seconds (Reason: %s)."pNamepIDtimereason);
            
SendClientMessageToAll(COLOR_BRIGHTREDamalmuteserver);
            
SetTimerEx("amalmute"time*1000false"is"pIDpName);
        }
        else
        {
            
muted[pID] = 1;
            new 
muteclient[128], muteserver[128];
            
format(muteclientsizeof(muteclient), "You have been muted by an admin for %d seconds (Reason: %s)."timereason);
            
SendClientMessage(pIDCOLOR_BRIGHTREDmuteclient);
            new 
pName[128];
            
GetPlayerName(pIDpNamesizeof(pName));
            
format(muteserversizeof(muteserver), "Admin-mute: %s(%d) has been muted for %d seconds (Reason: %s)."pNamepIDtimereason);
               
SendClientMessageToAll(COLOR_BRIGHTREDmuteserver);
            
SetTimerEx("mute"time*1000false"i"pIDpName);
        }
    }
    return 
1;
}
forward amalmute(pIDpName);
public 
amalmute(pIDpName)
{
    
muted[pID] = 0;
    
SendClientMessage(pIDCOLOR_BRIGHTRED"You have been auto-unmuted.");
    new 
unmuted[128];
    
format(unmutedsizeof(unmuted), "Auto-unmute: %s(%d) has been auto-unmuted."pNamepID);
    
SendClientMessageToAll(COLOR_BRIGHTREDunmuted);
    return 
1;
}
forward mute(pIDpName);
public 
mute(pIDpName)
{
    
muted[pID] = 0;
    
SendClientMessage(pIDCOLOR_BRIGHTRED"You have been auto-unmuted.");
    new 
unmuted[128];
    
format(unmutedsizeof(unmuted), "Auto-unmute: %s(%d) has been auto-unmuted."pNamepID);
    
SendClientMessageToAll(COLOR_BRIGHTREDunmuted);
    return 
1;
}
// /forcedutyon[dcmd]
dcmd_forcedutyon(playeridparams[])
{
    new 
pID;
    if(
adminlevel[playerid]==0) return SendClientMessage(playeridCOLOR_WHITE"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /forcedutyon [name/id]");
    if(
adminlevel[playerid]<5) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
adminlevel[pID]>4) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot force duty on an admin of this rank.");
    
admduty[pID]=1;
    if(
adminlevel[playerid]==10) return SendClientMessage(pIDCOLOR_BRIGHTRED"Senior admin AmalM has forced you to be on duty.");
    
SendClientMessage(pIDCOLOR_BRIGHTRED"A senior admin has forced you to be on duty.");
    return 
1;
}
// /forcedutyoff[dcmd]
dcmd_forcedutyoff(playeridparams[])
{
    new 
pID;
    if(
adminlevel[playerid]==0) return SendClientMessage(playeridCOLOR_WHITE"Server: Unrecognized command, type /commands to see the commands available for you.");
    if(
sscanf(params"u"pID)) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /forcedutyoff [name/id]");
    if(
adminlevel[playerid]<5) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
    if(
adminlevel[pID]>4) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You cannot force duty of an admin of this rank.");
    
admduty[pID]=1;
    if(
adminlevel[playerid]==10) return SendClientMessage(pIDCOLOR_BRIGHTRED"Senior admin AmalM has forced you to be off duty.");
    
SendClientMessage(pIDCOLOR_BRIGHTRED"A senior admin has forced you to be off duty.");
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
// /help
    
if (strcmp("/help"cmdtexttrue10) == 0)
    {
        
SendClientMessage(playeridCOLOR_WHITE" Read /rules and /pc. Type /commands to see the commands available for you.");
        return 
1;
    }
// /kill
    
if (strcmp("/kill"cmdtexttrue10) == 0)
    {
        
wantedlevel=GetPlayerWantedLevel(playerid);
        if (
life==1)
        {
            if (
wantedlevel==0)
            {
                new 
suicide[128];
                
format (suicidesizeof(suicide), "%s has committed suicide using /kill."playername[playerid]);
                
SendClientMessageToAll(COLOR_BRIGHTREDsuicide);
                
SetPlayerHealth(playerid0.0);
                
score=GetPlayerScore(playerid);
                
score--;
                
SetPlayerScore(playeridscore);
                return 
1;
            }
            else
            {
                
SendClientMessage(playeridCOLOR_YELLOW"You cannot use this command when cops are looking for you.");
                return 
1;
            }
        }
        else
        {
            
SendClientMessage(playeridCOLOR_ORANGE,"You are already dead.");
            return 
1;
        }
    }
// /me
    
if (strcmp(cmdtext"/me "true4) == 0)
    {
        if(!
cmdtext[4])return SendClientMessage(playeridCOLOR_ORANGE"Correct Usage: /me [action]");
        if(
muted[playerid] > 0) return SendClientMessage(playeridCOLOR_ORANGE"You cannot use this command when you are muted.");
        new 
actionme[128];
        
format (actionmesizeof(actionme), "*%s %s"playername[playerid], cmdtext[4]);
        
SendLocalMessage(playeridCOLOR_PINK7actionme);
        return 
1;
    }
// /do
    
if (strcmp(cmdtext,"/do "true4) == 0)
    {
        if(!
cmdtext[4])return SendClientMessage(playeridCOLOR_ORANGE"Correct Usage: /do [message]");
        if(
muted[playerid] > 0) return SendClientMessage(playeridCOLOR_ORANGE"You cannot use this command when you are muted.");
        new 
actiondo[128];
        
format (actiondosizeof(actiondo), "*%s((%s))"cmdtext[4], playername[playerid]);
        
SendLocalMessage(playerid,COLOR_PINK,7actiondo);
        return 
1;
    }
// /do
    
if (strcmp(cmdtext"/w "true3) == 0)
    {
        if(!
cmdtext[3])return SendClientMessage(playeridCOLOR_ORANGE"Correct Usage: /w [message]");
        if(
muted[playerid] > 0) return SendClientMessage(playeridCOLOR_ORANGE"You cannot use this command when you are muted.");
        new 
wmessage[128];
        
format (wmessagesizeof(wmessage), "(Local) %s(%d): %s"playername[playerid], playeridcmdtext[3]);
        
SendLocalMessage(playeridCOLOR_YELLOW7wmessage);
        return 
1;
    }
// /cc
    
if(strcmp(cmdtext"/cc"true15) == 0)
    {
        if(
adminlevel[playerid]>0)
        {
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"");
            
SendClientMessageToAll(COLOR_ORANGE"An admin has cleared the chat.");
        }
        else
        {
            
SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
        }
        return 
1;
    }
// /announce
    
if(strcmp(cmdtext"/announce "true10) == 0)
    {
        if(
adminlevel[playerid]>0)
        {
            if(!
cmdtext[10]) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /announce [message]");
            
SendClientMessageToAll(COLOR_ADMINBLUEcmdtext[10]);
        }
        else
        {
            
SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
        }
        return 
1;
    }
// /stopspectate
    
if(strcmp(cmdtext"/stopspectate"true20) == 0)
    {
        if(
adminlevel[playerid]==0) return SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
        if(
adminlevel[playerid]<2) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: This command is unavailable for your admin rank.");
        if(
spectating[playerid]==0) return SendClientMessage(playeridCOLOR_ADMINBLUE"ERROR: You are not spectating[playerid] anyone.");
        
TogglePlayerSpectating(playerid0);
        return 
1;
    }
// /adm
    
if(strcmp(cmdtext"/adm "true5) == 0)
    {
        if(
adminlevel[playerid]==0) return SendClientMessage(playeridCOLOR_WHITE"Server: Unrecognized command, type /commands to see the commands available for you.");
        if(!
cmdtext[5]) return SendClientMessage(playeridCOLOR_ADMINBLUE"Correct usage: /adm [message]");
        for(new 
i=0i<MAX_PLAYERSi++)
        {
             new 
iadminlevel;
            
INI_ParseFile(UserPath(i), "LoadUser_%s", .bExtra true, .extra i);
            
iadminlevelPlayerInfo[i][pAdmin];
            new 
admmessage[128];
            
format(admmessagesizeof(admmessage), "(Admin Chat) %s: %s"playername[playerid], cmdtext[5]);
            if(
iadminlevel>0) return SendClientMessage(iCOLOR_ADMINBLUEadmmessage);
        }
        return 
1;
    }
// /kick
    
dcmd (kick4cmdtext);
// /ban
    
dcmd (ban3cmdtext);
// /packet
    
dcmd (packet6cmdtext);
// /slap
    
dcmd (slap4cmdtext);
// /tptome
    
dcmd (tptome6cmdtext);
// /tptoplayer
    
dcmd (tptoplayer10cmdtext);
// /spectate
    
dcmd (spectate8cmdtext);
// /mute
    
dcmd (mute4cmdtext);
// /forcedutyon
    
dcmd (forcedutyon11cmdtext);
// /forcedutyoff
    
dcmd (forcedutyoff12cmdtext);
    return 
SendClientMessage(playeridCOLOR_WHITE,"Server: Unrecognized command, type /commands to see the commands available for you.");
}
public 
OnPlayerEnterVehicle(playeridvehicleidispassenger)
{
    return 
1;
}
public 
OnPlayerExitVehicle(playeridvehicleid)
{
    return 
1;
}
public 
OnPlayerStateChange(playeridnewstateoldstate)
{
    return 
1;
}
public 
OnPlayerEnterCheckpoint(playerid)
{
    return 
1;
}
public 
OnPlayerLeaveCheckpoint(playerid)
{
    return 
1;
}
public 
OnPlayerEnterRaceCheckpoint(playerid)
{
    return 
1;
}
public 
OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 
1;
}
public 
OnRconCommand(cmd[])
{
    return 
1;
}
public 
OnPlayerRequestSpawn(playerid)
{
    return 
1;
}
public 
OnObjectMoved(objectid)
{
    return 
1;
}
public 
OnPlayerObjectMoved(playeridobjectid)
{
    return 
1;
}
public 
OnPlayerPickUpPickup(playeridpickupid)
{
    return 
1;
}
public 
OnVehicleMod(playeridvehicleidcomponentid)
{
    return 
1;
}
public 
OnVehiclePaintjob(playeridvehicleidpaintjobid)
{
    return 
1;
}
public 
OnVehicleRespray(playeridvehicleidcolor1color2)
{
    return 
1;
}
public 
OnPlayerSelectedMenuRow(playeridrow)
{
    return 
1;
}
public 
OnPlayerExitedMenu(playerid)
{
    return 
1;
}
public 
OnPlayerInteriorChange(playeridnewinterioridoldinteriorid)
{
    return 
1;
}
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    return 
1;
}
public 
OnRconLoginAttempt(ip[], password[], success)
{
    return 
1;
}
public 
OnPlayerUpdate(playerid)
{
    return 
1;
}
public 
OnPlayerStreamIn(playeridforplayerid)
{
    return 
1;
}
public 
OnPlayerStreamOut(playeridforplayerid)
{
    return 
1;
}
public 
OnVehicleStreamIn(vehicleidforplayerid)
{
    return 
1;
}
public 
OnVehicleStreamOut(vehicleidforplayerid)
{
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch( 
dialogid )
    {
        case 
DIALOG_REGISTER:
        {
            
SendClientMessage(playeridCOLOR_INDIGO"Your name should not contain spaces.");
              
SendClientMessage(playeridCOLOR_INDIGO"If you need to seperate your last name, don't use space, use _ instead.");
            
SendClientMessage(playeridCOLOR_INDIGO"If your current name have spaces, please relog now with a valid name.");
            if (!
response)
            {
                new 
stringserver[128];
                
SendClientMessage(playeridCOLOR_BRIGHTRED"You have been kicked from the server (Reason: Failed to register).");
                
Kick (playerid);
                
format(stringserversizeof(stringserver), "Auto-kick: %s has been kicked from the server (Reason: Failed to register)."playername[playerid]);
                
SendClientMessageToAll(COLOR_BRIGHTREDstringserver);
                return 
1;
            }
            else if(
response)
            {
                if(!
strlen(inputtext)) return ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT""COL_WHITE"Register.",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
                new 
INI:File INI_Open(UserPath(playerid));
                
INI_SetTag(File,"data");
                
INI_WriteInt(File,"Password",udb_hash(inputtext));
                
INI_WriteInt(File,"Cash",0);
                
INI_WriteInt(File"Admin",0);
                
INI_WriteInt(File,"Score",0);
                
INI_WriteInt(File,"Banned",0);
                
INI_WriteInt(File,"Banreason",0);
                
INI_WriteInt(File,"Adminwhobanned",0);
                
INI_Close(File);
                new 
playerip[128], ipinlog[128], registered[128];
                
GetPlayerIp(playeridplayeripsizeof(playerip));
                new 
File:log=fopen("Logs/Mainlog.log"io_append);
                
format(ipinlogsizeof(ipinlog), "\r\nPlayer IP (%s) = %s"playername[playerid], playerip);
                
fwrite(logipinlog);
                
format(registeredsizeof(registered), "\r\n%s has registered."playername[playerid]);
                
fwrite(logregistered);
                
fclose(log);
                new 
userpath[128];
                
format(userpathsizeof(userpath), "UserIPs/%s.txt"playername[playerid]);
                new 
File:userip=fopen(userpathio_append);
                
fwrite(useripplayerip);
                
fclose(userip);
                
SpawnPlayer(playerid);
                new 
registersuccess[128];
                
format(registersuccesssizeof(registersuccess),"Great! You have been successfully registered under the password %s."inputtext);
                
SendClientMessage(playeridCOLOR_GREENregistersuccess);
            }
        }
        case 
DIALOG_LOGIN:
        {
            if ( !
response )
            {
                new 
stringserver[128];
                
SendClientMessage(playeridCOLOR_BRIGHTRED"You have been kicked from the server (Reason: Failed to login).");
                
Kick (playerid);
                
format(stringserversizeof(stringserver), "Auto-kick: %s has been kicked from the server (Reason: Failed to login)."playername[playerid]);
                
SendClientMessageToAll(COLOR_BRIGHTREDstringserver);
                return 
1;
            }
            else if( 
response )
            {
                if(
udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra true, .extra playerid);
                    
GivePlayerMoney(playeridPlayerInfo[playerid][pCash]);
                    
SetPlayerScore(playeridPlayerInfo[playerid][pScore]);
                    
adminlevel[playerid]=PlayerInfo[playerid][pAdmin];
                    
SendClientMessage(playeridCOLOR_GREEN"You have been successfully logged in. Enjoy!");
                    new 
playerip[128], ipinlog[128], loggedin[128];
                    
GetPlayerIp(playeridplayeripsizeof(playerip));
                    new 
File:log=fopen("Logs/Mainlog.log"io_append);
                    
format(ipinlogsizeof(ipinlog), "\r\nPlayer IP (%s) = %s"playername[playerid], playerip);
                    
fwrite(logipinlog);
                    
format(loggedinsizeof(loggedin), "\r\n%s has logged in."playername[playerid]);
                    
fwrite(logloggedin);
                    
fclose(log);
                    new 
userpath[128];
                    
format(userpathsizeof(userpath), "UserIPs/%s.txt"playername[playerid]);
                    new 
File:userip=fopen(userpathio_append);
                    new 
stringplayerip[128];
                    
format(stringplayeripsizeof(stringplayerip), "\r\n%s"playerip);
                    
fwrite(useripstringplayerip);
                    
fclose(userip);
                }
                else
                {
                    
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
                }
                return 
1;
            }
        }
    }
    return 
1;
}
public 
OnPlayerClickPlayer(playeridclickedplayeridsource)
{
    return 
1;

Still I have problems in the variable 'playername' like; when I a player named AmalM joins, it sometimes writes "malM has joined San Andreas Roleplay/Cops......." without the first letter. This also happens with local chat '/w'.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)