Code:
//==============================================================================
// Includes
//==============================================================================
#include <a_samp>
#include <lfuncs>
#include <ldudb>
#include <mSelection>
//==============================================================================
#define MAX_STRING 255
//==============================================================================
native WP_Hash(buffer[], len, const str[]);
#pragma dynamic 145000
//==============================================================================
//------------------------------------------------------------------------------
// CONFIGURATION
//------------------------------------------------------------------------------
//==============================================================================
//==============================================================================
// AdminScript Defines Config
// Only Numbers!
//==============================================================================
//------------------------------------------------
#define MAX_WARNINGS 3
// Max Warnings
//------------------------------------------------
#define MAX_RCON_ATTEMPS 5
// Max Rcon Attemps
//------------------------------------------------
#define MAX_REPORTS 7
// Number Max of Reports per Player
//------------------------------------------------
#define MAX_CHAT_LINES 7
// Number of chat lines to view in Sv Console
//------------------------------------------------
#define SPAM_MAX_MSGS 5
// Max Spam Messages
//------------------------------------------------
#define SPAM_TIMELIMIT 8
// In seconds
//------------------------------------------------
#define PING_MAX_EXCEEDS 4
// Max Ping Exceeds
//------------------------------------------------
#define PING_TIMELIMIT 60
// In seconds
//------------------------------------------------
#define MAX_FAIL_LOGINS 3
// Max Login Attempts
//------------------------------------------------
#define MAX_ADV_WARNINGS 3
// Max Warnings per Advertisements
//------------------------------------------------
#define ANNOUNCES_TIME 6000
// Duration(Miliseconds) of every message in announcements (Only if "Announcements" is enabled) (Default: 6 secs)
//------------------------------------------------
//==============================================================================
// -> Disable/Enable
// true = Enable | false = Disable
//==============================================================================
//------------------------------------------------
#define EnableSpec true
// Enable/Disable Spectating System (If you already using disable it. Set to 'false')
//------------------------------------------------
#define SaveLogs true
// Set 'false' if your server runs Linux (Logs wont be Saved!)
//------------------------------------------------
#define PM_CHAT_LOG true
// Enable/Disable to save PMs in Log
//------------------------------------------------
#define ADM_CHAT_LOG true
// Enable/Disable to save AdmChat in Log
//------------------------------------------------
#define USE_DIALOGS true
// Enable/Disable All Dialogs (Not Disable SERVER PASSWORD DIALOG)
//------------------------------------------------
#define USE_STATS true
// Enable/Disable Statistics
//------------------------------------------------
#define ADM_InMSG false
// Put 'admin' in all messages sent by administrators (Ex: David(Admin): Welcome...)
//------------------------------------------------
#define SaveScore true
// Enable/Disable to save Player's Score
//------------------------------------------------
#define GpsCheckPoint true
// Enable/Disable use RaceCheckpoints for indicate players In GPS.
//------------------------------------------------
#define GpsOnlyCity true
// True = Gps Show Only player City | False = Gps Show Player City and Zone.
//------------------------------------------------
#define ConfigInConsole true
// Enable/Disable to Show Basic AdmScript Configuration in Console (When start the AdmScript)
//------------------------------------------------
#define EnableTwoRcon true
// Enable/Disable Two Rcon Passwords (2 Rcon passwords for more security!)
//------------------------------------------------
#define EnableCamHack true
// Enable/Disable LuxCam System - Administrators can move the camera! (Original By Sandra, modified by Me)
//------------------------------------------------
#define EnablePM_Cmd true
// Enable/Disable PM Command
//------------------------------------------------
#define EnableSecurity false
// Enable/Disable Security question
//------------------------------------------------
//==============================================================================
// -> Only SA-MP Keys (Use 0 to disable)
//==============================================================================
//------------------------------------------------
#define ExecuteCmdKey KEY_ANALOG_LEFT
// Enable/Disable dialog for execute commands open with pressed Key!
//------------------------------------------------
//==============================================================================
// -> Use Two Rcon Passwords (Only if 'EnableTwoRcon' is enabled(True) !)
//==============================================================================
//------------------------------------------------
#define TwoRconPass "adminadmin"
//Define the Second RCON Password
//------------------------------------------------
//==============================================================================
// -> Account Commands
// WARNING: Not exceed 20 characters and is not recommended to use spaces!
//==============================================================================
//------------------------------------------------
#define RegisterCommand "register"
// Define the Register Command
//------------------------------------------------
#define LoginCommand "login"
// Define the Login Command
//------------------------------------------------
#define ChangePassCommand "changepass"
// Define the ChangePassword Command
//------------------------------------------------
//==============================================================================
// -> Admin Name COLOR (In command /ADMINS) (Default: LIGHTBLUE2 and Orange)
//==============================================================================
//------------------------------------------------
#define Color_Basic_Moderator orange
//Level 1
//------------------------------------------------
#define Color_Moderator orange
//Level 2
//------------------------------------------------
#define Color_Master_Moderator orange
//Level 3
//------------------------------------------------
#define Color_Administrator orange
//Level 4
//------------------------------------------------
#define Color_Master_Administrator orange
//Level 5
//------------------------------------------------
#define Color_Professional_Admin orange
//Level +5 (ex:6,7,8...)
//------------------------------------------------
#define Color_RCON_Administrator LIGHTBLUE2
//Rcon Admin
//------------------------------------------------
//==============================================================================
// -> CamHack Configurations
// WARNING: Not modify if you not have experience!
//==============================================================================
#if EnableCamHack == true
//------------------------------------------------
#define SPEED_ROTATE_LEFTRIGHT_SLOW 0.5
//------------------------------------------------
#define SPEED_ROTATE_LEFTRIGHT_FAST 2.0
//------------------------------------------------
#define SPEED_ROTATE_UPDOWN_SLOW 0.05
//------------------------------------------------
#define SPEED_ROTATE_UPDOWN_FAST 0.15
//------------------------------------------------
#define SPEED_MOVE_UPDOWN_SLOW 0.25
//------------------------------------------------
#define SPEED_MOVE_UPDOWN_FAST 1.0
//------------------------------------------------
#define SPEED_MOVE_FORWARDBACKWARD_SLOW 0.4
//------------------------------------------------
#define SPEED_MOVE_FORWARDBACKWARD_FAST 2.0
//------------------------------------------------
#define SPEED_MOVE_LEFTRIGHT_SLOW 0.4
//------------------------------------------------
#define SPEED_MOVE_LEFTRIGHT_FAST 2.0
//------------------------------------------------
#endif
//==============================================================================
//CONFIG END!
//-----------
//==============================================================================
// Colours
//==============================================================================
#define LIGHTGREEN 0x38FF06FF
#define LIGHTBLUE2 0xF6BB0AA
#define LIGHTBLUE 0x0BBF6AA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_PURPLE 0x800080AA
#define COLOR_BLACK 0x000000AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREEN1 0x33AA33AA
#define COLOR_BROWN 0xA52A2AAA
#define blue 0x375FFFFF
#define BlueMsg 0x0BBF6AA
#define white 0xFFFFFFAA
#define red 0xFF0000AA
#define lightred 0xFB0000AA
#define green 0x33FF33AA
#define yellow 0xFFFF00AA
#define grey 0xC0C0C0AA
#define Green1 0x53D212FF
#define Green2 0x129E12FF
#define blue1 0x2641FEAA
#define orange 0xFF9900AA
#define black 0x2C2727AA
#define COL_WHITE "{FFFFFF}"
#define COL_BLACK "{0E0101}"
#define COL_GREY "{C3C3C3}"
#define COL_GREEN "{6EF83C}"
#define COL_RED "{F81414}"
#define COL_YELLOW "{F3FF02}"
#define COL_ORANGE "{FFAF00}"
#define COL_LIME "{B7FF00}"
#define COL_CYAN "{00FFEE}"
#define COL_BLUE "{0049FF}"
#define COL_MAGENTA "{F300FF}"
#define COL_VIOLET "{B700FF}"
#define COL_PINK "{FF00EA}"
#define COL_MARONE "{A90202}"
//==============================================================================
// CapsLock
//==============================================================================
#define UpperToLower(%1) for(new ToLowerChar; ToLowerChar < strlen( %1 ); ToLowerChar ++ ) if ( %1[ ToLowerChar ]> 64 && %1[ ToLowerChar ] < 91 ) %1[ ToLowerChar ] += 32
//==============================================================================
// Spectator
//==============================================================================
#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1
#define ADMIN_SPEC_TYPE_VEHICLE 2
//==============================================================================
// Dialogs
//==============================================================================
#define DIALOGID 2222
#define DIALOG_TYPE_SERVLOCK 7002
#define DIALOG_TYPE_SERVUNLOCK 7001
#define DIALOG_TYPE_SERVPASS 7003
#define DIALOG_TYPE_RCON2 7004
#define DIALOG_TYPE_QUESTION 7010
#define DIALOG_TYPE_PM 7000
#define DIALOG_WEAPONS 10
#define DIALOG_VEHICLES 11
#define DIALOG_SKINS 12
//==============================================================================
// Zones
//==============================================================================
#define MAX_ZONE_NAME 28
//==============================================================================
// Variables
//==============================================================================
//==============================================================================
// -> Random Messages (Announcements)
//(Only if "Announcements" is enable in Config file)
//==============================================================================
new RandomMessages[][] =
{
"Suspect of ~r~Cheaters? ~w~Use ~y~/report [id] (reason)",
"Respect ~b~all server ~y~Rules!",
"Buy a ~g~VIP ~w~Account ~b~Today! For access lot of new ~y~features!",
"You not visited we ~g~site?~w~ Visit now: ~p~www.Here.com"
};
//==============================================================================
#if EnablePM_Cmd == true
new PmReceiver[MAX_PLAYER_NAME];
new PMplayer1;
#endif
enum e_Register {
sCommand[12],
CommandLen
}
new RegisterCommands[3][e_Register]= {
{""#RegisterCommand"",-1},{""#LoginCommand"",-1},{""#ChangePassCommand"",-1}
};
#define CMD_REGISTER \
RegisterCommand
#define CMD_REGISTER_LEN \
RegisterCommands[0][CommandLen]
#define CMD_LOGIN \
LoginCommand
#define CMD_LOGIN_LEN \
RegisterCommands[1][CommandLen]
#define CMD_CHANGEPASS \
ChangePassCommand
#define CMD_CHANGEPASS_LEN \
RegisterCommands[2][CommandLen]
#if EnableCamHack == true
new Float:PCP[MAX_PLAYERS][3]; // PCP = PlayerCameraPosition
new Float:PCL[MAX_PLAYERS][3]; // PCL = PlayerCameraLookat
new Float:PCA[MAX_PLAYERS]; // PCA = PlayerCameraAngle
new KeyTimer[MAX_PLAYERS];
new KeyState[MAX_PLAYERS];
new FollowOn[MAX_PLAYERS];
#endif
new cd_f,cd_sec,cd_timer, CdStated = 0, cdt[MAX_PLAYERS] = -1;
new Text:Announcements;
new AdminArea[6] = { 377,170,1008,90,3,0 //X,Y,Z,Angle,Interior,VirtualWorld
};
new LVersion[] = "v1.6 Beta";
enum PlayerData
{
Registered,
LoggedIn,
pVip,
Level,
Muted,
SpamCount,
MaxAdv,
#if EnableTwoRcon == true
MaxRcon,
#endif
SpamTime,
Caps,
Kills,
Deaths,
God,
Spawned,
TimesSpawned,
hours,
mins,
secs,
MuteWarnings,
Warnings,
TotalTime,
ConnectTime,
GodCar,
pColour,
pCar,
DoorsLocked,
Frozen,
FreezeTime,
PingTime,
PingCount,
pPing[PING_MAX_EXCEEDS],
BotPing,
Hide,
OnDuty,
Jailed,
JailTime,
blipS,
blip,
SpecType,
SpecID,
FailLogin,
bool:AllowedIn,
pCaged,
pInvis,
pCageTime,
pGps,
NoQuestion,
#if EnableCamHack == true
InCamMod,
LockedCam,
#endif
};
enum ServerData
{
AntiSwear,
AntiSpam,
MaxAdminLevel,
MaxPing,
ReadPMs,
Locked,
Password[128],
ReadCmds,
NoCaps,
AntiBot,
AdminOnlySkins,
AdminSkin,
AdminSkin2,
NameKick,
PartNameKick,
ConnectMessages,
DisableChat,
AdminCmdMsg,
GiveMoney,
GiveWeap,
AutoLogin,
MustLogin,
MustRegister,
ForbiddenWeaps,
MaxMuteWarnings,
AntiAds,
Announce,
};
new AccInfo[MAX_PLAYERS][PlayerData],
ServerInfo[ServerData],
AdmRank[128],
AdmDuty[128],
AccType[128],
ServerLockPass[128],
BadWords[100][100], BadWordsCount = 0,
Float:Pos[MAX_PLAYERS][4],
Chat[MAX_CHAT_LINES][128],
PingTimer,
GodTimer,
BlockedPartName[100][100], BlockedPartNameCount = 0,
Float:LPosX[MAX_PLAYERS],
Float:LPosY[MAX_PLAYERS],
Float:LPosZ[MAX_PLAYERS],
PingPos,
IsDisable[MAX_PLAYERS],
pColor;
new Text:GpsTD[MAX_PLAYERS];
new VehicleNames[212][] = {
{"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},
{"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},
{"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},
{"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},
{"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
{"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
{"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
{"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
{"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
{"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
{"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
{"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
{"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
{"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
{"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},
{"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
{"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},
{"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},
{"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},
{"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
{"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
{"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
{"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},
{"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
{"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},
{"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
{"Utility Trailer"}
};
new BlockedNames[100][100],
BlockedNamesCount = 0,
BlipTimer[MAX_PLAYERS],
JailTimer[MAX_PLAYERS],
FreezeTimer[MAX_PLAYERS],
LockKickTimer[MAX_PLAYERS],
InDuel[MAX_PLAYERS],
Reports[MAX_REPORTS][128];
new cage[MAX_PLAYERS],
cage2[MAX_PLAYERS],
cage3[MAX_PLAYERS],
cage4[MAX_PLAYERS];
//==============================================================================
// Mselection data
//==============================================================================
new mp_vehicles[207] = {
400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,
431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,450,451,452,453,454,455,456,457,458,459,460,461,
462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,
493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,
524,525,526,527,528,529,530,531,532,533,534,535,536,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,
555,556,557,558,559,560,561,562,563,564,565,566,567,568,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,
586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611
};
new m_skins[300] = {
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,
97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,
132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,
167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,
202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,
237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,
272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299
};
new m_weaps[38] = {
331,333,334,335,336,337,338,339,341,321,322,323,324,325,326,343,346,347,348,349,350,351,352,353,355,356,372,357,358,361,363,364,365,366,367,368,
369,371
};
//==============================================================================
// Forwards
//==============================================================================
forward ConnectedPlayers();
forward Jail1(player1);
forward RandomMessage();
forward VehicleOccupied(vehicleid);
forward WeaponCheck(playerid);
forward CheckKeyPress(playerid);
forward Duel(player1, player2);
forward FollowPlayer(playerid);
forward CagePlayer(playerid);
forward UnCagePlayer(playerid);
forward CagePrevent(playerid);
forward AutoKick(playerid);
forward DelayKillPlayer(playerid);
forward HighLight(playerid);
forward ReturnPosition(playerid);
forward LoadForbiddenWeapons();
forward CarSpawner(playerid,model);
forward VehRes(vehicleid);
forward EraseVeh(vehicleid);
forward Jail2(player1);
forward SaveTeleport();
forward Jail3(player1);
forward JailPlayer(player1);
forward UnjailPlayer(player1);
forward UnFreezeMe(player1);
forward PingKick();
forward UnloadFS();
forward RestartGM();
forward GodModUp();
forward BotCheck(playerid);
forward JailedPlayers();
forward FrozenPlayers();
forward MutedPlayers();
forward InVehTotal();
forward InCarCount();
forward OnBikeCount();
forward SaveIn(filename[],text[]);
forward RconAdminTotal();
forward LuxGpsSys(playerid);
forward PutAtPos(playerid);
forward AdminTotal();
forward CountDown(playerid);
forward PutAtDisconectPos(playerid);
forward MessageToAdmins(color,const string[]);
forward MessageToPlayerVIP(color,const string[]);
forward OnPlayerPrivmsg(playerid, recieverid, text[]);
//==============================================================================
//-------------------------------------------------
// FilterScript
//-------------------------------------------------
//==============================================================================
main() { }
public OnFilterScriptInit()
{
ShowConfigInConsole();
if (!fexist("/eAdmin/Config/TempBans.ban")){
new File:open = fopen("/eAdmin/Config/TempBans.ban",io_write);
if (open) fclose(open);
}
print("\n ___________________________________________________");
print(" ");
printf(" eAdmin %s ",LVersion);
print(" ---------------");
print(" Excel's & Luxurion's Administration System ");
print(" ___________________________________________________\n");
print(" -> Loading...");
CheckFolders();
UpdateConfig();
ReadTextDraws();
LoadCreatedTeles();
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
OnPlayerConnect(i);
for(new i = 1; i < MAX_CHAT_LINES; i++)
Chat[i] = "[NONE]";
for(new i = 1; i < MAX_REPORTS; i++)
Reports[i] = "[-NONE-]";
PingTimer = SetTimer("PingKick",5000,1);
GodTimer = SetTimer("GodModUp",2000,1);
SetTimer("WeaponCheck",800,true);
SetTimer("SaveTeleport",CTELE_TIMER,1);
SetTimer("LuxGpsSys",500,true);
SetTimer("RandomMessage",ANNOUNCES_TIME,1);
new year,month,day;
getdate(year, month, day);
new hour,minute,second;
gettime(hour,minute,second);
for(new i = 0; i < sizeof(RegisterCommands) ; i++ )
RegisterCommands[i][CommandLen]=strlen(RegisterCommands[i][sCommand]);
print(" -> Loaded Successfully!\n");
printf(" Date: %d/%d/%d - Time: %d:%d:%d",day,month,year,hour, minute, second);
print(" ___________________________________________________\n");
return 1;
}
//==============================================================================
public OnFilterScriptExit()
{
for(new i = 0; i < MAX_PLAYERS; i++)
TextDrawHideForPlayer(i, Announcements);
KillTimer(PingTimer); KillTimer(GodTimer);
SaveTeleport();
print("\n ___________________________________________________");
print(" ");
printf(" eAdmin %s ",LVersion);
print(" -------------");
print(" Excel's & Luxurion's Administration System ");
print(" ___________________________________________________\n");
print(" -> Unload!");
return 1;
}
//==============================================================================
//-------------------------------------------------
// Player Connected
//-------------------------------------------------
//==============================================================================
public OnPlayerConnect(playerid)
{
#if EnableCamHack == true
KeyState[playerid] = 0;
FollowOn[playerid] = 0;
AccInfo[playerid][InCamMod] = 0;
AccInfo[playerid][LockedCam] = 0;
#endif
AccInfo[playerid][Deaths] = 0;
AccInfo[playerid][Kills] = 0;
AccInfo[playerid][Jailed] = 0;
AccInfo[playerid][Frozen] = 0;
AccInfo[playerid][Level] = 0;
AccInfo[playerid][pVip] = 0;
AccInfo[playerid][LoggedIn] = 0;
AccInfo[playerid][Registered] = 0;
AccInfo[playerid][God] = 0;
AccInfo[playerid][GodCar] = 0;
AccInfo[playerid][TimesSpawned] = 0;
AccInfo[playerid][Muted] = 0;
AccInfo[playerid][MuteWarnings] = 0;
AccInfo[playerid][Warnings] = 0;
AccInfo[playerid][Caps] = 0;
AccInfo[playerid][DoorsLocked] = 0;
AccInfo[playerid][pCar] = -1;
AccInfo[playerid][SpamCount] = 0;
AccInfo[playerid][MaxAdv] = 0;
AccInfo[playerid][SpamTime] = 0;
AccInfo[playerid][PingCount] = 0;
AccInfo[playerid][PingTime] = 0;
AccInfo[playerid][FailLogin] = 0;
AccInfo[playerid][Hide] = 0;
AccInfo[playerid][pInvis] = 0;
AccInfo[playerid][OnDuty] = 0;
AccInfo[playerid][pGps] = -1;
#if EnableTwoRcon == true
AccInfo[playerid][MaxRcon] = 0;
#endif
AccInfo[playerid][ConnectTime] = gettime();
for(new i; i<PING_MAX_EXCEEDS; i++)
AccInfo[playerid][pPing][i] = 0;
//------------------------------------------------------
new string[128];
new str[128];
new file[256];
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
new tmp3[50]; GetPlayerIp(playerid,tmp3,50);
ResetForbiddenWeaponsForPlayer(playerid);
TempBanCheck(playerid);
//==============================================================================
// Connect Messages
//==============================================================================
if(ServerInfo[ConnectMessages] == 1)
{
new pAKA[256];
pAKA = dini_Get("/eAdmin/Config/aka.txt",tmp3);
if (strlen(pAKA) < 3)
format(str,sizeof(str),"[ User %s (Id: %d) has joined the server. ]", PlayerName,playerid);
else if (!strcmp(pAKA,PlayerName,true))
format(str,sizeof(str),"[ User %s (Id: %d) has joined the server. ]", PlayerName,playerid);
else format(str,sizeof(str),"[ User %s (Id: %d) has joined the server (Aka: %s). ]",PlayerName,playerid,pAKA);
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && playerid != i)
{
if(AccInfo[i][Level] > 2)
SendClientMessage(i,grey,str);
else
{
format(string,sizeof(string),"[ User %s (Id: %d) has joined the server. ]", PlayerName, playerid);
SendClientMessage(i,grey,string);
}
}
}
//==============================================================================
// If PlayerName is Banned
//==============================================================================
if (dUserINT(PlayerName2(playerid)).("Banned") == 1)
{
format(string,sizeof(string),"[ %s has been BANNED. ]",PlayerName2(playerid));
SendClientMessage(playerid, red, string);
SendClientMessage(playerid, red, "[ ATTENTION: This name is banned from this server. ]");
SendClientMessage(playerid, red, "[ NOTE: You should not ban evade. ]");
SendClientMessage(playerid, red, "[ NOTE: If you have no point of inocence, then don't try to be smart. ]");
SendClientMessage(playerid, red, "[ NOTE: Don't PM./chat with users or admins about your ban. ]");
SendClientMessage(playerid, red, "[ ATTENTION: Just type (/q) and go to our forums to post a BAN-APPEAL, You might have done something wrong. ]");
format(string,sizeof(string),"[ Player %s (Id: %d) has beenAutomatically Kicked. | Reason: Name Banned. ]",PlayerName,playerid);
SendClientMessageToAll(red, string); print(string);
SaveIn("KickLog",string); Kick(playerid);
}
//==============================================================================
// Kick Forbidden Name
//==============================================================================
if(ServerInfo[NameKick] == 1)
{
for(new s = 0; s < BlockedNamesCount; s++)
{
if(!strcmp(BlockedNames[s],PlayerName,true))
{
format(string,sizeof(string),"[ %s is in our 'Forbidden Name' list. ]",PlayerName2(playerid));
SendClientMessage(playerid, red, string);
SendClientMessage(playerid,red, "[ ATTENTION: Your name is on our Black List, you have been Kicked. ]");
SendClientMessage(playerid,red, "[ ATTENTION: Just type (/q) and come with a new username which is not in our ForbiddenName list. ]");
format(string,sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Forbidden Name. ]",PlayerName,playerid);
SendClientMessageToAll(red, string);
print(string);
SaveIn("KickLog",string);
Kick(playerid);
return 1;
}
}
}
//==============================================================================
// Kick Forbidden Part of Name
//==============================================================================
if(ServerInfo[PartNameKick] == 1)
{
for(new s = 0; s < BlockedPartNameCount; s++)
{
new pos;
while((pos = strfind(PlayerName,BlockedPartName[s],true)) != -1)
for(new i = pos, j = pos + strlen(BlockedPartName[s]); i < j; i++)
{
format(string,sizeof(string),"[ %s is in our 'Forbidden Part Of Name' list. ]",PlayerName2(playerid));
SendClientMessage(playerid, red, string);
SendClientMessage(playerid,red, "[ ATTENTION: Your name is not Allowed on this server, you have been Kicked. ]");
SendClientMessage(playerid,red, "[ ATTENTION: Just type (/q) and come with a new username which is not in our ForbiddenPartOfName list. ]");
format(string,sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Forbidden Name. ]",PlayerName,playerid);
SendClientMessageToAll(red, string); print(string);
SaveIn("KickLog",string); Kick(playerid);
return 1;
}
}
}
//==============================================================================
// Server Locked
//==============================================================================
if(ServerInfo[Locked] == 1)
{
AccInfo[playerid][AllowedIn] = false;
SendClientMessage(playerid,red,"[ Server is locked currently. ]");
SendClientMessage(playerid,red,"[ You have 40 seconds to enter the server Password. ]");
LockKickTimer[playerid] = SetTimerEx("AutoKick", 40000, 0, "i", playerid);
}
if (ServerInfo[Locked] == 1 && AccInfo[playerid][AllowedIn] == false)
{
ShowPlayerDialog(playerid, DIALOG_TYPE_SERVPASS, DIALOG_STYLE_INPUT,
"Server Locked:", ""COL_WHITE"Enter the password to Access in\n\n"COL_RED"NOTE:"COL_WHITE" If you are not allowed here, so dont try to unlock your access.\n"COL_WHITE"Actions could be taken!", "Access", "Exit");
}
//==============================================================================
// Register & Login
//==============================================================================
if(strlen(dini_Get("/eAdmin/Config/aka.txt", tmp3)) == 0)
dini_Set("/eAdmin/Config/aka.txt", tmp3, PlayerName);
else
{
if( strfind( dini_Get("/eAdmin/Config/aka.txt", tmp3), PlayerName, true) == -1 )
{
format(string,sizeof(string),"%s,%s", dini_Get("/eAdmin/Config/aka.txt",tmp3), PlayerName);
dini_Set("/eAdmin/Config/aka.txt", tmp3, string);
}
}
if(!udb_Exists(PlayerName2(playerid)))
SendClientMessage(playerid,orange, "[ SERVER: Your account isn't registered. Please register (/"#RegisterCommand"). ]");
else
{
AccInfo[playerid][Registered] = 1;
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName));
new tmp2[256]; tmp2 = dini_Get(file,"Ip");
if( (!strcmp(tmp3,tmp2,true)) && (ServerInfo[AutoLogin] == 1))
{
LoginPlayer(playerid);
if(AccInfo[playerid][Level] > 0)
{
switch(AccInfo[playerid][Level])
{
case 1: AdmRank = "Basic Moderator";
case 2: AdmRank = "Moderator";
case 3: AdmRank = "Master Moderator";
case 4: AdmRank = "Administrator";
case 5: AdmRank = "Master Administrator";
}
if(AccInfo[playerid][Level] > 5)
{
AdmRank = "Professional Admin";
}
//==============================================================================
// VIP System
//==============================================================================
if(AccInfo[playerid][pVip] > 0)
{
switch(AccInfo[playerid][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
format(string,sizeof(string),"[ You have been Automatically Logged in | Account: %s | Level %d ( %s ). ]", AccType, AccInfo[playerid][Level],AdmRank);
SendClientMessage(playerid,0x00C378AA,string);
}
else
{
format(string,sizeof(string),"[ You have been Automatically Logged in | Level %d ( %s ). ]", AccInfo[playerid][Level],AdmRank);
SendClientMessage(playerid,green,string);
}
//==============================================================================
}
else
{
if(AccInfo[playerid][pVip] > 0)
{
switch(AccInfo[playerid][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
format(string,sizeof(string),"[ You have been Automatically Logged in | Account Type: %s. ]", AccType);
SendClientMessage(playerid,0x00C896AA,string);
}
else
{
format(string,sizeof(string),"[ You have been Automatically Logged in. ]");
SendClientMessage(playerid,green,string);
}
}
}
else SendClientMessage(playerid, white, "[ That account is registered. ]") &&
SendClientMessage(playerid, orange, "Please login to access your Account (/"#LoginCommand") if you aren't logged yet.");
}
return 1;
}
//==============================================================================
// Automatic Kick
//==============================================================================
public AutoKick(playerid)
{
if( IsPlayerConnected(playerid) && ServerInfo[Locked] == 1 && AccInfo[playerid][AllowedIn] == false)
{
new string[128];
SendClientMessage(playerid,grey,"[ You have been Automatically Kicked. | Reason: Server Locked. ]");
format(string,sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Server Locked. ]",PlayerName2(playerid),playerid);
SaveIn("KickLog",string);
Kick(playerid);
SendClientMessageToAll(red, string);
print(string);
}
return 1;
}
//==============================================================================
//-------------------------------------------------
// Player Disconnect
//-------------------------------------------------
//==============================================================================
public OnPlayerDisconnect(playerid, reason)
{
new PlayerName[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(AccInfo[playerid][LoggedIn] == 1)
SavePlayerStats(playerid);
if(udb_Exists(PlayerName2(playerid))) dUserSetINT(PlayerName2(playerid)).("Loggedin",0);
AccInfo[playerid][LoggedIn] = 0;
AccInfo[playerid][Level] = 0;
AccInfo[playerid][pVip] = 0;
AccInfo[playerid][Jailed] = 0;
AccInfo[playerid][pCaged] = 0;
AccInfo[playerid][MaxAdv] = 0;
AccInfo[playerid][Frozen] = 0;
AccInfo[playerid][Hide] = 0;
AccInfo[playerid][OnDuty] = 0;
AccInfo[playerid][pInvis] = 0;
AccInfo[playerid][pGps] = -1;
#if EnableTwoRcon == true
AccInfo[playerid][MaxRcon] = 0;
#endif
if(AccInfo[playerid][Jailed] == 1)
KillTimer( JailTimer[playerid] );
if(AccInfo[playerid][Frozen] == 1)
KillTimer( FreezeTimer[playerid] );
if(ServerInfo[Locked] == 1)
KillTimer( LockKickTimer[playerid] );
if(AccInfo[playerid][pCar] != -1) EraseVeh(AccInfo[playerid][pCar]);
//------------------------------------------------------------------------------
// Spectating
//------------------------------------------------------------------------------
for(new x=0; x<MAX_PLAYERS; x++)
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
AdvanceSpectate(x);
//------------------------------------------------------------------------------
if(ServerInfo[ConnectMessages] == 1)
{
switch (reason)
{
case 0:
format(str, sizeof(str), "[ Player %s (Id: %d) has left the Server (Timeout). ]", PlayerName, playerid);
case 1:
format(str, sizeof(str), "[ Player %s (Id: %d) has left the Server (Leaving). ]", PlayerName, playerid);
case 2:
format(str, sizeof(str), "[ Player %s (Id: %d) has left the Server (Kicked/Banned). ]", PlayerName, playerid);
}
SendClientMessageToAll(grey, str);
}
#if EnableCamHack == true
if(AccInfo[playerid][InCamMod] == 1)
{
KillTimer(KeyTimer[playerid]);
AccInfo[playerid][InCamMod] = 0;
}
#endif
return 1;
}
public DelayKillPlayer(playerid)
{
SetPlayerHealth(playerid,0.0);
ForceClassSelection(playerid);
}
stock GetServerHostName()
{
new gString[256];
GetServerVarAsString("hostname", gString, sizeof(gString));
return gString;
}
public OnPlayerRequestClass(playerid,classid)
{
if(ServerInfo[Announce] == 1)
TextDrawHideForPlayer(playerid, Announcements);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
// Request Register
#if USE_DIALOGS == false
if(AccInfo[playerid][Registered] == 0 && ServerInfo[MustRegister] == 1 && (!IsPlayerNPC(playerid))){
SendClientMessage(playerid,lightred,"[ SERVER: Your account isn't registered. Type (/"#RegisterCommand" (password)) to create a new account. ]");
return 0;
}
// Request Login
if(ServerInfo[MustLogin] == 1 && AccInfo[playerid][Registered] == 1 && AccInfo[playerid][LoggedIn] == 0 && (!IsPlayerNPC(playerid))){
SendClientMessage(playerid,lightred,"[ SERVER: Your account is registered. Type (/"#LoginCommand" (password)) to create a new account. ]");
return 0;
}
#endif
return 1;
}
//==============================================================================
//-------------------------------------------------
// Player Spawn
//-------------------------------------------------
//==============================================================================
public OnPlayerSpawn(playerid)
{
//==============================================================================
// Request Register
//==============================================================================
if(AccInfo[playerid][Registered] == 0 && ServerInfo[MustRegister] == 1)
{
#if USE_DIALOGS == true
new rstring[256];
format(rstring,sizeof(rstring),""COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is not registered yet,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
ShowPlayerDialog(playerid,DIALOGID+66,DIALOG_STYLE_INPUT,"Register Account",rstring,"Register","Quit");
#endif
return 1;
}
//==============================================================================
// Request Login
//==============================================================================
if(ServerInfo[MustLogin] == 1 && AccInfo[playerid][Registered] == 1 && AccInfo[playerid][LoggedIn] == 0)
{
#if USE_DIALOGS == true
new lstring[256];
format(lstring,sizeof(lstring),""COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
ShowPlayerDialog(playerid,DIALOGID+67,DIALOG_STYLE_INPUT,"Login Account",lstring,"Login","Quit");
#endif
return 1;
}
//==============================================================================
// Player Frozen (Prevent scape)
//==============================================================================
AccInfo[playerid][Spawned] = 1;
if(AccInfo[playerid][Frozen] == 1) {
TogglePlayerControllable(playerid,false);
return SendClientMessage(playerid,red,"[ ADMIN: You cant escape your punishment. You Are Still Frozen, contact an admin if you have queries. ]");
}
//==============================================================================
// Player Jail (Prevent scape)
//==============================================================================
if(AccInfo[playerid][Jailed] == 1) {
SetTimerEx("JailPlayer",3000,0,"d",playerid);
return SendClientMessage(playerid,red,"[ ADMIN: You cant escape your punishment. You Are Still In Jail, contact an admin if you have queries. ]");
}
//==============================================================================
// Administrators Skins/Prevent players to use
//==============================================================================
if(ServerInfo[AdminOnlySkins] == 1)
{
if( (GetPlayerSkin(playerid) == ServerInfo[AdminSkin]) || (GetPlayerSkin(playerid) == ServerInfo[AdminSkin2]))
{
if(AccInfo[playerid][Level] >= 1)
GameTextForPlayer(playerid,"~b~Welcome~n~~w~Admin",3000,1);
else
{
GameTextForPlayer(playerid,"~r~This Skin Is For~n~Administrators~n~Only",4000,1);
SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
return 1;
}
}
}
if((dUserINT(PlayerName2(playerid)).("UseSkin")) == 1)
if((AccInfo[playerid][Level] >= 1) && (AccInfo[playerid][LoggedIn] == 1))
SetPlayerSkin(playerid,(dUserINT(PlayerName2(playerid)).("FavSkin")) );
//==============================================================================
// Verify player in CAGE
//==============================================================================
if(AccInfo[playerid][pCaged] == 1)
{
SetTimerEx("CagePrevent", 300, 0, "i", playerid);
}
if(ServerInfo[Announce] == 1)
TextDrawShowForPlayer(playerid, Announcements);
//==============================================================================
// Weapons
//==============================================================================
if(ServerInfo[GiveWeap] == 1)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
AccInfo[playerid][TimesSpawned]++;
if(AccInfo[playerid][TimesSpawned] == 1)
{
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon1"),dUserINT(PlayerName2(playerid)).("Weapon1Ammo"));
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon2"),dUserINT(PlayerName2(playerid)).("Weapon2Ammo"));
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon3"),dUserINT(PlayerName2(playerid)).("Weapon3Ammo"));
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon4"),dUserINT(PlayerName2(playerid)).("Weapon4Ammo"));
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon5"),dUserINT(PlayerName2(playerid)).("Weapon5Ammo"));
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon6"),dUserINT(PlayerName2(playerid)).("Weapon6Ammo"));
}
}
}
return 1;
}
//==============================================================================
//-------------------------------------------------
// Player Death
//-------------------------------------------------
//==============================================================================
public OnPlayerDeath(playerid, killerid, reason)
{
#if USE_STATS == true
AccInfo[playerid][Deaths]++;
#endif
InDuel[playerid] = 0;
if(AccInfo[playerid][pCaged] == 1)
{
cage[playerid] = DestroyObject(cage[playerid]);
cage2[playerid] = DestroyObject(cage2[playerid]);
cage3[playerid] = DestroyObject(cage3[playerid]);
cage4[playerid] = DestroyObject(cage4[playerid]);
}
if(IsPlayerConnected(killerid) && killerid != INVALID_PLAYER_ID)
{
#if USE_STATS == true
AccInfo[killerid][Kills]++;
#endif
//==============================================================================
// In Duel
//==============================================================================
if(InDuel[playerid] == 1 && InDuel[killerid] == 1)
{
GameTextForPlayer(playerid,"Loser!",3000,3);
GameTextForPlayer(killerid,"Winner!",3000,3);
InDuel[killerid] = 0;
SetPlayerPos(killerid, 0.0, 0.0, 0.0);
SpawnPlayer(killerid);
}
else if(InDuel[playerid] == 1 && InDuel[killerid] == 0)
{
GameTextForPlayer(playerid,"Loser !",3000,3);
}
}
//==============================================================================
// Spectate
//==============================================================================
for(new x=0; x<MAX_PLAYERS; x++)
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
AdvanceSpectate(x);
return 1;
}
//==============================================================================
//-------------------------------------------------
// Player Text
//-------------------------------------------------
//==============================================================================
public OnPlayerText(playerid, text[])
{
//==============================================================================
// Vip Chat
//==============================================================================
if(text[0] == '*' && AccInfo[playerid][pVip] >= 1)
{
new string[128]; GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"|ChatVip| %s: %s",string,text[1]);
MessageToPlayerVIP(0xDC686BAA,string);
SaveIn("ChatVipLog",string);
return 0;
}
//==============================================================================
// Administration Chat
//==============================================================================
if(text[0] == '#' && AccInfo[playerid][Level] >= 1)
{
new string[128]; GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"[ (Admin Chat) %s(%d): %s ]",string,playerid,text[1]);
MessageToAdmins(green,string);
#if ADM_CHAT_LOG == true
SaveIn("AdmChatLog",string);
#endif
return 0;
}
//==============================================================================
// Chat Disabled
//==============================================================================
if(ServerInfo[DisableChat] == 1)
{
SendClientMessage(playerid,red,"[ Chat has been Disabled, contact an admin if you have queries. ]");
return 0;
}
//==============================================================================
// Player Muted
//==============================================================================
if(AccInfo[playerid][Muted] == 1)
{
AccInfo[playerid][MuteWarnings]++;
new string[128];
if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
{
format(string, sizeof(string),"[ ATTENTION: You are Muted, you cannot talk (Warnings: %d/%d), contact an admin if you have queries. ]",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
SendClientMessage(playerid,red,string);
}
else
{
SendClientMessage(playerid,red,"[ ADMIN: You have been Automatically Kicked. | Reason: Exceeding Mute Warnings. ]");
format(string, sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Exceeding Mute Warnings. ]",PlayerName2(playerid),playerid);
SendClientMessageToAll(grey,string);
SaveIn("KickLog",string); Kick(playerid);
} return 0;
}
//==============================================================================
// Flood/Spam Protection
//==============================================================================
if(ServerInfo[AntiSpam] == 1 && (AccInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)))
{
if(AccInfo[playerid][SpamCount] == 0) AccInfo[playerid][SpamTime] = TimeStamp();
AccInfo[playerid][SpamCount]++;
if(TimeStamp() - AccInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
AccInfo[playerid][SpamCount] = 0;
AccInfo[playerid][SpamTime] = TimeStamp();
}
else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
new string[64]; format(string,sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Flood/Spam Protection. ]", PlayerName2(playerid),playerid);
SendClientMessageToAll(grey,string); print(string);
SaveIn("KickLog",string);
Kick(playerid);
}
else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
SendClientMessage(playerid,red,"[ ATTENTION: Anti Spam Warning, Next is a Kick. ]");
return 0;
}
}
//==============================================================================
// Send Admin in front of name
//==============================================================================
#if ADM_InMSG == true
if (AccInfo[playerid][Hide] == 0)
{
if(AccInfo[playerid][Level] > 0)
{
new str3[256];
format(str3, 256, "(Admin): %s", text);
for(new gz=0;gz<200;gz++)
if(IsPlayerConnected(gz))
SendPlayerMessageToPlayer(gz, playerid, str3);
else SendPlayerMessageToPlayer(gz, playerid, text);
}
return 0;
}
#endif
//==============================================================================
// Forbidden Words
//==============================================================================
if(ServerInfo[AntiSwear] == 1 && AccInfo[playerid][Level] < ServerInfo[MaxAdminLevel])
for(new s = 0; s < BadWordsCount; s++)
{
new pos;
while((pos = strfind(text,BadWords[s],true)) != -1)
for(new i = pos, j = pos + strlen(BadWords[s]); i < j; i++) text[i] = '*';
}
//==============================================================================
// Anti Advertisements
//==============================================================================
if(ServerInfo[AntiAds] == 1)
{
if(AdvertisementCheck(text) && AccInfo[playerid][Level] < 3)
{
AccInfo[playerid][MaxAdv]++;
new string[128];
format(string,sizeof(string),"[ ATTENTION: Suspected advertisements in your message, (Warnings: %d/%d), contact an admin if you have queries. ]",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
SendClientMessage(playerid, grey,string);
if(AccInfo[playerid][MaxAdv] == MAX_ADV_WARNINGS)
{
format(string,sizeof(string),"[ ADMIN: You are Automatically Kicked. | Reason: Many adverts in your Messages (%d/%d). ]",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
SendClientMessage(playerid, lightred,string);
format(string,sizeof(string),"[ Player %s (Id: %d) has beenAutomatically Kicked. | Reason: Many Advertisements (%d). ]",PlayerName2(playerid),playerid, MAX_ADV_WARNINGS);
SaveIn("KickLog",string); Kick(playerid);
SendClientMessageToAll(lightred, string);
print(string);
}
return 0;
}
}
//==============================================================================
// Block CapsLock
//==============================================================================
if(AccInfo[playerid][Caps] == 1)
UpperToLower(text);
if(ServerInfo[NoCaps] == 1)
UpperToLower(text);
//==============================================================================
// Chat Lines (Console)
//==============================================================================
for(new i = 1; i < MAX_CHAT_LINES-1; i++)
Chat[i] = Chat[i+1];
new ChatSTR[128];
GetPlayerName(playerid,ChatSTR,sizeof(ChatSTR));
format(ChatSTR,128,"[CHAT]%s: %s",ChatSTR, text[0]);
Chat[MAX_CHAT_LINES-1] = ChatSTR;
return 1;
}
//==============================================================================
//-------------------------------------------------
// Private Message (PM)
//-------------------------------------------------
//==============================================================================
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
if(ServerInfo[ReadPMs] == 1 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
{
//==============================================================================
// Send PM
//==============================================================================
new string[128];
new pReciever[MAX_PLAYER_NAME];
GetPlayerName(playerid, string, sizeof(string));
GetPlayerName(recieverid, pReciever, sizeof(pReciever));
format(string, sizeof(string), "[ READ-PM: %s(%d) To %s(%d): %s ]", string,playerid, pReciever,recieverid, text);
for (new a = 0; a < MAX_PLAYERS; a++)
if(IsPlayerConnected(a) && (AccInfo[a][Level] >= ServerInfo[MaxAdminLevel]) && a != playerid)
SendClientMessage(a, grey, string);
#if PM_CHAT_LOG == true
SaveIn("AdmChatLog",string);
#endif
}
//==============================================================================
// Muted
//==============================================================================
if(AccInfo[playerid][Muted] == 1)
{
new string[128];
AccInfo[playerid][MuteWarnings]++;
if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
{
format(string, sizeof(string),"[ ATTENTION: You are Muted, you cannot talk (Warnings: %d/%d), contact an admin if you have queries. ]",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
SendClientMessage(playerid,red,string);
}
else
{
SendClientMessage(playerid,red,"[ ADMIN: You have been Automatically Kicked. | Reason: Exceeding Mute Warnings. ]");
GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Exceeding Mute Warnings. ]", string, playerid);
SendClientMessageToAll(lightred,string);
SaveIn("KickLog",string);
Kick(playerid);
}
return 0;
}
#if EnablePM_Cmd == true
new string[128];
format(string,256,"[ PM to '%s(%d)': \"%s\" ]",PmReceiver,PMplayer1,text);
SendClientMessage(playerid,0x00A765AA,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string),"[ PM from: %s(%d): \"%s\" ]",string,playerid,text);
SendClientMessage(recieverid,0x00A765AA,string);
#endif
return 1;
}
//==============================================================================
//-------------------------------------------------
// ERROR Messages
//-------------------------------------------------
//==============================================================================
stock ErrorMessages(playerid, errorID)
{
if(errorID == 1) return SendClientMessage(playerid,red,"[ ERROR: You are not a high enough level to use this command. ]");
if(errorID == 2) return SendClientMessage(playerid,red,"[ ERROR: Player is not connected. ]");
if(errorID == 3) return SendClientMessage(playerid,red,"[ ERROR: Player is not connected or is yourself or is the highest level admin. ]");
if(errorID == 4) return SendClientMessage(playerid,red,"[ ERROR: Player is not connected or is yourself. ]");
if(errorID == 5) return SendClientMessage(playerid,red,"[ ERROR: You need to be Level 4 to use this Command. ]");
if(errorID == 6) return SendClientMessage(playerid,red,"[ ERROR: You need to be Level 3 to use this Command. ]");
if(errorID == 7) return SendClientMessage(playerid,red,"[ ERROR: You need to be Level 2 to use this Command. ]");
if(errorID == 8) return SendClientMessage(playerid,red,"[ ERROR: You need to be Level 1 to use this Command. ]");
if(errorID == 9) return SendClientMessage(playerid,red,"[ ERROR: You need to be Level 5 to use this Command. ]");
if(errorID == 10) return SendClientMessage(playerid,red,"[ ERROR: You are not in a vehicle. ]");
return 1;
}
//==============================================================================
//-------------------------------------------------
// HighLight
//-------------------------------------------------
//==============================================================================
public HighLight(playerid)
{
if(!IsPlayerConnected(playerid))
return 1;
if(AccInfo[playerid][blipS] == 0)
{
SetPlayerColor(playerid, 0xFF0000AA);
AccInfo[playerid][blipS] = 1;
}
else
{
SetPlayerColor(playerid, 0xFFFF00AA);
AccInfo[playerid][blipS] = 0;
}
return 0;
}
//==============================================================================
//-------------------------------------------------
// COMMANDS
//-------------------------------------------------
//==============================================================================
//==============================================================================
// Login Player
//==============================================================================
LoginPlayer(playerid)
{
if(ServerInfo[GiveMoney] == 1)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, dUserINT(PlayerName2(playerid)).("Money"));
}
SetPlayerWantedLevel(playerid,dUserINT(PlayerName2(playerid)).("WantedLevel"));
#if SaveScore == true
SetPlayerScore(playerid,dUserINT(PlayerName2(playerid)).("Score"));
#endif
dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
AccInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("Deaths"));
AccInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("Kills"));
AccInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("Level"));
AccInfo[playerid][pVip] = (dUserINT(PlayerName2(playerid)).("AccountType"));
AccInfo[playerid][hours] = dUserINT(PlayerName2(playerid)).("Hours");
AccInfo[playerid][mins] = dUserINT(PlayerName2(playerid)).("Minutes");
AccInfo[playerid][secs] = dUserINT(PlayerName2(playerid)).("Seconds");
AccInfo[playerid][Registered] = 1;
AccInfo[playerid][LoggedIn] = 1;
}
//==============================================================================
//-------------------------------------------------
// OnPlayerCommandText
//-------------------------------------------------
//==============================================================================
public OnPlayerCommandText(playerid, cmdtext[])
{
if(AccInfo[playerid][Jailed] == 1 && AccInfo[playerid][Level] < 1)
return SendClientMessage(playerid,red,"[ ERROR: You cannot use commands in Jail. ]");
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
new params[256]; params = strtok2(cmdtext,idx);
//======================================================================
//Admin commands and player commands
//======================================================================
#if USE_DIALOGS == true
if(strcmp(cmd, "/"CMD_REGISTER"", true) == 0)
{
if (AccInfo[playerid][LoggedIn] == 1)
return SendClientMessage(playerid,red,"[ ERROR: You are already registered and logged in. ]");
if (udb_Exists(PlayerName2(playerid)))
return SendClientMessage(playerid,red,"[ ERROR: This account already exists. ]") &&
SendClientMessage(playerid,orange,"[ ACCOUNT: You may login to access your account ('/"#LoginCommand"'). ]");
new rs2tring[256];
format(rs2tring,sizeof(rs2tring),""COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is not registered yet,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
ShowPlayerDialog(playerid,DIALOGID+66,DIALOG_STYLE_INPUT,"Register Account",rs2tring,"Register","Quit");
return 1;
}
if(strcmp(cmd, "/"CMD_LOGIN"", true) == 0)
{
new file[128];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
if (AccInfo[playerid][LoggedIn] == 1)
return SendClientMessage(playerid,red,"[ ERROR: You are already logged in. ]");
if (!udb_Exists(PlayerName2(playerid))) return
SendClientMessage(playerid,red,"[ ERROR: Account doesn't exist. ]") &&
SendClientMessage(playerid,orange,"[ ACCOUNT: You may register to create your account ('/"#RegisterCommand" (password)'). ]");
new lstring[256];
format(lstring,sizeof(lstring),""COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
ShowPlayerDialog(playerid,DIALOGID+67,DIALOG_STYLE_INPUT,"Login Account",lstring,"Login","Quit");
return 1;
}
#else
if(strcmp(cmd, "/"CMD_REGISTER"", true) == 0)
{
if (AccInfo[playerid][LoggedIn] == 1)
return SendClientMessage(playerid,red,"[ ERROR: You are already registered and logged in. ]");
if (udb_Exists(PlayerName2(playerid)))
return SendClientMessage(playerid,red,"[ ERROR: This account already exists. ]") &&
SendClientMessage(playerid,orange,"[ ACCOUNT: You may login to access your account ('/"#LoginCommand" (password)'). ]");
if (strlen(params) == 0)
return SendClientMessage(playerid,LIGHTBLUE, "[ USAGE: '/"#RegisterCommand" (password)' ]");
if (strlen(params) < 4 || strlen(params) > 20)
return SendClientMessage(playerid,red,"[ ERROR: Your password length must be greater than 3 characters. ]");
if (udb_Create(PlayerName2(playerid)))
{
new file[256],e_name[MAX_PLAYER_NAME], buf[145],tmp3[100];
new strdate[20], year,month,day;
getdate(year, month, day);
WP_Hash(buf, sizeof(buf), params);
GetPlayerName(playerid,e_name,sizeof(e_name));
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(e_name));
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"Password",buf);
dini_Set(file,"Ip",tmp3);
dUserSetINT(PlayerName2(playerid)).("Registered",1);
format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
dini_Set(file,"RegisteredDate",strdate);
dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
dUserSetINT(PlayerName2(playerid)).("Banned",0);
dUserSet(PlayerName2(playerid)).("BannedBy","-");
dUserSet(PlayerName2(playerid)).("BannedDate","-");
dUserSet(PlayerName2(playerid)).("BannedReason","-");
dUserSetINT(PlayerName2(playerid)).("Level",0);
dUserSetINT(PlayerName2(playerid)).("AccountType",0);
dini_Set(file,"LastOn",strdate);
dUserSetINT(PlayerName2(playerid)).("Money",0);
dUserSetINT(PlayerName2(playerid)).("Kills",0);
dUserSetINT(PlayerName2(playerid)).("Deaths",0);
dUserSetINT(PlayerName2(playerid)).("WantedLevel",0);
#if SaveScore == true
dUserSetINT(PlayerName2(playerid)).("Score",0);
#endif
dUserSetINT(PlayerName2(playerid)).("Hours",0);
dUserSetINT(PlayerName2(playerid)).("Minutes",0);
dUserSetINT(PlayerName2(playerid)).("Seconds",0);
AccInfo[playerid][LoggedIn] = 1;
AccInfo[playerid][Registered] = 1;
SendClientMessage(playerid, green, "[ ACCOUNT: You are now Registered, and have been automaticaly Logged in. ]");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
return 1;
}
return 1;
}
if(strcmp(cmd, "/"CMD_LOGIN"", true) == 0)
{
new file[128], Pass[256];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
if (AccInfo[playerid][LoggedIn] == 1)
return SendClientMessage(playerid,red,"[ ERROR: You are already logged in. ]");
if (!udb_Exists(PlayerName2(playerid))) return
SendClientMessage(playerid,red,"[ ERROR: Account doesn't exist. ]") &&
SendClientMessage(playerid,orange,"[ ACCOUNT: You may login to access your account ('/"#LoginCommand" (password)'). ]");
if (strlen(params)==0) return
SendClientMessage(playerid,LIGHTBLUE, "[ USAGE: '/"#LoginCommand" (password)' ]");
Pass = dini_Get(file, "Password");
new buf[145];
WP_Hash(buf, sizeof(buf), params);
if(strcmp(Pass, buf, false) == 0)
{
new tmp3[100], string[128];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"Ip",tmp3);
LoginPlayer(playerid);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(AccInfo[playerid][Level] > 0)
{
switch(AccInfo[playerid][Level])
{
case 1: AdmRank = "Basic Moderator";
case 2: AdmRank = "Moderator";
case 3: AdmRank = "Master Moderator";
case 4: AdmRank = "Administrator";
case 5: AdmRank = "Master Administrator";
}
if(AccInfo[playerid][Level] > 5)
{
AdmRank = "Professional Admin";
}
if(AccInfo[playerid][pVip] > 0)
{
switch(AccInfo[playerid][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
format(string,sizeof(string),"[ ACCOUNT: You have Successfully Logged. | Account: %s | Level %d ( %s ) ]", AccType, AccInfo[playerid][Level], AdmRank);
return SendClientMessage(playerid,0x00C378AA,string);
}
else
{
format(string,sizeof(string),"[ ACCOUNT: You have Successfully Logged. | Level %d ( %s ) ]", AccInfo[playerid][Level], AdmRank);
return SendClientMessage(playerid,green,string);
}
}
else
{
if(AccInfo[playerid][pVip] > 0)
{
switch(AccInfo[playerid][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
format(string,sizeof(string),"[ ACCOUNT: You have Successfully logged. | Account: %s ]", AccType);
return SendClientMessage(playerid,0x00C896AA,string);
}
else return SendClientMessage(playerid,green,"[ ACCOUNT: You have Successfully logged. ]");
}
}
else
{
AccInfo[playerid][FailLogin]++;
printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), params, AccInfo[playerid][FailLogin] );
if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
{
new string[128]; format(string, sizeof(string), "[ Player %s has been automatically kicked | Reason: Many attempts Incorrect Passwords ("#MAX_FAIL_LOGINS"). ]", PlayerName2(playerid) );
SendClientMessageToAll(red, string);
print(string);
Kick(playerid);
}
return SendClientMessage(playerid,red,"[ ERROR: Login failed, Incorrect Password. ]");
}
}
#endif
//==============================================================================
// Stats
//==============================================================================
#if USE_STATS == true
if(strcmp(cmd, "/resetstats", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
dUserSetINT(PlayerName2(playerid)).("oldkills",AccInfo[playerid][Kills]);
dUserSetINT(PlayerName2(playerid)).("olddeaths",AccInfo[playerid][Deaths]);
AccInfo[playerid][Kills] = 0;
AccInfo[playerid][Deaths] = 0;
dUserSetINT(PlayerName2(playerid)).("Kills",AccInfo[playerid][Kills]);
dUserSetINT(PlayerName2(playerid)).("Deaths",AccInfo[playerid][Deaths]);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
return SendClientMessage(playerid,yellow,"[ ACCOUNT: You have Successfully reset your Stats. ]");
}
else return SendClientMessage(playerid,red, "[ ERROR: You must have an account to use this command. ]");
}
#endif
#if USE_STATS == true
if(strcmp(cmd, "/stats", true) == 0)
{
new string[128];
new pDeaths;
new player1, h, m, s;
new file[100];
if(!strlen(params)) player1 = playerid;
else player1 = strval(params);
if(IsPlayerConnected(player1))
{
#if USE_DIALOGS == true
new dialog[1000];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(player1)));
TotalGameTime(player1, h, m, s);
if(AccInfo[player1][Deaths] == 0) pDeaths = 1;
else pDeaths = AccInfo[player1][Deaths];
format(string, sizeof(string), "[ ACCOUNT: You are checking %s's statistics (/stats). ]",PlayerName2(player1));
SendClientMessage(playerid, green, string);
format(string, sizeof(string),"Username: "COL_BLUE"%s\n",PlayerName2(player1));
strcat(dialog,string);
format(string, sizeof(string),"Player-Id: "COL_BLUE"%d\n",player1);
strcat(dialog,string);
format(string, sizeof(string),"Kills:"COL_BLUE" %d\n",AccInfo[player1][Kills]);
strcat(dialog,string);
format(string, sizeof(string),"Deaths:"COL_BLUE" %d\n",AccInfo[player1][Deaths]);
strcat(dialog,string);
format(string, sizeof(string),"K/D Ratio:"COL_BLUE" %0.2f\n",Float:AccInfo[player1][Kills]/Float:pDeaths);
strcat(dialog,string);
format(string, sizeof(string),"Money:"COL_BLUE" $ %d\n",GetPlayerMoney(player1));
strcat(dialog,string);
format(string, sizeof(string),"Score:"COL_BLUE" %d\n",GetPlayerScore(player1));
strcat(dialog,string);
format(string, sizeof(string),"Ping:"COL_BLUE" %d\n",GetPlayerPing(player1));
strcat(dialog,string);
format(string, sizeof(string),"AccountType:"COL_BLUE" %d\n",AccInfo[player1][pVip]);
strcat(dialog,string);
new adminrank[45];
switch(AccInfo[player1][Level])
{
case 0: adminrank = "N/A";
case 1: adminrank = "Basic Moderator";
case 2: adminrank = "Moderator";
case 3: adminrank = "Master Moderator";
case 4: adminrank = "Administrator";
case 5..100: adminrank = "Master Administrator";
}
format(string, sizeof(string),"Admin Level:"COL_BLUE" %d (%s)\n",AccInfo[player1][Level],adminrank);
strcat(dialog,string);
format(string, sizeof(string),"Time Played:"COL_BLUE" %d hours, %d minutes, %d seconds\n",h, m, s);
strcat(dialog,string);
new str[256];
if(AccInfo[player1][LoggedIn]==1) str="YES";
else if(AccInfo[player1][LoggedIn]==0) str="NO";
format(string, sizeof(string),"Logged:"COL_BLUE" %s\n",str);
strcat(dialog,string);
GetPlayerIp(player1, str, sizeof(str));
format(string, sizeof(string),"Internet Protocol I.P.:"COL_BLUE" %s\n",str);
strcat(dialog,string);
new Float:pHealth;
new Float:pArmour;
GetPlayerArmour(player1,pArmour);
GetPlayerHealth(player1,pHealth);
format(string, sizeof(string),"Health:"COL_BLUE" %0.2f\n",pHealth);
strcat(dialog,string);
format(string, sizeof(string),"Armour:"COL_BLUE" %0.2f\n",pArmour);
strcat(dialog,string);
format(string, sizeof(string),"Skin-Id:"COL_BLUE" %d\n",GetPlayerSkin(player1));
strcat(dialog,string);
if(AccInfo[player1][Jailed] == 1) str = "YES"; else str = "NO";
format(string, sizeof(string),"Jailed:"COL_BLUE" %s\n",str);
strcat(dialog,string);
if(AccInfo[player1][Frozen] == 1) str = "YES"; else str = "NO";
format(string, sizeof(string),"Frozen:"COL_BLUE" %s\n",str);
strcat(dialog,string);
if(AccInfo[player1][pCaged] == 1) str = "YES"; else str = "NO";
format(string, sizeof(string),"Caged:"COL_BLUE" %s\n",str);
strcat(dialog,string);
if(fexist(file)) str = "YES"; else str = "NO";
format(string, sizeof(string),"Registered:"COL_BLUE" %s\n",str);
strcat(dialog,string);
str = dini_Get(file,"LastOn");
format(string, sizeof(string),"Last On Server:"COL_BLUE" %s\n",str);
strcat(dialog,string);
if(strlen(dini_Get(file,"RegisteredDate")) < 3)
str = "N/A";
else str = dini_Get(file,"RegisteredDate");
format(string, sizeof(string),"Register Date:"COL_BLUE" %s\n",str);
strcat(dialog,string);
new year,month,day;
getdate(year, month, day);
format(string, sizeof(string),"Today's Date:"COL_BLUE" %d/%d/%d\n",year, month, day);
strcat(dialog,string);
new gps[MAX_ZONE_NAME];
GetPlayerInZone(player1, gps, MAX_ZONE_NAME);
format(string, sizeof(string),"G.P.S.:"COL_BLUE" %s\n",gps);
strcat(dialog,string);
return ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_LIST,"Player /Stats:",dialog,"Close","");
#else
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(player1)));
format(string, sizeof(string), "[-------------------| %s's statistics (/stats) |-------------------]",PlayerName2(player1));
SendClientMessage(playerid, Green1, string);
format(string,sizeof(string), "Player-Id: %d | Kills: %d | Deaths: %d | K/D Ratio: %0.2f | Money: $%d | Score: %d",
player1,AccInfo[player1][Kills], AccInfo[player1][Deaths], Float:AccInfo[player1][Kills]/Float:pDeaths,GetPlayerMoney(player1), GetPlayerScore(player1));
SendClientMessage(playerid, green, string);
new adminrank[45];
switch(AccInfo[player1][Level])
{
case 0: adminrank = "N/A";
case 1: adminrank = "Basic Moderator";
case 2: adminrank = "Moderator";
case 3: adminrank = "Master Moderator";
case 4: adminrank = "Administrator";
case 5..100: adminrank = "Master Administrator";
}
format(string, sizeof(string), "Ping: %d | Time Played: %d hours, %d minutes, %d seconds | Account Type: %d | Admin Level: %d (%s)",
GetPlayerPing(player1), h, m, s, AccInfo[player1][pVip], AccInfo[player1][Level], adminrank);
SendClientMessage(playerid, green, string);
new logged[50];
if(AccInfo[player1][LoggedIn]==1) logged="YES";
else if(AccInfo[player1][LoggedIn]==0) logged="NO";
new ip[50];
GetPlayerIp(player1, ip, sizeof(ip));
new Float:pHealth;
new Float:pArmour;
GetPlayerArmour(player1,pArmour);
GetPlayerHealth(player1,pHealth);
format(string, sizeof(string), "Logged: %s | Internet Protocol I.P.: %s | Health: %0.2f | Armour: %0.2f | Skin-Id: %d",
logged,ip,pHealth,pArmour,GetPlayerSkin(player1));
SendClientMessage(playerid, green, string);
new jailed[5];
if(AccInfo[player1][Jailed] == 1) jailed = "YES"; else jailed = "NO";
new frozen[5];
if(AccInfo[player1][Frozen] == 1) frozen = "YES"; else frozen = "NO";
new caged[5];
if(AccInfo[player1][pCaged] == 1) caged = "YES"; else caged = "NO";
new str[5];
if(fexist(file)) str = "YES"; else str = "NO";
format(string, sizeof(string), "Jailed: %s | Frozen: %s | Caged: %s | Registered: %s",
jailed,frozen,caged,str);
SendClientMessage(playerid, green, string);
new laston[256];
laston = dini_Get(file,"LastOn");
new reg[256];
if(strlen(dini_Get(file,"RegisteredDate")) < 3)
reg = "N/A";
else reg = dini_Get(file,"RegisteredDate");
new year,month,day;
getdate(year, month, day);
new gps[MAX_ZONE_NAME];
GetPlayerInZone(player1, gps, MAX_ZONE_NAME);
format(string, sizeof(string), "Last On Server: %s | Register Date: %s | Today's Date: %d/%d/%d | G.P.S.: %s",
laston,reg,year,month,day,gps);
SendClientMessage(playerid, green, string);
return SendClientMessage(playerid, Green1, "[-------------------| /Stats |-------------------]");
#endif
} else
return SendClientMessage(playerid, red, "[ ERROR: Player Not Connected. ]");
}
#endif
//==============================================================================
// Password Cmds
//==============================================================================
if(strcmp(cmd, "/"CMD_CHANGEPASS"", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /"#ChangePassCommand" (new password) ]")
&& SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will modify your account password. ]");
if(strlen(params) < 4) return SendClientMessage(playerid,red,"[ ERROR: Incorrect password length. ]");
new string[128];
new file[128], Pass[256];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
new buf[145];
WP_Hash(buf, sizeof(buf), params);
Pass = dini_Get(file, "Password");
dini_Set(file, "Password", buf);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(string, sizeof(string),"[ ACCOUNT: You have successfully changed your account Password to \"%s\". ]",params);
return SendClientMessage(playerid,yellow,string);
} else return SendClientMessage(playerid,red, "[ ERROR: You must have an account to use this command. ]");
}
if(strcmp(cmd, "/setpass", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new string[128], tmp[256], tmp2[256], Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setpass (player<name/id>) (new password) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will modify account password of specified player. ]");
if(strlen(tmp2) < 4 || strlen(tmp2) > MAX_PLAYER_NAME)
return SendClientMessage(playerid,red,"[ ERROR: Incorrect password length. ]");
if(udb_Exists(tmp))
{
new file[128], Pass[256];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
new buf[145];
WP_Hash(buf, sizeof(buf), tmp2);
Pass = dini_Get(file, "Password");
dini_Set(file, "Password", buf);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(string, sizeof(string),"[ ACCOUNT: You have successfully set \"%s's\" account password to \"%s\". ]", tmp, tmp2);
return SendClientMessage(playerid,yellow,string);
} else return SendClientMessage(playerid,red, "[ ERROR: This player doesnt have an account. ]");
}
else return ErrorMessages(playerid, 1);
}
//==============================================================================
// Flying Cam System (Original by Sandra - Modified By Me)
//==============================================================================
//==========================
// ENABLE/DISABLE CAM
//==========================
#if EnableCamHack == true
if(strcmp(cmd, "/lcam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(AccInfo[playerid][Spawned] == 1)
{
if(AccInfo[playerid][InCamMod] == 0)
{
if(AccInfo[playerid][pGps] != -1)
return SendClientMessage(playerid, red, "[ ERROR: First disable the gps system. (/gps off). ]");
if(AccInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE)
return SendClientMessage(playerid, red, "[ ERROR: First disable the spectating System. (/lspecoff). ]");
#if USE_DIALOGS == true
new dialog[1000];
strcat(dialog,""COL_WHITE"/lcam ["COL_GREY"Start/Stop Flying Camera Mode"COL_WHITE"]\n");
strcat(dialog,"/lockcam ["COL_GREY"Locks/Unlock the camera and player is free to move"COL_WHITE"]\n");
strcat(dialog,"/follow ["COL_GREY"Locks the camera and keeps looking at player"COL_WHITE"]\n");
strcat(dialog,"Arrow-keys ["COL_GREY"Move camera forward/backward/left/right"COL_WHITE"]\n");
strcat(dialog,"Walk-key + Arrow-keys ["COL_GREY"Move camera up/down"COL_WHITE"]\n");
strcat(dialog,"Crouch-key + Arrow-keys ["COL_GREY"Rotate camera up/down/left/right"COL_WHITE"]\n");
strcat(dialog,"Sprint-key ["COL_GREY"Speeds up every movement"COL_WHITE"]\n");
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Camera System:",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| Admin Camera System |-------------------]");
SendClientMessage(playerid,Green2,"* /lcam ["COL_GREY"Start/Stop Flying Camera Mode"COL_WHITE"]");
SendClientMessage(playerid,Green2,"* /lockcam ["COL_GREY"Locks/Unlock the camera and player is free to move"COL_WHITE"]");
SendClientMessage(playerid,Green2,"* /follow ["COL_GREY"Locks the camera and keeps looking at player"COL_WHITE"]");
SendClientMessage(playerid,Green2,"* Arrow-keys ["COL_GREY"Move camera forward/backward/left/right"COL_WHITE"]");
SendClientMessage(playerid,Green2,"* Walk-key + Arrow-keys ["COL_GREY"Move camera up/down"COL_WHITE"]");
SendClientMessage(playerid,Green2,"* Crouch-key + Arrow-keys ["COL_GREY"Rotate camera up/down/left/right"COL_WHITE"]");
SendClientMessage(playerid,Green2,"* Sprint-key ["COL_GREY"Speeds up every movement"COL_WHITE"]");
SendClientMessage(playerid,Green1,"[-------------------| /lcam |-------------------]");
#endif
TogglePlayerControllable(playerid, 0);
AccInfo[playerid][LockedCam] = 0;
AccInfo[playerid][InCamMod] = 1;
FollowOn[playerid] = 0;
GetPlayerPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
GetPlayerFacingAngle(playerid, PCA[playerid]);
GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~~g~Cam System ~y~Enabled",1000,3);
if(IsPlayerInAnyVehicle(playerid))
{
GetVehicleZAngle(GetPlayerVehicleID(playerid), PCA[playerid]);
}
PCL[playerid][0] = PCP[playerid][0];
PCL[playerid][1] = PCP[playerid][1];
PCL[playerid][2] = PCP[playerid][2];
PCP[playerid][0] = PCP[playerid][0] - (5.0 * floatsin(-PCA[playerid], degrees));
PCP[playerid][1] = PCP[playerid][1] - (5.0 * floatcos(-PCA[playerid], degrees));
PCP[playerid][2] = PCP[playerid][2]+2.0;
SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 50, 1, "i", playerid);
}
else
{
TogglePlayerControllable(playerid, 1);
KillTimer(KeyTimer[playerid]);
AccInfo[playerid][InCamMod] = 0;
SetCameraBehindPlayer(playerid);
GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~~g~Cam System ~r~Disabled",1000,3);
}
return 1;
}
else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: Please Spawn First. ]");
}
else return ErrorMessages(playerid, 1);
}
//==================================
// LOCK/UNLOCK CAM/PLAYER POSITION
//==================================
if(strcmp(cmd, "/lockcam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(AccInfo[playerid][Spawned] == 1)
{
if(AccInfo[playerid][InCamMod] == 1)
{
if(FollowOn[playerid] == 0)
{
if(AccInfo[playerid][LockedCam] == 0)
{
AccInfo[playerid][LockedCam] = 1;
KillTimer(KeyTimer[playerid]);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, 0x00FF00AA, "[ Camera Locked | Player Unlocked ] ");
}
else
{
AccInfo[playerid][LockedCam] = 0;
KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 50, 1, "i", playerid);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, 0x00FF00AA, "[ Camera Unlocked | Player Locked ] ");
}
return 1;
}
else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: Please turn the Follow-Mode off First (/follow). ]");
}
else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: You're not in the Flying Camera Mode. ]");
}
else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: Please Spawn First. ]");
}
else return ErrorMessages(playerid, 1);
}
//==========================
// FOLLOW THE PLAYER
//==========================
if(strcmp(cmd, "/follow", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(AccInfo[playerid][Spawned] == 1)
{
if(AccInfo[playerid][InCamMod] == 1)
{
if(AccInfo[playerid][LockedCam] == 0)
{
if(FollowOn[playerid] == 0)
{
FollowOn[playerid] = 1;
TogglePlayerControllable(playerid, 1);
KillTimer(KeyTimer[playerid]);
KeyTimer[playerid] = SetTimerEx("FollowPlayer", 70, 1, "i", playerid);
SendClientMessage(playerid, 0x00FF00AA, "Following player toggled on.");
}
else
{
FollowOn[playerid] = 0;
TogglePlayerControllable(playerid, 0);
KillTimer(KeyTimer[playerid]);
KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 50, 1, "i", playerid);
SendClientMessage(playerid, 0x00FF00AA, "Following player toggled off.");
}
return 1;
}
else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: Please unlock the camera first (/lockCam). ]");
}
else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: You're not in the Flying Camera Mode. ]");
}
else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: Please Spawn First. ]");
}
else return ErrorMessages(playerid, 1);
}
#endif
//==============================================================================
// GPS
//==============================================================================
if(strcmp(cmd, "/gps", true) == 0)
{
if(AccInfo[playerid][Level] < 3)
return ErrorMessages(playerid, 6);
if(AccInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE)
return SendClientMessage(playerid, red, "[ ERROR: First Disable the Spectating System (/lspecoff). ]");
if(!strlen(params))
return SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /gps (playerid/off) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will enable GPS do find a specified Player (If you is in a Race, not use). ]");
if(strcmp(params,"off",true) == 0)
{
GameTextForPlayer(playerid,"~w~Gps ~r~Off!",3000,3);
IsDisable[playerid] = 0;
AccInfo[playerid][pGps] = -1;
return 1;
}
new player1;
new string2[128];
player1 = strval(params);
if(player1 == playerid)
return SendClientMessage(playerid,red,"[ ERROR: You can not Find yourself. ]");
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You can not localize an Administrator. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(player1, playername, sizeof(playername));
format(string2, sizeof(string2),"[ <GPS> System enabled on the player - '%s(%d)'. ]", playername,player1);
SendClientMessage(playerid, 0xDC686BAA, string2);
GameTextForPlayer(playerid,"~w~Gps ~g~On",3000,3);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
AccInfo[playerid][pGps] = player1;
}
else return ErrorMessages(playerid, 2);
return 1;
}
//==============================================================================
// Visible/Invisible
//==============================================================================
if(strcmp(cmd, "/invisible", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(AccInfo[playerid][Hide] == 0)
{
pColor = GetPlayerColor(playerid);
SetPlayerColor(playerid, 0xFFFFFF00);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~g~Invisible",2500,3);
AccInfo[playerid][Hide] = 1;
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new int1 = GetPlayerInterior(playerid);
LinkVehicleToInterior(GetPlayerVehicleID(playerid),int1+1);
}
return 1;
}
else return SendClientMessage(playerid, lightred,"[ ERROR: You are already Invisible. ]");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/visible", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(AccInfo[playerid][Hide] == 1)
{
SetPlayerColor(playerid, pColor);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~b~Visible",2500,3);
AccInfo[playerid][Hide] = 0;
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new int1 = GetPlayerInterior(playerid);
LinkVehicleToInterior(GetPlayerVehicleID(playerid),int1);
}
return 1;
}
else return SendClientMessage(playerid, lightred,"[ ERROR: You is already Visible. ]");
}
else return ErrorMessages(playerid, 1);
}
//==============================================================================
// Cage
//==============================================================================
if(strcmp(cmd, "/cage", true) == 0)
{
if(AccInfo[playerid][Level] < 4)
return ErrorMessages(playerid, 5);
new Index;
new tmp[256]; tmp = strtok(params, Index);
new tmp2[256]; tmp2 = strtok(params, Index);
new player1 = ReturnUser(tmp);
new time = strval(tmp2);
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /cage (player<name/id>) (time) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will hold player in a Cage by specified Time. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
if(!strlen(tmp2))
return SendClientMessage(playerid, red, "[ ERROR: Not specified Time. ]");
if(time < 10)
return SendClientMessage(playerid, red, "[ ERROR: Time must be greater than 10 Seconds. ]");
if(AccInfo[player1][pCaged] == 1)
return SendClientMessage(playerid, red, "[ ERROR: Player is already in Cage. ]");
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME];
SendCommandToAdmins(playerid,"Cage");
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string, sizeof(string), "[ Administrator %s(%d) have Caged \"%s(%d)\" for \"%d\" Seconds. ]",adminname,playerid, playername,player1, time);
SendClientMessageToAll(red, string);
format(string, sizeof(string), "[ ADMIN: You have Caged \"%s(%d)\" for \"%d\" Seconds. ]",playername,player1, time);
SendClientMessageToAll(red, string);
TogglePlayerControllable(player1, 0);
AccInfo[player1][pCageTime] = time;
AccInfo[player1][pCaged] = 1;
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
GetPlayerPos(playerid, LPosX[player1], LPosY[player1], LPosZ[player1]);
SetTimerEx("CagePlayer", 1000, 0, "i", player1);
SetTimerEx("UnCagePlayer", AccInfo[player1][pCageTime]*1000, 0, "i", player1);
}
else return ErrorMessages(playerid, 3);
return 1;
}
//==============================================================================
// Team commands help
//==============================================================================
if(strcmp(cmd, "/teamhelp", true) == 0)
{
if(AccInfo[playerid][LoggedIn] && AccInfo[playerid][Level] >= 1)
{
#if USE_DIALOGS == true
new dialog[700];
strcat(dialog,"/armourteam ["COL_GREY"Refill team's armour"COL_WHITE"]\n");
strcat(dialog,"/healteam ["COL_GREY"Refill team's health"COL_WHITE"]\n");
strcat(dialog,"/disarmteam ["COL_GREY"Disarm a team"COL_WHITE"]\n");
strcat(dialog,"/freezeteam ["COL_GREY"Freeze team"COL_WHITE"]\n");
strcat(dialog,"/unfreezeteam ["COL_GREY"Unfreeze team"COL_WHITE"]\n");
strcat(dialog,"/getteam ["COL_GREY"Teleport team to you"COL_WHITE"]\n");
strcat(dialog,"/giveteamweapon ["COL_GREY"Give team a weapon"COL_WHITE"]\n");
strcat(dialog,"/muteteam ["COL_GREY"Disable team chat"COL_WHITE"]\n");
strcat(dialog,"/unmuteteam ["COL_GREY"Enable team chat"COL_WHITE"]\n");
strcat(dialog,"/spawnteam ["COL_GREY"Re-spawn team"COL_WHITE"]\n");
strcat(dialog,"/giveteamcash ["COL_GREY"Give cash to team"COL_WHITE"]\n");
strcat(dialog,"/giveteamscore ["COL_GREY"Give score to team"COL_WHITE"]\n");
strcat(dialog,"/killteam ["COL_GREY"Kill a team"COL_WHITE"]");
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin System - Team commands [level-4+ only]",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| Admin Team Commands |-------------------]");
SendClientMessage(playerid,Green2,"/armourteam, /healteam, /disarmteam, /freezeteam, /getteam, /giveteamweapon, /muteteam");
SendClientMessage(playerid,Green2,"/unmuteteam, /spawnteam, /giveteamcash, /giveteamscore, /killteam");
SendClientMessage(playerid,Green1,"[-------------------| /temahelp |-------------------]");
#endif
}
else if(AccInfo[playerid][LoggedIn] == 0)
{
SendClientMessage(playerid,red, "[ ERROR: You must have an account to use this command. ]");
}
return 1;
}
//==============================================================================
// Help
//==============================================================================
if(strcmp(cmd, "/ahelp", true) == 0)
{
if(AccInfo[playerid][LoggedIn] && AccInfo[playerid][Level] >= 1)
{
#if USE_DIALOGS == true
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,
"Admin system - Help:",
"/level (1/2/3/4/5)\n\
/credits\n\
/"#RegisterCommand"\n\
/"#LoginCommand"\n\
/"#ChangePassCommand"\n\
/report\n\
/stats\n\
/time\n\
/resetstats\n\
/getid\n\
/richlist\n\
/observations",
"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| Admin Help |-------------------]");
SendClientMessage(playerid,Green2,"/level (1/2/3/4/5), /credits, /"#RegisterCommand", /"#LoginCommand", /"#ChangePassCommand", /report, /stats");
SendClientMessage(playerid,Green2,"/time, /resetstats, /getid, /richlist, /observations");
SendClientMessage(playerid,Green1,"[-------------------| /ahelp |-------------------]");
#endif
}
else if(AccInfo[playerid][LoggedIn] && AccInfo[playerid][Level] < 1)
{
#if USE_DIALOGS == true
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,
"Admin system - Help:",
"/"#RegisterCommand"\n\
/"#LoginCommand"\n\
/report\n\
/stats\n\
/time\n\
/"#ChangePassCommand"\n\
/resetstats\n\
/getid\n\
/richlist",
"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| Admin Help |-------------------]");
SendClientMessage(playerid,Green2,"/credits, /"#RegisterCommand", /"#LoginCommand", /"#ChangePassCommand", /report, /stats");
SendClientMessage(playerid,Green2,"/time, /resetstats, /getid, /richlist");
SendClientMessage(playerid,Green1,"[-------------------| /ahelp |-------------------]");
#endif
}
else if(AccInfo[playerid][LoggedIn] == 0)
{
SendClientMessage(playerid,red, "[ ERROR: You must have an account to use this command. ]");
}
return 1;
}
//==============================================================================
// Observations
//==============================================================================
if(strcmp(cmd, "/observations", true) == 0)
{
if(AccInfo[playerid][Level] > 0)
{
#if USE_DIALOGS == true
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_MSGBOX,
"Admin system - Observations:",
""COL_BLUE"* "COL_WHITE"Players advertising or breaking rules, take action on them.\n\n\
"COL_BLUE"* "COL_WHITE"Don't try to abuse the admin status, player can report against you on forums.\n\n\
"COL_BLUE"* "COL_WHITE"If you change your gameMode in the game, reload the AdminScript.\n\n\
"COL_BLUE"* "COL_WHITE"Administrators Level 5+ are totally immune to any command.\n\n\
"COL_BLUE"* "COL_WHITE"Bans/Kicks/Reports/..., Is saved in file with Date and Time.",
"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| Admin Observations |-------------------]");
SendClientMessage(playerid,Green2,"* Players advertising or breaking rules, take action on them.");
SendClientMessage(playerid,Green2,"* Don't try to abuse the admin status, player can report against you on forums.");
SendClientMessage(playerid,Green2,"* If you change your gameMode in the game, reload the AdminScript.");
SendClientMessage(playerid,Green2,"* Administrators Level 5+ are totally immune to any command.");
SendClientMessage(playerid,Green2,"* Bans/Kicks/Reports/..., Is saved in file with Date and Time.");
SendClientMessage(playerid,Green1,"[-------------------| /observations |-------------------]");
#endif
}
return 1;
}
if(strcmp(cmd, "/level", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
if(!strlen(params))
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /level (1/2/3/4/5) ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see commands of specified level. ]");
}
//======================================================================
// Level 1
//======================================================================
if(strcmp(params,"1",true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
#if USE_DIALOGS == true
new dialog[2000];
strcat(dialog,"/getinfo ["COL_GREY"Get player info."COL_WHITE"]\n");
strcat(dialog,"/ban ["COL_GREY"Ban player"COL_WHITE"]\n");
strcat(dialog,"/unban ["COL_GREY"Unban player"COL_WHITE"]\n");
strcat(dialog,"/aban ["COL_GREY"Offline ban player"COL_WHITE"]\n");
strcat(dialog,"/searchban ["COL_GREY"Search for a player ban"COL_WHITE"]\n");
strcat(dialog,"/weaps ["COL_GREY"Get player weapons info."COL_WHITE"]\n");
strcat(dialog,"/ping ["COL_GREY"Player ping info."COL_WHITE"]\n");
strcat(dialog,"/ip ["COL_GREY"Show player's I.P."COL_WHITE"]\n");
strcat(dialog,"/fix ["COL_GREY"Fix your vehicle"COL_WHITE"]\n");
strcat(dialog,"/repair ["COL_GREY"Repair your vehicle"COL_WHITE"]\n");
strcat(dialog,"/addnos ["COL_GREY"Add Nitro<10x>"COL_WHITE"]\n");
strcat(dialog,"/tcar ["COL_GREY"Tune car"COL_WHITE"]\n");
strcat(dialog,"/saveplacae ["COL_GREY"Save position"COL_WHITE"]\n");
strcat(dialog,"/gotoplace ["COL_GREY"Goto saved position"COL_WHITE"]\n");
strcat(dialog,"/onduty ["COL_GREY"Go onduty"COL_WHITE"]\n");
strcat(dialog,"/saveskin ["COL_GREY"Save personal skin"COL_WHITE"]\n");
strcat(dialog,"/useskin ["COL_GREY"Use personal skin"COL_WHITE"]\n");
strcat(dialog,"/dontuseskin ["COL_GREY"Reset personal skin"COL_WHITE"]\n");
strcat(dialog,"/setmytime ["COL_GREY"Set your time"COL_WHITE"]\n");
strcat(dialog,"/adminarea ["COL_GREY"Goto admin area"COL_WHITE"]\n");
strcat(dialog,"/lconfig ["COL_GREY"Checkout admin - config"COL_WHITE"]\n");
strcat(dialog,"/viplist ["COL_GREY"Online vip list"COL_WHITE"]\n");
strcat(dialog,"/morning ["COL_GREY"Change weather to morning"COL_WHITE"]\n");
strcat(dialog,"/reports ["COL_GREY"Reports list"COL_WHITE"]\n");
strcat(dialog,"/offstats ["COL_GREY"Check stats offline"COL_WHITE"]\n");
strcat(dialog,"/miniguns ["COL_GREY"CHeckou players having miniguns"COL_WHITE"]");
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin (/level 1) - Basic Moderator",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| Level(1) - Basic Moderator |-------------------]");
SendClientMessage(playerid,Green2,"PLAYER: /getinfo, /ban, /unban, /aban, /searchban, /weaps, /ping, /ip");
SendClientMessage(playerid,Green2,"VEHICLE: /fix, /repair, /addnos, /tcar");
SendClientMessage(playerid,Green2,"TELEPORT: /saveplacae, /gotoplace");
SendClientMessage(playerid,Green2,"USEFULL: /onduty, /saveskin, /useskin, /dontuseskin, /setmytime, /adminarea, /lconfig");
SendClientMessage(playerid,Green2,"USEFULL: /morning, /viplist, /reports, /miniguns, /offstats");
SendClientMessage(playerid,Green1,"[-------------------| /level 1 |-------------------]");
#endif
}
else return ErrorMessages(playerid, 8);
}
//======================================================================
// Level 2
//======================================================================
else if(strcmp(params,"2",true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
#if USE_DIALOGS == true
new dialog[2000];
strcat(dialog,""COL_ORANGE"+ level<1> commands\n");
strcat(dialog,"/giveweapon ["COL_GREY"Give player weapon"COL_WHITE"]\n");
strcat(dialog,"/setcolour ["COL_GREY"Set player color"COL_WHITE"]\n");
strcat(dialog,"/burn ["COL_GREY"Burn a player"COL_WHITE"]\n");
strcat(dialog,"/spawn ["COL_GREY"Respawn someone"COL_WHITE"]\n");
strcat(dialog,"/disarm ["COL_GREY"Remove player weapons"COL_WHITE"]\n");
strcat(dialog,"/highlight ["COL_GREY"Highlight a player on map"COL_WHITE"]\n");
strcat(dialog,"/jetpack ["COL_GREY"Admin jetpack"COL_WHITE"]\n");
strcat(dialog,"/flip ["COL_GREY"Flip car"COL_WHITE"]\n");
strcat(dialog,"/fu ["COL_GREY"Fuck a player up!"COL_WHITE"]\n");
strcat(dialog,"/warn ["COL_GREY"Warn a player"COL_WHITE"]\n");
strcat(dialog,"/slap ["COL_GREY"Slap a player"COL_WHITE"]\n");
strcat(dialog,"/(un)mute ["COL_GREY"Disable/Enable player chat"COL_WHITE"]\n");
strcat(dialog,"/laston ["COL_GREY"Check player last joined"COL_WHITE"]\n");
strcat(dialog,"/lspec ["COL_GREY"Spectate player"COL_WHITE"]\n");
strcat(dialog,"/lspecoff ["COL_GREY"Spectate off"COL_WHITE"]\n");
strcat(dialog,"/acar ["COL_GREY"Admin car"COL_WHITE"]\n");
strcat(dialog,"/abike ["COL_GREY"Admin bike"COL_WHITE"]\n");
strcat(dialog,"/aheli ["COL_GREY"Admin helicopter"COL_WHITE"]\n");
strcat(dialog,"/aboat ["COL_GREY"Admin boat"COL_WHITE"]\n");
strcat(dialog,"/aplane ["COL_GREY"Admin plane"COL_WHITE"]\n");
strcat(dialog,"/lspecvehicle ["COL_GREY"Spectate vehicle"COL_WHITE"]\n");
strcat(dialog,"/goto ["COL_GREY"Goto a player"COL_WHITE"]\n");
strcat(dialog,"/vgoto ["COL_GREY"Goto a vehicle"COL_WHITE"]\n");
strcat(dialog,"/lgoto ["COL_GREY"Special goto"COL_WHITE"]\n");
strcat(dialog,"/lmenu ["COL_GREY"Master admin tool"COL_WHITE"]\n");
strcat(dialog,"/clearchat ["COL_GREY"Clear chat lines"COL_WHITE"]\n");
strcat(dialog,"/write ["COL_GREY"Write a chat line"COL_WHITE"]\n");
strcat(dialog,"/announce ["COL_GREY"Announce to all"COL_WHITE"]\n");
strcat(dialog,"/announce2 ["COL_GREY"Announce type 2"COL_WHITE"]\n");
strcat(dialog,"/screen ["COL_GREY"Announce to player"COL_WHITE"]\n");
strcat(dialog,"/(un)lockcar ["COL_GREY"Lock/Unlock car"COL_WHITE"]\n");
strcat(dialog,"/wanted ["COL_GREY"Check players wanted"COL_WHITE"]\n");
strcat(dialog,"/jailed ["COL_GREY"Check players jailed"COL_WHITE"]\n");
strcat(dialog,"/frozen ["COL_GREY"Check players frozen"COL_WHITE"]\n");
strcat(dialog,"/muted ["COL_GREY"Check players muted"COL_WHITE"]\n");
strcat(dialog,"/fstyles ["COL_GREY"Fight styles"COL_WHITE"]\n");
strcat(dialog,"/vehicles ["COL_GREY"Vehicles menu"COL_WHITE"]\n");
strcat(dialog,"/weapons ["COL_GREY"Weapons menu"COL_WHITE"]\n");
strcat(dialog,"/skins ["COL_GREY"Skins menu"COL_WHITE"]\n");
strcat(dialog,"/wanted ["COL_GREY"Check players wanted"COL_WHITE"]");
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin (/level 2) - Moderator",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| Level(2) - Moderator |-------------------]");
SendClientMessage(playerid,Green2,"PLAYER: /giveweapon, /setcolour, /burn, /spawn, /disarm, /highlight, /warn, /slap");
SendClientMessage(playerid,Green2,"PLAYER: /(un)mute, /laston, /lspec, /lspecoff, /screen, /fu, /goto");
SendClientMessage(playerid,Green2,"VEHICLE: /jetpack, /flip, /acar, /abike, /aheli, /aboat, /aplane, /lspecvehicle");
SendClientMessage(playerid,Green2,"TELEPORT: /vgoto, /goto, /lgoto");
SendClientMessage(playerid,Green2,"USEFULL: /lmenu, /clearchat, /write, /announce, /announce2, /(un)lockcar, /wanted");
SendClientMessage(playerid,Green2,"USEFULL: /jailed, /frozen, /muted, /fstyles, /wanted, /weapons, /Vehicles, /Skins");
SendClientMessage(playerid,Green1,"[-------------------| /level 2 |-------------------]");
#endif
}
else return ErrorMessages(playerid, 7);
}
//======================================================================
// Level 3
//======================================================================
else if(strcmp(params,"3",true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
#if USE_DIALOGS == true
new dialog[3000];
strcat(dialog,""COL_ORANGE"+ level<1&2> commands\n");
strcat(dialog,"/sethealth ["COL_GREY"Set player health"COL_WHITE"]\n");
strcat(dialog,"/setarmour ["COL_GREY"Set player armour"COL_WHITE"]\n");
strcat(dialog,"/setcash ["COL_GREY"Set player cash"COL_WHITE"]\n");
strcat(dialog,"/setscore ["COL_GREY"Set player score"COL_WHITE"]\n");
strcat(dialog,"/setskin ["COL_GREY"Set player skin"COL_WHITE"]\n");
strcat(dialog,"/setwanted ["COL_GREY"Set player wanted level"COL_WHITE"]\n");
strcat(dialog,"/setname ["COL_GREY"Set player name"COL_WHITE"]\n");
strcat(dialog,"/setweather ["COL_GREY"Set player weather"COL_WHITE"]\n");
strcat(dialog,"/settime ["COL_GREY"Set player time"COL_WHITE"]\n");
strcat(dialog,"/setworld ["COL_GREY"Set player virtual world"COL_WHITE"]\n");
strcat(dialog,"/setinterior ["COL_GREY"Set player interior"COL_WHITE"]\n");
strcat(dialog,"/setping ["COL_GREY"Set server max ping limit"COL_WHITE"]\n");
strcat(dialog,"/setgravity ["COL_GREY"Set server gravity"COL_WHITE"]\n");
strcat(dialog,"/setallskin ["COL_GREY"All players' skin"COL_WHITE"]\n");
strcat(dialog,"/armourall ["COL_GREY"All players' armour"COL_WHITE"]\n");
strcat(dialog,"/setallwanted ["COL_GREY"All players' wanted"COL_WHITE"]\n");
strcat(dialog,"/setallweather ["COL_GREY"All players' weather"COL_WHITE"]\n");
strcat(dialog,"/setalltime ["COL_GREY"All players' time"COL_WHITE"]\n");
strcat(dialog,"/setallworld ["COL_GREY"All players' virtual world"COL_WHITE"]\n");
strcat(dialog,"/setallscore ["COL_GREY"All players' score"COL_WHITE"]\n");
strcat(dialog,"/setallcash ["COL_GREY"All players' cash"COL_WHITE"]\n");
strcat(dialog,"/giveallcash ["COL_GREY"Give all cash"COL_WHITE"]\n");
strcat(dialog,"/giveallweapon ["COL_GREY"Give all weapon"COL_WHITE"]\n");
strcat(dialog,"/clearallchat ["COL_GREY"Clear all players' chat"COL_WHITE"]\n");
strcat(dialog,"/healall ["COL_GREY"Heal all"COL_WHITE"]\n");
strcat(dialog,"/ubound ["COL_GREY"Unbound vehicle"COL_WHITE"]\n");
strcat(dialog,"/duel ["COL_GREY"Run duel"COL_WHITE"]\n");
strcat(dialog,"/akill ["COL_GREY"Kill someone"COL_WHITE"]\n");
strcat(dialog,"/aka ["COL_GREY"Player ip info."COL_WHITE"]\n");
strcat(dialog,"/caps ["COL_GREY"Toggle caps in chat"COL_WHITE"]\n");
strcat(dialog,"/(un)freeze ["COL_GREY"Freeze / Unfreeze"COL_WHITE"]\n");
strcat(dialog,"/kick ["COL_GREY"Kick a player"COL_WHITE"]\n");
strcat(dialog,"/explode ["COL_GREY"Explode a player"COL_WHITE"]\n");
strcat(dialog,"/(un)jail ["COL_GREY"Jail or unjail"COL_WHITE"]\n");
strcat(dialog,"/force ["COL_GREY"Force class selection"COL_WHITE"]\n");
strcat(dialog,"/eject ["COL_GREY"Eject from car"COL_WHITE"]\n");
strcat(dialog,"/(s)removecash ["COL_GREY"Remove cash"COL_WHITE"]\n");
strcat(dialog,"/car ["COL_GREY"Disable chat"COL_WHITE"]\n");
strcat(dialog,"/carhealth ["COL_GREY"Set car h.p."COL_WHITE"]\n");
strcat(dialog,"/carcolour ["COL_GREY"Set car color"COL_WHITE"]\n");
strcat(dialog,"/destroycar ["COL_GREY"Destroy car"COL_WHITE"]\n");
strcat(dialog,"/vget ["COL_GREY"Get car"COL_WHITE"]\n");
strcat(dialog,"/givecar ["COL_GREY"Give player car"COL_WHITE"]\n");
strcat(dialog,"/teleplayer ["COL_GREY"Teleport player"COL_WHITE"]\n");
strcat(dialog,"/gethere ["COL_GREY"Get player"COL_WHITE"]\n");
strcat(dialog,"/get ["COL_GREY"Get player"COL_WHITE"]\n");
strcat(dialog,"/move ["COL_GREY"Move player in freeze mode"COL_WHITE"]\n");
strcat(dialog,"/moveplayer ["COL_GREY"Move player"COL_WHITE"]\n");
strcat(dialog,"/gps ["COL_GREY"Gps. mode"COL_WHITE"]\n");
strcat(dialog,"/lcam ["COL_GREY"Camera system"COL_WHITE"]\n");
strcat(dialog,"/setpass ["COL_GREY"Set account password"COL_WHITE"]\n");
strcat(dialog,"/lammo ["COL_GREY"Get Admin ammo"COL_WHITE"]\n");
strcat(dialog,"/countdown ["COL_GREY"start count down"COL_WHITE"]\n");
strcat(dialog,"/aweaps ["COL_GREY"Admin weapons"COL_WHITE"]\n");
strcat(dialog,"/invisible ["COL_GREY"Become invisible"COL_WHITE"]\n");
strcat(dialog,"/visible ["COL_GREY"Become visible"COL_WHITE"]\n");
strcat(dialog,"/Givecash ["COL_GREY"Give money"COL_WHITE"]\n");
strcat(dialog,"/Givescore ["COL_GREY"Give score"COL_WHITE"]\n");
strcat(dialog,"/Setkills ["COL_GREY"Set kills"COL_WHITE"]\n");
strcat(dialog,"/Setdeaths ["COL_GREY"Set deaths"COL_WHITE"]\n");
strcat(dialog,"/giveallscore ["COL_GREY"Give all score"COL_WHITE"]");
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin (/level 3) - Master Moderator",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| Level(3) - Master Moderator |-------------------]");
SendClientMessage(playerid,Green2,"PLAYER: /sethealth, /setarmour, /setcash, /setscore, /setskin, /setwanted, /setname, /setweather, /Givescore, /Givecash");
SendClientMessage(playerid,Green2,"PLAYER: /settime, /setworld, /akill, /setinterior, /aka, /(un)freeze, /kick, /explode, /(un)jail /Setdeaths");
SendClientMessage(playerid,Green2,"PLAYER: /force, /eject, /(s)removecash, /givecar, /teleplayer, /gethere, /get, /move, /moveplayer, /Setkills");
SendClientMessage(playerid,Green2,"VEHICLE: /car, /carhealth, /carcolour, /destroycar, /vget, /givecar");
SendClientMessage(playerid,Green2,"ALL: /armourall, /setallwanted, /setallweather, /setalltime, /setallworld, /setallscore, /setallcash");
SendClientMessage(playerid,Green2,"ALL: /giveallcash, /giveallscore, /giveallweapon, /clearallchat, /healall");
SendClientMessage(playerid,Green2,"USEFULL: /setgravity, /setping, /ubound, /duel, /gps, /lcam, /setpass");
SendClientMessage(playerid,Green2,"USEFULL: /lammo, /countdown, /aweaps, /invisible, /visible");
SendClientMessage(playerid,Green1,"[-------------------| /level 3 |-------------------]");
#endif
}
else return ErrorMessages(playerid, 6);
}
//======================================================================
// Level 4
//======================================================================
else if(strcmp(params,"4",true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
#if USE_DIALOGS == true
new dialog[2000];
strcat(dialog,""COL_ORANGE"+ level<1&2&3> commands\n");
strcat(dialog,"/spawnall ["COL_GREY"Spawn all"COL_WHITE"]\n");
strcat(dialog,"/muteall ["COL_GREY"Mute all"COL_WHITE"]\n");
strcat(dialog,"/unmuteall ["COL_GREY"Unmute all"COL_WHITE"]\n");
strcat(dialog,"/getall ["COL_GREY"Get all players"COL_WHITE"]\n");
strcat(dialog,"/killall ["COL_GREY"Kill all players"COL_WHITE"]\n");
strcat(dialog,"/freezeall ["COL_GREY"Freeze all players"COL_WHITE"]\n");
strcat(dialog,"/unfreezeall ["COL_GREY"Unfreeze all players"COL_WHITE"]\n");
strcat(dialog,"/kickall ["COL_GREY"Kick all players"COL_WHITE"]\n");
strcat(dialog,"/slapalll ["COL_GREY"Slap all players"COL_WHITE"]\n");
strcat(dialog,"/explodeall ["COL_GREY"Explode all players"COL_WHITE"]\n");
strcat(dialog,"/disarmall ["COL_GREY"Disarm all players"COL_WHITE"]\n");
strcat(dialog,"/ejectall ["COL_GREY"Eject players from cars"COL_WHITE"]\n");
strcat(dialog,"/cage ["COL_GREY"Cage player"COL_WHITE"]\n");
strcat(dialog,"/rban ["COL_GREY"I.P. Range ban player"COL_WHITE"]\n");
strcat(dialog,"/tempban ["COL_GREY"Temperorary ban player"COL_WHITE"]\n");
strcat(dialog,"/settemplevel ["COL_GREY"Set player temperorary level"COL_WHITE"]\n");
strcat(dialog,"/crash ["COL_GREY"Crash player client"COL_WHITE"]\n");
strcat(dialog,"/ctele ["COL_GREY"C teleport"COL_WHITE"]\n");
strcat(dialog,"/lockserver ["COL_GREY"Lock server"COL_WHITE"]\n");
strcat(dialog,"/enable ["COL_GREY"Enable menu"COL_WHITE"]\n");
strcat(dialog,"/disable ["COL_GREY"Disable menu"COL_WHITE"]\n");
strcat(dialog,"/spam ["COL_GREY"Create a spam"COL_WHITE"]\n");
strcat(dialog,"/god ["COL_GREY"Godmode"COL_WHITE"]\n");
strcat(dialog,"/godcar ["COL_GREY"Car godmode"COL_WHITE"]\n");
strcat(dialog,"/botcheck ["COL_GREY"Bot check feature"COL_WHITE"]\n");
strcat(dialog,"/forbidname ["COL_GREY"Forbid a name"COL_WHITE"]\n");
strcat(dialog,"/forbidword ["COL_GREY"Forbid a word"COL_WHITE"]\n");
strcat(dialog,"/fakedeath ["COL_GREY"Organize fake death"COL_WHITE"]\n");
strcat(dialog,"/uconfig ["COL_GREY"U-Config menu"COL_WHITE"]\n");
strcat(dialog,"/die ["COL_GREY"Kill a player"COL_WHITE"]\n");
strcat(dialog,"/hide ["COL_GREY"Hide from admin duty"COL_WHITE"]\n");
strcat(dialog,"/unhide ["COL_GREY"Visible from admin duty"COL_WHITE"]\n");
strcat(dialog,"/teamhelp ["COL_GREY"Visible from admin duty"COL_WHITE"]");
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin (/level 4) - Administrator",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| Level(4) - Administrator |-------------------]");
SendClientMessage(playerid,Green2,"PLAYER: /cage, /rban, /tempban, /settemplevel, /crash, /ctele, /die");
SendClientMessage(playerid,Green2,"ALL: /spawnall, /muteall, /unmuteall, /getall, /killall, /freezeall, /unfreezeall");
SendClientMessage(playerid,Green2,"ALL: /kickall, /slapalll, /explodeall, /disarmall, /ejectall");
SendClientMessage(playerid,Green2,"USEFULL: /lockserver, /enable, /disable, /spam, /god, /godcar, /forbidname");
SendClientMessage(playerid,Green2,"USEFULL: /forbidword, /fakedeath, /uconfig, /hide, /unhide, /teamhelp");
SendClientMessage(playerid,Green1,"[-------------------| /level 4 |-------------------]");
#endif
}
else return ErrorMessages(playerid, 5);
}
//======================================================================
// Level 5
//======================================================================
else if(strcmp(params,"5",true) == 0)
{
if(AccInfo[playerid][Level] >= 5)
{
#if USE_DIALOGS == true
new dialog[1000];
strcat(dialog,""COL_ORANGE"+ level<1&2&3&4> commands\n");
strcat(dialog,"/setlevel ["COL_GREY"Set player admin level"COL_WHITE"]\n");
strcat(dialog,"/fakechat ["COL_GREY"Create a fake chat"COL_WHITE"]\n");
strcat(dialog,"/fakedeath ["COL_GREY"Create a fake death"COL_WHITE"]\n");
strcat(dialog,"/fakecmd ["COL_GREY"Create a fake command"COL_WHITE"]\n");
strcat(dialog,"/god ["COL_GREY"Godmode"COL_WHITE"]\n");
strcat(dialog,"/sgod ["COL_GREY"Special godmode"COL_WHITE"]\n");
strcat(dialog,"/console ["COL_GREY"Admin console"COL_WHITE"]\n");
strcat(dialog,"/pickup ["COL_GREY"Create a pickup"COL_WHITE"]\n");
strcat(dialog,"/object ["COL_GREY"Create a object"COL_WHITE"]\n");
strcat(dialog,"/respawncars ["COL_GREY"Respawn all vehicles"COL_WHITE"]\n");
strcat(dialog,"/lrcon ["COL_GREY"(Only Rcon Admins) USAGE: /rcon lrcon"COL_WHITE"]");
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin (/level 5) - Master Administrator",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| Level(5) - Master Administrator |-------------------]");
SendClientMessage(playerid,Green2,"PLAYER: /setlevel");
SendClientMessage(playerid,Green2,"USEFULL: /fakechat, /fakedeath, /fakecmd, /god, /sgod, /console, /pickup");
SendClientMessage(playerid,Green2,"USEFULL: /object, /respawncars");
SendClientMessage(playerid,Green2,"/lrcon (Only Rcon Admins) [ USAGE: /rcon lrcon ]");
SendClientMessage(playerid,Green1,"[-------------------| /level 5 |-------------------]");
#endif
}
else return ErrorMessages(playerid, 9);
}
//======================================================================
else
{
SendClientMessage(playerid, red, "[ ERROR: Invalid Level (1-5). ]");
}
return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setarmour", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setarmour (player<name/id>) (value) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Armour of specified player. ]");
if(strval(tmp2) < 0 || strval(tmp2) > 100 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid, red, "[ ERROR: Invaild Armour Amount. ]");
new player1 = strval(tmp);
new armour = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetArmour");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Armour to '%d'. ]", pName(player1), armour);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your Armour to '%d'. ]", pName(playerid), armour);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return SetPlayerArmour(player1, armour);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/sethealth", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /sethealth (player<name/id>) (value) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Armour of specified player. ]");
if(strval(tmp2) < 0 || strval(tmp2) > 100 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
SendClientMessage(playerid, red, "[ ERROR: Invaild Health amount. ]");
new player1 = strval(tmp);
new health = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
SendCommandToAdmins(playerid,"SetHealth");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Health to '%d'. ]", pName(player1), health);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your Health to '%d'. ]", pName(playerid), health);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return SetPlayerHealth(player1, health);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setscore", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setscore (player<name/id>) (score) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Score of specified player. ]");
new player1 = strval(tmp);
new score = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetScore");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Score to '%d'. ]",pName(player1),score);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your Score to '%d'. ]", pName(playerid), score);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return SetPlayerScore(player1, score);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setskin", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setskin (player<name/id>) (skinid)") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Skin of specified player. ]");
new player1 = strval(tmp);
new skin = strval(tmp2);
new string[128];
if(!IsValidSkin(skin))
return SendClientMessage(playerid, red, "[ ERROR: Invaild Skin ID. ]");
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetSkin");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Skin to '%d. ]", pName(player1), skin);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your Skin to '%d'. ]", pName(playerid), skin);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return SetPlayerSkin(player1, skin);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setwanted", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setwanted (player<name/id>) (level<0-6>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Wanted Level of specified player. ]");
new player1 = strval(tmp);
new wanted = strval(tmp2);
new string[128];
if(wanted > 6)
return SendClientMessage(playerid, red, "[ ERROR: Invalid Wanted Level, must be b/w (0-6). ]");
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetWanted");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Wanted Level to '%d. ]", pName(player1), wanted);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your Wanted Level to '%d'. ]", pName(playerid), wanted);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return SetPlayerWantedLevel(player1, wanted);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setinterior", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setinterior (player<name/id>) (interiorid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Interior of specified player. ]");
new player1 = strval(tmp);
new time = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetInterior");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Interior to '%d'. ]",pName(player1),time);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your Interior to '%d'. ]",pName(playerid),time);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return SetPlayerInterior(player1, time);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setcash", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setcash (player<name/id>) (value) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Cash of specified player. ]");
new player1 = strval(tmp);
new cash = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetCash");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" cash to '$%d'. ]", pName(player1), cash);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your cash to '$%d'. ]", pName(playerid), cash);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
ResetPlayerMoney(player1);
return GivePlayerMoney(player1, cash);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setkills", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setkills (player<name/id>) (value) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set kills of specified player. ]");
new player1 = strval(tmp);
new cash = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetCash");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" kills to '%d'. ]", pName(player1), cash);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your kills to '%d'. ]", pName(playerid), cash);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return AccInfo[player1][Kills]=cash;
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setdeaths", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setdeaths (player<name/id>) (value) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set deaths of specified player. ]");
new player1 = strval(tmp);
new cash = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetCash");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" deaths to '%d'. ]", pName(player1), cash);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your deaths to '%d'. ]", pName(playerid), cash);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return AccInfo[player1][Deaths]=cash;
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/givecash", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /givecash (player<name/id>) (value) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give Cash to specified player. ]");
new player1 = strval(tmp);
new cash = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetCash");
format(string, sizeof(string), "[ ADMIN: You have given \"%s's\" cash of ammount '$%d'. ]", pName(player1), cash);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has given you cash of ammount '$%d'. ]", pName(playerid), cash);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return GivePlayerMoney(player1, cash);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/givescore", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /givescore (player<name/id>) (value) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give Score to specified player. ]");
new player1 = strval(tmp);
new cash = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetCash");
format(string, sizeof(string), "[ ADMIN: You have given \"%s's\" Score of ammount '%d'. ]", pName(player1), cash);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has given you Score of ammount '%d'. ]", pName(playerid), cash);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return SetPlayerScore(player1, GetPlayerScore(player1)+cash);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setcolour", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2))
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setcolour (player<name/id>) (color) ]");
SendClientMessage(playerid, orange, "[ COLOURS: (0)Black, (1)White, (2)Red, (3)Orange, (4)Yellow, (5)Green, (6)Blue, (7)Purple, (8)Brown, (9)Pink. ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Send message in a specified colour. ]");
}
new player1 = strval(tmp), Colour = strval(tmp2), string[128], colour[24];
if(Colour > 9)
return SendClientMessage(playerid, red, "[ ERROR: Inavlid Colour, (/setcolour). ]");
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetColour");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
switch (Colour)
{
case 0: { SetPlayerColor(player1,black); colour = "Black";
}
case 1: { SetPlayerColor(player1,COLOR_WHITE); colour = "White";
}
case 2: { SetPlayerColor(player1,red); colour = "Red";
}
case 3: { SetPlayerColor(player1,orange); colour = "Orange";
}
case 4: { SetPlayerColor(player1,orange); colour = "Yellow";
}
case 5: { SetPlayerColor(player1,COLOR_GREEN1); colour = "Green";
}
case 6: { SetPlayerColor(player1,COLOR_BLUE); colour = "Blue";
}
case 7: { SetPlayerColor(player1,COLOR_PURPLE); colour = "Purple";
}
case 8: { SetPlayerColor(player1,COLOR_BROWN); colour = "Brown";
}
case 9: { SetPlayerColor(player1,COLOR_PINK); colour = "Pink";
}
}
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your Colour to '%s'. ]", pName(playerid), colour);
SendClientMessage(player1,blue,string); }
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Colour to '%s'. ]", pName(player1), colour);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
return SendClientMessage(playerid,BlueMsg,string);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/settime", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /settime (player<name/id>) (hour) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Time of specified player. ]");
new player1 = strval(tmp);
new time = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetTime");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Time to %d:00. ]", pName(player1), time);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your Time to %d:00. ]", pName(playerid), time);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
return SetPlayerTime(player1, time, 0);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setmytime", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setmytime (hour) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set your Time. ]");
new time = strval(params);
new string[128];
SendCommandToAdmins(playerid,"SetMyTime");
format(string,sizeof(string),"[ ADMIN: His/her time has set to: %d:00. ]", time);
SendClientMessage(playerid,yellow,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
return SetPlayerTime(playerid, time, 0);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setweather", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setweather (player<name/id>) (weatherid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Weather of specified player. ]");
new player1 = strval(tmp), weather = strval(tmp2), string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetWeather");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" weather to '%d'. ]", pName(player1), weather);
SendClientMessage(playerid,BlueMsg,string);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your weather to '%d'. ]", pName(playerid), weather);
SendClientMessage(player1,blue,string);
}
SetPlayerWeather(player1,weather);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setlevel", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
{
new tmp [256];
new tmp2[256];
new Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(params))
{
new string[128];
format(string,sizeof(string),"[ USAGE: /setlevel (player<name/id>) (level<0-%d>) ]", ServerInfo[MaxAdminLevel]);
SendClientMessage(playerid,LIGHTBLUE2,string);
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the level of Administration of the Specific Player. ]");
}
new player1, level, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
player1 = strval(tmp);
if(!strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setlevel (player<name/id>) (level<0-5>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Level of Administration of the Specific Player. ]");
level = strval(tmp2);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
if(AccInfo[player1][LoggedIn] == 1)
{
if(level > ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: Invalid Level. ]");
if(level == AccInfo[player1][Level])
return SendClientMessage(playerid,red,"[ ERROR: Player is already this level. ]");
SendCommandToAdmins(playerid,"SetLevel");
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
new year,month,day;
new hour,minute,second;
getdate(year, month, day);
gettime(hour,minute,second);
if(level > 5)
{
AdmRank = "Professional Admin";
}
switch(level)
{
case 1: AdmRank = "Basic Moderator";
case 2: AdmRank = "Moderator";
case 3: AdmRank = "Master Moderator";
case 4: AdmRank = "Administrator";
case 5: AdmRank = "Master Administrator";
}
if(level > 0)
format(string,sizeof(string),"[ Administrator %s has set you to Administrator Status | Level: %d ( %s ) ]",adminname, level, AdmRank);
else
format(string,sizeof(string),"[ Administrator %s has set you to Player Status | Level: %d ]",adminname, level);
SendClientMessage(player1,LIGHTBLUE,string);
if(level > AccInfo[player1][Level])
GameTextForPlayer(player1,"Promoted", 2000, 3);
else GameTextForPlayer(player1,"Demoted", 2000, 3);
format(string,sizeof(string),"[ ADMIN: You have given %s Level %d on '%d/%d/%d' at '%d:%d:%d'. ]", playername, level, day, month, year, hour, minute, second);
SendClientMessage(playerid,yellow,string);
format(string,sizeof(string),"[ Administrator %s has made %s Level %d. ]",adminname, playername, level);
SaveIn("AdminLog",string);
dUserSetINT(PlayerName2(player1)).("Level",(level));
AccInfo[player1][Level] = level;
return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
else return SendClientMessage(playerid,red,"[ ERROR: This player is not Registred or Logged. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/setvip", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
{
new tmp [256];
new tmp2[256];
new Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setvip (player<name/id>) (level<0-3>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Account Type of the Specific Player (<0>-NormalAcc,<1>-Silver,<2>-Gold,<3>-Premium). ]");
new player1, type, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
player1 = strval(tmp);
if(!strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setvip (player<name/id>) (level<0-3>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Account Type of the Specific Player (<0>-NormalAcc,<1>-Silver,<2>-Gold,<3>-Premium). ]");
type = strval(tmp2);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(AccInfo[player1][LoggedIn] == 1)
{
if(type > 3)
return SendClientMessage(playerid,red,"[ ERROR: Invalid Account Type. ]");
if(type == AccInfo[player1][pVip])
return SendClientMessage(playerid,red,"[ ERROR: Player is already have this Account Type. ]");
SendCommandToAdmins(playerid,"SetVip");
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
new year,month,day;
new hour,minute,second;
getdate(year, month, day);
gettime(hour,minute,second);
switch(type)
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
if(type > 0)
format(string,sizeof(string),"[ Administrator %s has set your Account Type to: %s. ]",adminname,AccType);
else
format(string,sizeof(string),"[ Administrator %s has set your Account Type to: 'Normal Account. ]",adminname);
SendClientMessage(player1,0x66C178AA,string);
if(type > AccInfo[player1][pVip])
GameTextForPlayer(player1,"Promoted", 2000, 3);
else GameTextForPlayer(player1,"Demoted", 2000, 3);
format(string,sizeof(string),"[ ADMIN: You have given %s Account Type: %s on '%d/%d/%d' at '%d:%d:%d'. ]", playername, AccType, day, month, year, hour, minute, second);
SendClientMessage(playerid,0x00C378AA,string);
format(string,sizeof(string),"[ Administrator %s has made %s Account Type: %s. ]",adminname, playername, AccType);
SaveIn("AdminLog",string);
dUserSetINT(PlayerName2(player1)).("AccountType",(type));
AccInfo[player1][pVip] = type;
return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
else return SendClientMessage(playerid,red,"[ ERROR: This player is not Registred or Logged. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/settemplevel", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
{
new tmp [256];
new tmp2[256];
new Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /settemplevel (player<name/id>) (level) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Temporary level of administration of the Specific Player. ]");
new player1, level, string[128];
player1 = strval(tmp);
level = strval(tmp2);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(AccInfo[player1][LoggedIn] == 1)
{
if(level > ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: Invalid Level. ]");
if(level == AccInfo[player1][Level])
return SendClientMessage(playerid,red,"[ ERROR: Player is already this Level. ]");
SendCommandToAdmins(playerid,"SetTempLevel");
new year,month,day;
new hour,minute,second;
getdate(year, month, day);
gettime(hour,minute,second);
if(level > 5)
{
AdmRank = "Professional Admin";
}
switch(level)
{
case 1: AdmRank = "Basic Moderator";
case 2: AdmRank = "Moderator";
case 3: AdmRank = "Master Moderator";
case 4: AdmRank = "Administrator";
case 5: AdmRank = "Master Administrator";
}
if(level > 0)
format(string,sizeof(string),"[ Administrator %s has Temporarily set you to Administrator Status | Level: %d ( %s ) ]", pName(playerid), level, AdmRank);
else
format(string,sizeof(string),"[ Administrator %s has temporarily set you to Player Status | Level: %d ]", pName(playerid), level);
SendClientMessage(player1,blue,string);
if(level > AccInfo[player1][Level])
GameTextForPlayer(player1,"Promoted", 2000, 3);
else GameTextForPlayer(player1,"Demoted", 2000, 3);
format(string,sizeof(string),"[ ADMIN: You have given %s Temp Level %d on '%d/%d/%d' at '%d:%d:%d'. ]", pName(player1), level, day, month, year, hour, minute, second);
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator %s has made %s temp Level %d. ]",pName(playerid), pName(player1), level);
SaveIn("TempAdminLog",string);
AccInfo[player1][Level] = level;
return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
else return SendClientMessage(playerid,red,"[ ERROR: Player must be registered and logged in to be admin. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/setworld", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setworld (player<name/id>) (worldid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Virtual World of specified player. ]");
new player1 = strval(tmp);
new time = strval(tmp2);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetWorld");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Virtual World to '%d'. ]", pName(player1), time);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your Virtual World to '%d'. ]", pName(playerid), time);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
return SetPlayerVirtualWorld(player1, time);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setname", true) == 0)
{
if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setname (player<name/id>) (newname) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Name of specified player. ]");
new player1 = strval(tmp);
new length = strlen(tmp2);
new string[128];
if(length < 3 || length > MAX_PLAYER_NAME) return
SendClientMessage(playerid,red,"[ ERROR: Incorrect Name Length. ]");
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(strcmp(tmp2,PlayerName2(i),true)==0) return
SendClientMessage(playerid,red,"[ ERROR: This name is online currently. ]");
}
}
new file[256];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(tmp2));
if(fexist(file)) return
SendClientMessage(playerid,red,"[ ERROR: This name is already registered in the server database. ]");
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SetName");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Name to \"%s\". ]", pName(player1), tmp2);
SendClientMessage(playerid,BlueMsg,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has set your Name to \"%s\". ]", pName(playerid), tmp2);
SendClientMessage(player1,blue,string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
udb_Create(tmp2);
new file1[256],file2[256],tmp3[100];
new year,month,day;
getdate(year, month, day);
format(file1,sizeof(file1),"/eAdmin/Accounts/%s.sav",udb_encode(tmp2));
format(file2,sizeof(file2),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(player1)));
GetPlayerIp(playerid,tmp3,100);
dini_Set(file1,"Password",dini_Get(file2,"Password"));
dini_Set(file1,"Ip",tmp3);
dUserSetINT(tmp2).("Registered",1);
dini_Set(file1,"RegisteredDate",dini_Get(file2,"RegisteredDate"));
dUserSetINT(tmp2).("Loggedin",1);
dUserSetINT(tmp2).("Banned",0);
dUserSet(tmp2).("BannedBy","-");
dUserSet(tmp2).("BannedDate","-");
dUserSet(tmp2).("BannedReason","-");
dUserSetINT(tmp2).("Level",dUserINT(PlayerName2(player1)).("Level"));
dUserSetINT(tmp2).("AccountType",dUserINT(PlayerName2(player1)).("AccountType"));
dini_Set(file1,"LastOn",dini_Get(file2,"LastOn"));
dUserSetINT(tmp2).("Money",dUserINT(PlayerName2(player1)).("Money"));
dUserSetINT(tmp2).("Kills",dUserINT(PlayerName2(player1)).("Kills"));
dUserSetINT(tmp2).("Deaths",dUserINT(PlayerName2(player1)).("Deaths"));
dUserSetINT(tmp2).("WantedLevel",dUserINT(PlayerName2(player1)).("WantedLevel"));
#if SaveScore == true
dUserSetINT(tmp2).("Score",dUserINT(PlayerName2(player1)).("Score"));
#endif
dUserSetINT(tmp2).("Hours",dUserINT(PlayerName2(player1)).("Hours"));
dUserSetINT(tmp2).("Minutes",dUserINT(PlayerName2(player1)).("Minutes"));
dUserSetINT(tmp2).("Seconds",dUserINT(PlayerName2(player1)).("Seconds"));
new Float:x,Float:y,Float:z, interior;
GetPlayerPos(playerid,x,y,z);
interior = GetPlayerInterior(playerid);
dUserSetINT(tmp2).("x1",floatround(x));
dUserSetINT(tmp2).("y1",floatround(y));
dUserSetINT(tmp2).("z1",floatround(z));
dUserSetINT(tmp2).("interior1",interior);
new weap1, ammo1, weap2, ammo2, weap3, ammo3, weap4, ammo4, weap5, ammo5, weap6, ammo6;
GetPlayerWeaponData(playerid,2,weap1,ammo1);
GetPlayerWeaponData(playerid,3,weap2,ammo2);
GetPlayerWeaponData(playerid,4,weap3,ammo3);
GetPlayerWeaponData(playerid,5,weap4,ammo4);
GetPlayerWeaponData(playerid,6,weap5,ammo5);
GetPlayerWeaponData(playerid,7,weap6,ammo6);
dUserSetINT(tmp2).("Weapon1",weap1);
dUserSetINT(tmp2).("Weapon1Ammo",ammo1);
dUserSetINT(tmp2).("Weapon2",weap2);
dUserSetINT(tmp2).("Weapon2Ammo",ammo2);
dUserSetINT(tmp2).("Weapon3",weap3);
dUserSetINT(tmp2).("Weapon3Ammo",ammo3);
dUserSetINT(tmp2).("Weapon4",weap4);
dUserSetINT(tmp2).("Weapon4Ammo",ammo4);
dUserSetINT(tmp2).("Weapon5",weap5);
dUserSetINT(tmp2).("Weapon5Ammo",ammo5);
dUserSetINT(tmp2).("Weapon6",weap6);
dUserSetINT(tmp2).("Weapon6Ammo",ammo6);
new Float:health;
GetPlayerHealth(playerid, Float:health);
new Float:armour;
GetPlayerArmour(playerid, Float:armour);
new strdate[20];
format(strdate, sizeof(strdate), "%d.%d.%d",day,month,year);
dUserSetINT(tmp2).("Health",floatround(health));
dUserSetINT(tmp2).("Armour",floatround(armour));
dini_Set(file,"LastOn",strdate);
dUserSetINT(tmp2).("Loggedin",0);
dUserSetINT(tmp2).("TimesOnServer",dUserINT(file2).("TimesOnServer"));
AccInfo[player1][LoggedIn] = 1;
AccInfo[player1][Registered] = 1;
udb_Remove(PlayerName2(player1));
return SetPlayerName(player1, tmp2);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setgravity", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)||!(strval(params)<=50&&strval(params)>=-50)) return
SendClientMessage(playerid,red,"[ USAGE: /setgravity (value<-50.0-50.0>) ]");
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setgravity (value<-50.0-50.0>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the server Gravity. ]");
SendCommandToAdmins(playerid,"SetGravity");
new string[128],adminname[MAX_PLAYER_NAME];
GetPlayerName(playerid, adminname, sizeof(adminname));
new Float:Gravity = floatstr(params);
format(string,sizeof(string),"[ Admnistrator %s has set the Server Gravity to %f. ]",adminname,Gravity);
SetGravity(Gravity);
return SendClientMessageToAll(blue,string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/eject", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /eject (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Ejected from vehicle a specified player. ]");
new player1 = strval(params);
new string[128];
new Float:x, Float:y, Float:z;
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(IsPlayerInAnyVehicle(player1))
{
SendCommandToAdmins(playerid,"Eject");
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has Ejected you from your Vehicle. ]", pName(playerid));
SendClientMessage(player1,blue,string);
}
format(string,sizeof(string),"[ ADMIN: You have ejected \"%s\" from their Vehicle. ]", pName(player1));
SendClientMessage(playerid,BlueMsg,string);
GetPlayerPos(player1,x,y,z);
return SetPlayerPos(player1,x,y,z+3);
}
else return SendClientMessage(playerid,red,"[ ERROR: Player is not in a vehicle. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/force", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /force (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Force return to class selection a specified Player. ]");
new player1 = strval(params);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"Force");
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has forced you into class selection. ]", pName(playerid));
SendClientMessage(player1,blue,string);
}
format(string,sizeof(string),"[ ADMIN: You have forced \"%s\" into class selection. ]", pName(player1));
SendClientMessage(playerid,BlueMsg,string);
ForceClassSelection(player1);
return SetPlayerHealth(player1,0.0);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/burn", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /burn (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Burn a specified player (With explosion). ]");
new player1 = strval(params);
new string[128];
new Float:x, Float:y, Float:z;
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"Burn");
format(string, sizeof(string), "[ ADMIN: You have burnt \"%s\". ]", pName(player1));
SendClientMessage(playerid,BlueMsg,string);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has burnt you. ]", pName(playerid));
SendClientMessage(player1,blue,string);
}
GetPlayerPos(player1, x, y, z);
return CreateExplosion(x, y , z + 3, 1, 10);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/lockcar", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if(IsPlayerInAnyVehicle(playerid))
{
for(new i = 0; i < MAX_PLAYERS; i++)
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,true);
SendCommandToAdmins(playerid,"LockCar");
AccInfo[playerid][DoorsLocked] = 1;
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Locked his car. ]", pName(playerid));
return SendClientMessageToAll(blue,string);
}
else return SendClientMessage(playerid,red,"[ ERROR: You need to be in a vehicle to lock the doors. ]");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/unlockcar", true) == 0)
{
if(AccInfo[playerid][Level] >= 2) {
if(IsPlayerInAnyVehicle(playerid))
{
for(new i = 0; i < MAX_PLAYERS; i++)
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,false);
SendCommandToAdmins(playerid,"UnlockCar");
AccInfo[playerid][DoorsLocked] = 0;
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Unlocked his car. ]", pName(playerid));
return SendClientMessageToAll(blue,string);
}
else return SendClientMessage(playerid,red,"[ ERROR: You need to be in a vehicle to lock the doors. ]");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/crash", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /crash (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Crash a specified player. ]");
new player1 = strval(params), string[128], Float:X,Float:Y,Float:Z;
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"Crash");
GetPlayerPos(player1,X,Y,Z);
new CrashObj = CreatePlayerObject(player1,11111111,X,Y,Z,0,0,0);
DestroyObject(CrashObj);
format(string, sizeof(string), "[ ADMIN: You have Crashed \"%s's\". ]", pName(player1));
return SendClientMessage(playerid,blue, string);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/spawn", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /spawn (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Spawn a specified player. ]");
new player1 = strval(params);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"Spawn");
format(string, sizeof(string), "[ ADMIN: You have Spawned \"%s\". ]", pName(player1));
SendClientMessage(playerid,BlueMsg,string);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has Spawned you. ]", pName(playerid));
SendClientMessage(player1,blue,string);
}
SetPlayerPos(player1, 0.0, 0.0, 0.0);
return SpawnPlayer(player1);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/giveweapon", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new tmp3[256]; tmp3 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveweapon (player<name/id>) (weaponid) (ammo) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Crash a specified player. ]");
new player1 = strval(tmp);
new weap, ammo, WeapName[32];
new string[128];
if(!strlen(tmp3) || !IsNumeric(tmp3) || strval(tmp3) <= 0 || strval(tmp3) > 99999) ammo = 500;
else ammo = strval(tmp3);
if(!IsNumeric(tmp2)) weap = GetWeaponIDFromName(tmp2);
else weap = strval(tmp2);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(!IsValidWeapon(weap))
return SendClientMessage(playerid,red,"[ ERROR: Invalid Weapon ID. ]");
SendCommandToAdmins(playerid,"GiveWeapon");
GetWeaponName(weap,WeapName,32);
format(string, sizeof(string), "[ ADMIN: You have given \"%s\" a %s (%d) with %d rounds of Ammo. ]", PlayerName2(player1), WeapName, weap, ammo);
SendClientMessage(playerid,BlueMsg,string);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has given you a %s (%d) with %d rounds of Ammo. ]", PlayerName2(playerid), WeapName, weap, ammo);
SendClientMessage(player1,blue,string);
}
return GivePlayerWeapon(player1, weap, ammo);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/disarm", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /disarm (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will disarm a specified player. ]");
new player1 = strval(params);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"Disarm");
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
format(string, sizeof(string), "[ ADMIN: You have disarmed \"%s\". ]", pName(player1));
SendClientMessage(playerid,BlueMsg,string);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has Disarmed you. ]", pName(playerid));
SendClientMessage(player1,blue,string);
}
ResetPlayerWeapons(player1);
return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/aweaps", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
GivePlayerWeapon(playerid,31,1000); GivePlayerWeapon(playerid,16,1000);
GivePlayerWeapon(playerid,34,1000); GivePlayerWeapon(playerid,28,1000);
GivePlayerWeapon(playerid,38,1000); GivePlayerWeapon(playerid,24,1000);
GivePlayerWeapon(playerid,26,1000); GivePlayerWeapon(playerid,42,1000);
GivePlayerWeapon(playerid,14,1000); GivePlayerWeapon(playerid,46,1000);
GivePlayerWeapon(playerid,9,1);
return 1;
}
else return ErrorMessages(playerid, 6);
}
if(strcmp(cmd, "/sremovecash", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /sremovecash (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will silently remove Cash of specified player. ]");
new player1 = strval(params);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"SRemoveCash");
format(string, sizeof(string), "[ ADMIN: You have Silently reset \"%s's\" Cash. ]", pName(player1));
SendClientMessage(playerid,BlueMsg,string);
return ResetPlayerMoney(player1);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/removecash", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /removecash (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will remove Cash of specified player. ]");
new player1 = strval(params);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"RemoveCash");
format(string, sizeof(string), "[ ADMIN: You have reset \"%s's\" Cash. ]", pName(player1));
SendClientMessage(playerid,BlueMsg,string);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has reset your Cash. ]", pName(playerid));
SendClientMessage(player1,blue,string);
}
return ResetPlayerMoney(player1);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/ubound", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /ubound (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will removed World Boundaries of specified player. ]");
new string[128], player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"Ubound");
SetPlayerWorldBounds(player1, 9999.9, -9999.9, 9999.9, -9999.9 );
format(string, sizeof(string), "[ Administrator %s has removed your World Boundaries. ]", PlayerName2(playerid));
if(player1 != playerid)
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have removed %s's World Boundaries. ]", PlayerName2(player1));
return SendClientMessage(playerid,BlueMsg,string);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/ip", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /ip (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see Ip of specified player. ]");
new player1 = strval(params);
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"Ip");
new tmp3[50];
GetPlayerIp(player1,tmp3,50);
format(string,sizeof(string),"[ PlayerName: %s | IP: %s. ]", pName(player1), tmp3);
return SendClientMessage(playerid,BlueMsg,string);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/lconfig", true) == 0)
{
if(AccInfo[playerid][Level] > 0)
{
new string[128];
new rAutoLogin [4],rReadCmds [4],rReadPMs [4],rAntiSpam [4],rNameKick [4],rAntiBot [4];
new rLocked [4],rConnectMsg [4], rACmdMsg [4],rAntiSwear [4],rSaveWeapon [4],rASkins [4];
new rDisableChat[4],rMustLogin [4],rMustReg [4],rNoCaps [4],rSaveMoney [4],rFWeaps [4];
new rAntiAds [4];
if(ServerInfo[AutoLogin] == 1) rAutoLogin = "Yes"; else rAutoLogin = "No";
if(ServerInfo[ReadCmds] == 1) rReadCmds = "Yes"; else rReadCmds = "No";
if(ServerInfo[ReadPMs] == 1) rReadPMs = "Yes"; else rReadPMs = "No";
if(ServerInfo[AntiSpam] == 1) rAntiSpam = "Yes"; else rAntiSpam = "No";
if(ServerInfo[NameKick] == 1) rNameKick = "Yes"; else rNameKick = "No";
if(ServerInfo[AdminOnlySkins] == 1) rASkins = "Yes"; else rASkins = "No";
if(ServerInfo[AntiBot] == 1) rAntiBot = "Yes"; else rAntiBot = "No";
if(ServerInfo[AntiSwear] == 1) rAntiSwear = "Yes"; else rAntiSwear = "No";
if(ServerInfo[Locked] == 1) rLocked = "Yes"; else rLocked = "No";
if(ServerInfo[ConnectMessages] == 1) rConnectMsg = "Yes"; else rConnectMsg = "No";
if(ServerInfo[AdminCmdMsg] == 1) rACmdMsg = "Yes"; else rACmdMsg = "No";
if(ServerInfo[DisableChat] == 1) rDisableChat = "Yes"; else rDisableChat = "No";
if(ServerInfo[MustLogin] == 1) rMustLogin = "Yes"; else rMustLogin = "No";
if(ServerInfo[MustRegister] == 1) rMustReg = "Yes"; else rMustReg = "No";
if(ServerInfo[NoCaps] == 1) rNoCaps = "Yes"; else rNoCaps = "No";
if(ServerInfo[GiveWeap] == 1) rSaveWeapon = "Yes"; else rSaveWeapon = "No";
if(ServerInfo[GiveMoney] == 1) rSaveMoney = "Yes"; else rSaveMoney = "No";
if(ServerInfo[ForbiddenWeaps] == 1) rFWeaps = "Yes"; else rFWeaps = "No";
if(ServerInfo[ForbiddenWeaps] == 1) rFWeaps = "Yes"; else rFWeaps = "No";
if(ServerInfo[AntiAds] == 1) rAntiAds = "Yes"; else rAntiAds = "No";
SendClientMessage(playerid, orange, " ");
SendClientMessage(playerid, LIGHTBLUE2, "___________ [ Admin System - Configuration ] ___________");
format(string, sizeof(string), "AutoLogin: %s | ReadCmds: %s | ReadPms: %s | Max Admin Level: %d | AntiSpam: %s", rAutoLogin, rReadCmds, rReadPMs, ServerInfo[MaxAdminLevel],rAntiSpam);
SendClientMessage(playerid,LIGHTBLUE,string);
format(string, sizeof(string), "AdmSkins: %s | AdminSkin1: %d | AdminSkin2: %d | NameKick: %s | AntiBot: %s",rASkins, ServerInfo[AdminSkin], ServerInfo[AdminSkin2], rNameKick, rAntiBot);
SendClientMessage(playerid,LIGHTBLUE,string);
format(string, sizeof(string), "AntiSwear: %s | Locked: %s | Pass: %s | ConnectMessages: %s | AdminCmdMsgs: %s",rAntiSwear, rLocked, ServerInfo[Password], rConnectMsg, rACmdMsg);
SendClientMessage(playerid,LIGHTBLUE,string);
format(string, sizeof(string), "Max Ping: %dms | ChatDisabled: %s | MaxMuteWarnings: %d | MustLogin: %s | Anti Ads: %s", ServerInfo[MaxPing],rDisableChat, ServerInfo[MaxMuteWarnings], rMustLogin, rAntiAds);
SendClientMessage(playerid,LIGHTBLUE,string);
format(string, sizeof(string), "MustRegister: %s | NoCaps: %s | SaveWeaps: %s | SaveMoney: %s | Forbidden Weapons: %s",rMustReg, rNoCaps,rSaveWeapon, rSaveMoney, rFWeaps);
SendClientMessage(playerid,LIGHTBLUE,string);
SendClientMessage(playerid, LIGHTBLUE2, "________________________________________________________");
}
return 1;
}
if(strcmp(cmd, "/time", true) == 0)
{
new string[64];
new hour,minuite,second;
gettime(hour,minuite,second);
format(string, sizeof(string), "~g~|~w~%d:%d~g~|", hour, minuite);
return GameTextForPlayer(playerid, string, 5000, 1);
}
if(strcmp(cmd, "/getinfo", true) == 0)
{
if(AccInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /getinfo (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see Informations of specified player. ]");
new player1;
new string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
new TimesOn;
new pIP[128];
new Float:pHealth;
new Float:pArmour;
new year,month,day;
new pn,Sum, Average;
new tmp2[256],file[256];
new Float:x,Float:y,Float:z;
new pRegister[4],RegDate[256];
new pJailed[4],pFrozen[4];
new pInCage[4], pLogged[4];
new LuX_GpsZone[MAX_ZONE_NAME] = "Undetected Zone";
GetPlayerArmour(player1,pArmour);
GetPlayerHealth(player1,pHealth);
GetPlayerIp(player1, pIP, sizeof(pIP));
getdate(year, month, day);
GetPlayerPos(player1,x,y,z);
GetPlayerInZone(player1, LuX_GpsZone, MAX_ZONE_NAME);
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(player1)));
if(AccInfo[player1][Jailed] == 1) pJailed = "Yes"; else pJailed = "No";
if(AccInfo[player1][Frozen] == 1) pFrozen = "Yes"; else pFrozen = "No";
if(AccInfo[player1][pCaged] == 1) pInCage = "Yes"; else pInCage = "No";
if(AccInfo[player1][LoggedIn] == 1) pLogged = "Yes"; else pLogged = "No";
if(fexist(file)) pRegister = "Yes"; else pRegister = "No";
tmp2 = dini_Get(file,"LastOn");
if(strlen(dini_Get(file,"RegisteredDate")) < 3)
RegDate = "n/a";
else RegDate = dini_Get(file,"RegisteredDate");
TimesOn = dUserINT(PlayerName2(player1)).("TimesOnServer");
while (pn < PING_MAX_EXCEEDS){
Sum += AccInfo[player1][pPing][pn]; pn++;
}
Average = (Sum / PING_MAX_EXCEEDS);
if(IsPlayerAdmin(player1)) AdmRank = "RCON Administrator";
else
switch(AccInfo[player1][Level])
{
case 1: AdmRank = "Basic Moderator";
case 2: AdmRank = "Moderator";
case 3: AdmRank = "Master Moderator";
case 4: AdmRank = "Administrator";
case 5: AdmRank = "Master Administrator";
}
if(AccInfo[playerid][Level] > 5)
{
AdmRank = "Professional Admin";
}
SendClientMessage(playerid, orange, " ");
SendClientMessage(playerid, LIGHTBLUE, "___________ [ Player Information ] ___________");
format(string, sizeof(string),"Name: %s | ID: %d | Ip: %s | Health: %d | Armour: %d | Cash: %d", PlayerName2(player1),player1,pIP,floatround(pHealth),floatround(pArmour),GetPlayerMoney(player1));
SendClientMessage(playerid,LIGHTGREEN,string);
format(string, sizeof(string),"Score: %d | Skin: %d | Ping: %d (Average: %d) | Wanted Level: %d", GetPlayerScore(player1),GetPlayerSkin(player1),GetPlayerPing(player1),Average,GetPlayerWantedLevel(player1));
SendClientMessage(playerid,0x33F666FF,string);
format(string, sizeof(string),"Interior: %d | Virtual World: %d | Pos: X: %0.1f, Y: %0.1f, Z: %0.1f | In: %s", GetPlayerInterior(player1), GetPlayerVirtualWorld(player1), Float:x,Float:y,Float:z,LuX_GpsZone);
SendClientMessage(playerid,0x53D266FF,string);
format(string, sizeof(string),"Kills: %d | Deaths: %d | Ratio: %0.2f | Admin Level: %d - %s | In Cage: %s", AccInfo[player1][Kills],AccInfo[player1][Deaths],Float:AccInfo[player1][Kills]/Float:AccInfo[player1][Deaths],AccInfo[player1][Level],AdmRank,pInCage);
SendClientMessage(playerid,0x53D212FF,string);
format(string, sizeof(string),"Registered: %s | Logged In: %s | In Jail: %s | Frozen: %s | On Server: %d",pRegister,pLogged,pJailed,pFrozen,TimesOn);
SendClientMessage(playerid,0x53BB12FF,string);
format(string, sizeof(string),"Last On Server: %s | Register Date: %s | Todays Date: %d/%d/%d",tmp2,RegDate,day,month,year);
SendClientMessage(playerid,0x129E12FF,string);
if(IsPlayerInAnyVehicle(player1))
{
new Float:VHealth, carid = GetPlayerVehicleID(playerid);
GetVehicleHealth(carid,VHealth);
format(string, sizeof(string),"Vehicle Name: %s | VehicleID: %d | Model: %d | Vehicle Health: %d",VehicleNames[GetVehicleModel(carid)-400],carid,GetVehicleModel(carid),floatround(VHealth));
SendClientMessage(playerid,0x12B281FF,string);
}
new slot, ammo, weap, Count, WeapName[24], WeapSTR[128], p; WeapSTR = "Weapons: ";
for (slot = 0; slot < 14; slot++)
{
GetPlayerWeaponData(player1, slot, weap, ammo);
if( ammo != 0 && weap != 0)
Count++;
}
if(Count < 1)
return SendClientMessage(playerid,0x6BF686FF,"Player has no weapons");
else
{
for (slot = 0; slot < 14; slot++)
{
GetPlayerWeaponData(player1, slot, weap, ammo);
if (ammo > 0 && weap > 0)
{
GetWeaponName(weap, WeapName, sizeof(WeapName) );
if (ammo == 65535 || ammo == 1)
format(WeapSTR,sizeof(WeapSTR),"%s%s (1)",WeapSTR, WeapName);
else format(WeapSTR,sizeof(WeapSTR),"%s%s (%d)",WeapSTR, WeapName, ammo);
p++;
if(p >= 5)
{
SendClientMessage(playerid, 0x6BF686FF, WeapSTR); format(WeapSTR, sizeof(WeapSTR), "Weapons: "); p = 0;
}
else format(WeapSTR, sizeof(WeapSTR), "%s, ", WeapSTR);
}
}
if(p <= 4 && p > 0)
{
string[strlen(string)-3] = '.';
SendClientMessage(playerid, 0x6BF686FF, WeapSTR);
}
}
SendClientMessage(playerid, LIGHTBLUE, "________________________________________________");
return 1;
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/disable", true) == 0)
{
if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
{
if(!strlen(params))
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /disable (AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps) ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will disable a specified Function (Some functions are only in Enable/Disable Dialog). ]");
}
new string[128], file[256]; format(file,sizeof(file),"/eAdmin/Config/Config.ini");
if(strcmp(params,"antiswear",true) == 0) {
ServerInfo[AntiSwear] = 0;
dini_IntSet(file,"AntiSwear",0);
format(string,sizeof(string),"[ Administrator %s has disabled AntiSwear. ]", PlayerName2(playerid));
SendClientMessageToAll(blue,string);
}
else if(strcmp(params,"namekick",true) == 0) {
ServerInfo[NameKick] = 0;
dini_IntSet(file,"NameKick",0);
format(string,sizeof(string),"[ Administrator %s has disabled NameKick. ]", PlayerName2(playerid));
SendClientMessageToAll(blue,string);
}
else if(strcmp(params,"antispam",true) == 0) {
ServerInfo[AntiSpam] = 0;
dini_IntSet(file,"AntiSpam",0);
format(string,sizeof(string),"[ Administrator %s has disabled AntiSpam. ]", PlayerName2(playerid));
SendClientMessageToAll(blue,string);
}
else if(strcmp(params,"ping",true) == 0) {
ServerInfo[MaxPing] = 0;
dini_IntSet(file,"MaxPing",0);
format(string,sizeof(string),"[ Administrator %s has disabled Ping Kick. ]", PlayerName2(playerid));
SendClientMessageToAll(blue,string);
}
else if(strcmp(params,"readcmds",true) == 0) {
ServerInfo[ReadCmds] = 0;
dini_IntSet(file,"ReadCmds",0);
format(string,sizeof(string),"[ Administrator %s has disabled Reading Commands. ]", PlayerName2(playerid));
MessageToAdmins(blue,string);
}
else if(strcmp(params,"readpms",true) == 0) {
ServerInfo[ReadPMs] = 0;
dini_IntSet(file,"ReadPMs",0);
format(string,sizeof(string),"[ Administrator %s has disabled Reading Pms. ]", PlayerName2(playerid));
MessageToAdmins(blue,string);
}
else if(strcmp(params,"caps",true) == 0) {
ServerInfo[NoCaps] = 0;
dini_IntSet(file,"NoCaps",0);
format(string,sizeof(string),"[ Administrator %s has prevented CapsLock in chat. ]", PlayerName2(playerid));
SendClientMessageToAll(blue,string);
}
else if(strcmp(params,"antiweaps",true) == 0) {
ServerInfo[ForbiddenWeaps] = 0;
dini_IntSet(file,"ForbiddenWeapons",0);
format(string,sizeof(string),"[ Administrator %s has prevented Anti Forbidden Weapons. ]", PlayerName2(playerid));
SendClientMessageToAll(0x00A700FF,string);
SendClientMessage(playerid, orange, "[ To update Forbidden Weapons File use: /uconfig. ]");
}
else if(strcmp(params,"admincmdmsgs",true) == 0) {
ServerInfo[AdminCmdMsg] = 0;
dini_IntSet(file,"AdminCMDMessages",0);
format(string,sizeof(string),"[ Administrator %s has disabled Administration Command Messages. ]", PlayerName2(playerid));
MessageToAdmins(green,string);
}
else if(strcmp(params,"connectmsgs",true) == 0) {
ServerInfo[ConnectMessages] = 0;
dini_IntSet(file,"ConnectMessages",0);
format(string,sizeof(string),"[ Administrator %s has disabled Connect and Disconnect Messages. ]", PlayerName2(playerid));
MessageToAdmins(green,string);
}
else if(strcmp(params,"antiads",true) == 0) {
ServerInfo[AntiAds] = 0;
dini_IntSet(file,"AntiAdvertisements",0);
format(string,sizeof(string),"[ Administrator %s has disabled Anti Advertisements. ]", PlayerName2(playerid));
MessageToAdmins(green,string);
}
else if(strcmp(params,"autologin",true) == 0) {
ServerInfo[AutoLogin] = 0;
dini_IntSet(file,"AutoLogin",0);
format(string,sizeof(string),"[ Administrator %s has disabled Auto Login. ]", PlayerName2(playerid));
MessageToAdmins(green,string);
}
else {
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /disable (AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps) ]");
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will disable a specified Function (Some functions are only in Enable/Disable Dialog). ]");
} return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/enable", true) == 0)
{
if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
{
if(!strlen(params))
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /enable (AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps) ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will enable a specified Function (Some functions are only in Enable/Disable Dialog). ]");
}
new string[128], file[256]; format(file,sizeof(file),"/eAdmin/Config/Config.ini");
if(strcmp(params,"antiswear",true) == 0) {
ServerInfo[AntiSwear] = 1;
dini_IntSet(file,"AntiSwear",1);
format(string,sizeof(string),"[ Administrator %s has enabled AntiSwear. ]", PlayerName2(playerid));
SendClientMessageToAll(0x00A700FF,string);
}
else if(strcmp(params,"namekick",true) == 0) {
ServerInfo[NameKick] = 1;
format(string,sizeof(string),"[ Administrator %s has enabled NameKick. ]", PlayerName2(playerid));
SendClientMessageToAll(0x00A700FF,string);
}
else if(strcmp(params,"antispam",true) == 0) {
ServerInfo[AntiSpam] = 1;
dini_IntSet(file,"AntiSpam",1);
format(string,sizeof(string),"[ Administrator %s has enabled AntiSpam. ]", PlayerName2(playerid));
SendClientMessageToAll(0x00A700FF,string);
}
else if(strcmp(params,"ping",true) == 0) {
ServerInfo[MaxPing] = 800;
dini_IntSet(file,"MaxPing",800);
format(string,sizeof(string),"[ Administrator %s has enabled Ping Kick. ]", PlayerName2(playerid));
SendClientMessageToAll(0x00A700FF,string);
}
else if(strcmp(params,"readcmds",true) == 0) {
ServerInfo[ReadCmds] = 1;
dini_IntSet(file,"ReadCmds",1);
format(string,sizeof(string),"[ Administrator %s has enabled Reading Commands. ]", PlayerName2(playerid));
MessageToAdmins(orange,string);
}
else if(strcmp(params,"readpms",true) == 0) {
ServerInfo[ReadPMs] = 1;
dini_IntSet(file,"ReadPMs",1);
format(string,sizeof(string),"[ Administrator %s has enabled Reading Pms. ]", PlayerName2(playerid));
MessageToAdmins(orange,string);
}
else if(strcmp(params,"caps",true) == 0) {
ServerInfo[NoCaps] = 1;
dini_IntSet(file,"NoCaps",1);
format(string,sizeof(string),"[ Administrator %s has allowed CaPsLoCk in chat. ]", PlayerName2(playerid));
SendClientMessageToAll(0x00A700FF,string);
}
else if(strcmp(params,"antiweaps",true) == 0) {
ServerInfo[ForbiddenWeaps] = 1;
dini_IntSet(file,"ForbiddenWeapons",1);
format(string,sizeof(string),"[ Administrator %s has allowed Anti Forbidden Weapons. ]", PlayerName2(playerid));
SendClientMessageToAll(0x00A700FF,string);
SendClientMessage(playerid, orange, "[ To update Forbidden Weapons File use: /uconfig. ]");
}
else if(strcmp(params,"admincmdmsgs",true) == 0) {
ServerInfo[AdminCmdMsg] = 1;
dini_IntSet(file,"AdminCmdMessages",1);
format(string,sizeof(string),"[ Administrator %s has enabled Administration Command Messages. ]", PlayerName2(playerid));
MessageToAdmins(orange,string);
}
else if(strcmp(params,"connectmsgs",true) == 0) {
ServerInfo[ConnectMessages] = 1;
dini_IntSet(file,"ConnectMessages",1);
format(string,sizeof(string),"[ Administrator %s has enabled Connect and Disconnect Messages. ]", PlayerName2(playerid));
MessageToAdmins(orange,string);
}
else if(strcmp(params,"antiads",true) == 0) {
ServerInfo[AntiAds] = 1;
dini_IntSet(file,"AntiAdvertisements",1);
format(string,sizeof(string),"[ Administrator %s has enabled Anti Advertisements. ]", PlayerName2(playerid));
MessageToAdmins(green,string);
}
else if(strcmp(params,"autologin",true) == 0) {
ServerInfo[AutoLogin] = 1;
dini_IntSet(file,"AutoLogin",1);
format(string,sizeof(string),"[ Administrator %s has enabled Auto Login. ]", PlayerName2(playerid));
MessageToAdmins(orange,string);
}
else {
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /enable (AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps) ]");
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will enable a specified Function (Some functions are only in Enable/Disable Dialog). ]");
}
return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/kill", true) == 0)
{
return SetPlayerHealth(playerid,0.0);
}
if(strcmp(cmd, "/lammo", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
MaxAmmo(playerid);
return SendCommandToAdmins(playerid,"LAmmo");
}
else return ErrorMessages(playerid, 6);
}
if(strcmp(cmd, "/setping", true) == 0)
{
if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setping (ping) (Disable: '0') ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set specified value of maximum Ping allowed in Server. ]");
new string[128], ping = strval(params);
ServerInfo[MaxPing] = ping;
SendCommandToAdmins(playerid,"SetPing");
new file[256]; format(file,sizeof(file),"/eAdmin/Config/Config.ini");
dini_IntSet(file,"MaxPing",ping);
for(new i = 0; i <= MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
PlayerPlaySound(i,1057,0.0,0.0,0.0);
if(ping == 0)
format(string,sizeof(string),"[ Administrator %s has Disabled maximum Ping. ]", PlayerName2(playerid), ping);
else format(string,sizeof(string),"[ Administrator %s has set the Maximum Ping to: %d. ]", PlayerName2(playerid), ping);
return SendClientMessageToAll(yellow,string);
}
else return ErrorMessages(playerid, 6);
}
if(strcmp(cmd, "/ping", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /ping (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see the Ping Informations of the specified player. ]");
new player1 = strval(params), string[128];
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
new Sum, Average, x;
while (x < PING_MAX_EXCEEDS)
{
Sum += AccInfo[player1][pPing][x];
x++;
}
Average = (Sum / PING_MAX_EXCEEDS);
format(string, sizeof(string), "[ \"%s\" (Id: %d) Average Ping: %d - Last Readings: %d, %d, %d, %d. ]", PlayerName2(player1), player1, Average, AccInfo[player1][pPing][0], AccInfo[player1][pPing][1], AccInfo[player1][pPing][2], AccInfo[player1][pPing][3] );
return SendClientMessage(playerid,blue,string);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/fix", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
if (IsPlayerInAnyVehicle(playerid))
{
SetVehicleHealth(GetPlayerVehicleID(playerid),1250.0);
return SendClientMessage(playerid,blue,"[ Vehicle Fixed. ]");
}
else return ErrorMessages(playerid, 10);
}
else return ErrorMessages(playerid, 8);
}
if(strcmp(cmd, "/repair", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
if (IsPlayerInAnyVehicle(playerid))
{
new VehicleID = GetPlayerVehicleID(playerid);
RepairVehicle(VehicleID);
GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~Vehicle ~g~Repaired",3000,3);
return SetVehicleHealth(VehicleID, 1000);
}
else return ErrorMessages(playerid, 10);
}
else return ErrorMessages(playerid, 8);
}
if(strcmp(cmd, "/acar", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if (!IsPlayerInAnyVehicle(playerid))
{
CarSpawner(playerid,411);
SendCommandToAdmins(playerid,"ACar");
return SendClientMessage(playerid,yellow,"[ ADMIN: Car Successfully Created. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: You already have a vehicle. ]");
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/aheli", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if (!IsPlayerInAnyVehicle(playerid))
{
CarSpawner(playerid,487);
SendCommandToAdmins(playerid,"AHeli");
return SendClientMessage(playerid,yellow,"[ ADMIN: Helicopter Successfully Created. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: You already have a vehicle. ]");
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/aboat", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if (!IsPlayerInAnyVehicle(playerid))
{
CarSpawner(playerid,493);
SendCommandToAdmins(playerid,"ABoat");
return SendClientMessage(playerid,yellow,"[ ADMIN: Bot Successfully Created. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: You already have a vehicle. ]");
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/aplane", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if (!IsPlayerInAnyVehicle(playerid))
{
CarSpawner(playerid,513);
SendCommandToAdmins(playerid,"APlane");
return SendClientMessage(playerid,yellow,"[ ADMIN: Plane Successfully Created. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: You already have a vehicle. ]");
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/abike", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if (!IsPlayerInAnyVehicle(playerid))
{
CarSpawner(playerid,522);
SendCommandToAdmins(playerid,"ABike");
return SendClientMessage(playerid,yellow,"[ ADMIN: Bike Successfully Created. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: You already have a vehicle. ]");
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/addnos", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
if(IsPlayerInAnyVehicle(playerid))
{
switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
return SendClientMessage(playerid,red,"[ ERROR: You can not tune this vehicle. ]");
}
AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
return StartTuneSound(playerid);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be in a vehicle. ]");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/countdown", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(CdStated == 0)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp))
return SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /countdown (Seconds) (freeze 1/0) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will create a CountDown for all Players, (1-Freeze, 0-NoFreeze). ]");
cd_sec = strval(tmp);
if(cd_sec < 1 || cd_sec > 1000)
return SendClientMessage(playerid,COLOR_WHITE,"[ ERROR: Seconds between 1-1000. ]");
if(!strlen(tmp2))
return SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /countdown (seconds) (freeze 1/0). ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will create a CountDown for all Players, (1-Freeze, 0-NoFreeze). ]");
cd_f = strval(tmp2);
if(cd_f < 0 || cd_f > 1)
return SendClientMessage(playerid,red,"[ ERROR: Use only 0(NoFreeze) and 1(Freeze). ]");
CdStated = 1;
if(cd_f == 1)
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
TogglePlayerControllable(i, 0);
}
cd_timer = SetTimer("CountDown",1000,3);
return 1;
}
else return SendClientMessage(playerid,red,"[ ERROR: Countdown already in Progress. ]");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/givecar", true) == 0)
{
if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /givecar (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a Car for specified player. ]");
new player1 = strval(params);
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname[MAX_PLAYER_NAME];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerInAnyVehicle(player1))
return SendClientMessage(playerid,red,"[ ERROR: Player already has a vehicle. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
{
SendCommandToAdmins(playerid,"GiveCar");
new Float:x, Float:y, Float:z;
GetPlayerPos(player1,x,y,z);
CarSpawner(player1,415);
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string,sizeof(string),"[ Administrator %s has given you a car. ]",adminname);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have given %s a car. ]", playername);
return SendClientMessage(playerid,BlueMsg,string);
}
else return ErrorMessages(playerid, 4);
}
else return ErrorMessages(playerid, 1);
}
//==============================================================================
// PM Command
//==============================================================================
#if EnablePM_Cmd == true
if(strcmp(cmd, "/pm", true) == 0)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /pm (player<name/id>) ]");
PMplayer1 = strval(params);
if(PMplayer1 == playerid) return
SendClientMessage(playerid, red, "[ ERROR: You can't send PM to yourself. ]");
if(!(IsPlayerConnected(PMplayer1) && PMplayer1 != INVALID_PLAYER_ID)) return
SendClientMessage(playerid, red, "[ ERROR: Player not Connected. ]");
new string[128];
GetPlayerName(PMplayer1, PmReceiver, sizeof(PmReceiver));
format(string,sizeof(string),"PM To: \"%s(%d)\" \n\nType the message to send:", PmReceiver, PMplayer1);
ShowPlayerDialog(playerid,DIALOG_TYPE_PM,DIALOG_STYLE_INPUT,"PrivateMessage",string,"Send","Cancel");
return 1;
}
#endif
//==============================================================================
//==============================================================================
//Respawn all Unoccupied Vehicles
//==============================================================================
if(strcmp(cmd, "/respawncars", true) == 0)
{
if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, green, "[ Your have Successfully Respawned all Vehicles. ]");
GameTextForAll("~n~~n~~n~~n~~n~~n~~r~Vehicles ~g~Respawned", 3000,3);
for(new cars=0; cars<MAX_VEHICLES; cars++)
{
if(!VehicleOccupied(cars))
{
SetVehicleToRespawn(cars);
}
}
return 1;
}
else return ErrorMessages(playerid, 1);
}
//==============================================================================
//Respawn all Vehicles
//==============================================================================
/*
if(strcmp(cmd, "/respawncars", true) == 0)
{
if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, green, "[ Your have Successfully Respawned all Vehicles! ]");
GameTextForAll("~n~~n~~n~~n~~n~~n~~r~Vehicles ~g~Respawned!", 3000,3);
SendCommandToAdmins(playerid,"RespawnCars");
for(new i = 0; i < MAX_PLAYERS; i++)
{
for(new v = 0; v < MAX_VEHICLES; v++)
{
if(!IsPlayerInVehicle(i,v))
SetVehicleToRespawn(v);
}
break;
}
return 1;
}
else return ErrorMessages(playerid, 1);
}
*/
//==============================================================================
if(strcmp(cmd, "/vehicles", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
return ShowModelSelectionMenuEx(playerid, mp_vehicles, 207, "Vehicle Spawner", DIALOG_VEHICLES, -16.0, 0.0, -55.0, 1.0, 0x00000099, 0x000000EE, 0xACCBF1FF);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/skins", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
return ShowModelSelectionMenuEx(playerid, m_skins, 300, "Skin Changer", DIALOG_SKINS, 0.0, 0.0, 0.0, 0.9, 0x00000099, 0x000000EE, 0xACCBF1FF);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/weapons", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
return ShowModelSelectionMenuEx(playerid, m_weaps, 38, "Weapons Spawner", DIALOG_WEAPONS, 0.0, 0.0, 0.0, 3.0, 0x00000099, 0x000000EE, 0xACCBF1FF);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/carcolour", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new tmp3[256]; tmp3 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /carcolour (player<name/id>) (colour1) (colour2) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will change vehicle colour of specified player. ]");
new player1 = strval(tmp), colour1, colour2, string[128];
if(!strlen(tmp2)) colour1 = random(126);
else colour1 = strval(tmp2);
if(!strlen(tmp3)) colour2 = random(126);
else colour2 = strval(tmp3);
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(IsPlayerInAnyVehicle(player1))
{
SendCommandToAdmins(playerid,"CarColour");
format(string, sizeof(string), "[ ADMIN: You have Changed the colour of \"%s's\" %s to '%d,%d'. ]", pName(player1), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2);
SendClientMessage(playerid,BlueMsg,string);
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has changed the Colour of your %s to '%d,%d'. ]", pName(playerid), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 );
SendClientMessage(player1,blue,string);
}
return ChangeVehicleColor(GetPlayerVehicleID(player1), colour1, colour2);
}
else return SendClientMessage(playerid,red,"[ ERROR: Player is not in a vehicle. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/car", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new tmp3[256]; tmp3 = strtok(params,Index);
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /car (modelID/name) (colour1) (colour2). ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will create a Car with specified Colours. ]");
new car;
new string[128];
new colour1, colour2;
if(!IsNumeric(tmp))
car = GetVehicleModelIDFromName(tmp);
else car = strval(tmp);
if(car < 400 || car > 611) return SendClientMessage(playerid, red, "[ ERROR: Invalid Vehicle Model ID. ]");
if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
if(AccInfo[playerid][pCar] != -1 && !IsPlayerAdmin(playerid))
EraseVeh(AccInfo[playerid][pCar]);
new LVehicleID;
new Float:X,Float:Y,Float:Z;
new Float:Angle,int1;
GetPlayerPos(playerid, X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
int1 = GetPlayerInterior(playerid);
LVehicleID = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
LinkVehicleToInterior(LVehicleID,int1);
AccInfo[playerid][pCar] = LVehicleID;
SendCommandToAdmins(playerid,"Car");
format(string, sizeof(string), "%s Spawned a \"%s\" (Model:%d) Colours (%d, %d), Pos: X:%0.2f, Y:%0.2f, Z:%0.2f", pName(playerid), VehicleNames[car-400], car, colour1, colour2, X, Y, Z);
SaveIn("CarSpawns",string);
format(string, sizeof(string), "[ ADMIN: You have Spawned a \"%s\" (Model: %d) with Colours: %d,%d. ]", VehicleNames[car-400], car, colour1, colour2);
return SendClientMessage(playerid,LIGHTBLUE, string);
}
else return ErrorMessages(playerid, 6);
}
if(strcmp(cmd, "/carhealth", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /carhealth (player<name/id>) (amount) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Car Health of specified player. ]");
new string[128];
new player1 = strval(tmp);
new health = strval(tmp2);
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(IsPlayerInAnyVehicle(player1))
{
SendCommandToAdmins(playerid,"CarHealth");
format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Vehicle Health to '%d'. ]", pName(player1), health);
SendClientMessage(playerid,yellow,string);
if(player1 != playerid) { format(string,sizeof(string),"[ Administrator \"%s\" has set your Vehicle's Health to '%d'. ]", pName(playerid), health); SendClientMessage(player1,blue,string);
}
return SetVehicleHealth(GetPlayerVehicleID(player1), health);
}
else return SendClientMessage(playerid,red,"[ ERROR: Player is not in a vehicle. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/linkcar", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(playerid));
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(playerid));
return SendClientMessage(playerid,LIGHTBLUE, "[ ADMIN: Your vehicle is now in your Virtual World and Interior. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be in a vehicle. ]");
}
if(strcmp(cmd, "/god", true) == 0)
{
if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
{
if(AccInfo[playerid][God] == 0)
{
AccInfo[playerid][God] = 1;
SetPlayerHealth(playerid,100000);
GivePlayerWeapon(playerid,16,50000);
GivePlayerWeapon(playerid,26,50000);
SendClientMessage(playerid,green,"[ ADMIN: Godmode ON, type /God again to disable. ]");
return SendCommandToAdmins(playerid,"God");
}
else
{
AccInfo[playerid][God] = 0;
SendClientMessage(playerid,red,"[ ADMIN: Godmode OFF, type /God again to enable. ]");
SetPlayerHealth(playerid, 100);
}
return GivePlayerWeapon(playerid,35,0);
}
else return ErrorMessages(playerid, 6);
}
if(strcmp(cmd, "/godcar", true) == 0)
{
if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
{
if(IsPlayerInAnyVehicle(playerid))
{
if(AccInfo[playerid][GodCar] == 0)
{
AccInfo[playerid][GodCar] = 1;
SendCommandToAdmins(playerid,"GodCar");
return SendClientMessage(playerid,green,"[ ADMIN: Vehicle Godmod ON. ]");
}
else
{
AccInfo[playerid][GodCar] = 0;
return SendClientMessage(playerid,red,"[ ADMIN: Vehicle Godmod OFF. ]");
}
}
else return SendClientMessage(playerid,red,"[ ERROR: You need to be in a car to use this command. ]");
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/sgod", true) == 0)
{
if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
{
if(AccInfo[playerid][God] == 0)
{
AccInfo[playerid][God] = 1;
SetPlayerHealth(playerid,100000);
GivePlayerWeapon(playerid,16,50000);
GivePlayerWeapon(playerid,26,50000);
return SendClientMessage(playerid,green,"[ ADMIN: Godmod ON. ]");
}
else
{
AccInfo[playerid][God] = 0;
SendClientMessage(playerid,red,"[ ADMIN: Godmod OFF. ]");
SetPlayerHealth(playerid, 100);
return GivePlayerWeapon(playerid,35,0);
}
}
else return ErrorMessages(playerid, 9);
}
if(strcmp(cmd, "/asay", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /asay (text) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will send specified message as Admin. ]");
new string[128];
format(string, sizeof(string), "[ Admin %s: %s ]", PlayerName2(playerid), params[0]);
return SendClientMessageToAll(LIGHTBLUE,string);
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/highlight", true) == 0)
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /highlight (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Highlight the specified player, (Blinking). ]");
new player1;
new playername[MAX_PLAYER_NAME];
new string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
GetPlayerName(player1, playername, sizeof(playername));
if(AccInfo[player1][blip] == 0) {
SendCommandToAdmins(playerid,"HighLight");
AccInfo[player1][pColour] = GetPlayerColor(player1);
AccInfo[player1][blip] = 1;
BlipTimer[player1] = SetTimerEx("HighLight", 1000, 1, "i", player1);
format(string,sizeof(string),"[ ADMIN: You have Highlighted %s's marker. ]", playername);
}
else
{
KillTimer( BlipTimer[player1]);
AccInfo[player1][blip] = 0;
SetPlayerColor(player1, AccInfo[player1][pColour]);
format(string,sizeof(string),"[ ADMIN: You have Stopped Highlighting %s's marker. ]", playername);
}
return SendClientMessage(playerid,yellow,string);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/getid", true) == 0)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /getid (PartOfName) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see Id of specified Player. ]");
new found, string[128], playername[MAX_PLAYER_NAME], dialog[1000];
format(string,sizeof(string),"[ Searched for: \"%s\" ]\n",params);
strcat(dialog,string);
for(new i=0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
GetPlayerName(i, playername, MAX_PLAYER_NAME);
new namelen = strlen(playername);
new bool:searched=false;
for(new pos=0; pos <= namelen; pos++)
{
if(searched != true)
{
if(strfind(playername,params,true) == pos)
{
found++;
format(string,sizeof(string),"%d> %s (ID: %d)\n",found,playername,i);
strcat(dialog,string);
searched = true;
}
}
}
}
}
if(found == 0)
SendClientMessage(playerid, red, "[ No Players Localized. ]");
else
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"/Getid result:",dialog,"Close","");
return 1;
}
if(strcmp(cmd, "/die", true) == 0)
{
if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
{
new Float:x, Float:y, Float:z ;
GetPlayerPos( playerid, Float:x, Float:y, Float:z );
CreateExplosion(Float:x+10, Float:y, Float:z, 8,10.0);
CreateExplosion(Float:x-10, Float:y, Float:z, 8,10.0);
CreateExplosion(Float:x, Float:y+10, Float:z, 8,10.0);
CreateExplosion(Float:x, Float:y-10, Float:z, 8,10.0);
CreateExplosion(Float:x+10, Float:y+10, Float:z, 8,10.0);
CreateExplosion(Float:x-10, Float:y+10, Float:z, 8,10.0);
return CreateExplosion(Float:x-10, Float:y-10, Float:z, 8,10.0);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/serverinfo", true) == 0)
{
new numo = CreateObject(1245,0,0,1000,0,0,0);
DestroyObject(numo);
new VehTotal = CreateVehicle(411, 0, 0, 0, 0, 0, 0, 1000);
DestroyVehicle(VehTotal);
new gz = GangZoneCreate(3,3,5,5);
GangZoneDestroy(gz);
new nump = CreatePickup(371,2,0,0,1000);
DestroyPickup(nump);
new nummodel;
new model[250];
for(new i=1;i<VehTotal;i++)
model[GetVehicleModel(i)-400]++;
for(new i=0;i<250;i++)
if(model[i]!=0) nummodel++;
new string[256];
SendClientMessage(playerid, green, " ");
SendClientMessage(playerid, green, "___________ [ Server Information ] ___________");
SendClientMessage(playerid, green, " ");
format(string,sizeof(string),"Player: Connected: %d || Maximum: %d || Ratio: %0.2f",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers());
SendClientMessage(playerid,Green2,string);
format(string,sizeof(string),"Vehicles: Total: %d || Models: %d || In Vehicle: %d (InCar: %d | OnBike: %d)",VehTotal-1,nummodel, InVehTotal(),InCarCount(),OnBikeCount());
SendClientMessage(playerid,Green2,string);
format(string,sizeof(string),"Other: Objects: %d || Pickups: %d || Gangzones: %d",numo-1, nump, gz);
SendClientMessage(playerid,Green2,string);
format(string,sizeof(string),"Players Stats: In Jail %d || Frozen %d || Muted %d",JailedPlayers(),FrozenPlayers(), MutedPlayers());
SendClientMessage(playerid,Green2,string);
return SendClientMessage(playerid, green, "___________________________________________");
}
if(strcmp(cmd, "/lcredits", true) == 0)
{
new string[120];
SendClientMessage(playerid, green, " ");
SendClientMessage(playerid, green, "___________ [ Credits ] ___________");
SendClientMessage(playerid, green, " ");
format(string,sizeof(string)," Excel's & Luxurion's Administration System� %s",LVersion);
SendClientMessage(playerid,Green2,string);
SendMessageToCMD(playerid);
return SendClientMessage(playerid,green,"________________________________");
}
if(strcmp(cmd, "/announce2", true) == 0)
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new tmp3[256]; tmp3 = strtok(params,Index);
if(!strlen(tmp)||!strlen(tmp2)||!strlen(tmp3)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /announce2 (style (0-6)) (time(Miliseconds)) (text)") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Announce the specified Message in screen for specified Time. ]");
if(!(strval(tmp) >= 0 && strval(tmp) <= 6) || strval(tmp) == 2)
return SendClientMessage(playerid,red,"[ ERROR: Invalid Style, (0-6). ]");
SendCommandToAdmins(playerid,"Announce2");
return GameTextForAll(params[(strlen(tmp)+strlen(tmp2)+2)], strval(tmp2), strval(tmp));
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/announce", true) == 0)
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /announce (text) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Announce the specified Message in screen. ]");
SendCommandToAdmins(playerid,"Announce");
return GameTextForAll(params,4000,3);
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/duel", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new tmp3[256]; tmp3 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2))
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /duel (playerID 1) (playerID 2) (location (1,2,3)) ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will start a duel per two Players in specified Location. ]");
}
new player1 = strval(tmp);
new player2 = strval(tmp2);
new location, string[128];
if(!strlen(tmp3))
location = 0;
else location = strval(tmp3);
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(AccInfo[player2][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID)
{
if(InDuel[player1] == 1) return SendClientMessage(playerid,red,"[ ERROR: Player One is already in a Duel. ]");
if(InDuel[player2] == 1) return SendClientMessage(playerid,red,"[ ERROR: Player Two is already in a Duel. ]");
if(location == 1) {
SetPlayerInterior(player1,16);
SetPlayerPos(player1,-1404.067,1270.3706,1042.8672);
SetPlayerInterior(player2,16);
SetPlayerPos(player2,-1395.067,1261.3706,1042.8672);
}
else if(location == 2) {
SetPlayerInterior(player1,0);
SetPlayerPos(player1,1353.407,2188.155,11.02344);
SetPlayerInterior(player2,0);
SetPlayerPos(player2,1346.255,2142.843,11.01563);
}
else if(location == 3) {
SetPlayerInterior(player1,10);
SetPlayerPos(player1,-1041.037,1078.729,1347.678);
SetPlayerFacingAngle(player1,135);
SetPlayerInterior(player2,10);
SetPlayerPos(player2,-1018.061,1052.502,1346.327);
SetPlayerFacingAngle(player2,45);
}
InDuel[player1] = 1;
InDuel[player2] = 1;
SendCommandToAdmins(playerid,"Duel");
cdt[player1] = 6;
SetTimerEx("Duel",1000,0,"dd", player1, player2);
format(string, sizeof(string), "[ Administrator \"%s\" has started a duel Between \"%s\" and \"%s\". ]",pName(playerid),pName(player1),pName(player2));
SendClientMessage(player1, blue, string); SendClientMessage(player2, blue, string);
return SendClientMessage(playerid, blue, string);
}
else return SendClientMessage(playerid, red, "[ ERROR: Player Two is not connected. ]");
}
else return SendClientMessage(playerid, red, "[ ERROR: Player One is not connected. ]");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/lslowmo", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
CreatePickup(1241, 4, x, y, z);
return SendCommandToAdmins(playerid,"LsLowMo");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/jetpack", true) == 0)
{
if(!strlen(params))
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
SendClientMessage(playerid,blue,"[ Jetpack Spawned. ]");
SendCommandToAdmins(playerid,"Jetpack");
return SetPlayerSpecialAction(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
else
{
new player1;
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname[MAX_PLAYER_NAME];
player1 = strval(params);
if(AccInfo[playerid][Level] >= 4)
{
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
{
SendCommandToAdmins(playerid,"Jetpack");
SetPlayerSpecialAction(player1, 2);
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string,sizeof(string),"[ Administrator \"%s\" has given you a Jetpack. ]",adminname);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have Given %s a Jetpack. ]", playername);
return SendClientMessage(playerid,BlueMsg,string);
}
else return ErrorMessages(playerid, 4);
}
else return ErrorMessages(playerid, 1);
}
}
if(strcmp(cmd, "/destroycar", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
return DelVehicle(GetPlayerVehicleID(playerid));
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/tcar", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
if(IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, red, "[ ERROR: You already have a Vehicle. ]");
if(!strlen(params))
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /tcar (1-10) ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will create a Tuned vehicle. ]");
}
//======================================================================
// Level 1
//======================================================================
if(strcmp(params,"1",true) == 0)
{
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1);
PutPlayerInVehicle(playerid,LVehicleIDt,0);
SendCommandToAdmins(playerid,"LTunedCar");
AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);
StartTuneSound(playerid);
ChangeVehiclePaintjob(LVehicleIDt,1);
SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
AccInfo[playerid][pCar] = LVehicleIDt;
}
//======================================================================
// Level 2
//======================================================================
else if(strcmp(params,"2",true) == 0)
{
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1);
PutPlayerInVehicle(playerid,LVehicleIDt,0);
SendCommandToAdmins(playerid,"LTunedCar");
AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);
StartTuneSound(playerid);
ChangeVehiclePaintjob(LVehicleIDt,2);
SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
AccInfo[playerid][pCar] = LVehicleIDt;
}
//======================================================================
// Level 3
//======================================================================
else if(strcmp(params,"3",true) == 0)
{
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new Float:X,Float:Y,Float:Z,Float:Angle,carid;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
carid = CreateVehicle(559,X,Y,Z,Angle,1,-1,-1);
PutPlayerInVehicle(playerid,carid,0);
SendCommandToAdmins(playerid,"LTunedCar");
AddVehicleComponent(carid,1065); AddVehicleComponent(carid,1067); AddVehicleComponent(carid,1162);
AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073);
ChangeVehiclePaintjob(carid,1);
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
AccInfo[playerid][pCar] = carid;
}
//======================================================================
// Level 4
//======================================================================
else if(strcmp(params,"4",true) == 0)
{
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new Float:X,Float:Y,Float:Z,Float:Angle,carid;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
carid = CreateVehicle(565,X,Y,Z,Angle,1,-1,-1);
PutPlayerInVehicle(playerid,carid,0);
SendCommandToAdmins(playerid,"LTunedCar");
AddVehicleComponent(carid,1046);
AddVehicleComponent(carid,1049); AddVehicleComponent(carid,1053);
AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073);
ChangeVehiclePaintjob(carid,1);
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
AccInfo[playerid][pCar] = carid;
}
//======================================================================
// Level 5
//======================================================================
else if(strcmp(params,"5",true) == 0)
{
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new Float:X,Float:Y,Float:Z,Float:Angle,carid;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1);
PutPlayerInVehicle(playerid,carid,0);
SendCommandToAdmins(playerid,"LTunedCar");
AddVehicleComponent(carid,1088); AddVehicleComponent(carid,1092);
AddVehicleComponent(carid,1139); AddVehicleComponent(carid,1010);
AddVehicleComponent(carid,1073);
ChangeVehiclePaintjob(carid,1);
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(carid,
GetPlayerInterior(playerid));
AccInfo[playerid][pCar] = carid;
}
//======================================================================
// Level 6
//======================================================================
else if(strcmp(params,"6",true) == 0)
{
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1);
PutPlayerInVehicle(playerid,LVehicleIDt,0);
SendCommandToAdmins(playerid,"LTunedCar");
AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);
AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1170);
AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1028);
AddVehicleComponent(LVehicleIDt, 1170); AddVehicleComponent(LVehicleIDt, 1031);
AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1140);
AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1028);
AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031);
AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1138);
StartTuneSound(playerid);
ChangeVehiclePaintjob(LVehicleIDt,0);
SetVehicleVirtualWorld(LVehicleIDt,GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(LVehicleIDt,GetPlayerInterior(playerid));
AccInfo[playerid][pCar] = LVehicleIDt;
}
//======================================================================
// Level 7
//======================================================================
else if(strcmp(params,"7",true) == 0)
{
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new Float:X,Float:Y,Float:Z,Float:Angle,carid;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1);
PutPlayerInVehicle(playerid,carid,0);
SendCommandToAdmins(playerid,"LTunedCar");
AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038);
AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010);
AddVehicleComponent(carid,1073);
ChangeVehiclePaintjob(carid,1);
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
AccInfo[playerid][pCar] = carid;
}
//======================================================================
// Level 8
//======================================================================
else if(strcmp(params,"8",true) == 0)
{
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new Float:X,Float:Y,Float:Z,Float:Angle,carid;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
carid = CreateVehicle(535,X,Y,Z,Angle,1,-1,-1);
PutPlayerInVehicle(playerid,carid,0);
SendCommandToAdmins(playerid,"LTunedCar");
ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1109);
AddVehicleComponent(carid,1115); AddVehicleComponent(carid,1117);
AddVehicleComponent(carid,1073); AddVehicleComponent(carid,1010);
AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1114);
AddVehicleComponent(carid,1081); AddVehicleComponent(carid,1119);
AddVehicleComponent(carid,1121);
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
AccInfo[playerid][pCar] = carid;
}
//======================================================================
// Level 9
//======================================================================
else if(strcmp(params,"9",true) == 0)
{
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new Float:X,Float:Y,Float:Z,Float:Angle,carid;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1);
PutPlayerInVehicle(playerid,carid,0);
SendCommandToAdmins(playerid,"LTunedCar");
AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1166);
AddVehicleComponent(carid,1165); AddVehicleComponent(carid,1090);
AddVehicleComponent(carid,1094); AddVehicleComponent(carid,1010);
AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1163);
AddVehicleComponent(carid,1091);
ChangeVehiclePaintjob(carid,2);
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
AccInfo[playerid][pCar] = carid;
}
//======================================================================
// Level 10
//======================================================================
else if(strcmp(params,"10",true) == 0)
{
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new Float:X,Float:Y,Float:Z,Float:Angle,carid;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1);
PutPlayerInVehicle(playerid,carid,0);
SendCommandToAdmins(playerid,"LTunedCar");
AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038);
AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010);
AddVehicleComponent(carid,1073);
ChangeVehiclePaintjob(carid,0);
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
AccInfo[playerid][pCar] = carid;
}
//======================================================================
else
{
SendClientMessage(playerid, red, "[ ERROR: Invalid Tuned Vehicle (1-10). ]");
}
return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/flip", true) == 0)
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(!strlen(params))
{
if(IsPlayerInAnyVehicle(playerid))
{
new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle;
GetPlayerPos(playerid, X, Y, Z);
VehicleID = GetPlayerVehicleID(playerid);
GetVehicleZAngle(VehicleID, Angle);
SetVehiclePos(VehicleID, X, Y, Z);
SetVehicleZAngle(VehicleID, Angle);
SetVehicleHealth(VehicleID,1000.0);
SendCommandToAdmins(playerid,"Flip");
return SendClientMessage(playerid, green,"[ ADMIN: Vehicle Flipped ]") &&
SendClientMessage(playerid, LIGHTBLUE2,"[ ADMIN: Flip the player's vehicle? (/flip (player<name/id>)). ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: You are not in a Vehicle. ]");
}
new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
{
SendCommandToAdmins(playerid,"Flip");
if (IsPlayerInAnyVehicle(player1))
{
new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle;
GetPlayerPos(player1, X, Y, Z);
VehicleID = GetPlayerVehicleID(player1);
GetVehicleZAngle(VehicleID, Angle);
SetVehiclePos(VehicleID, X, Y, Z);
SetVehicleZAngle(VehicleID, Angle);
SetVehicleHealth(VehicleID,1000.0);
SendCommandToAdmins(playerid,"Flip");
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string,sizeof(string),"[ Administrator %s Flipped your Vehicle. ]",adminname);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have Flipped %s's Vehicle. ]", playername);
return SendClientMessage(playerid, blue,string);
}
else return SendClientMessage(playerid,red,"[ ERROR: This player isn't in a vehicle. ]");
}
else return ErrorMessages(playerid, 4);
}
else return ErrorMessages(playerid, 1);
}
//==============================================================================
// Chat Commands
//==============================================================================
if(strcmp(cmd, "/clearchat", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
SendCommandToAdmins(playerid,"ClearChat");
for(new i = 0; i < 11; i++)
SendClientMessageToAll(green," ");
return 1;
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/disablechat", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
SendCommandToAdmins(playerid,"DisableChat");
new string[128];
if(ServerInfo[DisableChat] == 0)
{
ServerInfo[DisableChat] = 1;
format(string,sizeof(string),"[ Administrator \"%s\" has Disabled Chat. ]", pName(playerid));
}
else
{
ServerInfo[DisableChat] = 0;
format(string,sizeof(string),"[ Administrator \"%s\" has Enabled Chat. ]", pName(playerid));
}
return SendClientMessageToAll(blue,string);
}
else return ErrorMessages(playerid, 6);
}
if(strcmp(cmd, "/caps", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new tmp [256];
new tmp2[256];
new Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /caps (player<name/id>) (on/off) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will enable/disable CapsLock for specified Player. ]");
new player1 = strval(tmp), string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(strcmp(tmp2,"on",true) == 0)
{
SendCommandToAdmins(playerid,"Caps");
AccInfo[player1][Caps] = 0;
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has Allowed you to use CapsLock in chat. ]", pName(playerid));
SendClientMessage(playerid,blue,string);
}
format(string,sizeof(string),"[ ADMIN: You have Allowed \"%s\" to use CapsLock in Chat. ]", pName(player1));
return SendClientMessage(playerid,BlueMsg,string);
}
else if(strcmp(tmp2,"off",true) == 0)
{
SendCommandToAdmins(playerid,"Caps");
AccInfo[player1][Caps] = 1;
if(player1 != playerid)
{
format(string,sizeof(string),"[ Administrator \"%s\" has Prevented you from using CapsLock in chat. ]", pName(playerid));
SendClientMessage(playerid,blue,string);
}
format(string,sizeof(string),"[ ADMIN: You have Prevented \"%s\" from using CapsLock in chat. ]", pName(player1));
return SendClientMessage(playerid,BlueMsg,string);
}
else return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /caps (player<name/id>) (on/off). ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will enable/disable CapsLock for specified Player. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/clearallchat", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
SendCommandToAdmins(playerid,"ClearAllChat");
for(new i = 0; i < 50; i++)
SendClientMessageToAll(green," ");
return 1;
}
else return ErrorMessages(playerid, 5);
}
//==============================================================================
if(strcmp(cmd, "/teleplayer", true) == 0)
{
if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /teleplayer (player<name/id>) to (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Teleport the specified player to the other specified player. ]");
new string[128];
new player1 = strval(tmp), player2 = strval(tmp2);
new Float:plocx,Float:plocy,Float:plocz;
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"TelePlayer");
GetPlayerPos(player2, plocx, plocy, plocz);
new intid = GetPlayerInterior(player2);
SetPlayerInterior(player1,intid);
SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(player2));
if (GetPlayerState(player1) == PLAYER_STATE_DRIVER)
{
new VehicleID = GetPlayerVehicleID(player1);
SetVehiclePos(VehicleID, plocx, plocy+4, plocz); LinkVehicleToInterior(VehicleID,intid);
SetVehicleVirtualWorld(VehicleID, GetPlayerVirtualWorld(player2));
}
else SetPlayerPos(player1,plocx,plocy+2, plocz);
format(string,sizeof(string),"[ Administrator \"%s\" has Teleported \"%s\" to \"%s's\" Position. ]", pName(playerid), pName(player1), pName(player2));
SendClientMessage(player1,blue,string); SendClientMessage(player2,blue,string);
format(string,sizeof(string),"[ ADMIN: You have Teleported \"%s\" to \"%s's\" Position. ]", pName(player1), pName(player2));
return SendClientMessage(playerid,BlueMsg,string);
}
else return SendClientMessage(playerid, red, "[ ERROR: Player Two is not connected. ]");
}
else return SendClientMessage(playerid, red, "[ ERROR: Player One is not connected. ]");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/vget", true) == 0)
{
if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /vget (vehicleID) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Bring the specified Vehicle to your Position. ]");
new player1;
new string[128];
player1 = strval(params);
SendCommandToAdmins(playerid,"VGet");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
SetVehiclePos(player1,x+3,y,z);
SetVehicleVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
format(string,sizeof(string),"[ ADMIN: You brought the Vehicle ID '%d' to your Position. ]", player1);
return SendClientMessage(playerid,BlueMsg,string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/vgoto", true) == 0)
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /vgoto (vehicleID) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Go to specified vehicle. ]");
new player1;
new string[128];
player1 = strval(params);
SendCommandToAdmins(playerid,"VGoto");
new Float:x, Float:y, Float:z;
GetVehiclePos(player1,x,y,z);
SetPlayerVirtualWorld(playerid,GetVehicleVirtualWorld(player1));
if(GetPlayerState(playerid) == 2)
{
SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetVehicleVirtualWorld(player1));
}
else SetPlayerPos(playerid,x+2,y,z);
format(string,sizeof(string),"[ ADMIN: You have teleported to Vehicle ID: %d. ]", player1);
return SendClientMessage(playerid,BlueMsg,string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/goto", true) == 0)
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /goto (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Go to specified player. ]");
new player1;
new string[128];
if(!IsNumeric(params))
player1 = ReturnPlayerID(params);
else player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
{
SendCommandToAdmins(playerid,"Goto");
new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
SetPlayerInterior(playerid,GetPlayerInterior(player1));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
if(GetPlayerState(playerid) == 2)
{
SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
}
else SetPlayerPos(playerid,x+2,y,z);
format(string,sizeof(string),"[ ADMIN: You have Teleported to \"%s\". ]", pName(player1));
return SendClientMessage(playerid,BlueMsg,string);
}
else return ErrorMessages(playerid, 4);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/lgoto", true) == 0)
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
new Float:x, Float:y, Float:z;
new string[128], Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new tmp3[256]; tmp3 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /lgoto (posX) (posY) (posZ) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Go in specified position (X,Y,Z). ]");
x = strval(tmp);
y = strval(tmp2);
z = strval(tmp3);
SendCommandToAdmins(playerid,"LGoto");
if(GetPlayerState(playerid) == 2)
SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
else SetPlayerPos(playerid,x,y,z);
format(string,sizeof(string),"[ ADMIN: You have teleported to - X: %f, Y: %f, Z: %f. ]", x,y,z);
return SendClientMessage(playerid,green,string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/get", true) == 0)
{
if(AccInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /get (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will get to you the specified player. ]");
new player1;
new string[128];
if(!IsNumeric(params))
player1 = ReturnPlayerID(params);
else player1 = strval(params);
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
{
SendCommandToAdmins(playerid,"Get");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
SetPlayerInterior(player1,GetPlayerInterior(playerid));
SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
if(GetPlayerState(player1) == 2)
{
new VehicleID = GetPlayerVehicleID(player1);
SetVehiclePos(VehicleID,x+3,y,z);
LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
}
else SetPlayerPos(player1,x+2,y,z);
format(string,sizeof(string),"[ ADMIN: You have been Teleported to Administrator \"%s's\" position. ]", pName(playerid));
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have Teleported \"%s\" to your Position. ]", pName(player1));
return SendClientMessage(playerid,BlueMsg,string);
}
else return ErrorMessages(playerid, 4);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/move", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /move (Up/Down/+X/-X/+Y/-Y/off) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will move you for a certain Position (Up/Down/Left/Right). ]");
new Float:X, Float:Y, Float:Z;
if(strcmp(params,"Up",true) == 0)
{
TogglePlayerControllable(playerid,false);
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(playerid,X,Y,Z+5);
SetCameraBehindPlayer(playerid);
}
else if(strcmp(params,"Down",true) == 0){
TogglePlayerControllable(playerid,false);
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(playerid,X,Y,Z-5);
SetCameraBehindPlayer(playerid);
}
else if(strcmp(params,"+X",true) == 0){
TogglePlayerControllable(playerid,false);
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(playerid,X+5,Y,Z);
}
else if(strcmp(params,"-X",true) == 0){
TogglePlayerControllable(playerid,false);
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(playerid,X-5,Y,Z);
}
else if(strcmp(params,"+Y",true) == 0){
TogglePlayerControllable(playerid,false);
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(playerid,X,Y+5,Z);
}
else if(strcmp(params,"-Y",true) == 0){
TogglePlayerControllable(playerid,false);
GetPlayerPos(playerid,X,Y,Z);
SetPlayerPos(playerid,X,Y-5,Z);
}
else if(strcmp(params,"off",true) == 0){
TogglePlayerControllable(playerid,true);
}
else return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /move (Up/Down/+X/-X/+Y/-Y/off) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will move you for a certain Position (Up/Down/Left/Right). ]");
return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/gethere", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /gethere (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will get to you the specified player. ]");
new player1;
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname[MAX_PLAYER_NAME];
player1 = strval(params);
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
{
SendCommandToAdmins(playerid,"GetHere");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
SetPlayerInterior(player1,GetPlayerInterior(playerid));
SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
if(GetPlayerState(player1) == 2)
{
new VehicleID = GetPlayerVehicleID(player1);
SetVehiclePos(VehicleID,x+3,y,z);
LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
}
else SetPlayerPos(player1,x+2,y,z);
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string,sizeof(string),"[ ADMIN: You have been Teleported to Administrator %s's Location. ]",adminname);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have Teleported %s to your Location. ]", playername);
return SendClientMessage(playerid,BlueMsg,string);
}
else return ErrorMessages(playerid, 4);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/moveplayer", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new tmp [256];
new tmp2[256];
new Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /moveplayer (player<name/id>) (Up/Down/+X/-X/+Y/-Y/off) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will move a specified Player for a certain Position (Up/Down/Left/Right). ]");
new Float:X, Float:Y, Float:Z;
new player1 = strval(tmp);
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(strcmp(tmp2,"Up",true) == 0)
{
GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z+5); SetCameraBehindPlayer(player1);
}
else if(strcmp(tmp2,"Down",true) == 0)
{
GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z-5); SetCameraBehindPlayer(player1);
}
else if(strcmp(tmp2,"+X",true) == 0)
{
GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X+5,Y,Z);
}
else if(strcmp(tmp2,"-X",true) == 0)
{
GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X-5,Y,Z);
}
else if(strcmp(tmp2,"+Y",true) == 0)
{
GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y+5,Z);
}
else if(strcmp(tmp2,"-Y",true) == 0)
{
GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y-5,Z);
}
else SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /moveplayer (player<name/id>) (Up/Down/+X/-X/+Y/-Y/off) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will move a specified Player for a certain Position (Up/Down/Left/Right). ]");
return 1;
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/warn", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /warn (player<name/id>) (reason) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a Warning in specified player. ]");
new warned = strval(tmp);
new str[128];
if(AccInfo[warned][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(warned) && warned != INVALID_PLAYER_ID)
{
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(warned != playerid)
{
SendCommandToAdmins(playerid,"Warn");
AccInfo[warned][Warnings]++;
if( AccInfo[warned][Warnings] == MAX_WARNINGS)
{
format(str, sizeof (str), "[ Administrator \"%s\" has kicked \"%s\". | Reason: %s (Warnings: %d/%d). ]", pName(playerid), pName(warned), params[1+strlen(tmp)], AccInfo[warned][Warnings], MAX_WARNINGS);
SendClientMessageToAll(red, str);
SaveIn("KickLog",str);
Kick(warned);
PlayerPlaySound(warned,1057,0.0,0.0,0.0);
return AccInfo[warned][Warnings] = 0;
}
else
{
format(str, sizeof (str), "[ Administrator \"%s\" has given \"%s\" a Warning. | Reason: %s (Warnings: %d/%d). ]", pName(playerid), pName(warned), params[1+strlen(tmp)], AccInfo[warned][Warnings], MAX_WARNINGS);
PlayerPlaySound(warned,1057,0.0,0.0,0.0);
return SendClientMessageToAll(yellow, str);
}
}
else return SendClientMessage(playerid, red, "[ ERROR: You cannot warn yourself. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/kick", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /kick (player<name/id>) (reason) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Kick the specified player. ]");
new player1;
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
SendCommandToAdmins(playerid,"Kick");
if(!strlen(tmp2))
{
format(string,sizeof(string),"[ %s has been kicked by Administrator %s | Reason: Not Specified. ]",playername,adminname);
SendClientMessageToAll(red,string);
SaveIn("KickLog",string);
print(string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
return Kick(player1);
}
else
{
format(string,sizeof(string),"[ %s has been kicked by Administrator %s | Reason: %s. ]",playername,adminname,params[2]);
SendClientMessageToAll(red,string);
SaveIn("KickLog",string); print(string);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
return Kick(player1);
}
}
else return ErrorMessages(playerid, 3);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
//==============================================================================
if(strcmp(cmd, "/unban", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 1)
{
new Index;
new string[300];
new tmp[256]; tmp = strtok(params,Index);
if(strlen(tmp) <= 2)
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unban (username) ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Unban the specified player wheather offline/online. ]");
}
if(strcmp(tmp, PlayerName2(playerid), true) == 0)
{
return SendClientMessage(playerid, red, "[ ERROR: You cannot unban yourself ]");
}
if(udb_Exists(tmp) && dUserINT(tmp).("Banned")==1)
{
SendCommandToAdmins(playerid,"Unban");
dUserSetINT(tmp).("Banned",0);
dUserSet(tmp).("BannedBy","-");
dUserSet(tmp).("BannedReason","-");
dUserSet(tmp).("BannedDate","-");
}
else return SendClientMessage(playerid, red, "[ ERROR: The username is not registered in server database, or is not banned. ]");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
new year,month,day; getdate(year, month, day);
new hour,minuite,second; gettime(hour,minuite,second);
format(string,sizeof(string),"[ ADMIN: You have unbanned '%s', [Date: %d/%d/%d] [Time: %d:%d]. ]",tmp,day,month,year,hour,minuite);
SendClientMessage(playerid,BlueMsg,string);
return 1;
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/searchban", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 1)
{
new Index;
new string[300];
new tmp[256]; tmp = strtok(params,Index);
if(strlen(tmp) <= 2)
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /searchban (username) ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give you the information of a ban made on specified username. ]");
}
if(udb_Exists(tmp) && dUserINT(tmp).("Banned") == 1)
{
SendCommandToAdmins(playerid,"Searchban");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(string,sizeof(string),"Username: %s\nBanned: YES\nBanned By: %s\nBan Date: %s\nBan Reason: %s",
tmp,dUser(tmp).("BannedBy"),dUser(tmp).("BannedDate"),dUser(tmp).("BannedReason"));
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"/Searchban - Result:",string,"Close","");
} else return SendClientMessage(playerid, red, "[ ERROR: The username is not registered in server database or is not banned. ]");
return 1;
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/aban", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 1)
{
new Index;
new string[300];
new tmp[256]; tmp = strtok(params,Index);
new tmp1[256]; tmp1 = strtok(params,Index);
new year,month,day; getdate(year, month, day);
new hour,minuite,second; gettime(hour,minuite,second);
new str[200];
if(strlen(tmp) <= 2)
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /aban (username) (reason) ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will ban the specified username wheather offline/online. ]");
}
if(!strlen(tmp1))
{
return SendClientMessage(playerid, red, "[ ERROR: Reason unspecified. ]");
}
if(strcmp(tmp, PlayerName2(playerid), true) == 0)
{
return SendClientMessage(playerid, red, "[ ERROR: You cannot ban yourself ]");
}
if(udb_Exists(tmp) && dUserINT(tmp).("Banned") == 0)
{
SendCommandToAdmins(playerid,"Offban");
dUserSetINT(tmp).("Banned",1);
dUserSet(tmp).("BannedBy",PlayerName2(playerid));
format(str,sizeof(str),"%d/%d/%d",year,month,day);
dUserSet(tmp).("BannedDate",str);
dUserSet(tmp).("BannedReason",tmp1);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
for(new f; f<MAX_PLAYERS; f++)
{
if(strcmp(tmp,PlayerName2(f),true)==0)
{
dUserSetINT(tmp).("Banned",1);
dUserSet(tmp).("BannedBy",PlayerName2(playerid));
dUserSet(tmp).("BannedReason",tmp1);
format(str,sizeof(str),"%d/%d/%d",year, month, day);
dUserSet(tmp).("BannedDate",str);
PlayerPlaySound(f,1057,0.0,0.0,0.0);
format(string,sizeof(string),"[ Banned by Administrator %s. | Reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",PlayerName2(playerid),tmp1,day,month,year,hour,minuite);
BanEx(f, string);
format(string,sizeof(string),"[ %s has been Banned by Administrator %s | Reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",tmp,PlayerName2(playerid),tmp1,day,month,year,hour,minuite);
SendClientMessageToAll(red,string);
SaveIn("BanLog",string);
print(string);
format(string,sizeof(string),"[ ADMIN: You have online banned '%s', for the reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",tmp,tmp1,day,month,year,hour,minuite);
return SendClientMessage(playerid,LIGHTBLUE,string);
}
}
format(string,sizeof(string),"[ ADMIN: You have offline/online banned '%s', for the reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",tmp,tmp1,day,month,year,hour,minuite);
SendClientMessage(playerid,orange,string);
return 1;
}
else return SendClientMessage(playerid, red, "[ ERROR: The username is not registered in server database or is already banned. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/offstats", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 1)
{
new Index;
new dialog[1000];
new string[300];
new pDeaths = 0;
new file[100];
new tmp[256]; tmp = strtok(params,Index);
if(strlen(tmp) <= 2)
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /offstats (username)]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give you the information of the specified username. ]");
}
if(dUserINT(tmp).("LoggedIn")==1)
{
return SendClientMessage(playerid, red, "[ ERROR: The player is online, simply use /stats or /getinfo. ]");
}
if(udb_Exists(tmp))
{
SendCommandToAdmins(playerid,"Offstats");
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(tmp));
if(dUserINT(tmp).("Deaths") == 0) pDeaths = 1;
else pDeaths = dUserINT(tmp).("Deaths");
format(string, sizeof(string), "[ ADMIN: You are checking %s's statistics offline (/stats). ]",tmp);
SendClientMessage(playerid, BlueMsg, string);
format(string, sizeof(string),"Username:"COL_BLUE" %s\n",tmp);
strcat(dialog,string);
format(string, sizeof(string),"Player-Id:"COL_BLUE" -not avaliable-\n");
strcat(dialog,string);
format(string, sizeof(string),"Kills:"COL_BLUE" %d\n",dUserINT(tmp).("Kills"));
strcat(dialog,string);
format(string, sizeof(string),"Deaths:"COL_BLUE" %d\n",dUserINT(tmp).("Deaths"));
strcat(dialog,string);
format(string, sizeof(string),"K/D Ratio:"COL_BLUE" %0.2f\n",Float:dUserINT(tmp).("Kills")/Float:pDeaths);
strcat(dialog,string);
format(string, sizeof(string),"Money:"COL_BLUE" $ %d\n",dUserINT(tmp).("Money"));
strcat(dialog,string);
format(string, sizeof(string),"Score:"COL_BLUE" %d\n",dUserINT(tmp).("Score"));
strcat(dialog,string);
format(string, sizeof(string),"Ping:"COL_BLUE" -not avaliable-\n");
strcat(dialog,string);
format(string, sizeof(string),"AccountType:"COL_BLUE" %d\n",dUserINT(tmp).("AccountType"));
strcat(dialog,string);
new adminrank[45];
switch(dUserINT(tmp).("Level"))
{
case 0: adminrank = "N/A";
case 1: adminrank = "Basic Moderator";
case 2: adminrank = "Moderator";
case 3: adminrank = "Master Moderator";
case 4: adminrank = "Administrator";
case 5..100: adminrank = "Master Administrator";
}
format(string, sizeof(string),"Admin Level:"COL_BLUE" %d (%s)\n",dUserINT(tmp).("Level"),adminrank);
strcat(dialog,string);
format(string, sizeof(string),"Time Played:"COL_BLUE" %d hours, %d minutes, %d seconds\n",dUserINT(tmp).("Hours"), dUserINT(tmp).("Minutes"), dUserINT(tmp).("Seconds"));
strcat(dialog,string);
new str[256];
if(dUserINT(tmp).("LoggedIn")==1) str="YES";
else if(dUserINT(tmp).("LoggedIn")==0) str="NO";
format(string, sizeof(string),"Logged:"COL_BLUE" %s\n",str);
strcat(dialog,string);
if(fexist(file)) str = "YES"; else str = "NO";
format(string, sizeof(string),"Registered:"COL_BLUE" %s\n",str);
strcat(dialog,string);
new banned[5];
if(dUserINT(tmp).("Banned")==1)
{
banned="YES";
}
else if(dUserINT(tmp).("Banned")==0)
{
banned="NO";
}
format(string, sizeof(string),"Banned:"COL_BLUE" %s\n",banned);
strcat(dialog,string);
str = dini_Get(file,"LastOn");
format(string, sizeof(string),"Last On Server:"COL_BLUE" %s\n",str);
strcat(dialog,string);
if(strlen(dini_Get(file,"RegisteredDate")) < 3)
str = "N/A";
else str = dini_Get(file,"RegisteredDate");
format(string, sizeof(string),"Register Date:"COL_BLUE" %s\n",str);
strcat(dialog,string);
new year,month,day;
getdate(year, month, day);
format(string, sizeof(string),"Today's Date:"COL_BLUE" %d/%d/%d\n",year, month, day);
strcat(dialog,string);
return ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_LIST,"Player /Stats:",dialog,"Close","");
}
else return SendClientMessage(playerid, red, "[ ERROR: The username is not registered in server database. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/ban", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 1)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /ban (player<name/id>) (reason) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Ban the specified player. ]");
if(!strlen(tmp2))
return SendClientMessage(playerid, red, "[ ERROR: Reason unspecified. ]");
new player1;
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
new year,month,day; getdate(year, month, day);
new hour,minuite,second; gettime(hour,minuite,second);
SendCommandToAdmins(playerid,"Ban");
format(string,sizeof(string),"[ %s has been Banned by Administrator %s | Reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",playername,adminname,params[2],day,month,year,hour,minuite);
SendClientMessageToAll(red,string);
new str[128];
format(str,sizeof(str),"[ %s has been Banned by Administrator %s | Reason: %s. ]",playername,adminname,params[2]);
SaveIn("BanLog",str);
print(string);
if(udb_Exists(PlayerName2(player1)) && AccInfo[player1][LoggedIn] == 1)
dUserSetINT(PlayerName2(player1)).("Banned",1);
dUserSet(PlayerName2(player1)).("BannedBy",adminname);
dUserSet(PlayerName2(player1)).("BannedReason",params[2]);
format(str,sizeof(str),"%d/%d/%d",year, month, day);
dUserSet(PlayerName2(player1)).("BannedDate",str);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
format(string,sizeof(string),"[ Banned by Administrator %s. | Reason: %s. ]",adminname,params[2]);
return BanEx(player1, string);
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is yourself or is the highest level admin. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/fu", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /fu (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will fuck the specified player. ]");
new player1 = strval(params);
new NewName[MAX_PLAYER_NAME];
new string[128];
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"Fu");
SetPlayerArmour(player1,0.0); SetPlayerColor(player1,COLOR_PINK);
SetPlayerHealth(player1,1.0); ResetPlayerMoney(player1);
ResetPlayerWeapons(player1); GivePlayerWeapon(player1,12,1);
SetPlayerWantedLevel(player1,6); SetPlayerSkin(player1, 137);
SetPlayerScore(player1, 0); SetPlayerWeather(player1,19);
format(NewName,sizeof(NewName),"[N00B]%s", pName(player1));
SetPlayerName(player1,NewName);
if(IsPlayerInAnyVehicle(player1))
DelVehicle(GetPlayerVehicleID(player1));
if(player1 != playerid)
{
format(string,sizeof(string),"~w~%s: ~r~Fuck You", pName(playerid));
GameTextForPlayer(player1, string, 2500, 3);
}
format(string,sizeof(string),"Fuck you \"%s\"", pName(player1));
return SendClientMessage(playerid,blue,string);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/rban", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 4)
{
new ip[128], Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /rban (player<name/id>) (reason) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Range Ban the specified player. ]");
if(!strlen(tmp2)) return
SendClientMessage(playerid, red, "[ ERROR: Reason unspecified. ]");
new player1;
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
new year,month,day; getdate(year, month, day);
new hour,minuite,second; gettime(hour,minuite,second);
SendCommandToAdmins(playerid,"RBan");
format(string,sizeof(string),"[ %s has been Range Banned by Administrator %s | Reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",playername,adminname,params[2],day,month,year,hour,minuite);
SendClientMessageToAll(lightred,string);
new str[128];
format(str,sizeof(str),"[ %s has been Range Banned by Administrator %s | Reason: %s. ]",playername,adminname,params[2]);
SaveIn("BanLog",str);
print(string);
if(udb_Exists(PlayerName2(player1)) && AccInfo[player1][LoggedIn] == 1)
dUserSetINT(PlayerName2(player1)).("Banned",1);
dUserSet(PlayerName2(player1)).("BannedBy",adminname);
dUserSet(PlayerName2(player1)).("BannedReason",params[2]);
format(str,sizeof(str),"%d/%d/%d",year, month, day);
dUserSet(PlayerName2(player1)).("BannedDate",str);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
GetPlayerIp(player1,ip,sizeof(ip));
strdel(ip,strlen(ip)-2,strlen(ip));
format(ip,128,"%s**",ip);
format(ip,128,"banip %s",ip);
SendRconCommand(ip);
return 1;
}
else return ErrorMessages(playerid, 3);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/forbidname", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /forbidname (name) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will block a specified Name. ]");
new File:BLfile, string[128];
BLfile = fopen("/eAdmin/Config/ForbiddenNames.cfg",io_append);
format(string,sizeof(string),"%s\r\n",params[1]);
fwrite(BLfile,string);
fclose(BLfile);
UpdateConfig();
SendCommandToAdmins(playerid,"ForbidName");
format(string, sizeof(string), "[ Administrator \"%s\" has added the Name \"%s\" to the Bad Name List. ]", pName(playerid), params);
return MessageToAdmins(green,string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/forbidword", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /forbidword (word) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will block a specified Word. ]");
new File:BLfile, string[128];
BLfile = fopen("/eAdmin/Config/ForbiddenWords.cfg",io_append);
format(string,sizeof(string),"%s\r\n",params[1]);
fwrite(BLfile,string);
fclose(BLfile);
UpdateConfig();
SendCommandToAdmins(playerid,"ForbidWord");
format(string, sizeof(string), "[ Administrator \"%s\" has added the Word \"%s\" to the Bad Word List. ]", pName(playerid), params);
return MessageToAdmins(green,string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/explode", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /explode (player<name/id>) (Reason) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Explode the specified player. ]");
new player1;
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
SendCommandToAdmins(playerid,"Explode");
new Float:burnx, Float:burny, Float:burnz;
GetPlayerPos(player1,burnx, burny, burnz);
CreateExplosion(burnx, burny , burnz, 7,10.0);
if(strlen(tmp2))
{
format(string,sizeof(string),"[ ADMIN: You have been exploded by Administrator %s | Reason: %s. ]",adminname,params[2]);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have exploded %s | Reason: %s. ]", playername,params[2]);
return SendClientMessage(playerid,BlueMsg,string);
}
else
{
format(string,sizeof(string),"[ ADMIN: You have been exploded by Administrator %s | Reason: Not Specified. ]",adminname);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have Exploded %s. ]", playername);
return SendClientMessage(playerid,BlueMsg,string);
}
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/jail", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new tmp3[256]; tmp3 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /jail (player<name/id>) (minutes) (reason) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Jailed the specified player. ]");
new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
if(AccInfo[player1][Jailed] == 0)
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
new jtime = strval(tmp2);
if(jtime == 0) jtime = 9999;
SendCommandToAdmins(playerid,"Jail");
AccInfo[player1][JailTime] = jtime*1000*60;
SetTimerEx("JailPlayer",5000,0,"d",player1);
SetTimerEx("Jail1",1000,0,"d",player1);
AccInfo[player1][Jailed] = 1;
if(jtime == 9999)
{
if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"[ Administrator %s has Jailed %s. ]",adminname,playername);
else format(string,sizeof(string),"[ Administrator %s has Jailed %s | Reason: %s. ]",adminname,playername,params[strlen(tmp)+1]);
}
else
{
if(!strlen(tmp3)) format(string,sizeof(string),"[ Administrator %s has Jailed %s for %d Minutes. ]",adminname,playername, jtime);
else format(string,sizeof(string),"[ Administrator %s has Jailed %s for %d Minutes | Reason: %s. ]",adminname,playername,jtime,params[strlen(tmp2)+strlen(tmp)+1]);
}
return SendClientMessageToAll(blue,string);
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is already in jail. ]");
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/unjail", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 3)
{
new tmp[256];
new Index;
tmp = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unjail (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Unjailed the specified player. ]");
new player1;
new string[128];
new playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
if(AccInfo[player1][Jailed] == 1)
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string,sizeof(string),"[ Administrator %s has Unjailed you. ]",adminname);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ Administrator %s has Unjailed %s. ]",adminname, playername);
UnjailPlayer(player1);
return SendClientMessageToAll(blue,string);
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not in jail. ]");
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/freeze", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 3)
{
new tmp[256],tmp2[256],tmp3[256],Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
tmp3 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /freeze (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Freeze the specified player. ]");
new player1;
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname[MAX_PLAYER_NAME];
player1 = ReturnUser(tmp, playerid);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(AccInfo[player1][Frozen] == 0)
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
new ftime = strval(tmp2);
if(ftime == 0) ftime = 9999;
SendCommandToAdmins(playerid,"Freeze");
TogglePlayerControllable(player1,false); AccInfo[player1][Frozen] = 1;
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
AccInfo[player1][FreezeTime] = ftime*1000*60;
FreezeTimer[player1] = SetTimerEx("UnFreezeMe",AccInfo[player1][FreezeTime],0,"d",player1);
if(ftime == 9999)
{
if(!strlen(params[strlen(tmp2)+1]))
format(string,sizeof(string),"[ Administrator %s has Frozen %s ]",adminname,playername);
else format(string,sizeof(string),"[ Administrator %s has Frozen %s | Reason: %s. ]",adminname,playername,params[strlen(tmp)+1]);
}
else
{
if(!strlen(tmp3)) format(string,sizeof(string),"[ Administrator %s has Frozen %s for %d Minutes. ]",adminname,playername,ftime);
else format(string,sizeof(string),"[ Administrator %s has Frozen %s for %d Minutes | Reason: %s. ]",adminname,playername,ftime,params[strlen(tmp2)+strlen(tmp)+1]);
}
return SendClientMessageToAll(blue,string);
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is already Frozen. ]");
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/unfreeze", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unfreeze (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unfreeze the specified player. ]");
new player1, string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(AccInfo[player1][Frozen] == 1)
{
SendCommandToAdmins(playerid,"Unfreeze");
UnFreezeMe(player1);
format(string,sizeof(string),"[ Administrator %s has Unfrozen you. ]", PlayerName2(playerid));
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ Administrator %s has Unfrozen %s. ]", PlayerName2(playerid), PlayerName2(player1));
return SendClientMessageToAll(blue,string);
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not Frozen. ]");
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
//==============================================================================
// Wanted Level List
//==============================================================================
if(strcmp(cmd, "/wanted", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 2)
{
new
InWanted,
string[64],
playername[MAX_PLAYER_NAME],
pWanted;
#if USE_DIALOGS == true
new
dialog[1000];
#endif
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && GetPlayerWantedLevel(i) >= 1)
{
if(InWanted == 0)
{
InWanted = 1;
SendClientMessage(playerid,Green1,"[-------------------| Wanted Players |-------------------]");
}
pWanted = GetPlayerWantedLevel(i);
GetPlayerName(i, playername, sizeof(playername));
#if USE_DIALOGS == true
format(string, sizeof(string), "%s(%d) | Wanted Level: %d", playername,i, pWanted);
strcat(dialog,string);
#else
format(string, sizeof(string), "* %s(%d) | Wanted Level: %d", playername,i, pWanted);
SendClientMessage(playerid,Green2,string);
#endif
}
}
if(InWanted == 0)
{
SendClientMessage(playerid, red, "[ No players have WantedLevel. ]");
}
else if(InWanted == 1)
{
#if USE_DIALOGS == true
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Player wanted:",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| /wanted |-------------------]");
#endif
}
return 1;
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/jailed", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 2)
{
new
InJailed,
string[64],
playername[MAX_PLAYER_NAME];
#if USE_DIALOGS == true
new
dialog[1000];
#endif
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && AccInfo[i][Jailed])
{
if(InJailed == 0)
{
InJailed = 1;
SendClientMessage(playerid,Green1,"[-------------------| Jailed Players |-------------------]");
}
GetPlayerName(i, playername, sizeof(playername));
#if USE_DIALOGS == true
format(string, sizeof(string), "%s(%d)", playername,i);
strcat(dialog,string);
#else
format(string, sizeof(string), "* %s(%d)", playername,i);
SendClientMessage(playerid,Green2,string);
#endif
}
}
if(InJailed == 0)
{
SendClientMessage(playerid, red, "[ No players in Jail. ]");
}
else if(InJailed == 1)
{
#if USE_DIALOGS == true
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Player jailed:",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| /jailed |-------------------]");
#endif
}
return 1;
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/viplist", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 1)
{
new bool:First2 = false;
new Count, i;
new string[128];
new adminname[MAX_PLAYER_NAME];
for(i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && AccInfo[i][pVip] > 0)
Count++;
if(Count == 0)
return SendClientMessage(playerid,red, "[ No players have VIP Account. ]");
for(i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && AccInfo[i][pVip] > 0)
{
if(AccInfo[i][pVip] > 0)
{
switch(AccInfo[i][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
}
GetPlayerName(i, adminname, sizeof(adminname));
if(!First2)
{
format(string, sizeof(string), "VIP Players: %d(%s)", i,AccType);
First2 = true;
}
else format(string,sizeof(string),"%s, %d(%s)",string,i,AccType);
}
return SendClientMessage(playerid,yellow,string);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/frozen", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 2)
{
new
InFrozen,
string[64],
playername[MAX_PLAYER_NAME];
#if USE_DIALOGS == true
new
dialog[1000];
#endif
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && AccInfo[i][Frozen])
{
if(InFrozen == 0)
{
InFrozen = 1;
SendClientMessage(playerid,Green1,"[-------------------| Frozen Players |-------------------]");
}
GetPlayerName(i, playername, sizeof(playername));
#if USE_DIALOGS == true
format(string, sizeof(string), "%s(%d)", playername,i);
strcat(dialog,string);
#else
format(string, sizeof(string), "* %s(%d)", playername,i);
SendClientMessage(playerid,Green2,string);
#endif
}
}
if(InFrozen == 0)
{
SendClientMessage(playerid, red, "[ No players are frozen. ]");
}
else if(InFrozen == 1)
{
#if USE_DIALOGS == true
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Player frozen:",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| /frozen |-------------------]");
#endif
}
return 1;
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/muted", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 2)
{
new
InMuted,
string[64],
playername[MAX_PLAYER_NAME];
#if USE_DIALOGS == true
new
dialog[1000];
#endif
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && AccInfo[i][Muted])
{
if(InMuted == 0)
{
InMuted = 1;
SendClientMessage(playerid,Green1,"[-------------------| Muted Players |-------------------]");
}
GetPlayerName(i, playername, sizeof(playername));
#if USE_DIALOGS == true
format(string, sizeof(string), "%s(%d)", playername,i);
strcat(dialog,string);
#else
format(string, sizeof(string), "* %s(%d)", playername,i);
SendClientMessage(playerid,Green2,string);
#endif
}
}
if(InMuted == 0)
{
SendClientMessage(playerid, red, "[ No players are Muted. ]");
}
else if(InMuted == 1)
{
#if USE_DIALOGS == true
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Player muted:",dialog,"Close","");
#else
SendClientMessage(playerid,Green1,"[-------------------| /muted |-------------------]");
#endif
}
return 1;
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/mute", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 2)
{
new tmp[256];
new tmp2[256];
new Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /mute (player<name/id>) (reason) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will mute the specified player. ]");
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME];
new player1, string[128];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]) )
{
if(AccInfo[player1][Muted] == 0)
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
SendCommandToAdmins(playerid,"Mute");
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
AccInfo[player1][Muted] = 1;
AccInfo[player1][MuteWarnings] = 0;
if(strlen(tmp2))
{
format(string,sizeof(string),"[ ADMIN: You have been Muted by Administrator %s | Reason: %s. ]",adminname,params[2]);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have Muted %s | Reason: %s. ]", playername,params[2]);
return SendClientMessage(playerid,BlueMsg,string);
}
else
{
format(string,sizeof(string),"[ ADMIN: You have been muted by Administrator %s | No Specified Reason. ]",adminname);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have Muted %s ]", playername);
return SendClientMessage(playerid,BlueMsg,string);
}
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is already muted. ]");
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/unmute", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 2)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unmute (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unmute the specified player. ]");
new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
if(AccInfo[player1][Muted] == 1)
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
SendCommandToAdmins(playerid,"Unmute");
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
AccInfo[player1][Muted] = 0;
AccInfo[player1][MuteWarnings] = 0;
format(string,sizeof(string),"[ ADMIN: You have been Unmuted by Administrator %s. ]",adminname);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have unmuted %s ]", playername);
return SendClientMessage(playerid,BlueMsg,string);
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not muted. ]");
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/slap", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 2)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /slap (player<id/name>) (reason)") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Slap the specified player");
new player1;
new string[128];
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME];
player1 = strval(tmp);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
SendCommandToAdmins(playerid,"Slap");
new Float:Health;
new Float:x, Float:y, Float:z;
GetPlayerHealth(player1,Health);
SetPlayerHealth(player1,Health-25);
GetPlayerPos(player1,x,y,z);
SetPlayerPos(player1,x,y,z+5);
PlayerPlaySound(playerid,1190,0.0,0.0,0.0);
PlayerPlaySound(player1,1190,0.0,0.0,0.0);
if(strlen(tmp2))
{
format(string,sizeof(string),"[ ADMIN: You have been Slapped by Administrator %s | Reason: %s. ]",adminname,params[2]);
SendClientMessage(player1,red,string);
format(string,sizeof(string),"[ ADMIN: You have slapped %s | Reason: %s ]",playername,params[2]);
return SendClientMessage(playerid,BlueMsg,string);
}
else
{
format(string,sizeof(string),"[ ADMIN: You have been slapped by Administrator %s | Reason: Not Specified. ]",adminname);
SendClientMessage(player1,red,string);
format(string,sizeof(string),"[ ADMIN: You have slapped %s ]",playername);
return SendClientMessage(playerid,BlueMsg,string);
}
}
else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/akill", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /akill (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Kill a specified player. ]");
new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if((AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]))
return SendClientMessage(playerid, red, "[ ERROR: You cannot akill the highest level admin. ]");
SendCommandToAdmins(playerid,"AKIll");
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string,sizeof(string),"[ Administrator %s has Killed you. ]",adminname);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have Killed %s. ]",playername);
SendClientMessage(playerid,BlueMsg,string);
return SetPlayerHealth(player1,0.0);
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
}
if(strcmp(cmd, "/aka", true) == 0)
{
if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /aka (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see other names used per specified player (AKA). ]");
new player1, playername[MAX_PLAYER_NAME], str[128], pIP[50];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
GetPlayerIp(player1,pIP,50);
GetPlayerName(player1, playername, sizeof(playername));
format(str,sizeof(str),"[ %s's AKA ]", playername);
SendClientMessage(playerid,blue,str);
format(str,sizeof(str),"[ Id: %d | Ip: %s | Names: %s ]", player1, pIP, dini_Get("/eAdmin/Config/aka.txt",pIP));
return SendClientMessage(playerid,blue,str);
}
else return SendClientMessage(playerid, red, "[ Player is not connected or is yourself. ]");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/screen", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
new tmp [256];
new tmp2[256], Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /screen (player<name/id>) (text) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will sending a Text in screen for specified Player. ]");
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME], player1;
new string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
SendCommandToAdmins(playerid,"Screen");
format(string,sizeof(string),"[ Administrator %s has Sent you a Screen Message. ]",adminname);
SendClientMessage(player1,blue,string);
format(string,sizeof(string),"[ ADMIN: You have sent %s a Screen Message: %s. ]", playername, params[2]);
SendClientMessage(playerid,BlueMsg,string);
return GameTextForPlayer(player1, params[2],4000,3);
}
else return ErrorMessages(playerid, 3);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/laston", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
new player1;
new playername[MAX_PLAYER_NAME];
new adminname [MAX_PLAYER_NAME];
new str[128];
new file[256];
new tmp2[256];
GetPlayerName(playerid, adminname, sizeof(adminname));
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(adminname));
if(!strlen(params))
{
if(!fexist(file))
return SendClientMessage(playerid, red, "[ ERROR: File not found, Player is not registered. ]");
tmp2 = dini_Get(file,"LastOn");
format(str, sizeof(str),"[ ADMIN: Your last Time on Server was: %s. ]",tmp2);
return SendClientMessage(playerid, red, str);
}
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
{
SendCommandToAdmins(playerid,"LastON");
GetPlayerName(player1,playername,sizeof(playername));
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(playername));
if(!fexist(file)) return SendClientMessage(playerid, red, "[ ERROR: File not found, Player is not registered. ]");
tmp2 = dini_Get(file,"LastOn");
format(str, sizeof(str),"[ The last time of '%s' in server was: %s. ]",playername,tmp2);
return SendClientMessage(playerid, red, str);
}
else return ErrorMessages(playerid, 4);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/adminarea", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
SendCommandToAdmins(playerid,"AdminArea");
SetPlayerPos(playerid, AdminArea[0], AdminArea[1], AdminArea[2]);
SetPlayerFacingAngle(playerid, AdminArea[3]);
SetPlayerInterior(playerid, AdminArea[4]);
SetPlayerVirtualWorld(playerid, AdminArea[5]);
return GameTextForPlayer(playerid,"Welcome in Admin Area",1000,3);
}
else
{
SetPlayerHealth(playerid,1.0);
new string[100];
format(string, sizeof(string),"[ATTENTION: %s has used AdminArea (Not an Admin). ]", PlayerName2(playerid));
MessageToAdmins(red,string);
}
return SendClientMessage(playerid,red, "[ ERROR: You must be an administrator to use this command. ]");
}
if(strcmp(cmd, "/hide", true) == 0)
{
if (AccInfo[playerid][Level] >= 4)
{
if (AccInfo[playerid][Hide] == 1)
return SendClientMessage(playerid,red,"[ ERROR: You are already have Hidden in the Admin List. ]");
AccInfo[playerid][Hide] = 1;
return SendClientMessage(playerid,green,"[ ADMIN: You are now Hidden from the Admin List. ]");
}
return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/unhide", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
if (AccInfo[playerid][Hide] != 1)
return SendClientMessage(playerid,red,"[ ERROR: You are not Hidden in the Admin List. ]");
AccInfo[playerid][Hide] = 0;
return SendClientMessage(playerid,green,"[ ADMIN: You are now Visible in the Admin List. ]");
}
return ErrorMessages(playerid, 5);
}
//==============================================================================
// Duty System
//==============================================================================
if(strcmp(cmd, "/onduty", true) == 0)
{
if (AccInfo[playerid][Level] >= 1)
{
if(AccInfo[playerid][OnDuty] == 0)
{
AccInfo[playerid][OnDuty] = 1;
SetPlayerTeam(playerid,NO_TEAM);
SetPlayerHealth(playerid,93130.0);
SetPlayerArmour(playerid,93130.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,38,1000000);
GivePlayerWeapon(playerid,16,1000000);
GivePlayerWeapon(playerid,9,1);
GivePlayerWeapon(playerid,26,1000000);
GivePlayerWeapon(playerid,31,1000000);
new string[200];
format(string,sizeof(string),"Admin %s(%d) is now ON-Duty.",PlayerName2(playerid),playerid);
SendClientMessageToAll(red,string);
return SendClientMessage(playerid,green,"[ ADMIN: You are now in \"Duty Mode\". ]");
}
else
{
SetPlayerHealth(playerid,0.0);
SetPlayerTeam(playerid,NO_TEAM);
ForceClassSelection(playerid);
AccInfo[playerid][OnDuty] = 0;
new string[200];
format(string,sizeof(string),"Admin %s(%d) is now OFF-Duty.",PlayerName2(playerid),playerid);
SendClientMessageToAll(red,string);
return SendClientMessage(playerid,orange,"[ ADMIN: You are now in \"Playing Mode\". ]");
}
}
return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/admins", true) == 0)
{
#if USE_DIALOGS == true
new count = 0;
new string[128];
new dialog[500];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
if(AccInfo[i][Level] >= 1 && AccInfo[i][Hide] == 0)
{
if(AccInfo[i][Level] > 5)
{
AdmRank = "Professional Admin";
}
if(IsPlayerAdmin(i))
{
AdmRank = "RCON Administrator";
}
else
{
switch(AccInfo[i][Level])
{
case 1: {
AdmRank = "Basic Moderator";
}
case 2: {
AdmRank = "Moderator";
}
case 3: {
AdmRank = "Master Moderator";
}
case 4: {
AdmRank = "Administrator";
}
case 5: {
AdmRank = "Master Administrator";
}
}
}
switch(AccInfo[i][OnDuty])
{
case 0: AdmDuty = "Playing!";
case 1: AdmDuty = "On Duty!";
}
format(string, 128, "%s (Id: %i) | Level: %d(%s, %s)\n",PlayerName2(i),i,AccInfo[i][Level],AdmRank,AdmDuty);
strcat(dialog,string);
count++;
}
}
}
if (count == 0)
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admins online","No admin online yet.","Close","");
else ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admins online",dialog,"Close","");
#else
new count = 0;
new string[128];
new ChangeColor;
SendClientMessage(playerid, green, " ");
SendClientMessage(playerid, LIGHTBLUE2, "___________ [ Online Admins ] ___________");
SendClientMessage(playerid, LIGHTBLUE2, " ");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
if(AccInfo[i][Level] >= 1 && AccInfo[i][Hide] == 0)
{
if(AccInfo[i][Level] > 5)
{
AdmRank = "Professional Admin";
ChangeColor = Color_Professional_Admin;
}
if(IsPlayerAdmin(i))
{
AdmRank = "RCON Administrator";
ChangeColor = Color_RCON_Administrator;
}
else
{
switch(AccInfo[i][Level])
{
case 1: {
AdmRank = "Basic Moderator";
ChangeColor = Color_Basic_Moderator;
}
case 2: {
AdmRank = "Moderator";
ChangeColor = Color_Moderator;
}
case 3: {
AdmRank = "Master Moderator";
ChangeColor = Color_Master_Moderator;
}
case 4: {
AdmRank = "Administrator";
ChangeColor = Color_Administrator;
}
case 5: {
AdmRank = "Master Administrator";
ChangeColor = Color_Master_Administrator;
}
}
}
switch(AccInfo[i][OnDuty])
{
case 0: AdmDuty = "Playing!";
case 1: AdmDuty = "On Duty!";
}
format(string, 128, "%s (Id: %i) | Level: %d(%s, %s)",PlayerName2(i),i,AccInfo[i][Level],AdmRank,AdmDuty);
SendClientMessage(playerid, ChangeColor, string);
count++;
}
}
}
if (count == 0)
SendClientMessage(playerid,red,"No admin online in the list.");
SendClientMessage(playerid, LIGHTBLUE2, " _______________________________________");
#endif
return 1;
}
if(strcmp(cmd, "/weaps", true) == 0)
{
if(AccInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /weaps (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: See weapons of specified player. ]");
new player1;
new Count, x;
new string[128], string2[64];
new WeapName[24], slot, weap, ammo;
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
format(string2,sizeof(string2),"[-------------------| %s(Id: %d) Weapons |-------------------]", PlayerName2(player1),player1);
SendClientMessage(playerid,Green1,string2);
for(slot = 0; slot < 14; slot++)
{
GetPlayerWeaponData(player1, slot, weap, ammo);
if( ammo != 0 && weap != 0)
Count++;
}
if(Count < 1)
return SendClientMessage(playerid,Green2,"No Weapons found.");
if(Count >= 1)
{
for (slot = 0; slot < 14; slot++)
{
GetPlayerWeaponData(player1, slot, weap, ammo);
if( ammo != 0 && weap != 0)
{
GetWeaponName(weap, WeapName, sizeof(WeapName));
if(ammo == 65535 || ammo == 1)
format(string,sizeof(string),"%s%s (1)",string, WeapName);
else format(string,sizeof(string),"%s%s (%d)",string, WeapName, ammo);
x++;
if(x >= 5)
{
SendClientMessage(playerid, Green2, string);
x = 0;
format(string, sizeof(string), "");
}
else format(string, sizeof(string), "%s, ", string);
}
}
if(x <= 4 && x > 0)
{
string[strlen(string)-3] = '.';
SendClientMessage(playerid, Green2, string);
}
}
SendClientMessage(playerid,Green1,"[-------------------| /weaps |-------------------]");
return 1;
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/morning", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
SendCommandToAdmins(playerid,"Morning");
return SetPlayerTime(playerid,7,0);
}
else return ErrorMessages(playerid, 8);
}
if(strcmp(cmd, "/reports", true) == 0)
{
new dialog[1000];
if(AccInfo[playerid][Level] >= 1)
{
new ReportCount;
for(new i = 1; i < MAX_REPORTS; i++)
{
if(strcmp( Reports[i], "[-NONE-]", true) != 0)
{
ReportCount++; strcat(dialog,Reports[i]);
}
}
if(ReportCount == 0)
SendClientMessage(playerid,red,"[ ADMIN: No reports Found. ]");
else if(ReportCount == 1)
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Online Reports:",dialog,"Close","");
}
else ErrorMessages(playerid, 8);
return 1;
}
if(strcmp(cmd, "/report", true) == 0)
{
new reported;
new tmp[256];
new tmp2[256];
new Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /report (player<name/id>) (reason) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ ATTENTION: Do not report anyone without a reason. ]");
reported = strval(tmp);
if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID)
{
if(AccInfo[reported][Level] == ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot report this Administrator. ]");
if(playerid == reported)
return SendClientMessage(playerid,red,"[ ERROR: You Cannot report Yourself. ]");
if(strlen(params) > 7)
{
new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str[128];
new hour,minute,second;
gettime(hour,minute,second);
GetPlayerName(reported, reportedname, sizeof(reportedname));
GetPlayerName(playerid, reporter, sizeof(reporter));
format(str, sizeof(str), "[ REPORT: %s(Id:%d) Reported %s(Id:%d) Reason: %s |Time: %d:%d:%d. ]", reporter,playerid, reportedname, reported, params[strlen(tmp)+1], hour,minute,second);
MessageToAdmins(COLOR_WHITE,str);
SaveIn("ReportLog",str);
format(str, sizeof(str), ""COL_WHITE"("COL_GREEN"%d:%d:%d"COL_WHITE")\nReporter: %s(Id:%d) | Against: %s(Id: %d) | Reason: %s\n", hour,minute,second, reporter,playerid, reportedname, reported, params[strlen(tmp)+1]);
for(new i = 1; i < MAX_REPORTS-1; i++) Reports[i] = Reports[i+1];
Reports[MAX_REPORTS-1] = str;
return SendClientMessage(playerid,yellow, "[ Your report has been sent to Online Administrators and saved in File. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: Invalid Reason. ]");
}
else return ErrorMessages(playerid, 2);
}
if(strcmp(cmd, "/miniguns", true) == 0)
{
if(AccInfo[playerid][Level] >= 1)
{
new Count, string[128];
new i, slot, weap, ammo;
new dialog[1000];
for(i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
for(slot = 0; slot < 14; slot++)
{
GetPlayerWeaponData(i, slot, weap, ammo);
if(ammo != 0 && weap == 38)
{
Count++;
format(string, sizeof(string), "%s(%d) "COL_ORANGE"| "COL_WHITE"Ammo: %d\n", PlayerName2(i), i, ammo);
strcat(dialog,string);
}
}
}
}
if(Count == 0)
return SendClientMessage(playerid,red,"[ No player has Minigun. ]");
else return ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Miniguns Search:",dialog,"Close","");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/richlist", true) == 0)
{
if(AccInfo[playerid][Level] >= 0)
{
new string[128], Slot1 = -1, Slot2 = -1, Slot3 = -1, Slot4 = -1, Slot5 = -1;
new HighestCash = -9999;
new dialog[1000];
for(new x=0; x<MAX_PLAYERS; x++)
if(IsPlayerConnected(x))
if(GetPlayerMoney(x) >= HighestCash)
{
HighestCash = GetPlayerMoney(x);
Slot1 = x;
}
HighestCash = -9999;
for(new x=0; x<MAX_PLAYERS; x++)
if(IsPlayerConnected(x) && x != Slot1)
if(GetPlayerMoney(x) >= HighestCash)
{
HighestCash = GetPlayerMoney(x);
Slot2 = x;
}
HighestCash = -9999;
for(new x=0; x<MAX_PLAYERS; x++)
if(IsPlayerConnected(x) && x != Slot1 && x != Slot2)
if(GetPlayerMoney(x) >= HighestCash)
{
HighestCash = GetPlayerMoney(x);
Slot3 = x;
}
HighestCash = -9999;
for(new x=0; x<MAX_PLAYERS; x++)
if(IsPlayerConnected(x) && x != Slot1 && x != Slot2 && x != Slot3)
if(GetPlayerMoney(x) >= HighestCash)
{
HighestCash = GetPlayerMoney(x);
Slot4 = x;
}
HighestCash = -9999;
for(new x=0; x<MAX_PLAYERS; x++)
if(IsPlayerConnected(x) && x != Slot1 && x != Slot2 && x != Slot3 && x != Slot4)
if(GetPlayerMoney(x) >= HighestCash)
{
HighestCash = GetPlayerMoney(x);
Slot5 = x;
}
if(Slot1 != -1){
format(string, sizeof(string), ""COL_YELLOW"1> %s(%d) | $%d | Score: %d", PlayerName2(Slot1),Slot1,GetPlayerMoney(Slot1),GetPlayerScore(Slot1));
strcat(dialog,string);
}
if(Slot2 != -1){
format(string, sizeof(string), ""COL_RED"2> %s(%d) | $%d | Score: %d", PlayerName2(Slot2),Slot2,GetPlayerMoney(Slot2),GetPlayerScore(Slot2));
strcat(dialog,string);
}
if(Slot3 != -1){
format(string, sizeof(string), ""COL_MARONE"3> %s(%d) | $%d | Score: %d", PlayerName2(Slot3),Slot3,GetPlayerMoney(Slot3),GetPlayerScore(Slot3));
strcat(dialog,string);
}
if(Slot4 != -1){
format(string, sizeof(string), ""COL_BLUE"4> %s(%d) | $%d | Score: %d", PlayerName2(Slot4),Slot4,GetPlayerMoney(Slot4),GetPlayerScore(Slot4));
strcat(dialog,string);
}
if(Slot5 != -1){
format(string, sizeof(string), ""COL_ORANGE"5> %s(%d) | $%d | Score: %d", PlayerName2(Slot5),Slot5,GetPlayerMoney(Slot5),GetPlayerScore(Slot5));
strcat(dialog,string);
}
ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Richlist: TOP-5",dialog,"Close","");
return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/botcheck", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
for(new i=0; i<MAX_PLAYERS; i++)
BotCheck(i);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
return SendCommandToAdmins(playerid,"BotCheck");
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/unlockserver", true) == 0)
{
if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
{
if(ServerInfo[Locked] == 1)
{
return ShowPlayerDialog(playerid, DIALOG_TYPE_SERVUNLOCK, DIALOG_STYLE_MSGBOX, "Unlock Server","You are sure to want unlock the server?", "Yes", "No");
}
else return SendClientMessage(playerid,red,"[ ERROR: Server is not Locked. ]");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/lockserver", true) == 0)
{
new string[156];
if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
{
if(ServerInfo[Locked] == 0)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /lockserver (pssword) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will server lock with specified Password. ]");
strmid(ServerInfo[Password], params[0], 0, strlen(params[0]), 128);
format(string, 128, "Server Password: '%s'", params);
return ShowPlayerDialog(playerid, DIALOG_TYPE_SERVLOCK, DIALOG_STYLE_MSGBOX, "Lock/Unlock Server", string, "Yes", "No");
}
else return SendClientMessage(playerid,red,"[ ERROR: Server is Locked. ]");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/uconfig", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
UpdateConfig();
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
return SendCommandToAdmins(playerid,"UConfig");
}
else return ErrorMessages(playerid, 5);
}
//==============================================================================
// Spectating Commands - I have changed. More it is not my
//==============================================================================
if(strcmp(cmd, "/lspec", true) == 0)
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(AccInfo[playerid][pGps] != -1)
return SendClientMessage(playerid, red, "[ ERROR: First Disable the Gps System, (/gps off). ]");
if(!strlen(params) || !IsNumeric(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /lspec (player<name/id>) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will spec a specified Player. ]");
new specplayerid = ReturnUser(params);
if(AccInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(specplayerid) && specplayerid != INVALID_PLAYER_ID)
{
if(specplayerid == playerid)
return SendClientMessage(playerid, red, "[ ERROR: You cannot spectate Yourself. ]");
if(GetPlayerState(specplayerid) == PLAYER_STATE_SPECTATING && AccInfo[specplayerid][SpecID] != INVALID_PLAYER_ID)
return SendClientMessage(playerid, red, "[ ERROR: Player spectating someone else. ]");
if(GetPlayerState(specplayerid) != 1 && GetPlayerState(specplayerid) != 2 && GetPlayerState(specplayerid) != 3)
return SendClientMessage(playerid, red, "[ ERROR: Player not Spawned. ]");
if((AccInfo[specplayerid][Level] != ServerInfo[MaxAdminLevel]) || (AccInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] == ServerInfo[MaxAdminLevel]))
{
GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
GetPlayerFacingAngle(playerid,Pos[playerid][3]);
SendCommandToAdmins(playerid,"LSpec");
SendClientMessage(playerid,blue,"[ ADMIN: Spectating ON. ]");
return StartSpectate(playerid, specplayerid);
}
else return SendClientMessage(playerid,red,"[ ERROR: You cannot spectate the highest level admin. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/lspecvehicle", true) == 0)
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /lspecvehicle (vehicleID) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will spec a specified Vehicle. ]");
new specvehicleid = strval(params);
if(specvehicleid < MAX_VEHICLES)
{
TogglePlayerSpectating(playerid, 1);
PlayerSpectateVehicle(playerid, specvehicleid);
AccInfo[playerid][SpecID] = specvehicleid;
AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
SendCommandToAdmins(playerid,"LSpecVehicle");
GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
GetPlayerFacingAngle(playerid,Pos[playerid][3]);
return SendClientMessage(playerid,blue,"[ ADMIN: Vehicle Spectating ON. ]");
}
else return SendClientMessage(playerid,red, "[ ERROR: Invalid Vehicle ID. ]");
}
else return ErrorMessages(playerid, 7);
}
if(strcmp(cmd, "/lspecoff", true) == 0)
{
if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
{
if(AccInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE)
{
StopSpectate(playerid);
TogglePlayerControllable(playerid, 0);
SetTimerEx("ReturnPosition",1000,0,"d",playerid);
return SendClientMessage(playerid,blue,"[ ADMIN: Spectating OFF. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: You are not spectating. ]");
}
else return ErrorMessages(playerid, 7);
}
//==============================================================================
// Pickups and Objects
//==============================================================================
if(strcmp(cmd, "/object", true) == 0)
{
if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /object (objectID) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will created a specified Object. ]");
new ObjID = strval(params), string[128];
new Float:X, Float:Y, Float:Z, Float:Ang;
SendCommandToAdmins(playerid,"Object");
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Ang);
X += (3 * floatsin(-Ang, degrees));
Y += (3 * floatcos(-Ang, degrees));
CreateObject(ObjID, X, Y, Z, 0.0, 0.0, Ang);
format(string, sizeof(string), "CreateObject(%d, %0.2f, %0.2f, %0.2f, 0.00, 0.00, %0.2f);", ObjID, X, Y, Z, Ang);
SaveIn("CreatedObjects",string);
format(string, sizeof(string), "[ Object Created: (Id: %d) (Position: X: %0.2f, Y: %0.2f, Z: %0.2f) (Angle: %0.2f). ]", ObjID, X, Y, Z, Ang);
return SendClientMessage(playerid,yellow, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/pickup", true) == 0)
{
if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /pickup (pickupID) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will created a specified Pickup. ]");
new PickupID = strval(params), string[128];
new Float:X, Float:Y, Float:Z, Float:Ang;
SendCommandToAdmins(playerid,"Pickup");
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Ang);
X += (3 * floatsin(-Ang, degrees));
Y += (3 * floatcos(-Ang, degrees));
CreatePickup(PickupID, 2, X+2, Y, Z);
format(string, sizeof(string), "CreatePickup(%d, 2, %0.2f, %0.2f, %0.2f);", PickupID, X+2, Y, Z);
SaveIn("CreatedPickups",string);
format(string, sizeof(string), "[ Pickup Created: (Id: %d) (Position: X: %0.2f, Y: %0.2f, Z: %0.2f) ]", PickupID, X+2, Y, Z);
return SendClientMessage(playerid,yellow, string);
}
else return ErrorMessages(playerid, 1);
}
//==============================================================================
// Fake Commands
//==============================================================================
if(strcmp(cmd, "/fakecmd", true) == 0)
{
if(AccInfo[playerid][Level] >= 5)
{
new tmp[256], tmp2[256], Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /fakecmd (player<name/id>) (command) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will sending a false Command used per Specified player. ]");
new player1 = strval(tmp);
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"FakeCmd");
CallRemoteFunction("OnPlayerCommandText", "is", player1, tmp2);
return SendClientMessage(playerid,blue,"[ ADMIN: Fake command sent. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
//--------------------------
if(strcmp(cmd, "/fakechat", true) == 0)
{
if(AccInfo[playerid][Level] >= 5)
{
new tmp[256], tmp2[256], Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /fakechat (player<name/id>) (message) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will sending a false message typed per Specified player. ]");
new player1 = strval(tmp);
if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"FakeChat");
SendPlayerMessageToAll(player1, params[strlen(tmp)+1]);
return SendClientMessage(playerid,blue,"[ ADMIN: Fake message sent. ]");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
//--------------------------
if(strcmp(cmd, "/fakedeath", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
new Index;
new tmp [256];
new tmp2[256];
new tmp3[256];
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
tmp3 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /fakedeath (killerID) (playerID) (weaponID) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will cause a false death per specified player (FakeKill). ]");
new killer = strval(tmp);
new killee = strval(tmp2);
new weap = strval(tmp3);
if(!IsValidWeapon(weap))
return SendClientMessage(playerid,red,"[ ERROR: Invalid Weapon ID. ]");
if(AccInfo[killer][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(AccInfo[killee][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
if(IsPlayerConnected(killer) && killer != INVALID_PLAYER_ID)
{
if(IsPlayerConnected(killee) && killee != INVALID_PLAYER_ID)
{
SendCommandToAdmins(playerid,"FakeDeath");
SendDeathMessage(killer,killee,weap);
return SendClientMessage(playerid,blue,"[ ADMIN: Fake death message sent. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: Fake Killed is not connected. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: Fake Killer is not connected. ]");
}
else return ErrorMessages(playerid, 1);
}
//==============================================================================
//-------------------------------------------------
// All (Commands)
//-------------------------------------------------
//==============================================================================
if(strcmp(cmd, "/healall", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
SendCommandToAdmins(playerid,"HealAll");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerHealth(i,100.0);
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Healed all players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 6);
}
if(strcmp(cmd, "/spawnall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"SpawnAll");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerPos(i, 0.0, 0.0, 0.0); SpawnPlayer(i);
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Spawned all players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/armourall", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
SendCommandToAdmins(playerid,"ArmourAll");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerArmour(i,100.0);
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Restored all players armour. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 6);
}
if(strcmp(cmd, "/slapall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"SlapAll");
new Float:x, Float:y, Float:z;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1190,0.0,0.0,0.0);
GetPlayerPos(i,x,y,z);
SetPlayerPos(i,x,y,z+4);
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Slapped all players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/freezeall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"FreezeAll");
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
TogglePlayerControllable(playerid,false);
AccInfo[i][Frozen] = 1;
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Frozen all players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/unfreezeall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"UnfreezeAll");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
TogglePlayerControllable(playerid,true);
AccInfo[i][Frozen] = 0;
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Unfrozen all players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/killall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"KillAll");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerHealth(i,0.0);
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Killed all players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/kickall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"KickAll");
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
Kick(i);
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Kicked all players. ]", pName(playerid));
SaveIn("KickLog",string);
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/explodeall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"ExplodeAll");
new Float:x, Float:y, Float:z;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1190,0.0,0.0,0.0);
GetPlayerPos(i,x,y,z);
CreateExplosion(x,y,z,7,10.0);
}
}
new string[128]; format(string,sizeof(string),"[ Administrator \"%s\" has Exploded all players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/setallwanted", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallwanted (wantedLevel) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified Weather for all players. ]");
new var = strval(params), string[128];
SendCommandToAdmins(playerid,"SetAllWanted");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerWantedLevel(i,var);
}
}
format(string,sizeof(string),"[ Administrator \"%s\" has set all players wanted level to '%d'. ]", pName(playerid), var );
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setallskin", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallskin (skinID) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified Skin for all players. ]");
new var = strval(params), string[128];
if(!IsValidSkin(var)) return SendClientMessage(playerid, red, "[ ERROR: Invaild Skin ID. ]");
SendCommandToAdmins(playerid,"SetAllSkin");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerSkin(i,var);
}
}
format(string,sizeof(string),"[ Administrator \"%s\" has set all players Skin to '%d'. ]", pName(playerid), var );
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setallweather", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallweather (weatherID) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified Weather for all players. ]");
new var = strval(params), string[128];
SendCommandToAdmins(playerid,"SetAllWeather");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerWeather(i, var);
}
}
format(string,sizeof(string),"[ Administrator \"%s\" has set all players Weather to '%d'. ]", pName(playerid), var );
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/disarmall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"DisarmAll");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
ResetPlayerWeapons(i);
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Disarmed all Players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/ejectall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"EjectAll");
new Float:x, Float:y, Float:z;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
if(IsPlayerInAnyVehicle(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
GetPlayerPos(i,x,y,z);
SetPlayerPos(i,x,y,z+3);
}
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Ejected all Players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/setalltime", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setalltime (time(Hour)) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified Hour for all players. ]");
new var = strval(params), string[128];
if(var > 24) return SendClientMessage(playerid, red, "[ ERROR: Invalid Hour. ]");
SendCommandToAdmins(playerid,"SetAllTime");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerTime(i, var, 0);
}
}
format(string,sizeof(string),"[ Administrator \"%s\" has set all players Time to '%d:00'. ]", pName(playerid), var );
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setallcash", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallcash (value) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified value in Money for all players. ]");
new var = strval(params), string[128];
SendCommandToAdmins(playerid,"SetAllCash");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
ResetPlayerMoney(i);
GivePlayerMoney(i,var);
}
}
format(string,sizeof(string),"[ Administrator \"%s\" has set all Players Cash to '$%d'. ]", pName(playerid), var );
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setallworld", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallworld (virtualworld) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified Virtual World for all players. ]");
new var = strval(params), string[128];
SendCommandToAdmins(playerid,"SetAllWorld");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerVirtualWorld(i,var);
}
}
format(string,sizeof(string),"[ Administrator \"%s\" has set all players Virtual Worlds to '%d'. ]", pName(playerid), var );
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/setallscore", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallscore (score) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a score value for all players. ]");
new var = strval(params), string[128];
SendCommandToAdmins(playerid,"SetAllScore");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) {
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerScore(i,var);
}
}
format(string,sizeof(string),"[ Administrator \"%s\" has set all Players Scores to '%d'. ]", pName(playerid), var );
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/getall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"GetAll");
new Float:x,Float:y,Float:z, interior = GetPlayerInterior(playerid);
GetPlayerPos(playerid,x,y,z);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerPos(i,x+(playerid/4)+1,y+(playerid/4),z);
SetPlayerInterior(i,interior);
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Teleported all players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/muteall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"MuteAll");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
AccInfo[i][Muted] = 1;
AccInfo[i][MuteWarnings] = 0;
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Muted all players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/unmuteall", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
SendCommandToAdmins(playerid,"UnmuteAll");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
AccInfo[i][Muted] = 0;
AccInfo[i][MuteWarnings] = 0;
}
}
new string[128];
format(string,sizeof(string),"[ Administrator \"%s\" has Unmuted all players. ]", pName(playerid));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 5);
}
if(strcmp(cmd, "/giveallcash", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveallcash (value) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified value in Money for all players. ]");
new var = strval(params), string[128];
SendCommandToAdmins(playerid,"GiveAllCash");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
GivePlayerMoney(i,var);
}
}
format(string,sizeof(string),"[ Administrator \"%s\" has given all Players '$%d'. ]", pName(playerid), var );
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/giveallscore", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveallscore (value) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified value of score for all players. ]");
new var = strval(params), string[128];
SendCommandToAdmins(playerid,"GiveAllScore");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerScore(i,GetPlayerScore(i)+var);
}
}
format(string,sizeof(string),"[ Administrator \"%s\" has given all Players '%d' score. ]", pName(playerid), var );
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/giveallweapon", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new tmp[256], tmp2[256], Index;
new ammo, weap, WeapName[32];
new string[128];
tmp = strtok(params,Index); tmp2 = strtok(params,Index);
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveallweapon (weaponID or weaponName) (ammo) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified weapon and ammo for all players. ]");
if(!strlen(tmp2) || !IsNumeric(tmp2) || strval(tmp2) <= 0 || strval(tmp2) > 99999) ammo = 500;
if(!IsNumeric(tmp))
weap = GetWeaponIDFromName(tmp);
else weap = strval(tmp);
if(!IsValidWeapon(weap))
return SendClientMessage(playerid,red,"[ ERROR: Invalid Weapon ID. ]");
SendCommandToAdmins(playerid,"GiveAllWeapon");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
GivePlayerWeapon(i,weap,ammo);
}
}
GetWeaponName(weap, WeapName, sizeof(WeapName));
format(string,sizeof(string),"[ Administrator \"%s\" has Given all Players a %'s' (%d) with %d rounds of Ammo. ]", pName(playerid), WeapName, weap, ammo);
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
//==============================================================================
// Position
//==============================================================================
if(strcmp(cmd, "/gotoplace", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1 && AccInfo[playerid][Level] >= 1)
{
if (dUserINT(PlayerName2(playerid)).("x")!=0)
{
PutAtPos(playerid);
SetPlayerVirtualWorld(playerid, (dUserINT(PlayerName2(playerid)).("world")) );
return SendClientMessage(playerid,BlueMsg,"[ ADMIN: You have been teleported to your saved position. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: You not have a saved Position! (/gotoplace). ]");
}
else return SendClientMessage(playerid,red, "[ ERROR: You must be an administrator to use this command. ]");
}
if(strcmp(cmd, "/saveplace", true) == 0)
{
if(AccInfo[playerid][LoggedIn] == 1 && AccInfo[playerid][Level] >= 1)
{
new Float:x,Float:y,Float:z, interior;
GetPlayerPos(playerid,x,y,z);
interior = GetPlayerInterior(playerid);
dUserSetINT(PlayerName2(playerid)).("x",floatround(x));
dUserSetINT(PlayerName2(playerid)).("y",floatround(y));
dUserSetINT(PlayerName2(playerid)).("z",floatround(z));
dUserSetINT(PlayerName2(playerid)).("interior",interior);
dUserSetINT(PlayerName2(playerid)).("world", (GetPlayerVirtualWorld(playerid)));
return SendClientMessage(playerid,BlueMsg,"[ ADMIN: Coordinates of your position successfully saved. ]");
}
else return SendClientMessage(playerid,red, "[ ERROR: You must be an administrator to use this command. ]");
}
//==============================================================================
//==============================================================================
// Dialog Menu
//==============================================================================
#if USE_DIALOGS == true
if(strcmp(cmd, "/lmenu", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
if(IsPlayerInAnyVehicle(playerid))
{
TogglePlayerControllable(playerid,false);
return ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
}
else return ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/execcmd", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
return ShowPlayerDialog(playerid, DIALOGID+80, DIALOG_STYLE_INPUT, "Admin - Execute Command",
"Simple type a Command! \n\nFor eAdmin, for your GameMode, and for any other Filterscript! \n\nExemple: 'ban 0 cheats' (Without '/')", "Exec Cmd", "Cancel");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/fstyles", true) == 0)
{
if(AccInfo[playerid][Level] >= 2)
{
new tmp[128];
new FightName[30];
new Float:FStyle;
FStyle = GetPlayerFightingStyle(playerid);
if(FStyle == FIGHT_STYLE_ELBOW) FightName = "Elbow";
if(FStyle == FIGHT_STYLE_BOXING) FightName = "Boxing";
if(FStyle == FIGHT_STYLE_GRABKICK) FightName = "Grabkick";
if(FStyle == FIGHT_STYLE_KNEEHEAD) FightName = "Kneehead";
if(FStyle == FIGHT_STYLE_KUNGFU) FightName = "Kungfu";
if(FStyle == FIGHT_STYLE_NORMAL) FightName = "Normal";
format(tmp,sizeof(tmp),"Admin - Fighting Styles (Current: %s)",FightName);
return ShowPlayerDialog(playerid,DIALOGID+81,DIALOG_STYLE_LIST,tmp,"Elbow\nBoxing\nGrabkick\nKneehead\nKungfu\nNormal", "Change", "Cancel");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/console", true) == 0)
{
if(AccInfo[playerid][Level] >= 5)
{
return ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console",
"Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/ctele", true) == 0)
{
if(AccInfo[playerid][Level] >= 4)
{
return ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
}
else return ErrorMessages(playerid, 1);
}
#endif
//==============================================================================
// Skin
//==============================================================================
if(strcmp(cmd, "/useskin", true) == 0)
{
if(AccInfo[playerid][Level] >= 1 && AccInfo[playerid][LoggedIn] == 1)
{
dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
SetPlayerSkin(playerid,dUserINT(PlayerName2(playerid)).("FavSkin"));
return SendClientMessage(playerid,BlueMsg,"[ Ready, Skin in use. ]");
} else return SendClientMessage(playerid,red,"[ ERROR: You must be an administrator to use this command. ]");
}
if(strcmp(cmd, "/saveskin", true) == 0)
{
if(AccInfo[playerid][Level] >= 1 && AccInfo[playerid][LoggedIn] == 1)
{
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /saveskin (skinID) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Save your favorite Skin. ]");
new string[128];
new SkinID = strval(params);
if((SkinID == 0) ||(SkinID == 7)
||(SkinID >= 9 && SkinID <= 41) ||(SkinID >= 43 && SkinID <= 64) ||(SkinID >= 66 && SkinID <= 73)
||(SkinID >= 75 && SkinID <= 85) ||(SkinID >= 87 && SkinID <= 118) ||(SkinID >= 120 && SkinID <= 148)
||(SkinID >= 150 && SkinID <= 207) ||(SkinID >= 209 && SkinID <= 264) ||(SkinID >= 274 && SkinID <= 288)
||(SkinID >= 290 && SkinID <= 299))
{
dUserSetINT(PlayerName2(playerid)).("FavSkin",SkinID);
format(string, sizeof(string), "[ ADMIN: You have Successfully Saved your favorite Skin (Id:%d). ]",SkinID);
SendClientMessage(playerid,BlueMsg,string);
SendClientMessage(playerid,BlueMsg,"[ USAGE: /useskin to use this skin | /dontuseskin to stop using skin. ]");
dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
return SendCommandToAdmins(playerid,"SaveSkin");
}
else return SendClientMessage(playerid, green, "[ ERROR: Invalid Skin Id. ]");
}
else return SendClientMessage(playerid,red,"[ ERROR: You must be an administrator to use this command. ]");
}
if(strcmp(cmd, "/dontuseskin", true) == 0)
{
if(AccInfo[playerid][Level] >= 1 && AccInfo[playerid][LoggedIn] == 1)
{
dUserSetINT(PlayerName2(playerid)).("UseSkin",0);
return SendClientMessage(playerid,BlueMsg,"[ ADMIN: Skin will no longer be used. ]");
} else
return SendClientMessage(playerid,red,"[ ERROR: You must be an administrator to use this command. ]");
}
//==============================================================================
// Team commands
//==============================================================================
if(strcmp(cmd, "/getteam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new Float:x,Float:y,Float:z;
new string[500];
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /getteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will teleport the team to you. ]");
if(!IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /getteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will teleport the team to you. ]");
if(IsPlayerConnected(playerid))
{
SendCommandToAdmins(playerid,"Getteam");
format(string, sizeof(string), "[ ADMIN: You have teleported team \"%d\" to your position. ]", strval(tmp));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" have teleported team '%d' to him/her position. ]", pName(playerid), strval(tmp));
SendClientMessageToAll(blue,string);
GetPlayerPos(playerid,x,y,z);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
{
SetPlayerPos(i,x,y,z);
SetPlayerInterior(i,GetPlayerInterior(playerid));
SetPlayerVirtualWorld(i,GetPlayerVirtualWorld(playerid));
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
}
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/freezeteam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new string[500];
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /freezeteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will freeze the team specified. ]");
if(!IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /freezeteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will freeze the team specified. ]");
if(IsPlayerConnected(playerid))
{
SendCommandToAdmins(playerid,"Freezeteam");
format(string, sizeof(string), "[ ADMIN: You have freezed team \"%d\". ]", strval(tmp));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" have freezed team '%d'. ]", pName(playerid), strval(tmp));
SendClientMessageToAll(blue,string);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
{
TogglePlayerControllable(i,false);
AccInfo[i][Frozen]=1;
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
}
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/unfreezeteam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new string[500];
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unfreezeteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unfreeze the team specified. ]");
if(!IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unfreezeteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unfreeze the team specified. ]");
if(IsPlayerConnected(playerid))
{
SendCommandToAdmins(playerid,"Unfreezeteam");
format(string, sizeof(string), "[ ADMIN: You have unfreezed team \"%d\". ]", strval(tmp));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" have unfreezed team '%d'. ]", pName(playerid), strval(tmp));
SendClientMessageToAll(blue,string);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
{
TogglePlayerControllable(i,true);
AccInfo[i][Frozen]=0;
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
}
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/muteteam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new string[500];
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /muteteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will mute the team specified. ]");
if(!IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /muteteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will mute the team specified. ]");
if(IsPlayerConnected(playerid))
{
SendCommandToAdmins(playerid,"muteteam");
format(string, sizeof(string), "[ ADMIN: You have muted team \"%d\". ]", strval(tmp));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" have muted team '%d'. ]", pName(playerid), strval(tmp));
SendClientMessageToAll(blue,string);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
{
AccInfo[i][Muted]=1;
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
}
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/unmuteteam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new string[500];
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unmuteteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unmute the team specified. ]");
if(!IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unmuteteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unmute the team specified. ]");
if(IsPlayerConnected(playerid))
{
SendCommandToAdmins(playerid,"Unmuteteam");
format(string, sizeof(string), "[ ADMIN: You have unmuted team \"%d\". ]", strval(tmp));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" have unmuted team '%d'. ]", pName(playerid), strval(tmp));
SendClientMessageToAll(blue,string);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
{
AccInfo[i][Muted]=0;
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
}
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/healteam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new string[500];
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setteamhealth (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will heal the team specified. ]");
if(!IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setteamhealth (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will heal the team specified. ]");
if(IsPlayerConnected(playerid))
{
SendCommandToAdmins(playerid,"Healteam");
format(string, sizeof(string), "[ ADMIN: You have healed team \"%d\". ]", strval(tmp));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" have healed team '%d'. ]", pName(playerid), strval(tmp));
SendClientMessageToAll(blue,string);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==strval(tmp))
{
SetPlayerHealth(i,100.0);
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
}
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/armourteam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new string[500];
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /armorteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will armour the team specified. ]");
if(!IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /armorteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will armour the team specified. ]");
if(IsPlayerConnected(playerid))
{
SendCommandToAdmins(playerid,"Healteam");
format(string, sizeof(string), "[ ADMIN: You have armoured team \"%d\". ]", strval(tmp));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" have armoured team '%d'. ]", pName(playerid), strval(tmp));
SendClientMessageToAll(blue,string);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==strval(tmp))
{
SetPlayerArmour(i,100.0);
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
}
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/disarmteam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new string[500];
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /disarmteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will disarm the team specified. ]");
if(!IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /disarmteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will disarm the team specified. ]");
if(IsPlayerConnected(playerid))
{
SendCommandToAdmins(playerid,"Healteam");
format(string, sizeof(string), "[ ADMIN: You have disarmed team \"%d\". ]", strval(tmp));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" have disarmed team '%d'. ]", pName(playerid), strval(tmp));
SendClientMessageToAll(blue,string);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==strval(tmp))
{
ResetPlayerWeapons(i);
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
}
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/giveteamweapon", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new tmp3[256]; tmp3 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveallweapon (teamid) (weaponID or weaponName) (ammo) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified weapon and ammo for mentioned team. ]");
new team = strval(tmp);
new weap, ammo, WeapName[32];
new string[128];
if(!strlen(tmp3) || !IsNumeric(tmp3) || strval(tmp3) <= 0 || strval(tmp3) > 99999) ammo = 500;
else ammo = strval(tmp3);
if(!IsNumeric(tmp2)) weap = GetWeaponIDFromName(tmp2);
else weap = strval(tmp2);
if(!IsValidWeapon(weap))
return SendClientMessage(playerid,red,"[ ERROR: Invalid Weapon ID. ]");
SendCommandToAdmins(playerid,"Giveteamweapon");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==team)
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
GivePlayerWeapon(i,weap,ammo);
}
}
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetWeaponName(weap, WeapName, sizeof(WeapName));
format(string, sizeof(string), "[ ADMIN: You have given team '%d' weapon '%s [id: %d]' with '%d' rounds of Ammo. ]", team,WeapName, weap, ammo);
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" has given team '%d' weapon '%s [id: %d]' with '%d' rounds of Ammo. ]", pName(playerid), team, WeapName, weap, ammo);
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/spawnteam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new string[500];
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /spawnteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will re-spawn the team specified. ]");
if(!IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /spawnteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will re-spawn the team specified. ]");
if(IsPlayerConnected(playerid))
{
SendCommandToAdmins(playerid,"Spawnteam");
format(string, sizeof(string), "[ ADMIN: You have spawned team \"%d\". ]", strval(tmp));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" have spawned team '%d'. ]", pName(playerid), strval(tmp));
SendClientMessageToAll(blue,string);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
{
SpawnPlayer(i);
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
}
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return 1;
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/giveteamcash", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveteamcash (teamid) (cash) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified ammount of cash-$ to the mentioned team. ]");
new team = strval(tmp);
new cash = strval(tmp2);
new string[280];
SendCommandToAdmins(playerid,"Giveteamcash");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==team)
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
GivePlayerMoney(i,cash);
}
}
format(string, sizeof(string), "[ ADMIN: You have given team '%d' cash of $%d. ]", team,strval(tmp2));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" has given team '%d' cash of $%d. ]", pName(playerid), team, strval(tmp2));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/giveteamscore", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveteamscore (teamid) (score) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified ammount of score to the mentioned team. ]");
new team = strval(tmp);
new cash = strval(tmp2);
new string[280];
SendCommandToAdmins(playerid,"Giveteamscore");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==team)
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
SetPlayerScore(i,GetPlayerScore(i)+cash);
}
}
format(string, sizeof(string), "[ ADMIN: You have given team '%d' score of '%d'. ]", strval(tmp),strval(tmp2));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" has given team '%d' score of '%d'. ]", pName(playerid), strval(tmp), strval(tmp2));
return SendClientMessageToAll(blue, string);
}
else return ErrorMessages(playerid, 1);
}
if(strcmp(cmd, "/killteam", true) == 0)
{
if(AccInfo[playerid][Level] >= 3)
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new string[500];
if(!strlen(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /killteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will kill the team specified. ]");
if(!IsNumeric(tmp)) return
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /killteam (teamid) ]") &&
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will kill the team specified. ]");
if(IsPlayerConnected(playerid))
{
SendCommandToAdmins(playerid,"Healteam");
format(string, sizeof(string), "[ ADMIN: You have killed team \"%d\". ]", strval(tmp));
SendClientMessage(playerid,BlueMsg,string);
format(string,sizeof(string),"[ Administrator \"%s\" have killed team '%d'. ]", pName(playerid), strval(tmp));
SendClientMessageToAll(blue,string);
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
{
SetPlayerArmour(i,0.0);
SetPlayerHealth(i,0.0);
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
}
return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else return 1;
}
else return ErrorMessages(playerid, 1);
}
//==============================================================================
// Read Commands (View commands typed per players)
//==============================================================================
if(ServerInfo[ReadCmds] == 1)
{
new string[256];
format(string, sizeof(string), "* %s(%d) Command: %s *", pName(playerid),playerid,cmdtext);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if( (AccInfo[i][Level] > AccInfo[playerid][Level]) && (AccInfo[i][Level] > 1) && (i != playerid))
{
SendClientMessage(i, grey, string);
}
}
}
}
//==============================================================================
// Commands
//==============================================================================
if(strcmp(cmd, "/spam", true) == 0)
{
if(AccInfo[playerid][Level] >= 5)
{
new string[256];
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /spam (color) (text)");
SendClientMessage(playerid, LIGHTBLUE2, "[ COLOR: (0)Black, (1)White, (2)Red, (3)Orange, (4)Yellow, (5)Green, (6)Blue, (7)Purple, (8)Brown, (9)Pink ]");
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will sending many messages in chat in specified Colour). ]");
return 1;
}
new Colour = strval(tmp);
if(Colour > 9 )
return SendClientMessage(playerid, red, "[ COLORS: (0)Black, (1)White, (2)Red, (3)Orange, (4)Yellow, (5)Green, (6)Blue, (7)Purple, (8)Brown, (9)Pink ]");
tmp = strtok(cmdtext, idx);
format(string,sizeof(string),"%s",cmdtext[8]);
if(Colour == 0) for(new i; i < 50; i++) SendClientMessageToAll(black,string);
else if(Colour == 1) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_WHITE,string);
else if(Colour == 2) for(new i; i < 50; i++) SendClientMessageToAll(red,string);
else if(Colour == 3) for(new i; i < 50; i++) SendClientMessageToAll(orange,string);
else if(Colour == 4) for(new i; i < 50; i++) SendClientMessageToAll(yellow,string);
else if(Colour == 5) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_GREEN1,string);
else if(Colour == 6) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_BLUE,string);
else if(Colour == 7) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_PURPLE,string);
else if(Colour == 8) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_BROWN,string);
else if(Colour == 9) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_PINK,string);
return 1;
}
else return ErrorMessages(playerid, 9);
}
//----------------------------
if(strcmp(cmd, "/tempban", true) == 0)
{
new tmp[256];
new string[300];
new e_name[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new giveplayerid;
if(AccInfo[playerid][Level] >= 4)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /tempban (player<name/id>) (day(s)) (reason) ]");
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Temporarily bans a player for specified Days. ]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
tmp = strtok(cmdtext, idx);
if (!strlen(tmp))
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /tempban (player<name/id>) (day(s)) (reason) ]");
SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Temporarily bans a player for specified Days. ]");
return 1;
}
new days = strval(tmp);
if(!IsNumeric(tmp))
return SendClientMessage(playerid, lightred, "[ ERROR: Invalid Day, Only Numbers. ]");
if(strval(tmp) <= 0 || strval(tmp) > 1000)
return SendClientMessage(playerid, lightred, "[ ERROR: Invalid Day, (1-1000). ]");
new reason[128];
reason = strtok2(cmdtext,idx);
if (!strlen(reason))
return SendClientMessage(playerid, lightred, "[ ERROR: Reason not Specified. ]");
if (strlen(reason) <= 0 || strlen(reason) > 100)
return SendClientMessage(playerid, lightred, "[ ERROR: Invalid Reason length. ]");
new ip[15];
GetPlayerIp(giveplayerid,ip,15);
GetPlayerName(playerid, e_name, sizeof e_name);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new File:tempban = fopen("/eAdmin/Config/TempBans.ban", io_append);
if (tempban)
{
new year,month,day;
getdate(year, month, day);
day += days;
if (IsMonth31(month))
{
if (day > 31)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 31) day -= 31;
}
else while(day > 31) day -= 31;
}
}
else if (!IsMonth31(month))
{
if (day > 30)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 30) day -= 30;
}
else while(day > 30) day -= 30;
}
}
else if (!IsMonth31(month) && IsMonth29(year) && month == 2)
{
if (day > 29)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 29) day -= 29;
}
else while(day > 29) day -= 29;
}
}
else if (!IsMonth31(month) && !IsMonth29(year) && month == 2)
{
if (day > 28)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 28) day -= 28;
}
else while(day > 28) day -= 28;
}
}
format(string, sizeof string, "%d|%d|%d|%s\n", day, month, year, ip);
fwrite(tempban, string);
fclose(tempban);
}
format(string,128,"[ Administrator %s Temporarily Banned %s for %d Day(s) | Reason: %s. ]",e_name,giveplayer,days,reason);
SendClientMessageToAll(lightred,string);
Kick(giveplayerid);
format(string, sizeof string, "[ Admin %s Temporarily Banned %s for %d Day(s) | Reason: %s. ]",e_name,giveplayer,days,reason);
SaveIn("TempBansLog",string);
}
else
{
ErrorMessages(playerid, 2);
}
}
else return ErrorMessages(playerid, 1);
return true;
}
//------------------------------------------------------------------------------
if(strcmp(cmd, "/write", true) == 0)
{
new tmp[256];
new string[256];
if(AccInfo[playerid][Level] >= 2)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /write (color) (text) ]");
SendClientMessage(playerid, LIGHTBLUE2, "[ COLOR: (0)Black, (1)White, (2)Red, (3)Orange, (4)Yellow, (5)Green, (6)Blue, (7)Purple, (8)Brown, (9)Pink ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Send message in a specified colour. ]");
}
new Colour;
Colour = strval(tmp);
if(Colour > 9 )
{
SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /write (color) (text) ]");
SendClientMessage(playerid, LIGHTBLUE2, "[ COLOR: (0)Black, (1)White, (2)Red, (3)Orange, (4)Yellow, (5)Green, (6)Blue, (7)Purple, (8)Brown, (9)Pink ]");
return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Send message in a specified colour. ]");
}
tmp = strtok(cmdtext, idx);
SendCommandToAdmins(playerid,"Write");
if(Colour == 0) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(black,string);return 1;}
else if(Colour == 1) {
format(string,sizeof(string),"%s",cmdtext[9]);SendClientMessageToAll(COLOR_WHITE,string); return 1;}
else if(Colour == 2) {
format(string,sizeof(string),"%s",cmdtext[9]);SendClientMessageToAll(red,string); return 1;}
else if(Colour == 3) {
format(string,sizeof(string),"%s",cmdtext[9]);SendClientMessageToAll(orange,string); return 1;}
else if(Colour == 4) {
format(string,sizeof(string),"%s",cmdtext[9]);SendClientMessageToAll(yellow,string); return 1;}
else if(Colour == 5) {
format(string,sizeof(string),"%s",cmdtext[9]);SendClientMessageToAll(COLOR_GREEN1,string); return 1;}
else if(Colour == 6) {
format(string,sizeof(string),"%s",cmdtext[9]);SendClientMessageToAll(COLOR_BLUE,string); return 1;}
else if(Colour == 7) {
format(string,sizeof(string),"%s",cmdtext[9]);SendClientMessageToAll(COLOR_PURPLE,string); return 1;}
else if(Colour == 8) {
format(string,sizeof(string),"%s",cmdtext[9]);SendClientMessageToAll(COLOR_BROWN,string); return 1;}
else if(Colour == 9) {
format(string,sizeof(string),"%s",cmdtext[9]);SendClientMessageToAll(COLOR_PINK,string); return 1;}
return 1;
}
else return ErrorMessages(playerid, 8);
}
return 0;
}
//==============================================================================
// ReturnUser (By ******)
//==============================================================================
ReturnUser(text[], playerid = INVALID_PLAYER_ID)
{
new pos = 0;
while (text[pos] < 0x21)
{
if (text[pos] == 0) return INVALID_PLAYER_ID;
pos++;
}
new userid = INVALID_PLAYER_ID;
if (IsNumeric(text[pos]))
{
userid = strval(text[pos]);
if (userid >=0 && userid < MAX_PLAYERS)
{
if(!IsPlayerConnected(userid))
userid = INVALID_PLAYER_ID;
else return userid;
}
}
new len = strlen(text[pos]);
new count = 0;
new pname[MAX_PLAYER_NAME];
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
GetPlayerName(i, pname, sizeof (pname));
if (strcmp(pname, text[pos], true, len) == 0)
{
if (len == strlen(pname)) return i;
else
{
count++;
userid = i;
}
}
}
}
if (count != 1)
{
if (playerid != INVALID_PLAYER_ID)
{
if (count) SendClientMessage(playerid, red, "[ ERROR: There are multiple users, enter full playername. ]");
}
userid = INVALID_PLAYER_ID;
}
return userid;
}
//==============================================================================
// Server Info
//==============================================================================
//------------
//Players ON
//------------
public ConnectedPlayers()
{
new Connected;
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
Connected++;
return Connected;
}
//------------
//Players Jailed
//------------
public JailedPlayers()
{
new JailedCount;
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && AccInfo[i][Jailed] == 1)
JailedCount++;
return JailedCount;
}
//------------
//Players Muted
//------------
public MutedPlayers()
{
new Count; for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && AccInfo[i][Muted] == 1)
Count++;
return Count;
}
//------------
//Players Freezed
//------------
public FrozenPlayers()
{
new FrozenCount; for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && AccInfo[i][Frozen] == 1)
FrozenCount++;
return FrozenCount;
}
//------------
//In Vehicle Total
//------------
public InVehTotal()
{
new InVeh; for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
InVeh++;
return InVeh;
}
//------------
//In Bike
//------------
public OnBikeCount()
{
new BikeCount;
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new LModel = GetVehicleModel(GetPlayerVehicleID(i));
switch(LModel)
{
case 448,461,462,463,468,471,509,510,521,522,523,581,586:
BikeCount++;
}
}
return BikeCount;
}
//------------
//In Car
//------------
public InCarCount()
{
new PInCarCount;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new LModel = GetVehicleModel(GetPlayerVehicleID(i));
switch(LModel)
{
case 448,461,462,463,468,471,509,510,521,522,523,581,586:
{
}
default: PInCarCount++;
}
}
}
return PInCarCount;
}
//------------
//Rcon Admins
//------------
public RconAdminTotal()
{
new rAdminTotal;
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && IsPlayerAdmin(i))
rAdminTotal++;
return rAdminTotal;
}
//------------
//Admins
//------------
public AdminTotal()
{
new AdminsCount;
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && AccInfo[i][Level] >= 1)
AdminsCount++;
return AdminsCount;
}
//==============================================================================
//-------------------------------------------------
// RCON Commands
//-------------------------------------------------
//==============================================================================
public OnRconCommand(cmd[])
{
if( strlen(cmd) > 50 || strlen(cmd) == 1 )
return print("[ ERROR: You can not exceed 50 characters. ]");
//===============================
// (Command) Commands
//===============================
if(strcmp(cmd, "lrcon", true)==0)
{
print("______________________");
print(" ");
print(" Rcon Commands ");
print(" ------------- ");
print(" info, execcmd, pm, ");
print(" asay, uconfig, chat, ");
print(" aka, ann ");
print("______________________");
return true;
}
//===============================
// (Command) Server Infomation
//===============================
if(strcmp(cmd, "info", true)==0)
{
new VehTotal = CreateVehicle(411,0,0,0,0,0,0,1000); DestroyVehicle(VehTotal);
new numo = CreateObject(1245,0,0,1000,0,0,0); DestroyObject(numo);
new nump = CreatePickup(371,2,0,0,1000); DestroyPickup(nump);
new gz = GangZoneCreate(3,3,5,5); GangZoneDestroy(gz);
new model[250], nummodel;
for(new i=1;i<VehTotal;i++) model[GetVehicleModel(i)-400]++;
for(new i=0;i<250;i++){
if(model[i]!=0){
nummodel++; }
}
new string[256];
print(" ________________________________________________________________\n");
print(" Server Information ");
print(" --------------------\n");
format(string,sizeof(string)," Player:\n Connected[%d], Maximum[%d], Ratio[%0.2f]\n",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers() );
printf(string);
format(string,sizeof(string)," Vehicles:\n Total[%d], Models[%d], In Vehicle[%d] (InCar[%d], OnBike[%d])\n",VehTotal-1,nummodel, InVehTotal(), InCarCount(),OnBikeCount());
printf(string);
format(string,sizeof(string)," Total:\n Objects[%d], Pickups[%d], GangZones[%d]\n",numo-1, nump, gz);
printf(string);
format(string,sizeof(string)," Player Stats:\n Jailed[%d], Frozen[%d], Muted[%d]\n",JailedPlayers(),FrozenPlayers(), MutedPlayers() );
printf(string);
format(string,sizeof(string)," Administration:\n Rcon[%d], Online[%d]\n",AdminTotal(), RconAdminTotal() );
printf(string);
print(" ________________________________________________________________\n");
return true;
}
//===============================
// (Command) Player/All execute cmd
//===============================
if(!strcmp(cmd, "execcmd", .length = 3))
{
new arg_1 = argpos(cmd);
new arg_2 = argpos(cmd, arg_1);
new targetid = strval(cmd[arg_1]);
if (!strcmp(cmd[arg_1], "all", .length = 3) && cmd[arg_2])
{
if (cmd[arg_2] == '/')
{
for(new i = 0; i <= MAX_PLAYERS; i++)
if (IsPlayerConnected(i))
CallRemoteFunction("OnPlayerCommandText", "is", i, cmd[arg_2]);
}
else
{
for(new i = 0; i <= MAX_PLAYERS; i++)
if (IsPlayerConnected(i))
SendPlayerMessageToAll(i, cmd[arg_2]);
}
printf("\nRCON: Command \"%s\" executed on all players!\n", cmd[arg_2]);
}
else if(!cmd[arg_2] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0)
print("\n--------------------------") ||
printf("[ USAGE: \"execcmd (PlayerID(0-%d)/All) (Command)\"",MAX_PLAYERS) ||
print("[ FUNCTION: Will force specified player execute command") ||
print("--------------------------\n");
else if ( !IsPlayerConnected(targetid) )
print("\n[ ERROR: This player is not connected!\n");
else
{
if (cmd[arg_2] == '/')
CallRemoteFunction("OnPlayerCommandText", "is", targetid, cmd[arg_2]);
else
SendPlayerMessageToAll(targetid, cmd[arg_2]);
new targetname[24];
GetPlayerName(targetid, targetname, 24);
printf("Command \"%s\" executed on %s(%d)!",cmd[arg_2], targetname, targetid);
}
return true;
}
//===============================
// (Command) Announce a Message
//===============================
if(!strcmp(cmd, "ann", .length = 3))
{
new arg_1 = argpos(cmd);
new message[128];
if (!cmd[arg_1] || cmd[arg_1] < '0')
print("\n--------------------------") ||
print("[ USAGE: \"ann (Message)\"") ||
print("[ FUNCTION: Will Send a message in screen for all Players") ||
print("--------------------------\n");
else
{
format(message, sizeof(message), "[RCON]: %s", cmd[arg_1]);
GameTextForAll(message,3000,3);
printf("Screen Message '%s' Sent!", cmd[arg_1] );
}
return true;
}
//===============================
// (Command) Send Admnistration Msg
//===============================
if(!strcmp(cmd, "asay", .length = 4))
{
new arg_1 = argpos(cmd);
new message[128];
if (!cmd[arg_1] || cmd[arg_1] < '0')
print("\n--------------------------") ||
print("[ USAGE: \"asay (Message)\"") ||
print("[ FUNCTION: Will Send a message for online Admins") ||
print("--------------------------\n");
else
{
format(message, sizeof(message), "[RCON] MessageToAdmins: %s", cmd[arg_1]);
MessageToAdmins(COLOR_WHITE, message);
printf("Admin Message '%s' Sent!", cmd[arg_1] );
}
return true;
}
//===============================
// (Command) Send Private Message
//===============================
if(!strcmp(cmd, "pm", .length = 2))
{
new arg_1 = argpos(cmd);
new arg_2 = argpos(cmd, arg_1);
new targetid = strval(cmd[arg_1]);
new message[128];
if (!cmd[arg_1] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0 || !cmd[arg_2])
print("\n--------------------------") ||
print("[ USAGE: \"pm (PlayerID) (Message)\"") ||
print("[ FUNCTION: Will Send a private message for specified player") ||
print("--------------------------\n");
else if(!IsPlayerConnected(targetid)) print("[ ERROR: Player not connected!");
else
{
format(message, sizeof(message), "[RCON] PM: %s", cmd[arg_2]);
SendClientMessage(targetid, COLOR_WHITE, message);
printf("Rcon PM '%s' Sent!", cmd[arg_1]);
}
return true;
}
//===============================
// (Command) Verify player AKA
//===============================
if(!strcmp(cmd, "aka", .length = 3))
{
new arg_1 = argpos(cmd);
new targetid = strval(cmd[arg_1]);
if (!cmd[arg_1] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0)
print("\n--------------------------") ||
print("[ USAGE: \"aka (PlayerID)\"") ||
print("[ FUNCTION: Will show other names used per Specified Player") ||
print("--------------------------\n");
else if (!IsPlayerConnected(targetid) )
print("[ ERROR: Player not Connected!");
else
{
new tmp3[50], playername[MAX_PLAYER_NAME];
GetPlayerIp(targetid,tmp3,50);
GetPlayerName(targetid, playername, sizeof(playername));
printf("AKA: [%s id:%d] [%s] %s", playername, targetid, tmp3, dini_Get("/eAdmin/Config/aka.txt",tmp3));
}
return true;
}
//===============================
// (Command) Update Configuration
//===============================
if(strcmp(cmd, "uconfig", true)==0)
{
UpdateConfig();
print("Configuration Successfully Updated!");
return true;
}
//===============================
// (Command) Send RCON Message
//===============================
if(!strcmp(cmd, "msg", .length = 3))
{
new arg_1 = argpos(cmd);
new message[128];
if (!cmd[arg_1] || cmd[arg_1] < '0')
print("\n--------------------------") ||
print("[ USAGE: \"msg (Message)\"") ||
print("[ FUNCTION: Will Send a message in Chat for all Players") ||
print("--------------------------\n");
else
{
format(message, sizeof(message), "[RCON]: %s", cmd[arg_1]);
SendClientMessageToAll(COLOR_WHITE, message);
printf("Message to All '%s' Sent!", cmd[arg_1] );
}
return true;
}
//===============================
// (Command) View Game Chat
//===============================
if(!strcmp(cmd, "chat", .length = 4))
{
for(new i = 1; i < MAX_CHAT_LINES; i++) print(Chat[i]);
return true;
}
return 0;
}
//==============================================================================
// Spectate
//==============================================================================
#if EnableSpec == true
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
new x = 0;
while(x!=MAX_PLAYERS)
{
if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
AccInfo[x][SpecID] == playerid && AccInfo[x][SpecType] == ADMIN_SPEC_TYPE_PLAYER)
{
SetPlayerInterior(x,newinteriorid);
}
x++;
}
}
//==============================================================================
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
#if ExecuteCmdKey != 0
if(newkeys == ExecuteCmdKey && AccInfo[playerid][Level] >= 2)
{
return ShowPlayerDialog(playerid, DIALOGID+80, DIALOG_STYLE_INPUT, "/eAdmin - Execute Command",
"Simple type a Command! \n\nFor eAdmin, for your GameMode, and for any other Filterscript! \n\nExemple: 'ban 0 cheats' (Without '/')", "Exec Cmd", "Cancel");
}
#endif
if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && AccInfo[playerid][SpecID] != INVALID_PLAYER_ID)
{
if(newkeys == KEY_JUMP) AdvanceSpectate(playerid);
else if(newkeys == KEY_SPRINT) ReverseSpectate(playerid);
}
#if EnableCamHack == true
if(AccInfo[playerid][InCamMod] == 1)
{
if(newkeys == KEY_CROUCH)
{
KeyState[playerid] = 1;
}
else if(newkeys == KEY_SPRINT)
{
KeyState[playerid] = 2;
}
else if(newkeys == (KEY_CROUCH+KEY_SPRINT))
{
KeyState[playerid] = 3;
}
else if(newkeys == KEY_WALK)
{
KeyState[playerid] = 4;
}
else if(newkeys == (KEY_WALK+KEY_SPRINT))
{
KeyState[playerid] = 5;
}
else
{
KeyState[playerid] = 0;
}
}
#endif
return 1;
}
//==============================================================================
public OnPlayerEnterVehicle(playerid, vehicleid)
{
for(new x=0; x<MAX_PLAYERS; x++)
{
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
{
TogglePlayerSpectating(x, 1);
PlayerSpectateVehicle(x, vehicleid);
AccInfo[x][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
}
}
return 1;
}
//==============================================================================
public OnPlayerStateChange(playerid, newstate, oldstate)
{
switch(newstate)
{
case PLAYER_STATE_ONFOOT:
{
switch(oldstate)
{
case PLAYER_STATE_DRIVER: OnPlayerExitVehicle(playerid,255);
case PLAYER_STATE_PASSENGER: OnPlayerExitVehicle(playerid,255);
}
}
}
return 1;
}
#endif
//==============================================================================
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(AccInfo[playerid][DoorsLocked] == 1)
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),playerid,false,false);
#if EnableSpec == true
for(new x=0; x<MAX_PLAYERS; x++)
{
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid && AccInfo[x][SpecType] == ADMIN_SPEC_TYPE_VEHICLE)
{
TogglePlayerSpectating(x, 1);
PlayerSpectatePlayer(x, playerid);
AccInfo[x][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
}
}
#endif
return 1;
}
//==============================================================================
#if EnableSpec == true
stock StartSpectate(playerid, specplayerid)
{
for(new x=0; x<MAX_PLAYERS; x++)
{
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
{
AdvanceSpectate(x);
}
}
SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
TogglePlayerSpectating(playerid, 1);
if(IsPlayerInAnyVehicle(specplayerid))
{
PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
AccInfo[playerid][SpecID] = specplayerid;
AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
}
else
{
PlayerSpectatePlayer(playerid, specplayerid);
AccInfo[playerid][SpecID] = specplayerid;
AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
}
new string[128], Float:hp, Float:ar;
GetPlayerName(specplayerid,string,sizeof(string));
GetPlayerHealth(specplayerid, hp);
GetPlayerArmour(specplayerid, ar);
for(new i=0; i<MAX_PLAYERS; i++)
{
format(string, 256, "~w~- %s(%d) -~n~~n~~y~Health: ~w~%0.1f ~l~- ~y~Armour: ~w~%0.1f ~l~- ~y~Money: ~w~$%d~n~~n~~r~< Sprint - Jump >", string,specplayerid,hp,ar,GetPlayerMoney(specplayerid));
TextDrawSetString(GpsTD[i], string);
return TextDrawShowForPlayer(playerid,GpsTD[i]);
}
return 1;
}
stock StopSpectate(playerid)
{
TogglePlayerSpectating(playerid, 0);
AccInfo[playerid][SpecID] = INVALID_PLAYER_ID;
AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_NONE;
GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~~g~Spectate ~w~mode ~r~Ended",1000,3);
for(new x=0; x<MAX_PLAYERS; x++) TextDrawHideForPlayer(playerid,GpsTD[x]);
return 1;
}
stock AdvanceSpectate(playerid)
{
if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && AccInfo[playerid][SpecID] != INVALID_PLAYER_ID)
{
for(new x=AccInfo[playerid][SpecID]+1; x<=MAX_PLAYERS; x++)
{
if(x == MAX_PLAYERS) x = 0;
if(IsPlayerConnected(x) && x != playerid)
{
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
{
continue;
}
else
{
StartSpectate(playerid, x);
break;
}
}
}
}
return 1;
}
stock ReverseSpectate(playerid)
{
if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && AccInfo[playerid][SpecID] != INVALID_PLAYER_ID)
{
for(new x=AccInfo[playerid][SpecID]-1; x>=0; x--)
{
if(x == 0) x = MAX_PLAYERS;
if(IsPlayerConnected(x) && x != playerid)
{
if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
{
continue;
}
else
{
StartSpectate(playerid, x);
break;
}
}
}
}
return 1;
}
//-------------------------------------------
public ReturnPosition(playerid)
{
TogglePlayerControllable(playerid, 1);
SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
SetPlayerFacingAngle(playerid,Pos[playerid][3]);
PlayerPlaySound(playerid,1137,0.0,0.0,0.0);
}
#endif
GetVehicleModelIDFromName(vname[])
{
for(new i = 0; i < 211; i++)
{
if ( strfind(VehicleNames[i], vname, true) != -1 )
return i + 400;
}
return -1;
}
//==============================================================================
// Vehicle Spawn/Delete
//==============================================================================
DelVehicle(vehicleid)
{
for(new players=0;players<=MAX_PLAYERS;players++)
{
new Float:X,Float:Y,Float:Z;
if (IsPlayerInVehicle(players,vehicleid))
{
GetPlayerPos(players,X,Y,Z);
SetPlayerPos(players,X,Y,Z+2);
SetVehicleToRespawn(vehicleid);
}
SetVehicleParamsForPlayer(vehicleid,players,0,1);
}
SetTimerEx("VehRes",3000,0,"d",vehicleid);
return 1;
}
public CarSpawner(playerid,model)
{
if(IsPlayerInAnyVehicle(playerid))
SendClientMessage(playerid, red, "[ ERROR: You already have a car. ]");
else
{
new Float:x, Float:y, Float:z, Float:angle;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, angle);
if(AccInfo[playerid][pCar] != -1)
EraseVeh(AccInfo[playerid][pCar]);
new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
PutPlayerInVehicle(playerid, vehicleid, 0);
SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
ChangeVehicleColor(vehicleid,0,3);
AccInfo[playerid][pCar] = vehicleid;
}
return 1;
}
public EraseVeh(vehicleid)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
new Float:X,Float:Y,Float:Z;
if(IsPlayerInVehicle(i, vehicleid))
{
RemovePlayerFromVehicle(i);
GetPlayerPos(i,X,Y,Z);
SetPlayerPos(i,X,Y+3,Z);
}
SetVehicleParamsForPlayer(vehicleid,i,0,1);
}
SetTimerEx("VehRes",1500,0,"i",vehicleid);
}
public VehRes(vehicleid)
{
DestroyVehicle(vehicleid);
}
public OnVehicleSpawn(vehicleid)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(vehicleid==AccInfo[i][pCar])
{
EraseVeh(vehicleid);
AccInfo[i][pCar]=-1;
}
}
return 1;
}
//==============================================================================
//==============================================================================
//-------------------------------------------------
// Dialog Response
//-------------------------------------------------
//==============================================================================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
#if EnablePM_Cmd == true
if (dialogid == DIALOG_TYPE_PM)
{
if(response)
{
if (strlen(inputtext) < 1 || strlen(inputtext) > 80)
return SendClientMessage(playerid, red, "[ ERROR: Invalid PM Lenght. ]");
OnPlayerPrivmsg(playerid, PMplayer1, inputtext);
}
return 1;
}
#endif
#if USE_DIALOGS == true
//==============================================================================
//---------------
// Dialog - SAFETY QUESTION
//---------------
//==============================================================================
if (dialogid == DIALOG_TYPE_QUESTION)
{
if(response == 0)
{
AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",1);
}
if(response)
{
if (strlen(inputtext) < 5 || strlen(inputtext) > 60)
{
return ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"Account Safety Question",""COL_GREY"Your security question must be b/w (5-40 char)\n\n"COL_WHITE"Type a security question, for when you forget\n\n"COL_WHITE"your password, you just answer this Question.","Next","Cancel");
}
new file[256],e_name[MAX_PLAYER_NAME],rstring[500];
AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",0);
GetPlayerName(playerid,e_name,sizeof(e_name));
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(e_name));
dini_Set(file,"Question",inputtext);
format(rstring,sizeof(rstring),""COL_WHITE"Type a security answer, for your security question\n\n"COL_WHITE"Type the answer which you remember.\n\n"COL_GREY"Your question:\n\"%s\".",inputtext);
ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION+1,DIALOG_STYLE_INPUT,"Account Safety Question",rstring,"Confirm","Back");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
return 1;
}
//==============================================================================
//---------------
// Dialog - SAFETY QUESTION (RESPONSE)
//---------------
//==============================================================================
if (dialogid == DIALOG_TYPE_QUESTION+1)
{
if(response == 0)
{
ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"Account Safety Question",""COL_WHITE"Type a security question, for when you forget\n\n"COL_WHITE"your password, you just answer this Question.","Next","Cancel");
//AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",1);
}
if(response)
{
if(strlen(inputtext) < 1 || strlen(inputtext) > 40)
{
new rstring[500];
new file[256],e_name[MAX_PLAYER_NAME];
GetPlayerName(playerid,e_name,sizeof(e_name));
dini_Get(file,"Question");
AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",0);
format(rstring,sizeof(rstring),""COL_GREY"Your answer must be b/w (1-40 char)\n\n"COL_WHITE"Type a security answer, for your security question\n\n"COL_WHITE"Type the answer which you remember.\n\n"COL_GREY"Your question:\n\"%s\".",file);
return ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION+1,DIALOG_STYLE_INPUT,"Account Safety Question",rstring,"Confirm","Back");
}
new file[256],e_name[MAX_PLAYER_NAME],rstring[500];
GetPlayerName(playerid,e_name,sizeof(e_name));
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(e_name));
new hashq[145];
WP_Hash(hashq, sizeof(hashq), inputtext);
dini_Set(file,"QuestionR",hashq);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(rstring,sizeof(rstring),"[ You have sucessfully register, ( Security Question: %s | Answer: %s ). ]",dini_Get(file, "Question"),inputtext);
SendClientMessage(playerid,green,rstring);
}
return 1;
}
//==============================================================================
//---------------
// Dialog - REGISTER
//---------------
//==============================================================================
if (dialogid == DIALOGID+66)
{
if(response == 0 && ServerInfo[MustRegister] == 1)
{
Kick(playerid);
}
if(response)
{
if (strlen(inputtext) < 4 || strlen(inputtext) > 20)
{
new rstring[500];
format(rstring,sizeof(rstring),""COL_GREY"You must enter a complicated password of lenght b/w (4-20 char.)\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is not registered yet,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+68,DIALOG_STYLE_INPUT,"Register Account",rstring,"Register","Cancel");
}
if (udb_Create(PlayerName2(playerid)))
{
#if EnableSecurity == true
ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"Account Safety Question",""COL_WHITE"Type a security question, for when you forget\n\n"COL_WHITE"your password, you just answer this Question.","Next","Cancel");
#else
AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",1);
#endif
new file[256],e_name[MAX_PLAYER_NAME], buf[145],tmp3[100];
new strdate[20], year,month,day;
getdate(year, month, day);
WP_Hash(buf, sizeof(buf), inputtext);
GetPlayerName(playerid,e_name,sizeof(e_name));
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(e_name));
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"Password",buf);
dini_Set(file,"Ip",tmp3);
dUserSetINT(PlayerName2(playerid)).("Registered",1);
format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
dini_Set(file,"RegisteredDate",strdate);
dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
dUserSetINT(PlayerName2(playerid)).("Banned",0);
dUserSet(PlayerName2(playerid)).("BannedBy","-");
dUserSet(PlayerName2(playerid)).("BannedDate","-");
dUserSet(PlayerName2(playerid)).("BannedReason","-");
dUserSetINT(PlayerName2(playerid)).("Level",0);
dUserSetINT(PlayerName2(playerid)).("AccountType",0);
dini_Set(file,"LastOn",strdate);
dUserSetINT(PlayerName2(playerid)).("Money",0);
dUserSetINT(PlayerName2(playerid)).("Kills",0);
dUserSetINT(PlayerName2(playerid)).("Deaths",0);
dUserSetINT(PlayerName2(playerid)).("WantedLevel",0);
#if SaveScore == true
dUserSetINT(PlayerName2(playerid)).("Score",0);
#endif
dUserSetINT(PlayerName2(playerid)).("Hours",0);
dUserSetINT(PlayerName2(playerid)).("Minutes",0);
dUserSetINT(PlayerName2(playerid)).("Seconds",0);
AccInfo[playerid][LoggedIn] = 1;
AccInfo[playerid][Registered] = 1;
SendClientMessage(playerid, green, "[ You are now Registered, and have been automaticaly Logged in. ]");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
return 1;
}
}
return 1;
}
//==============================================================================
//---------------
// Dialog - LOGIN
//---------------
//==============================================================================
if (dialogid == DIALOGID+67)
{
if(response == 0 && ServerInfo[MustLogin] == 1)
{
Kick(playerid);
}
if(response)
{
new lstring[500];
new file[128], Pass[256];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
Pass = dini_Get(file, "Password");
new buf[145];
WP_Hash(buf, sizeof(buf), inputtext);
AccInfo[playerid][NoQuestion] = dUserINT(PlayerName2(playerid)).("NoQuestion");
if(strcmp(Pass, buf, false) == 0)
{
new tmp3[100], string[128];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"Ip",tmp3);
LoginPlayer(playerid);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(AccInfo[playerid][Level] > 0)
{
switch(AccInfo[playerid][Level])
{
case 1: AdmRank = "Basic Moderator";
case 2: AdmRank = "Moderator";
case 3: AdmRank = "Master Moderator";
case 4: AdmRank = "Administrator";
case 5: AdmRank = "Master Administrator";
}
if(AccInfo[playerid][Level] > 5)
{
AdmRank = "Professional Admin";
}
if(AccInfo[playerid][pVip] > 0)
{
switch(AccInfo[playerid][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
format(string,sizeof(string),"[ You have Successfully Logged. | Account: %s | Level %d ( %s ). ]", AccType, AccInfo[playerid][Level], AdmRank);
return SendClientMessage(playerid,0x00C378AA,string);
}
else
{
format(string,sizeof(string),"[ You have Successfully Logged. | Level %d ( %s ). ]", AccInfo[playerid][Level], AdmRank);
return SendClientMessage(playerid,green,string);
}
}
else
{
if(AccInfo[playerid][pVip] > 0)
{
switch(AccInfo[playerid][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
format(string,sizeof(string),"[ You have Successfully logged. | Account: %s ]", AccType);
return SendClientMessage(playerid,0x00C896AA,string);
}
else return SendClientMessage(playerid,green,"[ You have Successfully logged. ]");
}
}
else
{
AccInfo[playerid][FailLogin]++;
printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), inputtext, AccInfo[playerid][FailLogin] );
if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
{
new string[128]; format(string, sizeof(string), "[ Player %s has been automatically kicked (Reason: Many attempts Incorrect Passwords). ]", PlayerName2(playerid) );
SendClientMessageToAll(red, string);
print(string);
Kick(playerid);
}
#if EnableSecurity == true
if(AccInfo[playerid][NoQuestion] == 1)
{
format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
}
if(AccInfo[playerid][NoQuestion] == 0)
{
format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n"COL_GREY"Please enter the correct password or fill in your answer to this:\n"COL_GREY"[Q] '%s'\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",dini_Get(file, "Question"),GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
}
#else
format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
#endif
}
}
}
//==============================================================================
//---------------
// Dialog - ERROR PASSWORD
//---------------
//==============================================================================
if (dialogid == DIALOGID+68)
{
if(response == 0 && ServerInfo[MustRegister] == 1)
{
Kick(playerid);
}
if(response)
{
if(strlen(inputtext) < 4 || strlen(inputtext) > 20)
{
new rstring[500];
format(rstring,sizeof(rstring),""COL_GREY"You must enter a complicated password of lenght b/w (4-20 char.)\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is not registered yet,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+68,DIALOG_STYLE_INPUT,"Register Error",rstring,"Register","Cancel");
}
if(udb_Create(PlayerName2(playerid)))
{
#if EnableSecurity == true
ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"Account Safety Question",""COL_WHITE"Type a security question, for when you forget\n\n"COL_WHITE"your password, you just answer this Question.","Next","Cancel");
#else
AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",1);
#endif
new file[256],e_name[MAX_PLAYER_NAME], buf[145],tmp3[100];
new strdate[20], year,month,day;
getdate(year, month, day);
WP_Hash(buf, sizeof(buf), inputtext);
GetPlayerName(playerid,e_name,sizeof(e_name));
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(e_name));
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"Password",buf);
dini_Set(file,"Ip",tmp3);
dUserSetINT(PlayerName2(playerid)).("Registered",1);
format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
dini_Set(file,"RegisteredDate",strdate);
dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
dUserSetINT(PlayerName2(playerid)).("Banned",0);
dUserSet(PlayerName2(playerid)).("BannedBy","-");
dUserSet(PlayerName2(playerid)).("BannedDate","-");
dUserSet(PlayerName2(playerid)).("BannedReason","-");
dUserSetINT(PlayerName2(playerid)).("Level",0);
dUserSetINT(PlayerName2(playerid)).("AccountType",0);
dini_Set(file,"LastOn",strdate);
dUserSetINT(PlayerName2(playerid)).("Money",0);
dUserSetINT(PlayerName2(playerid)).("Kills",0);
dUserSetINT(PlayerName2(playerid)).("Deaths",0);
dUserSetINT(PlayerName2(playerid)).("WantedLevel",0);
#if SaveScore == true
dUserSetINT(PlayerName2(playerid)).("Score",0);
#endif
dUserSetINT(PlayerName2(playerid)).("Hours",0);
dUserSetINT(PlayerName2(playerid)).("Minutes",0);
dUserSetINT(PlayerName2(playerid)).("Seconds",0);
AccInfo[playerid][LoggedIn] = 1;
AccInfo[playerid][Registered] = 1;
SendClientMessage(playerid, green, "[ You are now Registered, and have been automaticaly Logged in. ]");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
return 1;
}
}
return 1;
}
//==============================================================================
//---------------
// Dialog - INCORRECT PASSWORD
//---------------
//==============================================================================
if (dialogid == DIALOGID+69)
{
if(response == 0 && ServerInfo[MustLogin] == 1)
{
Kick(playerid);
}
if(response)
{
new file[128], Pass[256], Question[256];
new lstring[500];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
Pass = dini_Get(file, "Password");
new buf[145];
WP_Hash(buf, sizeof(buf), inputtext);
Question = dini_Get(file, "QuestionR");
new buf2[145];
WP_Hash(buf2, sizeof(buf2), inputtext);
AccInfo[playerid][NoQuestion] = dUserINT(PlayerName2(playerid)).("NoQuestion");
if(AccInfo[playerid][NoQuestion] == 1)
{
if(strcmp(Pass, buf, false) == 0)
{
new tmp3[100], string[128];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"Ip",tmp3);
LoginPlayer(playerid);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(AccInfo[playerid][Level] > 0)
{
switch(AccInfo[playerid][Level])
{
case 1: AdmRank = "Basic Moderator";
case 2: AdmRank = "Moderator";
case 3: AdmRank = "Master Moderator";
case 4: AdmRank = "Administrator";
case 5: AdmRank = "Master Administrator";
}
if(AccInfo[playerid][Level] > 5)
{
AdmRank = "Professional Admin";
}
if(AccInfo[playerid][pVip] > 0)
{
switch(AccInfo[playerid][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
format(string,sizeof(string),"[ You have Successfully Logged. | Account: %s | Level %d ( %s ). ]", AccType, AccInfo[playerid][Level], AdmRank);
return SendClientMessage(playerid,0x00C378AA,string);
}
else
{
format(string,sizeof(string),"[ You have Successfully Logged! | Level %d ( %s ). ]", AccInfo[playerid][Level], AdmRank);
return SendClientMessage(playerid,green,string);
}
}
else
{
if(AccInfo[playerid][pVip] > 0)
{
switch(AccInfo[playerid][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
format(string,sizeof(string),"[ You have Successfully logged!. | Account: %s. ]", AccType);
return SendClientMessage(playerid,0x00C896AA,string);
}
else return SendClientMessage(playerid,green,"[ You have Successfully logged. ]");
}
}
else
{
AccInfo[playerid][FailLogin]++;
printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), inputtext, AccInfo[playerid][FailLogin] );
if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
{
new string[128]; format(string, sizeof(string), "[ Player %s has been automatically kicked (Reason: Many attempts Incorrect Passwords). ]", PlayerName2(playerid) );
SendClientMessageToAll(red, string);
print(string);
Kick(playerid);
}
#if EnableSecurity == true
if(AccInfo[playerid][NoQuestion] == 1)
{
format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
}
if(AccInfo[playerid][NoQuestion] == 0)
{
format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n"COL_GREY"Please enter the correct password or fill in your answer to this:\n"COL_GREY"[Q] '%s'\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",dini_Get(file, "Question"),GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
}
#else
format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
#endif
}
}
else
{
if(strcmp(Pass, buf, false) == 0 || strcmp(Question, buf2, false) == 0)
{
new tmp3[100], string[128];
format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"Ip",tmp3);
LoginPlayer(playerid);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(AccInfo[playerid][Level] > 0)
{
switch(AccInfo[playerid][Level])
{
case 1: AdmRank = "Basic Moderator";
case 2: AdmRank = "Moderator";
case 3: AdmRank = "Master Moderator";
case 4: AdmRank = "Administrator";
case 5: AdmRank = "Master Administrator";
}
if(AccInfo[playerid][Level] > 5)
{
AdmRank = "Professional Admin";
}
if(AccInfo[playerid][pVip] > 0)
{
switch(AccInfo[playerid][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
format(string,sizeof(string),"[ You have Successfully Logged! | Account: %s | Level %d ( %s ). ]", AccType, AccInfo[playerid][Level], AdmRank);
return SendClientMessage(playerid,0x00C378AA,string);
}
else
{
format(string,sizeof(string),"[ You have Successfully Logged! | Level %d ( %s ). ]", AccInfo[playerid][Level], AdmRank);
return SendClientMessage(playerid,green,string);
}
}
else
{
if(AccInfo[playerid][pVip] > 0)
{
switch(AccInfo[playerid][pVip])
{
case 1: AccType = "Silver";
case 2: AccType = "Gold";
case 3: AccType = "Premium";
}
format(string,sizeof(string),"[ You have Successfully logged! | Account: %s. ]", AccType);
return SendClientMessage(playerid,0x00C896AA,string);
}
else return SendClientMessage(playerid,green,"[ You have Successfully logged. ]");
}
}
else
{
AccInfo[playerid][FailLogin]++;
printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), inputtext, AccInfo[playerid][FailLogin] );
if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
{
new string[128]; format(string, sizeof(string), "[ Player %s has been automatically kicked (Reason: Many attempts Incorrect Passwords). ]", PlayerName2(playerid) );
SendClientMessageToAll(red, string);
print(string);
Kick(playerid);
}
#if EnableSecurity == true
if(AccInfo[playerid][NoQuestion] == 1)
{
format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
}
if(AccInfo[playerid][NoQuestion] == 0)
{
format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n"COL_GREY"Please enter the correct password or fill in your answer to this:\n"COL_GREY"[Q] '%s'\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",dini_Get(file, "Question"),GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
}
#else
format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
#endif
}
}
}
}
#endif
//==============================================================================
new string[128];
new adminname[MAX_PLAYER_NAME];
new file[256];
GetPlayerName(playerid, adminname, sizeof(adminname));
format(file,sizeof(file),"/eAdmin/Config/Config.ini");
//==============================================================================
#if USE_DIALOGS == true
//==============================================================================
//Teleport Main
//==============================================================================
if (dialogid == DIALOGID+70)
{
if(response)
{
if(listitem == 0){ ShowPlayerDialog(playerid,DIALOGID+72,DIALOG_STYLE_INPUT,"Teleport System - Create Teleport","Put in Box the name of new Teleport","Create","Back");}
//-------------------------------------------
if(listitem == 1)
{
new tcount = 0, tp=0,numrow = 0;
for(new t=0;t<MAX_CTELES;t++)
{
if(CTeleInfo[t][TValid] == 1)
{
numrow++;
}
}
if(numrow > 0)
{
for(new t=0;t<MAX_CTELES;t++)
{
if(CTeleInfo[t][TValid] == 1)
{
format(string,sizeof(string),"%s %s,",string,CTeleInfo[t][TName]);
tp++;
if(tp == CTELE_LINE || tcount == numrow-1)
{
strdel(string,strlen(string)-1,strlen(string));
ShowPlayerDialog(playerid,DIALOGID+73,DIALOG_STYLE_INPUT,"Teleport System - Delete Teleport",string,"Delete","Back");
format(string,sizeof(string),"%s,\n",string,CTeleInfo[t][TName]);
tp = 0;
}
tcount++;
}
}
} else {
GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~There is ~r~no ~w~Teleport created",3000,5);
ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
}
}
//-------------------------------------------
if(listitem == 2)
{
new tcount = 0, tp=0,numrow = 0;
for(new t=0;t<MAX_CTELES;t++)
{
if(CTeleInfo[t][TValid] == 1)
{
numrow++;
}
}
if(numrow > 0)
{
for(new t=0;t<MAX_CTELES;t++)
{
if(CTeleInfo[t][TValid] == 1)
{
format(string,sizeof(string),"%s %s,",string,CTeleInfo[t][TName]);
tp++;
if(tp == CTELE_LINE || tcount == numrow-1)
{
strdel(string,strlen(string)-1,strlen(string));
ShowPlayerDialog(playerid,DIALOGID+71,DIALOG_STYLE_INPUT,"Teleport System - Teleport:",string,"Tele","Back");
format(string,sizeof(string),"%s,\n",string,CTeleInfo[t][TName]);
tp = 0;
}
tcount++;
}
}
} else {
GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~There is ~r~no ~w~Teleport created",3000,5);
ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
}
}
}
return 1;
}
//==============================================================================
//Go To Teleport
//==============================================================================
if (dialogid == DIALOGID+71)
{
if(response == 0)
{
ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
}
if(response)
{
for(new t=0;t<MAX_CTELES;t++)
{
if(!strlen(inputtext)) return
SendClientMessage(playerid,lightred,"[ ERROR: Invalid Telepot. ]");
if(CTeleInfo[t][TValid] == 0) return
SendClientMessage(playerid,lightred,"[ ERROR: Invalid Telepot. ]");
if(strcmp(inputtext,CTeleInfo[t][TName],true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
SetPlayerInterior(playerid, CTeleInfo[t][PosInt]);
LinkVehicleToInterior(GetPlayerVehicleID(playerid), CTeleInfo[t][PosInt]);
SetVehiclePos(GetPlayerVehicleID(playerid),CTeleInfo[t][PosX],CTeleInfo[t][PosY],CTeleInfo[t][PosZ]);
SetVehicleZAngle(GetPlayerVehicleID(playerid),CTeleInfo[t][PosA]);
}
else
{
SetPlayerInterior(playerid, CTeleInfo[t][PosInt]);
SetPlayerPos(playerid,CTeleInfo[t][PosX],CTeleInfo[t][PosY],CTeleInfo[t][PosZ]);
SetPlayerFacingAngle(playerid,CTeleInfo[t][PosA]);
}
format(string,sizeof(string),"~w~Welcome to ~g~%s",CTeleInfo[t][TName]);
GameTextForPlayer(playerid,string,2000,5);
return 1;
}
}
}
return 1;
}
//==============================================================================
//Create Teleport
//==============================================================================
if (dialogid == DIALOGID+72)
{
if(response == 0)
{
ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
}
if(response)
{
for(new t=0;t<MAX_CTELES;t++)
{
if(!strlen(inputtext)) return
SendClientMessage(playerid,lightred,"[ ERROR: Invalid Telepot. ]");
if(CTeleInfo[t][TValid] == 1)
{
if(strcmp(inputtext,CTeleInfo[t][TName],true) == 0)
{
SendClientMessage(playerid,lightred,"[ ERROR: Teleportation already exist. ]");
return 1;
}
}
new Float:x,Float:y,Float:z,Float:a;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,a);
if(CTeleInfo[t][TValid] == 0)
{
CTeleInfo[t][PosX] = x;
CTeleInfo[t][PosY] = y;
CTeleInfo[t][PosZ] = z;
CTeleInfo[t][PosA] = a;
CTeleInfo[t][PosInt] = GetPlayerInterior(playerid);
CTeleInfo[t][TValid] = 1;
strmid(CTeleInfo[t][TName],inputtext,0,strlen(inputtext),30);
GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~Teleport ~g~Created. ]",3000,5);
SaveTeleport();
ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
new sstring[256];
format(sstring, sizeof(sstring), "(Created) Tele: %s, Pos: X: %f,Y: %f,Z: %f,Ang:%f,Interior:%d",CTeleInfo[t][TName],CTeleInfo[t][PosX],CTeleInfo[t][PosY],CTeleInfo[t][PosZ],CTeleInfo[t][PosA],CTeleInfo[t][PosInt]);
SaveIn("TelesLog",sstring);
return 1;
}
}
}
return 1;
}
//==============================================================================
//Delete Teleport
//==============================================================================
if (dialogid == DIALOGID+73)
{
if(response == 0)
{
ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
}
if(response)
{
for(new t=0;t<MAX_CTELES;t++)
{
if(!strlen(inputtext)) return
SendClientMessage(playerid,lightred,"[ ERROR: Invalid Telepot. ]");
if(CTeleInfo[t][TValid] == 1)
{
if(strcmp(inputtext,CTeleInfo[t][TName],true) == 0)
{
CTeleInfo[t][TValid] = 0;
CTeleInfo[t][PosX] = 0;
CTeleInfo[t][PosY] = 0;
CTeleInfo[t][PosZ] = 0;
CTeleInfo[t][PosA] = 0;
CTeleInfo[t][PosInt] = 0;
GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~Teleport ~r~Deleted",3000,5);
SaveTeleport();
ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
new sstring[256];
format(sstring, sizeof(sstring), "(Deleted) Tele: %s",CTeleInfo[t][TName]);
SaveIn("TelesLog",sstring);
return 1;
}
}
}
}
return 1;
}
#endif
//==============================================================================
//---------------
// Dialog - Server Password
//---------------
//==============================================================================
if (dialogid == DIALOG_TYPE_SERVUNLOCK)
{
if(response)
{
format(ServerLockPass, sizeof ServerLockPass, "%s", ServerInfo[Password]);
ServerInfo[Locked] = 0;
strmid(ServerInfo[Password], "", 0, strlen(""), 128);
format(string, sizeof(string), "[ Administrator \"%s\" has Unlocked the Server. ]",adminname);
SendClientMessageToAll(green,string);
for(new i = 0; i <= MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
AccInfo[i][AllowedIn] = true;
}
SendCommandToAdmins(playerid,"(Only Dialog)UnlockServer");
}
return 1;
}
//==============================================================================
if (dialogid == DIALOG_TYPE_SERVLOCK)
{
if(response)
{
format(ServerLockPass, sizeof ServerLockPass, "%s", ServerInfo[Password]);
ServerInfo[Locked] = 1;
format(string, sizeof(string), "[ Administrator \"%s\" has Locked the Server. ]",adminname);
SendClientMessageToAll(red,string);
for(new i = 0; i <= MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
{
PlayerPlaySound(i,1057,0.0,0.0,0.0);
AccInfo[i][AllowedIn] = true;
}
SendCommandToAdmins(playerid,"(Only Dialog)LockServer");
format(string, sizeof(string), "[ Administrator \"%s\" has set the Server Password to '%s'. ]",adminname, ServerInfo[Password]);
MessageToAdmins(COLOR_WHITE, string);
}
return 1;
}
//==============================================================================
if(dialogid == DIALOG_TYPE_SERVPASS)
{
if (response)
{
if (!strcmp(ServerLockPass, inputtext) && !(!strlen(inputtext)))
{
KillTimer( LockKickTimer[playerid]);
AccInfo[playerid][AllowedIn] = true;
SendClientMessage(playerid,COLOR_WHITE,"SERVER: You have successsfully entered the server Password and may now Spawn. ");
format(string, sizeof(string), "[ %s has Successfully entered server Password. ]",PlayerName2(playerid));
MessageToAdmins(COLOR_WHITE, string);
} else {
SendClientMessage(playerid, red, "[ Invalid server password, try again or cancel. ]");
ShowPlayerDialog(playerid, DIALOG_TYPE_SERVPASS, DIALOG_STYLE_INPUT, "Server is currently locked.", "Enter the password to access it:", "Enter", "Cancel");
}
} else {
SendClientMessage(playerid, red, "[ You have no business here, then. ]");
Kick(playerid);
}
return 1;
}
//=============================================================================
//---------------
// Dialog - SERVER TWO RCON
//---------------
//==============================================================================
#if EnableTwoRcon == true
if(dialogid == DIALOG_TYPE_RCON2)
{
if (response)
{
if (!strcmp(TwoRconPass, inputtext) && !(!strlen(inputtext)))
{
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~g~Authorized ~w~Access~n~~y~Welcome Administrator",3000,3);
}
else
{
if(AccInfo[playerid][MaxRcon] == 3)
{
SendClientMessage(playerid, red, "[ You has been Automatically Kicked. | Reason: Maximum number of 'TwoRcon' attempts has reached. ]");
Kick(playerid);
}
AccInfo[playerid][MaxRcon]++;
new tmp[140];
SendClientMessage(playerid, red, "[ Invalid Rcon Password. ]");
format(tmp,sizeof(tmp),"Invalid Password!. \n\nFor access the account, you must enter the CORRECT second password RCON.\n\nAttempts: %d/3", AccInfo[playerid][MaxRcon]);
ShowPlayerDialog(playerid, DIALOG_TYPE_RCON2, DIALOG_STYLE_INPUT, "Admin - RCON!",tmp, "Enter", "Exit");
}
}
else
{
SendClientMessage(playerid, red, "[ ERROR: Kicked. ]");
return Kick(playerid);
}
return 1;
}
#endif
#if USE_DIALOGS == true
//=============================================================================
//---------------
// Dialog - Main
//---------------
//==============================================================================
if(dialogid == DIALOGID+1)
{
if(response == 0)
{
TogglePlayerControllable(playerid,true);
}
if(response)
{
//---------------------------------------------------
// Enable
//---------------------------------------------------
if(listitem == 0) // Enable
{
if(AccInfo[playerid][Level] >= 4)
ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST,
"Enable", "AntiSwear\nNameKick\nAntiSpam\nMaxPing\nReadCmds\nReadPMs\nNoCaps\nConnectMessages\nAdminCmdMessages\nAutoLogin\nAnti Forbidden Weaps\nAnti Advertisements\nAnnouncements", "Select", "Back") && TogglePlayerControllable(playerid,true);
else
{
ErrorMessages(playerid, 1);
TogglePlayerControllable(playerid,true);
}
}
//---------------------------------------------------
// Disable
//---------------------------------------------------
if(listitem == 1) // Disable
{
if(AccInfo[playerid][Level] >= 4)
ShowPlayerDialog(playerid, DIALOGID+3, DIALOG_STYLE_LIST,
"Disable", "AntiSwear\nNameKick\nAntiSpam\nMaxPing\nReadCmds\nReadPMs\nNoCaps\nConnectMessages\nAdminCmdMessages\nAutoLogin\nAnti Forbidden Weaps\nAnti Advertisements\nAnnouncements", "Select", "Back") && TogglePlayerControllable(playerid,true);
else
{
ErrorMessages(playerid, 1);
TogglePlayerControllable(playerid,true);
}
}
//---------------------------------------------------
// Server Weather
//---------------------------------------------------
if(listitem == 2) //Server Weather
{
if(AccInfo[playerid][Level] >= 3)
{
if(IsPlayerInAnyVehicle(playerid))
{
return ShowPlayerDialog(playerid, DIALOGID+16, DIALOG_STYLE_LIST,
"Server Weather", "Blue Sky\nSand Storm\nThunderstorm\nFoggy\nCloudy\nHigh Tide\nPurple Sky\nBlack/White Sky\nDark, Green Sky\nHeatwave", "Select", "Back") &&
TogglePlayerControllable(playerid,true);
}
else
return ShowPlayerDialog(playerid, DIALOGID+16, DIALOG_STYLE_LIST,
"Server Weather", "Blue Sky\nSand Storm\nThunderstorm\nFoggy\nCloudy\nHigh Tide\nPurple Sky\nBlack/White Sky\nDark, Green Sky\nHeatwave", "Select", "Back") &&
TogglePlayerControllable(playerid,true);
}
else return ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
}
//---------------------------------------------------
// Server Time
//---------------------------------------------------
if(listitem == 3) //Server Time
{
if(AccInfo[playerid][Level] >= 3)
{
if(IsPlayerInAnyVehicle(playerid))
{
TogglePlayerControllable(playerid,true);
return ShowPlayerDialog(playerid, DIALOGID+17, DIALOG_STYLE_LIST,
"Server Time", "Morning\nMid day\nAfternoon\nEvening\nMidnight", "Select", "Back") &&
TogglePlayerControllable(playerid,true);
}
else
return ShowPlayerDialog(playerid, DIALOGID+17, DIALOG_STYLE_LIST,
"Server Time", "Morning\nMid day\nAfternoon\nEvening\nMidnight", "Select", "Back");
}
else
return ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
}
//---------------------------------------------------
// Vehicles
//---------------------------------------------------
if(listitem == 4) //Vehicles
{
if(AccInfo[playerid][Level] >= 2)
{
if(IsPlayerInAnyVehicle(playerid))
return TogglePlayerControllable(playerid,true) && SendClientMessage(playerid,red,"[ ERROR: You already have a car. ]");
else
{
ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST,
"Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");
}
}
else return ErrorMessages(playerid, 1);
}
//---------------------------------------------------
// Tune Menu
//---------------------------------------------------
if(listitem == 5) //Tuning Menu
{
if(AccInfo[playerid][Level] >= 2)
{
if(IsPlayerInAnyVehicle(playerid))
{
new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
switch(LModel)
{
case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
{
SendClientMessage(playerid,red,"[ ERROR: You can not tune this vehicle. ]");
TogglePlayerControllable(playerid,true);
return 1;
}
}
TogglePlayerControllable(playerid,true);
ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
"Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
}
else
{
SendClientMessage(playerid,red,"[ ERROR: You do not have a vehicle to tune. ]");
TogglePlayerControllable(playerid,true);
}
}
else
{
ErrorMessages(playerid, 1);
TogglePlayerControllable(playerid,true);
}
}
//---------------------------------------------------
// Choose Weapon
//---------------------------------------------------
if(listitem == 6) //Choose Weapon
{
if(AccInfo[playerid][Level] >= 3)
{
if(IsPlayerInAnyVehicle(playerid))
{
TogglePlayerControllable(playerid,true);
return ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST,
"Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back");
}
else
return ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST, "Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back") && TogglePlayerControllable(playerid,true);
} else
return
ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
}
//---------------------------------------------------
// Teleports
//---------------------------------------------------
if(listitem == 7) //Teleports
{
if(AccInfo[playerid][Level] >= 2)
{
if(IsPlayerInAnyVehicle(playerid))
{
TogglePlayerControllable(playerid,true);
return ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST,
"Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");
}
else
return ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back") && TogglePlayerControllable(playerid,true);
}
else
return
ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
}
}
return 1;
}
//===============================
//---------------
// Dialog - Enable
//---------------
//===============================
if(dialogid == DIALOGID+2)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
}
if(response)
{
if(listitem == 0) // AntiSwear
{
ServerInfo[AntiSwear] = 1;
dini_IntSet(file,"AntiSwear",1);
format(string,sizeof(string),"[ Administrator %s has enabled AntiSwear. ]",adminname);
SendClientMessageToAll(0x00A700FF,string);
}
if(listitem == 1) // NameKick
{
ServerInfo[NameKick] = 1;
dini_IntSet(file,"NameKick",1);
format(string,sizeof(string),"[ Administrator %s has enabled NameKick. ]",adminname);
SendClientMessageToAll(0x00A700FF,string);
}
if(listitem == 2) //AntiSpam
{
ServerInfo[AntiSpam] = 1;
dini_IntSet(file,"AntiSpam",1);
format(string,sizeof(string),"[ Administrator %s has enabled AntiSpam. ]",adminname);
SendClientMessageToAll(0x00A700FF,string);
}
if(listitem == 3) //MaxPing
{
ServerInfo[MaxPing] = 1000;
dini_IntSet(file,"MaxPing",1000);
format(string,sizeof(string),"[ Administrator %s has enabled Ping Kick. ]",adminname);
SendClientMessageToAll(0x00A700FF,string);
}
if(listitem == 4) //Read Commands
{
ServerInfo[ReadCmds] = 1;
dini_IntSet(file,"ReadCmds",1);
format(string,sizeof(string),"[ Administrator %s has enabled Reading Commands. ]",adminname);
MessageToAdmins(orange,string);
}
if(listitem == 5) //Read PM's
{
ServerInfo[ReadPMs] = 1;
dini_IntSet(file,"ReadPMs",1);
format(string,sizeof(string),"[ Administrator %s has enabled Reading Pms. ]",adminname);
MessageToAdmins(orange,string);
}
if(listitem == 6) //Permit CapsLock
{
ServerInfo[NoCaps] = 0;
dini_IntSet(file,"NoCaps",0);
format(string,sizeof(string),"[ Administrator %s has allowed Captial Letters in Chat. ]",adminname);
SendClientMessageToAll(0x00A700FF,string);
}
if(listitem == 7) //Connect/Disconnect Messages
{
ServerInfo[ConnectMessages] = 1;
dini_IntSet(file,"ConnectMessages",1);
format(string,sizeof(string),"[ Administrator %s has enabled Connect Messages. ]",adminname);
SendClientMessageToAll(0x00A700FF,string);
}
if(listitem == 8) //Command Messages
{
ServerInfo[AdminCmdMsg] = 1;
dini_IntSet(file,"AdminCmdMessages",1);
format(string,sizeof(string),"[ Administrator %s has enabled Admin Command messages. ]",adminname);
MessageToAdmins(orange,string);
}
if(listitem == 9) //Auto Login
{
ServerInfo[AutoLogin] = 1;
dini_IntSet(file,"AutoLogin",1);
format(string,sizeof(string),"[ Administrator %s has enabled Auto Login. ]",adminname);
SendClientMessageToAll(0x00A700FF,string);
}
if(listitem == 10) //Anti Forbidden Weapons
{
ServerInfo[ForbiddenWeaps] = 1;
dini_IntSet(file,"ForbiddenWeapons",1);
format(string,sizeof(string),"[ Administrator %s has enabled Anti Forbidden Weapons. ]",adminname);
SendClientMessageToAll(0x00A700FF,string);
SendClientMessage(playerid, orange, "[ To update Forbidden Weapons File use: /uconfig. ]");
}
if(listitem == 11) //Anti Advertisements
{
ServerInfo[AntiAds] = 1;
dini_IntSet(file,"AntiAdvertisements",1);
format(string,sizeof(string),"[ Administrator %s has enabled Anti Advertisements. ]",adminname);
MessageToAdmins(orange,string);
}
if(listitem == 12) //Announcements
{
ServerInfo[AntiAds] = 1;
dini_IntSet(file,"Announcements",1);
format(string,sizeof(string),"[ Administrator %s has enabled Announcements. ]",adminname);
MessageToAdmins(orange,string);
OnPlayerCommandText(playerid,"/uconfig");
SetTimer("RandomMessage",ANNOUNCES_TIME,1);
for(new i = 0; i < MAX_PLAYERS; i++)
TextDrawShowForPlayer(i, Announcements);
}
}
return 1;
}
//===============================
//---------------
// Dialog - Console
//---------------
//===============================
if(dialogid == DIALOGID+61)
{
if(response)
{
if(listitem == 0) { ShowPlayerDialog(playerid,DIALOGID+62,DIALOG_STYLE_INPUT,"Admin Console","Load FilterScript:\n","Load!","Back");}
if(listitem == 1) { ShowPlayerDialog(playerid,DIALOGID+63,DIALOG_STYLE_INPUT,"Admin Console","Unload FilterScript:\n","Unload!","Back");}
if(listitem == 2) { ShowPlayerDialog(playerid,DIALOGID+64,DIALOG_STYLE_INPUT,"Admin Console","Changemode:\n","Unload!","Back");}
if(listitem == 3) { OnFilterScriptExit(); SetTimer("RestartGM",5000,0); SendClientMessage(playerid,orange,"[ Console Command Sent! ]"); format(string,sizeof(string),"[ %s has been Restarted Server",pName(playerid),inputtext); SaveIn("ConsoleLog",string);}
if(listitem == 4){ SendRconCommand("loadfs eAdmin"); return SendClientMessage(playerid,orange,"[ Console Command Sent! ]");}
if(listitem == 5){ SendRconCommand("unloadfs eAdmin"); return SendClientMessage(playerid,orange,"[ Console Command Sent! ]");}
if(listitem == 6){ SendRconCommand("reloadfs eAdmin"); return SendClientMessage(playerid,orange,"[ Console Command Sent! ]");}
if(listitem == 7){ return ShowPlayerDialog(playerid,DIALOGID+65,DIALOG_STYLE_INPUT,"Admin Console","Unban IP:\n","Unban!","Back");}
if(listitem == 8){ SendRconCommand("reloadbans"); SendClientMessage(playerid,orange,"[ Console Command Sent! ]"); }
if(listitem == 9){ ShowPlayerDialog(playerid, DIALOGID+80, DIALOG_STYLE_INPUT, "Admin - Execute Command","Simple type a Command! \n\nFor eAdmin, for your GameMode, and for any other Filterscript! \n\nExemple: 'ban 0 cheats' (Without '/')", "Exec Cmd", "Cancel"); }
}
return 1;
}
//===============================
// Dialog - LOADFS
//===============================
if(dialogid == DIALOGID+62)
{
if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
if(response){
new str[256];
format(string,sizeof(string),"%s has been Loaded '%s' Filterscript",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
format(str,sizeof(string),"loadfs %s",inputtext);
SendRconCommand(str);
SendClientMessage(playerid,orange,"[ Console Command Sent. ]");
ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
}
return 1;
}
//===============================
// Dialog - UNLOADFS
//===============================
if(dialogid == DIALOGID+63)
{
if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
if(response) {
new str[256];
format(string,sizeof(string),"%s has been Unloaded '%s' Filterscript",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
format(str,sizeof(string),"unloadfs %s",inputtext);
SendRconCommand(str);
SendClientMessage(playerid,orange,"[ Console Command Sent. ]");
ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
}
return 1;
}
//===============================
// Dialog - CHANGEMODE
//===============================
if(dialogid == DIALOGID+64)
{
if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
if(response) {
new str[256];
format(string,sizeof(string),"%s has been Changed '%s' GameMode",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
format(str,sizeof(string),"changemode %s",inputtext);
SendRconCommand(str);
SendClientMessage(playerid,orange,"[ Console Command Sent. ]");
}
return 1;
}
//===============================
// Dialog - EXECUTE COMMAND
//===============================
if(dialogid == DIALOGID+80)
{
if(response)
{
new str[128];
format(str,sizeof(str),"/%s",inputtext);
CallRemoteFunction("OnPlayerCommandText", "is",playerid, str);
}
return 1;
}
//===============================
// Dialog - UNBANIP
//===============================
if(dialogid == DIALOGID+65)
{
if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
if(response) {
new str[256];
format(string,sizeof(string),"%s has been Unbaned '%s' Ip",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
format(str,sizeof(string),"unbanip %s",inputtext);
SendRconCommand(str);
SendClientMessage(playerid,orange,"[ Console Command Sent. ]");
ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
}
return 1;
}
//===============================
//---------------
// Dialog - Fight Styles
//---------------
//===============================
if(dialogid == DIALOGID+81)
{
if(response)
{
if(listitem == 0)
{
SetPlayerFightingStyle (playerid, FIGHT_STYLE_ELBOW);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Elbow ~w~Style Changed",2000,3);
}
if(listitem == 1)
{
SetPlayerFightingStyle (playerid, FIGHT_STYLE_BOXING);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Boxing ~w~Style Changed",2000,3);
}
if(listitem == 2)
{
SetPlayerFightingStyle (playerid, FIGHT_STYLE_GRABKICK);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Grabkick ~w~Style Changed",2000,3);
}
if(listitem == 3)
{
SetPlayerFightingStyle (playerid, FIGHT_STYLE_KNEEHEAD);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Nheehead ~w~Style Changed",2000,3);
}
if(listitem == 4)
{
SetPlayerFightingStyle (playerid, FIGHT_STYLE_KUNGFU);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~KungFu ~w~Style Changed",2000,3);
}
if(listitem == 5)
{
SetPlayerFightingStyle (playerid, FIGHT_STYLE_NORMAL);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Normal ~w~Style Changed",2000,3);
}
}
return 1;
}
//===============================
//---------------
// Dialog - Disable
//---------------
//===============================
if(dialogid == DIALOGID+3)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
}
if(response)
{
if(listitem == 0) // AntiSwear
{
ServerInfo[AntiSwear] = 0;
dini_IntSet(file,"AntiSwear",0);
format(string,sizeof(string),"[ Administrator %s has disabled AntiSwear. ]",adminname);
SendClientMessageToAll(0x21DD00FF,string);
}
if(listitem == 1) // NameKick
{
ServerInfo[NameKick] = 0;
dini_IntSet(file,"NameKick",0);
format(string,sizeof(string),"[ Administrator %s has disabled NameKick. ]",adminname);
SendClientMessageToAll(0x21DD00FF,string);
}
if(listitem == 2) //AntiSpam
{
ServerInfo[AntiSpam] = 0;
dini_IntSet(file,"AntiSpam",0);
format(string,sizeof(string),"[ Administrator %s has disabled AntiSpam. ]",adminname);
SendClientMessageToAll(0x21DD00FF,string);
}
if(listitem == 3) //MaxPing
{
ServerInfo[MaxPing] = 0;
dini_IntSet(file,"MaxPing",0);
format(string,sizeof(string),"[ Administrator %s has disabled Ping Kick. ]",adminname);
SendClientMessageToAll(0x21DD00FF,string);
}
if(listitem == 4) //Read Commands
{
ServerInfo[ReadCmds] = 0;
dini_IntSet(file,"ReadCmds",0);
format(string,sizeof(string),"[ Administrator %s has disabled Reading Commands. ]",adminname);
MessageToAdmins(orange,string);
}
if(listitem == 5) //Read PM's
{
ServerInfo[ReadPMs] = 0;
dini_IntSet(file,"ReadPMs",0);
format(string,sizeof(string),"[ Administrator %s has disabled Reading Pms. ]",adminname);
MessageToAdmins(orange,string);
}
if(listitem == 6) //Permit CapsLock
{
ServerInfo[NoCaps] = 1;
dini_IntSet(file,"NoCaps",1);
format(string,sizeof(string),"[ Administrator %s has prevented Captial Letters in Chat. ]",adminname);
SendClientMessageToAll(0x21DD00FF,string);
}
if(listitem == 7) //Connect/Disconnect Messages
{
ServerInfo[ConnectMessages] = 0;
dini_IntSet(file,"ConnectMessages",0);
format(string,sizeof(string),"[ Administrator %s has disabled Connect Messages. ]",adminname);
SendClientMessageToAll(0x21DD00FF,string);
}
if(listitem == 8) //Command Messages
{
ServerInfo[AdminCmdMsg] = 0;
dini_IntSet(file,"AdminCmdMessages",0);
format(string,sizeof(string),"[ Administrator %s has disabled Admin Command nessages. ]",adminname);
MessageToAdmins(orange,string);
}
if(listitem == 9) //Auto Login
{
ServerInfo[AutoLogin] = 0;
dini_IntSet(file,"AutoLogin",0);
format(string,sizeof(string),"[ Administrator %s has disabled Auto Kogin. ]",adminname);
SendClientMessageToAll(0x21DD00FF,string);
}
if(listitem == 10) //Anti Forbidden Weapons
{
ServerInfo[ForbiddenWeaps] = 0;
dini_IntSet(file,"ForbiddenWeapons",0);
format(string,sizeof(string),"[ Administrator %s has disabled Anti Forbidden Weapons. ]",adminname);
SendClientMessageToAll(0x00A700FF,string);
}
if(listitem == 11) //Anti Advertisements
{
ServerInfo[AntiAds] = 0;
dini_IntSet(file,"AntiAdvertisements",0);
format(string,sizeof(string),"[ Administrator %s has disabled Anti Advertisements. ]",adminname);
MessageToAdmins(orange,string);
}
if(listitem == 12) //Announcements
{
ServerInfo[AntiAds] = 0;
dini_IntSet(file,"Announcements",0);
format(string,sizeof(string),"[ Administrator %s has disabled Announcements. ]",adminname);
for(new i = 0; i < MAX_PLAYERS; i++)
TextDrawHideForPlayer(i, Announcements);
MessageToAdmins(orange,string);
}
}
return 1;
}
//==============================================================================
//---------------
// VEHICLES
//---------------
//==============================================================================
if(dialogid == DIALOGID+40)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu","Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");}
if(response)
{
if(listitem == 0){ ShowPlayerDialog(playerid, DIALOGID+41, DIALOG_STYLE_LIST, "Bicycles", "Bike\nBMX\nMountain Bike", "Select", "Back");}
if(listitem == 1){ ShowPlayerDialog(playerid, DIALOGID+42, DIALOG_STYLE_LIST, "Bikes", "NRG-500\nFaggio\nFCR-900\nPCJ-600\nFreeway\nBF-400\nPizzaBoy\nWayfarer\nCop Bike\nSanchez\nQuad", "Select", "Back");}
if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+43, DIALOG_STYLE_LIST, "Monster Trucks", "Dumper\nDuneride\nMonster\nMonster A\nMonster B", "Select", "Back");}
if(listitem == 3){ ShowPlayerDialog(playerid, DIALOGID+44, DIALOG_STYLE_LIST, "Boats", "Coastguard\nDinghy\nJetmax\nLaunch\nMarquis\nPredator\nReefer\nSpeeder\nSqualo\nTropic", "Select", "Back");}
if(listitem == 4){ ShowPlayerDialog(playerid, DIALOGID+45, DIALOG_STYLE_LIST, "Helicopters", "Cargobob\nHunter\nLeviathn\nMaverick\nPolmav\nRaindanc\nSeasparr\nSparrow\nVCN Helicopter", "Select", "Back");}
if(listitem == 5){ ShowPlayerDialog(playerid, DIALOGID+46, DIALOG_STYLE_LIST, "Planes", "Hydra\nRustler\nDodo\nNevada\nSuntplane\nCropdust\nAT-400\nAndromeda\nBeagle\nVortex\nSkimmer\nShamal", "Select", "Back");}
if(listitem == 6){ ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(listitem == 7){ ShowPlayerDialog(playerid, DIALOGID+48, DIALOG_STYLE_LIST, "Vehicles RC","RC Goblin\nRC Raider\nRC Barron \nRC Bandit\nRC Cam\nRC Tiger", "Select", "Back");}
}
return 1;
}
//=====================
//-----------------
// Bicycles
//-----------------
//=====================
if(dialogid == DIALOGID+41)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,509);}
if(listitem == 1){ CarSpawner(playerid,481);}
if(listitem == 2){ CarSpawner(playerid,510);}
}
return 1;
}
//=====================
//-----------------
// Bikes
//-----------------
//=====================
if(dialogid == DIALOGID+42)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
if(response)
{
if(listitem == 0){CarSpawner(playerid,522);}
if(listitem == 1){CarSpawner(playerid,462);}
if(listitem == 2){CarSpawner(playerid,521);}
if(listitem == 3){CarSpawner(playerid,461);}
if(listitem == 4){CarSpawner(playerid,463);}
if(listitem == 5){CarSpawner(playerid,581);}
if(listitem == 6){CarSpawner(playerid,448);}
if(listitem == 7){CarSpawner(playerid,586);}
if(listitem == 8){CarSpawner(playerid,523);}
if(listitem == 9){CarSpawner(playerid,468);}
if(listitem == 10){CarSpawner(playerid,471);}
}
return 1;
}
//=====================
//-----------------
// Monster Trucks
//-----------------
//=====================
if(dialogid == DIALOGID+43)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,406);}
if(listitem == 1){ CarSpawner(playerid,573);}
if(listitem == 2){ CarSpawner(playerid,444);}
if(listitem == 3){ CarSpawner(playerid,556);}
if(listitem == 4){ CarSpawner(playerid,557);}
}
return 1;
}
//=====================
//-----------------
// Boats
//-----------------
//=====================
if(dialogid == DIALOGID+44)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,472);}
if(listitem == 1){ CarSpawner(playerid,473);}
if(listitem == 2){ CarSpawner(playerid,493);}
if(listitem == 3){ CarSpawner(playerid,595);}
if(listitem == 4){ CarSpawner(playerid,484);}
if(listitem == 5){ CarSpawner(playerid,430);}
if(listitem == 6){ CarSpawner(playerid,453);}
if(listitem == 7){ CarSpawner(playerid,452);}
if(listitem == 8){ CarSpawner(playerid,446);}
if(listitem == 9){ CarSpawner(playerid,454);}
}
return 1;
}
//=====================
//-----------------
// Helicopters
//-----------------
//=====================
if(dialogid == DIALOGID+45)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,548);}
if(listitem == 1){ CarSpawner(playerid,425);}
if(listitem == 2){ CarSpawner(playerid,417);}
if(listitem == 3){ CarSpawner(playerid,487);}
if(listitem == 4){ CarSpawner(playerid,497);}
if(listitem == 5){ CarSpawner(playerid,563);}
if(listitem == 6){ CarSpawner(playerid,447);}
if(listitem == 7){ CarSpawner(playerid,469);}
if(listitem == 8){ CarSpawner(playerid,488);}
}
return 1;
}
//=====================
//-----------------
// Planes
//-----------------
//=====================
if(dialogid == DIALOGID+46)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,520);}
if(listitem == 1){ CarSpawner(playerid,476);}
if(listitem == 2){ CarSpawner(playerid,593);}
if(listitem == 3){ CarSpawner(playerid,553);}
if(listitem == 4){ CarSpawner(playerid,513);}
if(listitem == 5){ CarSpawner(playerid,512);}
if(listitem == 6){ CarSpawner(playerid,577);}
if(listitem == 7){ CarSpawner(playerid,592);}
if(listitem == 8){ CarSpawner(playerid,511);}
if(listitem == 9){ CarSpawner(playerid,539);}
if(listitem == 10){ CarSpawner(playerid,460);}
if(listitem == 11){ CarSpawner(playerid,519);}
}
return 1;
}
//=====================
//-----------------
// Vehicles RC
//-----------------
//=====================
if(dialogid == DIALOGID+48)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,501);}
if(listitem == 0){ CarSpawner(playerid,465);}
if(listitem == 0){ CarSpawner(playerid,464);}
if(listitem == 0){ CarSpawner(playerid,441);}
if(listitem == 0){ CarSpawner(playerid,594);}
if(listitem == 0){ CarSpawner(playerid,564);}
}
return 1;
}
//=====================
//-----------------
// Cars
//-----------------
//=====================
if(dialogid == DIALOGID+47)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
if(response)
{
if(listitem == 0){ ShowPlayerDialog(playerid, DIALOGID+4, DIALOG_STYLE_LIST, "Lowriders", "Blade\nBroadway\nRemmington\nSavanna\nSlamvan\nTornado\nVoodoo", "Select", "Back");}
if(listitem == 1){ ShowPlayerDialog(playerid, DIALOGID+5, DIALOG_STYLE_LIST, "Street Racers","Elegy\nFlash\nJester\nStratum\nSultan\nUranus", "Select", "Back");}
if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+6, DIALOG_STYLE_LIST, "Muscle Cars", "Buffalo\nClover\nPhoenix\nSabre", "Select", "Back");}
if(listitem == 3){ ShowPlayerDialog(playerid, DIALOGID+7, DIALOG_STYLE_LIST, "Suvs & Wagons", "Huntley\nLandstalker\nPerenial\nRancher\nRegina\nRomero\nSolair", "Select", "Back");}
if(listitem == 4){ ShowPlayerDialog(playerid, DIALOGID+8, DIALOG_STYLE_LIST, "Sport Cars", "Banshee\nBullet\nCheetah\nComet\nHotknife\nHotring Racer\nInfernus\nSuper GT\nTurismo\nWindsor\nZR-350", "Select", "Back");}
if(listitem == 5){ ShowPlayerDialog(playerid, DIALOGID+9, DIALOG_STYLE_LIST, "Recreational", "Bandito\nBF Injection\nBloodring Banger\nCaddy\nCamper\nJourney\nKart\nMesa\nSandking\nVortex", "Select", "Back");}
if(listitem == 6){ ShowPlayerDialog(playerid, DIALOGID+10, DIALOG_STYLE_LIST, "Civil", "Baggage\nBus\nCabbie\nCoach\nSweeper\nTaxi\nTowtruck\nTrashmaster\nUtiliy van", "Select", "Back");}
if(listitem == 7){ ShowPlayerDialog(playerid, DIALOGID+11, DIALOG_STYLE_LIST, "Government", "Ambulance\nBarracks\nEnforcer\nFBI Rancher\nFBI Truck\nFiretruck\nPatriot\nPolite Car SF\nRanger\nSecuricar\nS.W.A.T", "Select", "Back");}
if(listitem == 8){ ShowPlayerDialog(playerid, DIALOGID+12, DIALOG_STYLE_LIST, "4 Door luxury", "Admiral\nElegant\nEmperor\nEuros\nGlendale\nGreenwood\nIntruder\nMerit\nNebula\nOceanic\nPremier\nPrimo\nSentinel\nStretch\nSunrise\nTahoma\nVincent\nWashington\nWillard", "Select", "Back");}
if(listitem == 9){ ShowPlayerDialog(playerid, DIALOGID+58, DIALOG_STYLE_LIST, "2 Door Sedans", "Alpha\nBlista Compact\nBravura\nBaccaneer\nCadrona\nClub\nEsperanto\nFeltzer\nFortune\nHermer\nHustler\nMagestic\nManana\nPicador\nPrevion\nStafford\nStallion\nTampa\nVirgo", "Select", "Back");}
if(listitem == 10){ ShowPlayerDialog(playerid, DIALOGID+59, DIALOG_STYLE_LIST, "Heavy trucks", "Benson\nBoxville\nCement truck\nCombine Harvester\nDFT-30\nDozer\nFlatbed\nHotdog\nLinerunner\nMr Whoopee\nMule\nPacker\nRoadtrain\nTanker\nTractor\nYankee", "Select", "Back");}
if(listitem == 11){ ShowPlayerDialog(playerid, DIALOGID+60, DIALOG_STYLE_LIST, "Light trucks", "Berkley's RC van\nBobcat\nBurrito\nForklift\nMoonbeam\nMower\nNewsvan\nNext page\nPony\nRumpo\nSadler\nTug\nWalton\nYosemite", "Select", "Back");}
}
return 1;
}
//=====================
//-----------------
// Lowriders
//-----------------
//=====================
if(dialogid == DIALOGID+4)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,536);}
if(listitem == 1){ CarSpawner(playerid,575);}
if(listitem == 2){ CarSpawner(playerid,534);}
if(listitem == 3){ CarSpawner(playerid,567);}
if(listitem == 4){ CarSpawner(playerid,535);}
if(listitem == 5){ CarSpawner(playerid,576);}
if(listitem == 6){ CarSpawner(playerid,412);}
}
return 1;
}
//=====================
//-----------------
// Street Racers
//-----------------
//=====================
if(dialogid == DIALOGID+5)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,562);}
if(listitem == 1){ CarSpawner(playerid,565);}
if(listitem == 2){ CarSpawner(playerid,559);}
if(listitem == 3){ CarSpawner(playerid,561);}
if(listitem == 4){ CarSpawner(playerid,560);}
if(listitem == 5){ CarSpawner(playerid,558);}
}
return 1;
}
//=====================
//-----------------
// Muscle Cars
//-----------------
//=====================
if(dialogid == DIALOGID+6)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,402);}
if(listitem == 1){ CarSpawner(playerid,542);}
if(listitem == 2){ CarSpawner(playerid,603);}
if(listitem == 3){ CarSpawner(playerid,475);}
}
return 1;
}
//=====================
//-----------------
// Suvs & Wagons
//-----------------
//=====================
if(dialogid == DIALOGID+7)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,579);}
if(listitem == 1){ CarSpawner(playerid,400);}
if(listitem == 2){ CarSpawner(playerid,404);}
if(listitem == 3){ CarSpawner(playerid,489);}
if(listitem == 4){ CarSpawner(playerid,479);}
if(listitem == 5){ CarSpawner(playerid,442);}
if(listitem == 6){ CarSpawner(playerid,458);}
}
return 1;
}
//=====================
//-----------------
// Sport Cars
//-----------------
//=====================
if(dialogid == DIALOGID+8)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,429);}
if(listitem == 1){ CarSpawner(playerid,541);}
if(listitem == 2){ CarSpawner(playerid,415);}
if(listitem == 3){ CarSpawner(playerid,480);}
if(listitem == 4){ CarSpawner(playerid,434);}
if(listitem == 5){ CarSpawner(playerid,494);}
if(listitem == 6){ CarSpawner(playerid,411);}
if(listitem == 7){ CarSpawner(playerid,506);}
if(listitem == 8){ CarSpawner(playerid,451);}
if(listitem == 9){ CarSpawner(playerid,555);}
if(listitem == 10){ CarSpawner(playerid,477);}
}
return 1;
}
//=====================
//-----------------
// Recreation
//-----------------
//=====================
if(dialogid == DIALOGID+9)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,568);}
if(listitem == 1){ CarSpawner(playerid,424);}
if(listitem == 2){ CarSpawner(playerid,504);}
if(listitem == 3){ CarSpawner(playerid,457);}
if(listitem == 4){ CarSpawner(playerid,483);}
if(listitem == 5){ CarSpawner(playerid,508);}
if(listitem == 6){ CarSpawner(playerid,571);}
if(listitem == 7){ CarSpawner(playerid,500);}
if(listitem == 8){ CarSpawner(playerid,495);}
if(listitem == 9){ CarSpawner(playerid,539);}
}
return 1;
}
//=====================
//-----------------
// Civil
//-----------------
//=====================
if(dialogid == DIALOGID+10)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,485);}
if(listitem == 1){ CarSpawner(playerid,431);}
if(listitem == 2){ CarSpawner(playerid,438);}
if(listitem == 3){ CarSpawner(playerid,437);}
if(listitem == 4){ CarSpawner(playerid,574);}
if(listitem == 5){ CarSpawner(playerid,420);}
if(listitem == 6){ CarSpawner(playerid,525);}
if(listitem == 7){ CarSpawner(playerid,408);}
if(listitem == 8){ CarSpawner(playerid,552);}
}
return 1;
}
//=====================
//-----------------
// Governament
//-----------------
//=====================
if(dialogid == DIALOGID+11)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,416);}
if(listitem == 1){ CarSpawner(playerid,433);}
if(listitem == 2){ CarSpawner(playerid,427);}
if(listitem == 3){ CarSpawner(playerid,490);}
if(listitem == 4){ CarSpawner(playerid,528);}
if(listitem == 5){ CarSpawner(playerid,407);}
if(listitem == 6){ CarSpawner(playerid,570);}
if(listitem == 7){ CarSpawner(playerid,597);}
if(listitem == 8){ CarSpawner(playerid,599);}
if(listitem == 9){ CarSpawner(playerid,428);}
if(listitem == 10){ CarSpawner(playerid,601);}
}
return 1;
}
//=====================
//-----------------
// 4 doors
//-----------------
//=====================
if(dialogid == DIALOGID+12)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,445);}
if(listitem == 1){ CarSpawner(playerid,507);}
if(listitem == 2){ CarSpawner(playerid,585);}
if(listitem == 3){ CarSpawner(playerid,587);}
if(listitem == 4){ CarSpawner(playerid,466);}
if(listitem == 5){ CarSpawner(playerid,492);}
if(listitem == 6){ CarSpawner(playerid,546);}
if(listitem == 7){ CarSpawner(playerid,551);}
if(listitem == 8){ CarSpawner(playerid,516);}
if(listitem == 9){ CarSpawner(playerid,467);}
if(listitem == 10){ CarSpawner(playerid,426);}
if(listitem == 11){ CarSpawner(playerid,547);}
if(listitem == 12){ CarSpawner(playerid,405);}
if(listitem == 13){ CarSpawner(playerid,409);}
if(listitem == 14){ CarSpawner(playerid,550);}
if(listitem == 15){ CarSpawner(playerid,566);}
if(listitem == 16){ CarSpawner(playerid,540);}
if(listitem == 17){ CarSpawner(playerid,421);}
if(listitem == 18){ CarSpawner(playerid,529);}
}
return 1;
}
//=====================
//-----------------
// 2 doors
//-----------------
//=====================
if(dialogid == DIALOGID+58)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,602);}
if(listitem == 1){ CarSpawner(playerid,496);}
if(listitem == 2){ CarSpawner(playerid,401);}
if(listitem == 3){ CarSpawner(playerid,518);}
if(listitem == 4){ CarSpawner(playerid,527);}
if(listitem == 5){ CarSpawner(playerid,589);}
if(listitem == 6){ CarSpawner(playerid,419);}
if(listitem == 7){ CarSpawner(playerid,533);}
if(listitem == 8){ CarSpawner(playerid,526);}
if(listitem == 9){ CarSpawner(playerid,474);}
if(listitem == 10){ CarSpawner(playerid,545);}
if(listitem == 11){ CarSpawner(playerid,517);}
if(listitem == 12){ CarSpawner(playerid,410);}
if(listitem == 13){ CarSpawner(playerid,600);}
if(listitem == 14){ CarSpawner(playerid,436);}
if(listitem == 15){ CarSpawner(playerid,580);}
if(listitem == 16){ CarSpawner(playerid,439);}
if(listitem == 17){ CarSpawner(playerid,549);}
if(listitem == 18){ CarSpawner(playerid,491);}
}
return 1;
}
//=====================
//-----------------
// Heavy Trucks
//-----------------
//=====================
if(dialogid == DIALOGID+59)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,499);}
if(listitem == 1){ CarSpawner(playerid,498);}
if(listitem == 2){ CarSpawner(playerid,524);}
if(listitem == 3){ CarSpawner(playerid,532);}
if(listitem == 4){ CarSpawner(playerid,578);}
if(listitem == 5){ CarSpawner(playerid,486);}
if(listitem == 6){ CarSpawner(playerid,455);}
if(listitem == 7){ CarSpawner(playerid,588);}
if(listitem == 8){ CarSpawner(playerid,403);}
if(listitem == 9){ CarSpawner(playerid,423);}
if(listitem == 10){ CarSpawner(playerid,414);}
if(listitem == 11){ CarSpawner(playerid,443);}
if(listitem == 12){ CarSpawner(playerid,515);}
if(listitem == 13){ CarSpawner(playerid,514);}
if(listitem == 14){ CarSpawner(playerid,531);}
if(listitem == 15){ CarSpawner(playerid,456);}
}
return 1;
}
//=====================
//-----------------
// Light Trucks
//-----------------
//=====================
if(dialogid == DIALOGID+60)
{
if(response == 0){
ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
if(response)
{
if(listitem == 0){ CarSpawner(playerid,459);}
if(listitem == 1){ CarSpawner(playerid,422);}
if(listitem == 2){ CarSpawner(playerid,482);}
if(listitem == 3){ CarSpawner(playerid,530);}
if(listitem == 4){ CarSpawner(playerid,418);}
if(listitem == 5){ CarSpawner(playerid,572);}
if(listitem == 6){ CarSpawner(playerid,582);}
if(listitem == 7){ CarSpawner(playerid,413);}
if(listitem == 8){ CarSpawner(playerid,440);}
if(listitem == 9){ CarSpawner(playerid,543);}
if(listitem == 10){ CarSpawner(playerid,583);}
if(listitem == 11){ CarSpawner(playerid,478);}
if(listitem == 12){ CarSpawner(playerid,554);}
}
return 1;
}
//==============================================================================
//---------------
// TUNING
//---------------
//==============================================================================
//===============================
//---------------
// Tune Main
//---------------
//===============================
if(dialogid == DIALOGID+13)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
}
if(response)
{
if(listitem == 0){ AddVehicleComponent(GetPlayerVehicleID(playerid),1010); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Hydraulics Added to your Vehicle");}
if(listitem == 1){ AddVehicleComponent(GetPlayerVehicleID(playerid),1087); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Nitrox Added to your Vehicle");
}
if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+14, DIALOG_STYLE_LIST, "Wheels","Wire\nTwist\nAccess\nMega\nImport\nAtomic\nOfTwistfroad\nClassic", "Select", "Back");}
if(listitem == 3){ ShowPlayerDialog(playerid, DIALOGID+15, DIALOG_STYLE_LIST, "Paint Jobs","Style 1\nStyle 2\nStyle 3\nStyle 4\nStyle 5", "Select", "Back");}
if(listitem == 4){ ShowPlayerDialog(playerid, DIALOGID+19, DIALOG_STYLE_LIST, "Vehicle Colours","Black \nWhite \nDark Blue \nLight Blue \nGreen \nRed \nYellow \nPink", "Select", "Back");}
}
return 1;
}
//===============================
//---------------
// Wheels
//---------------
//===============================
if(dialogid == DIALOGID+14)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
"Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
}
if(response)
{
if(listitem == 0){ AddVehicleComponent(GetPlayerVehicleID(playerid),1081); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Wire Wheels to your Vehicle");}
if(listitem == 1){ AddVehicleComponent(GetPlayerVehicleID(playerid),1078); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Twist Wheels Added to your Vehicle");}
if(listitem == 2){ AddVehicleComponent(GetPlayerVehicleID(playerid),1098); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Access Wheels Added to your Vehicle");}
if(listitem == 3){ AddVehicleComponent(GetPlayerVehicleID(playerid),1074); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Mega Wheels Added to your Vehicle");}
if(listitem == 4){ AddVehicleComponent(GetPlayerVehicleID(playerid),1082); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Import Wheels Added to your Vehicle");}
if(listitem == 5){ AddVehicleComponent(GetPlayerVehicleID(playerid),1085); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Atomic Wheels Added to your Vehicle");}
if(listitem == 6){ AddVehicleComponent(GetPlayerVehicleID(playerid),1025); StartTuneSound(playerid); SendClientMessage(playerid,blue,"OfTwistfroad Wheels Added to your Vehicle");}
if(listitem == 7){ AddVehicleComponent(GetPlayerVehicleID(playerid),1077); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Classic Wheels Added to your Vehicle");}
}
return 1;
}
//===============================
//---------------
// Paint Jobs
//---------------
//===============================
if(dialogid == DIALOGID+15)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
"Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
}
if(response)
{
if(listitem == 0){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),0); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 1"); }
if(listitem == 1){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),1); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 2"); }
if(listitem == 2){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),2); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 3"); }
if(listitem == 3){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),3); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 4"); }
if(listitem == 4){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),4); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 5"); }
}
return 1;
}
//===============================
//---------------
// Vehicle Colours
//---------------
//===============================
if(dialogid == DIALOGID+19)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
"Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
}
if(response)
{
if(listitem == 0){ ChangeVehicleColor(GetPlayerVehicleID(playerid),0,0); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Black"); }
if(listitem == 1){ ChangeVehicleColor(GetPlayerVehicleID(playerid),1,1); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to White"); }
if(listitem == 2){ ChangeVehicleColor(GetPlayerVehicleID(playerid),425,425); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Dark Blue"); }
if(listitem == 3){ ChangeVehicleColor(GetPlayerVehicleID(playerid),2,2); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Light Blue"); }
if(listitem == 4){ ChangeVehicleColor(GetPlayerVehicleID(playerid),16,16); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Green"); }
if(listitem == 5){ ChangeVehicleColor(GetPlayerVehicleID(playerid),3,3); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Red"); }
if(listitem == 6){ ChangeVehicleColor(GetPlayerVehicleID(playerid),6,6); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Yellow"); }
if(listitem == 7){ ChangeVehicleColor(GetPlayerVehicleID(playerid),146,146); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Pink"); }
}
return 1;
}
//===============================
//---------------
// Server Weather
//---------------
//===============================
if(dialogid == DIALOGID+16)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
}
if(response)
{
if(listitem == 0)
{
SetWeather(5);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
SendCommandToAdmins(playerid,"SetWeather");
format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Blue Sky'. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 1)
{
SetWeather(19);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
SendCommandToAdmins(playerid,"SetWeather");
format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Sand Storm'. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 2)
{
SetWeather(8);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
SendCommandToAdmins(playerid,"SetWeather");
format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Thunderstorm'. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 3)
{
SetWeather(20);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
SendCommandToAdmins(playerid,"SetWeather");
format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Foggy'. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 4)
{
SetWeather(9);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
SendCommandToAdmins(playerid,"SetWeather");
format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Cloudy' ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 5)
{
SetWeather(16);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
SendCommandToAdmins(playerid,"SetWeather");
format(string,sizeof(string),"[ Administrator %s has changed the weather to 'High Tide'. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 6)
{
SetWeather(45);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
SendCommandToAdmins(playerid,"SetWeather");
format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Purple Sky'. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 7)
{
SetWeather(44);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
SendCommandToAdmins(playerid,"SetWeather");
format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Black/White Sky'. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 8)
{
SetWeather(22);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
SendCommandToAdmins(playerid,"SetWeather");
format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Dark, Green Sky'. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 9)
{
SetWeather(11);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
SendCommandToAdmins(playerid,"SetWeather");
format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Heatwave'. ]",adminname);
SendClientMessageToAll(blue,string);
}
}
return 1;
}
//===============================
//---------------
// Server Time
//---------------
//===============================
if(dialogid == DIALOGID+17)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
}
if(response)
{
if(listitem == 0)
{
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
SetPlayerTime(i,7,0);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(string,sizeof(string),"[ Administrator %s has changed the Time. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 1)
{
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
SetPlayerTime(i,12,0);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(string,sizeof(string),"[ Administrator %s has changed the Time. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 2)
{
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
SetPlayerTime(i,16,0);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(string,sizeof(string),"[ Administrator %s has changed the Time. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 3)
{
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
SetPlayerTime(i,20,0);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(string,sizeof(string),"[ Administrator %s has changed the Time. ]",adminname);
SendClientMessageToAll(blue,string);
}
if(listitem == 4)
{
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
SetPlayerTime(i,0,0);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(string,sizeof(string),"[ Administrator %s has changed the Time. ]",adminname);
SendClientMessageToAll(blue,string);
}
}
return 1;
}
//=====================
//-----------------
// Teles (Main)
//-----------------
//=====================
if(dialogid == DIALOGID+30)
{
if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu","Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel"); }
if(response)
{
if(listitem == 0){ ShowPlayerDialog(playerid, DIALOGID+31, DIALOG_STYLE_LIST, "Los Santos", "Los Santos Airport \nPershing Square \nVinewood \nGrove Street \nRichman \nSanta Maria Beach \nOcean Docks \nDillimore \nPalomino Creek \nBlueBerry \nMontGomery", "Select", "Back");}
if(listitem == 1){ ShowPlayerDialog(playerid, DIALOGID+32, DIALOG_STYLE_LIST, "San Fierro", "San Fierro Airport \nGolden Gate Bridge \nMt. Chilliad \nCJ's garage \nSan Fierro Stadium \nOcean Flats \nMissionary Hill", "Select", "Back");}
if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+33, DIALOG_STYLE_LIST, "Las Venturas", "Las Venturas Airport \nArea51 \nFour Dragons Casino \nLas Venturas Police Department \nBayside \nBig Jump \nLas Barrancas \nFort Carson \nLas Venturas Stadium \nNorthern Las Venturas \nStarfish Casino", "Select", "Back");}
}
return 1;
}
//=====================
//-----------------
// Teles (Los Santos)
//-----------------
//=====================
if(dialogid == DIALOGID+31)
{
if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");}
if(response)
{
if(listitem == 0){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1642.3022,-2333.6287,13.5469); }
if(listitem == 1){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1511.8770,-1661.2853,13.5469); }
if(listitem == 2){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1382.6194,-888.5532,38.0863); }
if(listitem == 3){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2485.2546,-1684.7223,13.5096); }
if(listitem == 4){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 597.6629,-1241.3900,18.1275); }
if(listitem == 5){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 491.7868,-1823.2258,5.5028); }
if(listitem == 6){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2771.1060,-2417.5828,13.6405); }
if(listitem == 7){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 661.0361,-573.5891,16.3359); }
if(listitem == 8){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2269.6877,-75.0973,26.7724); }
if(listitem == 9){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 198.4328,-252.1696,1.5781); }
if(listitem == 10){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1242.2875,328.5506,19.7555); }
}
return 1;
}
//=====================
//-----------------
// Teles (San Fierro)
//-----------------
//=====================
if(dialogid == DIALOGID+32)
{
if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");}
if(response)
{
if(listitem == 0){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -1422.8820,-287.4992,14.1484); }
if(listitem == 1){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2672.6116,1268.4943,55.9456); }
if(listitem == 2){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2305.6143,-1626.0594,483.7662); }
if(listitem == 3){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2026.2843,156.4974,29.0391); }
if(listitem == 4){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2159.3616,-407.8362,35.3359); }
if(listitem == 5){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2648.7498,14.2868,6.1328); }
if(listitem == 6){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2521.4055,-623.5245,132.7727); }
}
return 1;
}
//=====================
//-----------------
// Teles (Las Venturas)
//-----------------
//=====================
if(dialogid == DIALOGID+33)
{
if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");}
if(response)
{
if(listitem == 0) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1679.3361,1448.6248,10.7744); }
if(listitem == 1) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 95.7283,1920.3488,18.1163); }
if(listitem == 2) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2027.5721,1008.2877,10.8203); }
if(listitem == 3) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2287.0313,2431.0276,10.8203); }
if(listitem == 4) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -2241.4238,2327.4290,4.9844); }
if(listitem == 5) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -670.6358,2306.0559,135.2990); }
if(listitem == 6) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -761.5192,1552.1647,26.9609); }
if(listitem == 7) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -143.5370,1217.8855,19.7352); }
if(listitem == 8) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1099.1533,1384.3300,10.8203); }
if(listitem == 9) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1614.2190,2334.9338,10.8203); }
if(listitem == 10) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2572.6560,1818.1030,10.8203); }
}
return 1;
}
//==============================================================================
//----------------------------
// Weapons Main
//----------------------------
//==============================================================================
if(dialogid == DIALOGID+20)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
}
if(response)
{
if(listitem == 0){ShowPlayerDialog(playerid, DIALOGID+21, DIALOG_STYLE_LIST, "Machine Guns", "Micro SMG \nSMG \nAK47 \nM4 \nTec9", "Select", "Back");}
if(listitem == 1){ShowPlayerDialog(playerid, DIALOGID+22, DIALOG_STYLE_LIST, "Pistols", "9mm \nSilenced 9mm \nDeagle", "Select", "Back");}
if(listitem == 2){ShowPlayerDialog(playerid, DIALOGID+23, DIALOG_STYLE_LIST, "Rifles", "Country Rifle \nSniper Rifle", "Select", "Back");}
if(listitem == 3){ShowPlayerDialog(playerid, DIALOGID+24, DIALOG_STYLE_LIST, "Shotguns", "Shotgun \nSawnoff Shotgun \nCombat Shotgun", "Select", "Back");}
if(listitem == 4){ShowPlayerDialog(playerid, DIALOGID+25, DIALOG_STYLE_LIST, "Heavy Assaults", "Rocket Launcher \nHS Rocket Launcher \nFlamethrower \nMinigun", "Select", "Back");}
if(listitem == 5){ShowPlayerDialog(playerid, DIALOGID+26, DIALOG_STYLE_LIST, "Special", "Camera \nNightvision Goggles \nInfared Vision \nParachute", "Select", "Back");}
if(listitem == 6){ShowPlayerDialog(playerid, DIALOGID+27, DIALOG_STYLE_LIST, "Hand Held", "Spraycan \nFire Extinguisher", "Select", "Back");}
if(listitem == 7){ShowPlayerDialog(playerid, DIALOGID+28, DIALOG_STYLE_LIST, "Melee","Brass Knuckles \nGolf Club \nNite Stick \nKnife \nBaseball Bat \nShovel \nPool Cue \nKatana \nChainsaw \nPurple Dildo \nSmall White Vibrator \nLarge White Vibrator \nSilver Vibrator \nFlowers \nCane", "Select", "Back");}
if(listitem == 8){ShowPlayerDialog(playerid, DIALOGID+29, DIALOG_STYLE_LIST, "Projetile", "Grenade \nTear Gas \nMolotov Cocktail \nSatchel Charge \nDetonator", "Select", "Back");}
}
return 1;
}
//=====================
//-----------------
// Machine Guns
//-----------------
//=====================
if(dialogid == DIALOGID+21)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST,
"Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back");
}
if(response)
{
if(listitem == 0){GivePlayerWeapon(playerid,28, 300);}
if(listitem == 1){GivePlayerWeapon(playerid,29, 300);}
if(listitem == 2){GivePlayerWeapon(playerid,30, 300);}
if(listitem == 3){GivePlayerWeapon(playerid,31, 300);}
if(listitem == 4){GivePlayerWeapon(playerid,32, 300);}
}
return 1;
}
//=====================
//-----------------
// Pistols
//-----------------
//=====================
if(dialogid == DIALOGID+22)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST,
"Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back");
}
if(response)
{
if(listitem == 0){GivePlayerWeapon(playerid,22, 300);}
if(listitem == 1){GivePlayerWeapon(playerid,23, 300);}
if(listitem == 2){GivePlayerWeapon(playerid,24, 300);}
}
return 1;
}
//=====================
//-----------------
// Rifles
//-----------------
//=====================
if(dialogid == DIALOGID+23)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST,
"Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back");
}
if(response)
{
if(listitem == 0){GivePlayerWeapon(playerid,33, 300);}
if(listitem == 1){GivePlayerWeapon(playerid,34, 300);}
}
return 1;
}
//=====================
//-----------------
// Shotguns
//-----------------
//=====================
if(dialogid == DIALOGID+24)
{
if(response == 0)
{
ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST,
"Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back");
}
if(response)
{
if(listitem == 0){GivePlayerWeapon(playerid,25, 300);}
if(listitem == 1){GivePlayerWeapon(playerid,26, 300);}
if(listitem == 2){GivePlayerWeapon(playerid,27, 300);}
}
return 1;
}