Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //|==================================================|
- // mAdmin [Version 1.0] by Matthias aka GTA_Rules. |
- //|==================================================|
- /*
- I take all credits for this, you are not allowed to re-release it without my permission.
- Do NOT remove these credits. You can use it on your server all you want, putting me in the credits is highly appreciated.
- */
- #include <a_samp>
- #include <dini>
- #include <MD5>
- #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_PINK 0xFF66FFAA
- #define COLOR_BLUE 0x0000BBAA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_BLACK 0x000000AA
- #define COLOR_BRIGHTRED 0xFF0000AA
- #define COLOR_GRAD1 0xB4B5B7FF
- forward bool:IsValidWeapon(weaponid);
- forward GodMode();
- enum PlayerData
- {
- Registered,
- LoggedIn,
- AdminLevel,
- Password,
- Kills,
- Deaths,
- PlayerIP
- };
- enum SpecInfo
- {
- IsWatching,
- LastInterior
- };
- new PlayerInfo[MAX_PLAYERS][PlayerData];
- new PlayerState[MAX_PLAYERS][SpecInfo];
- new WrongPassword[MAX_PLAYERS];
- new PlayerIsMuted[MAX_PLAYERS];
- new PlayerIsJailed[MAX_PLAYERS];
- new PlayerInJail1[MAX_PLAYERS];
- new PlayerInJail2[MAX_PLAYERS];
- new PlayerHasGodMode[MAX_PLAYERS];
- new GodTimer;
- new SpawnedVehicle[100];
- new Vehicles = 0;
- new Pickups[200];
- new NumberOfPickups = 0;
- new ServerIsLocked;
- new Menu:tpMenu;
- new Jail1;
- new Jail2;
- // Weapon name credits to Simon's Debug FS
- new aWeaponNames[][32] = {
- {"Unarmed (Fist)"},
- {"Brass Knuckles"},
- {"Golf Club"},
- {"Night Stick"},
- {"Knife"},
- {"Baseball Bat"},
- {"Shovel"},
- {"Pool Cue"},
- {"Katana"},
- {"Chainsaw"},
- {"Purple Dildo"},
- {"Big White Vibrator"},
- {"Medium White Vibrator"},
- {"Small White Vibrator"},
- {"Flowers"},
- {"Cane"},
- {"Grenade"},
- {"Teargas"},
- {"Molotov"},
- {" "},
- {" "},
- {" "},
- {"Colt 45"},
- {"Colt 45 (Silenced)"},
- {"Desert Eagle"},
- {"Normal Shotgun"},
- {"Sawnoff Shotgun"},
- {"Combat Shotgun"},
- {"Micro Uzi (Mac 10)"},
- {"MP5"},
- {"AK47"},
- {"M4"},
- {"Tec9"},
- {"Country Rifle"},
- {"Sniper Rifle"},
- {"Rocket Launcher"},
- {"Heat-Seeking Rocket Launcher"},
- {"Flamethrower"},
- {"Minigun"},
- {"Satchel Charge"},
- {"Detonator"},
- {"Spray Can"},
- {"Fire Extinguisher"},
- {"Camera"},
- {"Night Vision Goggles"},
- {"Infrared Vision Goggles"},
- {"Parachute"},
- {"Fake Pistol"}
- };
- 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"}
- };
- public OnPlayerConnect(playerid)
- {
- new string[256], pName[24], PlayerFile[50], playerIP[256], playerIp[50];
- new year, month, day; getdate(year, month, day);
- new hour, minute, second; gettime(hour, minute, second);
- if(ServerIsLocked == 0)
- {
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerIp(playerid, playerIp, sizeof(playerIp));
- playerIP = dini_Get(PlayerFile, "PlayerIP");
- format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", pName);
- format(string, 256, "* %s (ID: %d) has joined the server.", pName, playerid);
- PlayerInfo[playerid][AdminLevel] = 0;
- PlayerState[playerid][IsWatching] = 0;
- PlayerIsJailed[playerid] = 0;
- SendClientMessageToAll(COLOR_GRAD1, string);
- if(dini_Exists(PlayerFile))
- {
- if(playerIP[50] == playerIp[49])
- {
- SendClientMessage(playerid, COLOR_GREEN, "You have been automatically logged in! Welcome back to the server.");
- PlayerInfo[playerid][Registered] = 1;
- PlayerInfo[playerid][LoggedIn] = 1;
- PlayerInfo[playerid][AdminLevel] = dini_Int(PlayerFile, "AdminLevel");
- PlayerInfo[playerid][Kills] = dini_Int(PlayerFile, "Kills");
- PlayerInfo[playerid][Deaths] = dini_Int(PlayerFile, "Deaths");
- }
- else
- {
- PlayerInfo[playerid][Registered] = 1;
- PlayerInfo[playerid][LoggedIn] = 0;
- SendClientMessage(playerid, COLOR_GREEN," Since you are registered, please use /login to login onto your account.");
- }
- }
- else if(!dini_Exists(PlayerFile))
- {
- PlayerInfo[playerid][Registered] = 0;
- PlayerInfo[playerid][LoggedIn] = 0;
- }
- WrongPassword[playerid] = 0;
- }
- else
- {
- GetPlayerName(playerid, pName, sizeof(pName));
- format(string, 256, "* %s (ID: %d) has joined the server while it was locked and has been kicked.", pName, playerid);
- SendClientMessageToAll(COLOR_GRAD1, string);
- SendClientMessage(playerid, COLOR_GREEN, "The server is locked, sorry!");
- new File:KickFile = fopen("logs/KickLog.txt", io_append);
- format(string, sizeof string, "[%d/%d/%d]-[%d:%d:%d]: %s has been kicked by the server. [Reason: The server is locked]\r\n", year, month, day, hour, minute, second, pName);
- fwrite(KickFile, string);
- fclose(KickFile);
- Kick(playerid);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new PlayerName[24], string[256];
- GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
- switch (reason)
- {
- case 0: { format(string, 256, "* %s (ID: %d) has left the server (Timeout)", PlayerName, playerid); SendClientMessageToAll(COLOR_GRAD1, string); }
- case 1: { format(string, 256, "* %s (ID: %d) has left the server (Leaving)", PlayerName, playerid); SendClientMessageToAll(COLOR_GRAD1, string); }
- case 2: { format(string, 256, "* %s (ID: %d) has left the server (Kicked)", PlayerName, playerid); SendClientMessageToAll(COLOR_GRAD1, string); }
- }
- return 1;
- }
- public OnFilterScriptInit()
- {
- new year, month, day; getdate(year, month, day);
- new hour, minute, second; gettime(hour, minute, second);
- if(fexist("users/"))
- {
- printf("==================================================");
- printf("| Loaded on: %d/%d/%d at %d:%d:%d |", year, month, day, hour, minute, second);
- printf("==================================================");
- printf("| mAdmin [V 1.0] by Matthias has been loaded. |");
- printf("==================================================");
- }
- if(!fexist("users/"))
- {
- printf("==================================================");
- printf("| Attempting to load on: %d/%d/%d at %d:%d:%d |", year, month, day, hour, minute, second);
- printf("==================================================");
- printf("* Folder 'users' not found in scriptfiles.");
- printf("* Unload the filterscript and create the folder 'users' in scriptfiles.");
- }
- if(!fexist("logs/"))
- {
- printf("==================================================");
- printf("| Attempting to load on: %d/%d/%d at %d:%d:%d |", year, month, day, hour, minute, second);
- printf("==================================================");
- printf("* Folder 'logs' not found in scriptfiles.");
- printf("* Unload the filterscript and create the folder 'logs' in scriptfiles.");
- }
- Jail1 = 0;
- Jail2 = 0;
- Vehicles = 0;
- NumberOfPickups = 0;
- ServerIsLocked = 0;
- GodTimer = SetTimer("GodMode",50,1);
- tpMenu = CreateMenu("Teleport menu", 1, 200.0, 100.0, 150.0, 150.0);
- AddMenuItem(tpMenu, 0, "Los Santos");
- AddMenuItem(tpMenu, 0, "San Fierro");
- AddMenuItem(tpMenu, 0, "Las Venturas");
- return 1;
- }
- public OnFilterScriptExit()
- {
- new year, month, day; getdate(year, month, day);
- new hour, minute, second; gettime(hour, minute, second);
- printf("==================================================");
- printf("| Unloaded on: %d/%d/%d at %d:%d:%d |", year, month, day, hour, minute, second);
- printf("==================================================");
- printf("| mAdmin [V 1.0] by Matthias has been unloaded. |");
- printf("==================================================");
- KillTimer(GodTimer);
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(PlayerIsMuted[playerid] == 1)
- {
- SendClientMessage(playerid, COLOR_BRIGHTRED, "You are muted and cannot talk.");
- return false;
- }
- if(text[0] == '@')
- {
- new string[256], pName[24];
- if(PlayerInfo[playerid][AdminLevel] > 0)
- {
- GetPlayerName(playerid,pName,sizeof(pName));
- format(string, sizeof(string), "Admin Chat: %s: %s", pName, text[1]);
- SendModMsg(COLOR_YELLOW, string);
- }
- return 0;
- }
- if(text[0] == '#')
- {
- new string[256], pName[24];
- if(PlayerInfo[playerid][AdminLevel] > 2)
- {
- GetPlayerName(playerid,pName,sizeof(pName));
- format(string, sizeof(string), "Pro-Admin Chat: %s: %s", pName, text[1]);
- SendModMsg(COLOR_YELLOW, string);
- }
- return 0;
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- new pName[24], KillerFile[50], PlayerFile[50], kName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(killerid, kName, sizeof(kName));
- format(KillerFile, sizeof(KillerFile), "/users/%s.ini", kName);
- format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", pName);
- if(killerid == INVALID_PLAYER_ID)
- {
- SendDeathMessage(INVALID_PLAYER_ID, playerid, reason);
- PlayerInfo[playerid][Deaths]++;
- dini_IntSet(PlayerFile, "Deaths", PlayerInfo[playerid][Deaths]);
- }
- else
- {
- SendDeathMessage(killerid, playerid, reason);
- PlayerInfo[killerid][Kills]++;
- PlayerInfo[playerid][Deaths]++;
- dini_IntSet(PlayerFile, "Deaths", PlayerInfo[playerid][Deaths]);
- dini_IntSet(KillerFile, "Kills", PlayerInfo[killerid][Kills]);
- }
- return 1;
- }
- public OnPlayerPrivmsg(playerid, recieverid, text[])
- {
- new RecieverName[24], pName[24], str[256];
- GetPlayerName(recieverid, RecieverName, sizeof(RecieverName));
- GetPlayerName(playerid, pName, sizeof(pName));
- format(str, sizeof(str), "* PM from %s (ID: %d) to %s (ID: %d): %s", pName, playerid, RecieverName, recieverid, text);
- SendModMsg(COLOR_LIGHTBLUE, str);
- return 1;
- }
- public GodMode()
- {
- for (new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && PlayerHasGodMode[i] == 1)
- {
- SetPlayerHealth(i, 250);
- SetPlayerArmour(i, 250);
- }
- }
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- TogglePlayerControllable(playerid,1);
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- new Menu:PlayerMenu = GetPlayerMenu(playerid);
- if(PlayerMenu == tpMenu)
- {
- new string[128], pName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- switch(row)
- {
- case 0:
- {
- SetPlayerPos(playerid,1979.0,-2241.0,13.0);
- SetPlayerInterior(playerid, 0);
- TogglePlayerControllable(playerid, 1);
- HideMenuForPlayer(tpMenu, playerid);
- format(string, sizeof(string), "Mod Message: %s (ID: %d) has been teleported to Los Santos.", pName, playerid);
- }
- case 1:
- {
- SetPlayerPos(playerid,-1990.0,137.0,27.0);
- SetPlayerInterior(playerid, 0);
- TogglePlayerControllable(playerid, 1);
- HideMenuForPlayer(tpMenu, playerid);
- format(string, sizeof(string), "Mod Message: %s (ID: %d) has been teleported to San Fierro.", pName, playerid);
- }
- case 2:
- {
- SetPlayerPos(playerid,2037.0,1343.0,12.0);
- SetPlayerInterior(playerid, 0);
- TogglePlayerControllable(playerid, 1);
- HideMenuForPlayer(tpMenu, playerid);
- format(string, sizeof(string), "Mod Message: %s (ID: %d) has been teleported to Las Venturas.", pName, playerid);
- }
- }
- SendModMsg(COLOR_WHITE, string);
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256], idx;
- cmd = strtok(cmdtext, idx);
- if(PlayerInfo[playerid][LoggedIn] == 0 && PlayerInfo[playerid][Registered] == 1)
- {
- if (strcmp( cmd, "/login", true) != 0)
- {
- SendClientMessage(playerid,COLOR_BRIGHTRED,"* You cannot use commands when you aren't logged in! Please use /login to login onto your account.");
- return true;
- }
- }
- if(PlayerInfo[playerid][Registered] == 0 && PlayerInfo[playerid][LoggedIn] == 0)
- {
- if (strcmp( cmd, "/register", true) != 0)
- {
- SendClientMessage(playerid,COLOR_BRIGHTRED,"* You cannot use commands because you aren't registered! Please use /register to create an account.");
- return true;
- }
- }
- if(PlayerInfo[playerid][AdminLevel] != 3 && PlayerIsJailed[playerid] == 1) return SendClientMessage(playerid, COLOR_GREEN, "You can't use commands since you are jailed.");
- dcmd(tp, 2, cmdtext);
- dcmd(vr, 2, cmdtext);
- dcmd(up, 2, cmdtext);
- dcmd(fix, 3, cmdtext);
- dcmd(ban, 3, cmdtext);
- dcmd(gmx, 3, cmdtext);
- dcmd(nos, 3, cmdtext);
- dcmd(god, 3, cmdtext);
- dcmd(spec, 4, cmdtext);
- dcmd(kill, 4, cmdtext);
- dcmd(nuke, 4, cmdtext);
- dcmd(kick, 4, cmdtext);
- dcmd(jail, 4, cmdtext);
- dcmd(mute, 4, cmdtext);
- dcmd(flip, 4, cmdtext);
- dcmd(cmds, 4, cmdtext);
- dcmd(crash, 5, cmdtext);
- dcmd(clear, 5, cmdtext);
- dcmd(ungod, 5, cmdtext);
- dcmd(spawn, 5, cmdtext);
- dcmd(acmds, 5, cmdtext);
- dcmd(kill2, 5, cmdtext);
- dcmd(login, 5, cmdtext);
- dcmd(unban, 5, cmdtext);
- dcmd(fetch, 5, cmdtext);
- dcmd(banip, 5, cmdtext);
- dcmd(tpmenu, 6, cmdtext);
- dcmd(report, 6, cmdtext);
- dcmd(refill, 6, cmdtext);
- dcmd(unjail, 6, cmdtext);
- dcmd(loadfs, 6, cmdtext);
- dcmd(create, 6, cmdtext);
- dcmd(unmute, 6, cmdtext);
- dcmd(kickall, 7, cmdtext);
- dcmd(nukeall, 7, cmdtext);
- dcmd(vcolour, 7, cmdtext);
- dcmd(forward, 7, cmdtext);
- dcmd(destroy, 7, cmdtext);
- dcmd(specoff, 7, cmdtext);
- dcmd(respawn, 7, cmdtext);
- dcmd(unbanip, 7, cmdtext);
- dcmd(mystats, 7, cmdtext);
- dcmd(tempmod, 7, cmdtext);
- dcmd(tempman, 7, cmdtext);
- dcmd(setlevel, 8, cmdtext);
- dcmd(register, 8, cmdtext);
- dcmd(announce, 8, cmdtext);
- dcmd(unloadfs, 8, cmdtext);
- dcmd(reloadfs, 8, cmdtext);
- dcmd(givecash, 8, cmdtext);
- dcmd(announce2, 9, cmdtext);
- dcmd(tempadmin, 9, cmdtext);
- dcmd(sethealth, 9, cmdtext);
- dcmd(setarmour, 9, cmdtext);
- dcmd(giveweapon, 10, cmdtext);
- dcmd(lockserver, 10, cmdtext);
- dcmd(makemeadmin, 11, cmdtext);
- dcmd(unlockserver, 12, cmdtext);
- return 0;
- }
- // ******************************************************** //
- // General commands //
- // ******************************************************** //
- dcmd_kill(playerid, params[])
- {
- SetPlayerHealth(playerid, 0 );
- #pragma unused params
- return 1;
- }
- dcmd_register(playerid, params[])
- {
- new pName[24], PlayerFile[50], plrIP[50];
- GetPlayerName(playerid, pName, sizeof(pName));
- format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", pName);
- GetPlayerIp(playerid, plrIP, sizeof(plrIP));
- if(dini_Exists(PlayerFile))
- {
- SendClientMessage(playerid, COLOR_BRIGHTRED, "You have already registered! Please use /login to login or choose another nickname.");
- }
- if(!dini_Exists(PlayerFile))
- {
- if (!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /register [password]");
- dini_Create(PlayerFile);
- dini_Set(PlayerFile, "Password", MD5_Hash(params));
- dini_Set(PlayerFile, "PlayerIP", plrIP);
- dini_IntSet(PlayerFile, "AdminLevel", 0);
- dini_IntSet(PlayerFile, "Deaths", 0);
- dini_IntSet(PlayerFile, "Kills", 0);
- SendClientMessage(playerid, COLOR_GREEN, "You have succesfully registered, you have been automatically logged in.");
- PlayerInfo[playerid][Registered] = 1;
- PlayerInfo[playerid][LoggedIn] = 1;
- }
- return 1;
- }
- dcmd_login(playerid, params[])
- {
- new pName[24], PlayerFile[50], Pass[256], plrIP[50];
- GetPlayerName(playerid, pName, sizeof(pName));
- format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", pName);
- if(PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You are already logged in!");
- if(PlayerInfo[playerid][Registered] == 0) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not registered! Use /register to register.");
- if(sscanf(params, "s", Pass)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /login [password]");
- Pass = dini_Get(PlayerFile, "Password");
- if(!strcmp(MD5_Hash(params), Pass, true))
- {
- GetPlayerIp(playerid, plrIP, sizeof(plrIP));
- dini_Set(PlayerFile, "PlayerIP", plrIP);
- SendClientMessage(playerid, COLOR_GREEN, "You have been succesfully logged in");
- PlayerInfo[playerid][LoggedIn] = 1;
- PlayerInfo[playerid][AdminLevel] = dini_Int(PlayerFile, "AdminLevel");
- PlayerInfo[playerid][Kills] = dini_Int(PlayerFile, "Kills");
- PlayerInfo[playerid][Deaths] = dini_Int(PlayerFile, "Deaths");
- }
- else
- {
- new str[256];
- WrongPassword[playerid]++;
- if(WrongPassword[playerid] >= 3)
- {
- new year, month, day; getdate(year, month, day);
- new hour, minute, second; gettime(hour, minute, second);
- new str2[256], string[256];
- format(str2, sizeof(str2), "* %s has been kicked: Failed to login.", pName);
- SendClientMessageToAll(COLOR_BRIGHTRED, str2);
- Kick(playerid);
- new File:KickFile = fopen("KickLog.txt", io_append);
- format(string, sizeof string, "[%d/%d/%d]-[%d:%d:%d]: %s has been kicked by the server. [Reason: Entered an invalid password 3 times]\r\n", year, month, day, hour, minute, second, pName);
- fwrite(KickFile, string);
- fclose(KickFile);
- }
- format(str, sizeof(str), "Invalid password. %d/3 tries left.", WrongPassword[playerid]);
- SendClientMessage(playerid, COLOR_BRIGHTRED, str);
- }
- return 1;
- }
- dcmd_nos(playerid, params[])
- {
- new pName[24], string[128];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You have to be in a vehicle to use this command!");
- new Model = GetVehicleModel(GetPlayerVehicleID(playerid));
- switch(Model)
- {
- case 581,523,462,521,463,522,461,448,468,586,509,481,510,472,473,493,595,484,430,453,452,446,454,590,569,537,538,570,449: return SendClientMessage(playerid, COLOR_BRIGHTRED, "You can't add nos to this vehicle!");
- }
- AddVehicleComponent(GetPlayerVehicleID(playerid),1010);
- format(string, sizeof(string), "Mod Message: %s (ID: %d) has added nos to his/her vehicle.", pName, playerid);
- SendModMsg(COLOR_WHITE, string);
- #pragma unused params
- return 1;
- }
- dcmd_report(playerid, params[])
- {
- new year, month, day; getdate(year, month, day);
- new hour, minute, second; gettime(hour, minute, second);
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128], Reason[128], string[256];
- if(sscanf(params, "ds", ReturnPlayer, Reason)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /report [playerid] [reason]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SendClientMessage(playerid, COLOR_GREEN, "Your report has been sent to the current online moderators and administrators");
- format(str, sizeof(str), "* Report: %s (ID: %d) has reported %s (ID: %d) for %s", pName, playerid, ReturnUserName, ReturnPlayer, Reason);
- SendModMsg(COLOR_YELLOW, str);
- new File:ReportFile = fopen("logs/ReportLog.txt", io_append);
- format(string, sizeof string, "[%d/%d/%d]-[%d:%d:%d]: %s has been reported by %s. [Reason: %s]\r\n", year, month, day, hour, minute, second, ReturnUserName, pName, Reason);
- fwrite(ReportFile, string);
- fclose(ReportFile);
- return 1;
- }
- dcmd_cmds(playerid, params[])
- {
- SendClientMessage(playerid, COLOR_YELLOW, "Commands:");
- SendClientMessage(playerid, COLOR_GREEN, "/register, /login, /mystats, /report, /nos");
- #pragma unused params
- return 1;
- }
- dcmd_mystats(playerid, params[])
- {
- new pName[24], PlayerFile[50], str[128], pDeaths[50], pKills[50];
- GetPlayerName(playerid, pName, sizeof(pName));
- format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", pName);
- if(!dini_Exists(PlayerFile)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You aren't registered! Use /register to create an account.");
- if(dini_Exists(PlayerFile))
- {
- pDeaths[24] = dini_Int(PlayerFile, "Deaths");
- pKills[24] = dini_Int(PlayerFile, "Kills");
- new Float:Ratio=floatdiv(pKills[24], pDeaths[24]);
- format(str, sizeof(str), "You have died %d times and killed somebody %d times. That makes your ratio %.2f .", pDeaths[24], pKills[24], Ratio);
- SendClientMessage(playerid, COLOR_WHITE, str);
- if(PlayerInfo[playerid][AdminLevel] == 0)
- {
- SendClientMessage(playerid, COLOR_WHITE, "You are a player on the server.");
- }
- if(PlayerInfo[playerid][AdminLevel] == 1)
- {
- SendClientMessage(playerid, COLOR_WHITE, "You are a moderator on the server.");
- }
- if(PlayerInfo[playerid][AdminLevel] == 2)
- {
- SendClientMessage(playerid, COLOR_WHITE, "You are an administrator on the server.");
- }
- if(PlayerInfo[playerid][AdminLevel] == 3)
- {
- SendClientMessage(playerid, COLOR_WHITE, "You are a management member on the server.");
- }
- }
- #pragma unused params
- return 1;
- }
- // ******************************************************** //
- // Management commands //
- // ******************************************************** //
- dcmd_up(playerid, params[])
- {
- new string[128], pName[24], Float:X, Float:Y, Float:Z, Ammount;
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerPos(playerid, X, Y, Z);
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(sscanf(params, "d", Ammount)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /up [ammount]");
- SetPlayerPos(playerid, X, Y, Z + Ammount);
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has used /up.", pName, playerid);
- SendProAdminMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_forward(playerid, params[])
- {
- new string[128], pName[24], Float:X, Float:Y, Float:Z, Ammount;
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerPos(playerid, X, Y, Z);
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(sscanf(params, "d", Ammount)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /forward [ammount]");
- GetXYInFrontOfPlayer(playerid, X, Y, Ammount);
- SetPlayerPos(playerid, X, Y, Z);
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has used /forward.", pName, playerid);
- SendProAdminMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_create(playerid, params[])
- {
- new string[128], pName[24], Float:X, Float:Y, Float:Z;
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerPos(playerid, X, Y, Z);
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /create [health/armour/jetpack/pill]");
- if (strcmp(params, "health", true) == 0)
- {
- Pickups[NumberOfPickups++] = CreatePickup( 1240, 2, X+1, Y+1, Z);
- SendClientMessage(playerid, COLOR_GREEN, "You have created a health pickup on your location.");
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has created a health pickup.", pName, playerid);
- }
- else if (strcmp(params, "armour", true) == 0)
- {
- Pickups[NumberOfPickups++] = CreatePickup( 1242, 2, X+1, Y+1, Z);
- SendClientMessage(playerid, COLOR_GREEN, "You have created an armour pickup on your location.");
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has created an armour pickup.", pName, playerid);
- }
- else if (strcmp(params, "jetpack", true) == 0)
- {
- Pickups[NumberOfPickups++] = CreatePickup(370, 2, X+1, Y+1, Z);
- SendClientMessage(playerid, COLOR_GREEN, "You have created a jetpack on your location.");
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has created a jetpack.", pName, playerid);
- }
- else if (strcmp(params, "pill", true) == 0)
- {
- Pickups[NumberOfPickups++] = CreatePickup( 1241, 2, X+1, Y+1, Z);
- SendClientMessage(playerid, COLOR_GREEN, "You have created a pill on your location.");
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has created a pill.", pName, playerid);
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "Usage: /create [health/armour/jetpack/pill]");
- SendProAdminMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_destroy(playerid, params[])
- {
- new string[128], pName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /destroy [vehicles/pickups]");
- if (strcmp(params, "vehicles", true) == 0)
- {
- for(new i=0; i < Vehicles; i++)
- {
- DestroyVehicle(SpawnedVehicle[i]);
- }
- Vehicles = 0;
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has destroyed all dynamically created vehicles.", pName, playerid);
- }
- else if (strcmp(params, "pickups", true) == 0)
- {
- for(new i=0; i < NumberOfPickups; i++)
- {
- DestroyPickup(Pickups[i]);
- }
- NumberOfPickups = 0;
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has destroyed all dynamically created pickups.", pName, playerid);
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "Usage: /destroy [vehicles/pickups]");
- SendProAdminMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_gmx(playerid, params[])
- {
- new string[128], pName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) restarted the server.", pName, playerid);
- SendProAdminMsg(COLOR_WHITE, string);
- SendRconCommand("gmx");
- #pragma unused params
- return 1;
- }
- dcmd_loadfs(playerid, params[])
- {
- new string[128], pName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /loadfs [filterscript]");
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has loaded filterscript: %s.amx", pName, playerid, params);
- SendProAdminMsg(COLOR_WHITE, string);
- format(string, sizeof(string), "loadfs %s", params);
- SendRconCommand(string);
- #pragma unused params
- return 1;
- }
- dcmd_unloadfs(playerid, params[])
- {
- new string[128], pName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /unloadfs [filterscript]");
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has unloaded filterscript: %s.amx", pName, playerid, params);
- SendProAdminMsg(COLOR_WHITE, string);
- format(string, sizeof(string), "unloadfs %s", params);
- SendRconCommand(string);
- #pragma unused params
- return 1;
- }
- dcmd_reloadfs(playerid, params[])
- {
- new string[128], pName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /reloadfs [filterscript]");
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has reloaded filterscript: %s.amx", pName, playerid, params);
- SendProAdminMsg(COLOR_WHITE, string);
- format(string, sizeof(string), "reloadfs %s", params);
- SendRconCommand(string);
- #pragma unused params
- return 1;
- }
- dcmd_makemeadmin(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return false;
- new pName[24], PlayerFile[50];
- GetPlayerName(playerid, pName, sizeof(pName));
- format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", pName);
- if(!dini_Exists(PlayerFile)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You have to register first! (/register)");
- PlayerInfo[playerid][AdminLevel] = 3;
- SendClientMessage(playerid, COLOR_GREEN, "You have granted yourself management rights!");
- dini_IntSet(PlayerFile, "AdminLevel", 3);
- #pragma unused params
- return 1;
- }
- dcmd_lockserver(playerid, params[])
- {
- new string[128], pName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(ServerIsLocked == 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "The server is locked already!");
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has locked the server.", pName, playerid, params);
- SendProAdminMsg(COLOR_WHITE, string);
- SendClientMessageToAll(COLOR_GREEN, "Notice: The server has been locked.");
- ServerIsLocked = true;
- return 1;
- }
- dcmd_unlockserver(playerid, params[])
- {
- new string[128], pName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(ServerIsLocked == 0) return SendClientMessage(playerid, COLOR_BRIGHTRED, "The server isn't locked!");
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has unlocked the server.", pName, playerid, params);
- SendProAdminMsg(COLOR_WHITE, string);
- SendClientMessageToAll(COLOR_GREEN, "Notice: The server has been unlocked.");
- ServerIsLocked = false;
- return 1;
- }
- dcmd_crash(playerid, params[])
- {
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- new ReturnPlayer, pName[24], ReturnUserName[24], string[256];
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /crash [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- new tempObject = CreatePlayerObject(ReturnPlayer, 111111, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
- DestroyPlayerObject(ReturnPlayer, tempObject);
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has crashed %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_nukeall(playerid, params[])
- {
- new pName[24], string[256], Float:X, Float:Y, Float:Z;
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- for(new i=0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- GetPlayerPos(i, X, Y, Z);
- CreateExplosion(X, Y, Z+1, 7, 10.0);
- CreateExplosion(X+1, Y, Z, 7, 10.0);
- CreateExplosion(X, Y+1, Z, 7, 10.0);
- CreateExplosion(X+1, Y, Z, 7, 10.0);
- }
- }
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has nuked everyone in the server.", pName, playerid);
- SendProAdminMsg(COLOR_WHITE, string);
- #pragma unused params
- return 1;
- }
- dcmd_kickall(playerid, params[])
- {
- new year, month, day; getdate(year, month, day);
- new hour, minute, second; gettime(hour, minute, second);
- new pName[24], string[256];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- format(string, sizeof(string), "Pro-Admin Message: %s (ID: %d) has kicked everyone off the server.", pName, playerid);
- SendProAdminMsg(COLOR_WHITE, string);
- SendClientMessageToAll(COLOR_GREEN, "Notice: Everybody has been kicked off the server by a management member.");
- for(new i=0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- Kick(i);
- }
- }
- new File:KickFile = fopen("logs/KickLog.txt", io_append);
- format(string, sizeof string, "[%d/%d/%d]-[%d:%d:%d]: Everyone has been kicked by %s. [Used /kickall]\r\n", year, month, day, hour, minute, second, pName);
- fwrite(KickFile, string);
- fclose(KickFile);
- #pragma unused params
- return 1;
- }
- dcmd_tempman(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128];
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /tempman [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(PlayerInfo[ReturnPlayer][AdminLevel] == 3) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player is a crew member already!");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- PlayerInfo[ReturnPlayer][AdminLevel] = 2;
- SendClientMessage(ReturnPlayer, COLOR_GREEN, "An administrator has given you temporary management rights.");
- format(str, sizeof(str), "You have granted %s (ID: %d) temporary management rights.", ReturnUserName, ReturnPlayer);
- SendClientMessage(playerid, COLOR_GREEN, str);
- format(str, sizeof(str), "Pro-Admin Message: %s (ID: %d) has granted %s (ID: %d) temporary management rights.", pName, playerid, ReturnUserName, ReturnPlayer);
- SendAdminMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_setlevel(playerid, params[])
- {
- new Level, Player, pName[24], pName2[24], str[128], PlayerFile[50], AdminMsg[128];
- if(PlayerInfo[playerid][AdminLevel] < 3) return false;
- if(sscanf(params, "dd", Player, Level)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /setlevel [playerid] [level]");
- GetPlayerName(Player, pName, sizeof(pName));
- GetPlayerName(playerid, pName2, sizeof(pName2));
- format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", pName);
- if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(Level > 3 || Level < 0) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid level! Valid levels: [ 0 - 3]");
- if(!dini_Exists(PlayerFile)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player isn't registered!");
- if(PlayerInfo[Player][AdminLevel] == Level) return SendClientMessage(playerid, COLOR_BRIGHTRED, "ERROR: That player is that level already!");
- if(Level == 0)
- {
- format(AdminMsg, sizeof(AdminMsg), "Pro-Admin Message: %s (ID: %d) has been demoted to a player by %s (ID: %d).", pName, Player, pName2, playerid);
- SendProAdminMsg(COLOR_WHITE, AdminMsg);
- format(str, sizeof(str), "You have demoted %s to a player.", pName);
- SendClientMessage(playerid, COLOR_GREEN, str);
- SendClientMessage(Player, COLOR_GREEN, "You have been demoted to a player.");
- PlayerInfo[Player][AdminLevel] = 0;
- dini_IntSet(PlayerFile, "AdminLevel", 0);
- }
- if(Level == 1)
- {
- if(PlayerInfo[Player][AdminLevel] > 1)
- {
- format(AdminMsg, sizeof(AdminMsg), "Pro-Admin Message: %s (ID: %d) has been demoted to a moderator by %s (ID: %d).", pName, Player, pName2, playerid);
- SendProAdminMsg(COLOR_WHITE, AdminMsg);
- format(str, sizeof(str), "You have demoted %s to a moderator.", pName);
- SendClientMessage(playerid, COLOR_GREEN, str);
- SendClientMessage(Player, COLOR_GREEN, "You have been demoted to a moderator.");
- PlayerInfo[Player][AdminLevel] = 1;
- dini_IntSet(PlayerFile, "AdminLevel", 1);
- }
- if(PlayerInfo[Player][AdminLevel] < 1)
- {
- format(AdminMsg, sizeof(AdminMsg), "Pro-Admin Message: %s (ID: %d) has been promoted to a moderator by %s (ID: %d).", pName, Player, pName2, playerid);
- SendProAdminMsg(COLOR_WHITE, AdminMsg);
- format(str, sizeof(str), "You have promoted %s to a moderator.", pName);
- SendClientMessage(playerid, COLOR_GREEN, str);
- SendClientMessage(Player, COLOR_GREEN, "You have been promoted to a moderator.");
- PlayerInfo[Player][AdminLevel] = 1;
- dini_IntSet(PlayerFile, "AdminLevel", 1);
- }
- }
- if(Level == 2)
- {
- if(PlayerInfo[Player][AdminLevel] > 2)
- {
- format(AdminMsg, sizeof(AdminMsg), "Pro-Admin Message: %s (ID: %d) has been demoted to an administrator by %s (ID: %d).",pName, Player, pName2, playerid);
- SendProAdminMsg(COLOR_WHITE, AdminMsg);
- format(str, sizeof(str), "You have demoted %s to an administrator.", pName);
- SendClientMessage(playerid, COLOR_GREEN, str);
- SendClientMessage(Player, COLOR_GREEN, "You have been demoted to an administrator.");
- PlayerInfo[Player][AdminLevel] = 2;
- dini_IntSet(PlayerFile, "AdminLevel", 2);
- }
- if(PlayerInfo[Player][AdminLevel] < 2)
- {
- format(AdminMsg, sizeof(AdminMsg), "Pro-Admin Message: %s (ID: %d) has been promoted to an administrator by %s (ID: %d).", pName, Player, pName2, playerid);
- SendProAdminMsg(COLOR_WHITE, AdminMsg);
- format(str, sizeof(str), "You have promoted %s to an administrator.", pName);
- SendClientMessage(playerid, COLOR_GREEN, str);
- SendClientMessage(Player, COLOR_GREEN, "You have been promoted to an administrator.");
- PlayerInfo[Player][AdminLevel] = 2;
- dini_IntSet(PlayerFile, "AdminLevel", 2);
- }
- }
- if(Level == 3)
- {
- format(AdminMsg, sizeof(AdminMsg), "Pro-Admin Message: %s has been promoted to a management member by %s.", pName, Player, pName2, playerid);
- SendProAdminMsg(COLOR_WHITE, AdminMsg);
- format(str, sizeof(str), "You have promoted %s to a management member.", pName);
- SendClientMessage(playerid, COLOR_GREEN, str);
- SendClientMessage(Player, COLOR_GREEN, "You have been promoted to a management member.");
- PlayerInfo[Player][AdminLevel] = 3;
- dini_IntSet(PlayerFile, "AdminLevel", 3);
- }
- return 1;
- }
- // ******************************************************** //
- // Administrator commands //
- // ******************************************************** //
- dcmd_god(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], string[256];
- if(PlayerInfo[playerid][AdminLevel] < 2) return false;
- if(sscanf(params, "d", ReturnPlayer))
- {
- GetPlayerName(playerid, pName, sizeof(pName));
- SetPlayerHealth(playerid, 100);
- SetPlayerArmour(playerid, 100);
- PlayerHasGodMode[playerid] = 1;
- format(string, sizeof string, "Admin Message: %s (ID: %d) has activated his/her godmode.", pName, playerid);
- SendModMsg(COLOR_WHITE, string);
- }
- else
- {
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SetPlayerHealth(ReturnPlayer, 100);
- SetPlayerArmour(ReturnPlayer, 100);
- PlayerHasGodMode[ReturnPlayer] = 1;
- format(string, sizeof string, "Admin Message: %s (ID: %d) has activated %s (ID: %d) his/her godmode.", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, string);
- }
- return 1;
- }
- dcmd_ungod(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], string[256];
- if(PlayerInfo[playerid][AdminLevel] < 2) return false;
- if(sscanf(params, "d", ReturnPlayer))
- {
- GetPlayerName(playerid, pName, sizeof(pName));
- SetPlayerHealth(playerid, 100);
- SetPlayerArmour(playerid, 100);
- PlayerHasGodMode[playerid] = 0;
- format(string, sizeof string, "Admin Message: %s (ID: %d) has de-activated his/her godmode.", pName, playerid);
- SendModMsg(COLOR_WHITE, string);
- }
- else
- {
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SetPlayerHealth(ReturnPlayer, 100);
- SetPlayerArmour(ReturnPlayer, 100);
- PlayerHasGodMode[ReturnPlayer] = 0;
- format(string, sizeof string, "Admin Message: %s (ID: %d) has de-activated %s (ID: %d) his/her godmode.", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, string);
- }
- return 1;
- }
- dcmd_banip(playerid, params[])
- {
- new pName[24], string[256];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- GetPlayerName(playerid, pName, sizeof(pName));
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /banip [playerip]");
- format(string, sizeof string, "banip %s", params);
- SendRconCommand(string);
- SendRconCommand("reloadbans");
- format(string, sizeof string, "Admin Message: %s (ID: %d) has banned the IP: %s.", pName, playerid, params);
- SendAdminMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_tempadmin(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128];
- if(PlayerInfo[playerid][AdminLevel] < 2) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /tempadmin [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(PlayerInfo[ReturnPlayer][AdminLevel] >= 2) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player is a crew member already!");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- PlayerInfo[ReturnPlayer][AdminLevel] = 2;
- SendClientMessage(ReturnPlayer, COLOR_GREEN, "An administrator has given you temporary administrator rights.");
- format(str, sizeof(str), "You have granted %s (ID: %d) temporary administrator rights.", ReturnUserName, ReturnPlayer);
- SendClientMessage(playerid, COLOR_GREEN, str);
- format(str, sizeof(str), "Admin Message: %s (ID: %d) has granted %s (ID: %d) temporary administrator rights.", pName, playerid, ReturnUserName, ReturnPlayer);
- SendAdminMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_tempmod(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128];
- if(PlayerInfo[playerid][AdminLevel] < 2) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /tempmod [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(PlayerInfo[ReturnPlayer][AdminLevel] >= 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player is a crew member already!");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- PlayerInfo[ReturnPlayer][AdminLevel] = 1;
- SendClientMessage(ReturnPlayer, COLOR_GREEN, "An administrator has given you temporary moderator rights.");
- format(str, sizeof(str), "You have granted %s (ID: %d) temporary moderator rights.", ReturnUserName, ReturnPlayer);
- SendClientMessage(playerid, COLOR_GREEN, str);
- format(str, sizeof(str), "Admin Message: %s (ID: %d) has granted %s (ID: %d) temporary moderator rights.", pName, playerid, ReturnUserName, ReturnPlayer);
- SendAdminMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_giveweapon(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128], Weapon, Ammo;
- if(PlayerInfo[playerid][AdminLevel] < 2) return false;
- if(sscanf(params, "ddd", ReturnPlayer, Weapon, Ammo)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /giveweapon [playerid] [Weapon ID] [Ammo]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(!IsValidWeapon(Weapon)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid Weapon ID.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- GivePlayerWeapon(ReturnPlayer, Weapon, Ammo);
- format(str, sizeof(str), "Admin Message: %s (ID: %d) has given %s (ID: %d) a %s (Weapon ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer, aWeaponNames[Weapon], Weapon);
- SendAdminMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_givecash(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128], Cash;
- if(PlayerInfo[playerid][AdminLevel] < 2) return false;
- if(sscanf(params, "dd", ReturnPlayer, Cash)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /givecash [playerid] [ammount]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- GivePlayerMoney(ReturnPlayer, Cash);
- format(str, sizeof(str), "Admin Message: %s (ID: %d) has given %s (ID: %d) $%d.", pName, playerid, ReturnUserName, ReturnPlayer, Cash);
- SendAdminMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_nuke(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128], Float:X, Float:Y, Float:Z;
- if(PlayerInfo[playerid][AdminLevel] < 2) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /nuke [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- GetPlayerPos(ReturnPlayer, X, Y, Z);
- CreateExplosion(X, Y, Z+1, 7, 10.0);
- CreateExplosion(X+1, Y, Z, 7, 10.0);
- CreateExplosion(X, Y+1, Z, 7, 10.0);
- CreateExplosion(X+1, Y, Z, 7, 10.0);
- format(str, sizeof(str), "Admin Message: %s (ID: %d) has nuked %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
- SendAdminMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_sethealth(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128], Health;
- if(PlayerInfo[playerid][AdminLevel] < 2) return false;
- if(sscanf(params, "dd", ReturnPlayer, Health)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /sethealth [playerid] [1 - 100]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(Health < 0 || Health > 100) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You can only use 1 - 100");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SetPlayerHealth(ReturnPlayer, Health);
- format(str, sizeof(str), "Admin Message: %s (ID: %d) has set %s (ID: %d) his/her health to %d.", pName, playerid, ReturnUserName, ReturnPlayer, Health);
- SendAdminMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_setarmour(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128], Armour;
- if(PlayerInfo[playerid][AdminLevel] < 2) return false;
- if(sscanf(params, "dd", ReturnPlayer, Armour)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /setarmour [playerid] [1 - 100]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(Armour < 0 || Armour > 100) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You can only use 1 - 100");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SetPlayerArmour(ReturnPlayer, Armour);
- format(str, sizeof(str), "Admin Message: %s (ID: %d) has set %s (ID: %d) his/her armour to %d.", pName, playerid, ReturnUserName, ReturnPlayer, Armour);
- SendAdminMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_fetch(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], string[256], Float:X, Float:Y, Float:Z;
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /fetch [playerid]");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- if(playerid == ReturnPlayer) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot fetch yourself, silly!");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerPos(playerid, X, Y, Z);
- SetPlayerPos(ReturnPlayer, X+1, Y+1, Z);
- format(string, sizeof string, "Admin Message: %s (ID: %d) has fetched %s (ID: %d) to his/her location.", pName, playerid, ReturnUserName, ReturnPlayer);
- SendAdminMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_clear(playerid, params[])
- {
- if(PlayerInfo[playerid][AdminLevel] < 2) return false;
- for(new i=0; i<30; i++)
- {
- SendClientMessageToAll(COLOR_BRIGHTRED, " ");
- }
- #pragma unused params
- return 1;
- }
- // ******************************************************** //
- // Moderator commands //
- // ******************************************************** //
- dcmd_announce(playerid, params[])
- {
- new pName[24], str[128];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- GetPlayerName(playerid, pName, sizeof(pName));
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /announce [message]");
- SendClientMessageToAll(COLOR_BRIGHTRED, "-------------------------");
- SendClientMessageToAll(COLOR_YELLOW, params);
- SendClientMessageToAll(COLOR_BRIGHTRED, "-------------------------");
- format(str, sizeof(str), "Mod Message: %s (ID: %d) has announced: '%s'.", pName, playerid);
- SendModMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_announce2(playerid, params[])
- {
- new pName[24], str[128];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- GetPlayerName(playerid, pName, sizeof(pName));
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /announce2 [message]");
- GameTextForAll(params, 3000, 6);
- format(str, sizeof(str), "Mod Message: %s (ID: %d) has announced: '%s'.", pName, playerid);
- SendModMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_spec(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /spec [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(playerid == ReturnPlayer) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You can't watch yourself, silly!");
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerState[playerid][IsWatching] == 0)
- {
- PlayerState[playerid][LastInterior] = GetPlayerInterior(playerid);
- }
- PlayerState[playerid][IsWatching] = true;
- TogglePlayerSpectating(playerid, 1);
- if(IsPlayerInAnyVehicle(ReturnPlayer))
- {
- PlayerSpectateVehicle(playerid, GetPlayerVehicleID(ReturnPlayer));
- }
- else
- {
- PlayerSpectatePlayer(playerid, ReturnPlayer);
- }
- format(str, sizeof(str), "Mod Message: %s (ID: %d) is now watching %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_specoff(playerid, params[])
- {
- if(PlayerState[playerid][IsWatching] == 0) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You aren't watching anyone!");
- new pName[24], string[128];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- GetPlayerName(playerid, pName, sizeof(pName));
- TogglePlayerSpectating(playerid, 0);
- SetPlayerInterior(playerid, PlayerState[playerid][LastInterior]);
- SpawnPlayer(playerid);
- PlayerState[playerid][IsWatching] = false;
- format(string, sizeof(string), "Mod Message: %s (ID: %d) has stopped watching.", pName, playerid);
- SendModMsg(COLOR_WHITE, string);
- #pragma unused params
- return 1;
- }
- dcmd_spawn(playerid, params[])
- {
- new Float:X, Float:Y, Float:Z, str[128], pName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /spawn [car name]");
- new vehicle = GetVehicleModelIDFromName(params);
- if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid vehicle name!");
- GetPlayerPos(playerid, X, Y, Z);
- new tempVeh = CreateVehicle(vehicle, X, Y, Z, 90, -1, -1, -1);
- PutPlayerInVehicle(playerid, tempVeh, 0);
- SpawnedVehicle[Vehicles++] = tempVeh;
- format(str, sizeof(str), "Mod Message: %s (ID: %d) has spawned a %s on his/her location.", pName, playerid, VehicleNames[vehicle - 400]);
- SendModMsg(COLOR_WHITE, str);
- return 1;
- }
- dcmd_mute(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /mute [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(PlayerIsMuted[ReturnPlayer] == 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player is muted already!");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- format(str, sizeof(str), "Mod Message: %s (ID: %d) has muted %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, str);
- PlayerIsMuted[ReturnPlayer] = true;
- return 1;
- }
- dcmd_unmute(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /unute [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(PlayerIsMuted[ReturnPlayer] == 0) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player isn't muted!");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- format(str, sizeof(str), "Mod Message: %s (ID: %d) has unmuted %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, str);
- PlayerIsMuted[ReturnPlayer] = false;
- return 1;
- }
- dcmd_jail(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /jail [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(PlayerIsJailed[ReturnPlayer] == 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player is jailed already.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- format(str, sizeof(str), "Mod Message: %s (ID: %d) has jailed %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, str);
- if(Jail1 == 0 && Jail2 == 0)
- {
- SetPlayerPos(playerid, 198.0768,175.1553,1003.0234);
- Jail1 = true;
- PlayerInJail1[playerid] = true;
- SendClientMessage(ReturnPlayer, COLOR_GREEN, "You have been jailed by a crew member.");
- PlayerIsJailed[ReturnPlayer] = true;
- SetPlayerInterior(playerid, 3);
- }
- else if(Jail1 == 1 && Jail2 == 0)
- {
- SetPlayerPos(playerid, 193.2748,175.0982,1003.0234);
- Jail2 = true;
- PlayerInJail2[playerid] = true;
- SendClientMessage(ReturnPlayer, COLOR_BRIGHTRED, "You have been jailed by a crew member.");
- PlayerIsJailed[ReturnPlayer] = true;
- SetPlayerInterior(playerid, 3);
- }
- if(Jail1 == 1 && Jail2 == 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "The jails are too crowded!");
- return 1;
- }
- dcmd_unjail(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /unjail [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(PlayerIsJailed[ReturnPlayer] == 0) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player isn't jailed!");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- format(str, sizeof(str), "Mod Message: %s (ID: %d) has unjailed %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, str);
- SendClientMessage(ReturnPlayer, COLOR_GREEN, "You have been unjailed.");
- PlayerIsJailed[ReturnPlayer] = false;
- SetPlayerInterior(playerid, 0);
- SpawnPlayer(ReturnPlayer);
- if(PlayerInJail1[playerid] == 1)
- {
- Jail1 = false;
- PlayerInJail1[playerid] = false;
- }
- if(PlayerInJail2[playerid] == 1)
- {
- Jail2 = false;
- PlayerInJail2[playerid] = false;
- }
- return 1;
- }
- dcmd_kick(playerid, params[])
- {
- new year, month, day; getdate(year, month, day);
- new hour, minute, second; gettime(hour, minute, second);
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128], Reason[128], string[256];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "ds", ReturnPlayer, Reason)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /kick [playerid] [reason]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SendClientMessage(playerid, COLOR_GREEN, "That user has been kicked.");
- format(str, sizeof(str), "* %s (ID: %d) has been kicked: %s", ReturnUserName, ReturnPlayer, Reason);
- SendClientMessageToAll(COLOR_BRIGHTRED, str);
- format(str, sizeof(str), "Mod Message: %s (ID: %d) has kicked %s (ID: %d): %s", pName, playerid, ReturnUserName, ReturnPlayer, Reason);
- SendModMsg(COLOR_WHITE, str);
- Kick(ReturnPlayer);
- new File:KickFile = fopen("logs/KickLog.txt", io_append);
- format(string, sizeof string, "[%d/%d/%d]-[%d:%d:%d]: %s has been kicked by %s. [Reason: %s]\r\n", year, month, day, hour, minute, second, ReturnUserName, pName, Reason);
- fwrite(KickFile, string);
- fclose(KickFile);
- return 1;
- }
- dcmd_ban(playerid, params[])
- {
- new year, month, day; getdate(year, month, day);
- new hour, minute, second; gettime(hour, minute, second);
- new ReturnPlayer, pName[24], ReturnUserName[24], str[128], Reason[128], string[256];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "ds", ReturnPlayer, Reason)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /ban [playerid] [reason]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SendClientMessage(playerid, COLOR_GREEN, "That user has been banned.");
- format(str, sizeof(str), "* %s (ID: %d) has been banned: %s", ReturnUserName, ReturnPlayer, Reason);
- SendClientMessageToAll(COLOR_BRIGHTRED, str);
- format(str, sizeof(str), "Mod Message: %s (ID: %d) has banned %s (ID: %d): %s", pName, playerid, ReturnUserName, ReturnPlayer, Reason);
- SendModMsg(COLOR_WHITE, str);
- BanEx(ReturnPlayer, Reason);
- new File:BanFile = fopen("logs/BanLog.txt", io_append);
- format(string, sizeof string, "[%d/%d/%d]-[%d:%d:%d]: %s has been banned by %s. [Reason: %s]\r\n", year, month, day, hour, minute, second, ReturnUserName, pName, Reason);
- fwrite(BanFile, string);
- fclose(BanFile);
- return 1;
- }
- dcmd_refill(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], string[256];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "d", ReturnPlayer))
- {
- GetPlayerName(playerid, pName, sizeof(pName));
- SetPlayerHealth(playerid, 100);
- SetPlayerArmour(playerid, 100);
- format(string, sizeof string, "Mod Message: %s (ID: %d) has refilled his/her health and armour.", pName, playerid);
- SendModMsg(COLOR_WHITE, string);
- }
- else
- {
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SetPlayerHealth(ReturnPlayer, 100);
- SetPlayerArmour(ReturnPlayer, 100);
- format(string, sizeof string, "Mod Message: %s (ID: %d) has refilled %s (ID: %d) his/her health and armour.", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, string);
- }
- return 1;
- }
- dcmd_kill2(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], string[256];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /kill2 [playerid]");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SetPlayerHealth(ReturnPlayer, 0);
- format(string, sizeof string, "Mod Message: %s (ID: %d) has killed %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_tp(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], string[256], Float:X, Float:Y, Float:Z;
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /tp [playerid]");
- if(playerid == ReturnPlayer) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot teleport to yourself, silly!");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- GetPlayerPos(ReturnPlayer, X, Y, Z);
- SetPlayerPos(playerid, X+1, Y+1, Z);
- SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
- format(string, sizeof string, "Mod Message: %s (ID: %d) has been teleported to %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_tpmenu(playerid, params[])
- {
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- ShowMenuForPlayer(tpMenu, playerid);
- TogglePlayerControllable(playerid, 0);
- SendClientMessage(playerid, COLOR_GREEN, "Please choose a destination.");
- #pragma unused params
- return 1;
- }
- dcmd_unban(playerid, params[])
- {
- new pName[24], PlayerFile[50], string[256], playerIP[256];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- GetPlayerName(playerid, pName, sizeof(pName));
- format(PlayerFile, sizeof(PlayerFile), "/users/%s.ini", params);
- playerIP = dini_Get(PlayerFile, "PlayerIP");
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /unban [playername]");
- if(!dini_Exists(PlayerFile)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "No such player found in the database.");
- format(string, sizeof string, "unbanip %s", playerIP);
- SendRconCommand(string);
- SendRconCommand("reloadbans");
- format(string, sizeof string, "Mod Message: %s (ID:%d) has unbanned %s.", pName, playerid, params);
- SendModMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_unbanip(playerid, params[])
- {
- new pName[24], string[256];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- GetPlayerName(playerid, pName, sizeof(pName));
- if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /unbanip [playerip]");
- format(string, sizeof string, "unbanip %s", params);
- SendRconCommand(string);
- SendRconCommand("reloadbans");
- format(string, sizeof string, "Mod Message: %s (ID: %d) has unbanned the IP: %s.", pName, playerid, params);
- SendModMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_vr(playerid, params[])
- {
- new ReturnPlayer, pName[24], ReturnUserName[24], string[256];
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(sscanf(params, "d", ReturnPlayer))
- {
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You need to be in a car to use this command!");
- GetPlayerName(playerid, pName, sizeof(pName));
- SetVehicleHealth(GetPlayerVehicleID(playerid),1000.0);
- format(string, sizeof string, "Mod Message: %s (ID: %d) has repaired his/her vehicle.", pName, playerid);
- SendModMsg(COLOR_WHITE, string);
- }
- else
- {
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- if(!IsPlayerInAnyVehicle(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player isn't in a vehicle!");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SetVehicleHealth(GetPlayerVehicleID(ReturnPlayer),1000.0);
- format(string, sizeof string, "Mod Message: %s (ID: %d) has repaired %s (ID: %d) his/her vehicle .", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, string);
- }
- return 1;
- }
- dcmd_respawn(playerid, params[])
- {
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- new string[128], currentvehicle, pName[24];
- GetPlayerName(playerid, pName, sizeof(pName));
- currentvehicle = GetPlayerVehicleID(playerid);
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You have to be in a vehicle to use this command!");
- SetVehicleToRespawn(currentvehicle);
- format(string, sizeof(string), "Mod Message: %s (ID: %d) has respawned his/her vehicle.", pName, playerid);
- SendModMsg(COLOR_WHITE, string);
- #pragma unused params
- return 1;
- }
- dcmd_fix(playerid, params[])
- {
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- new ReturnPlayer, pName[24], ReturnUserName[24], string[256];
- if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /fix [playerid]");
- if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
- GetPlayerName(playerid, pName, sizeof(pName));
- GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
- SpawnPlayer(ReturnPlayer);
- format(string, sizeof(string), "Mod Message: %s (ID: %d) has fixed %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
- SendModMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_flip(playerid, params[])
- {
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You have to be in a vehicle to use this command!");
- new Vehicle, Float:angle, string[128], pName[24], Float:X, Float:Y, Float:Z;
- Vehicle = GetPlayerVehicleID(playerid);
- GetVehiclePos(Vehicle, X, Y, Z);
- GetPlayerName(playerid, pName, sizeof(pName));
- SetVehiclePos(Vehicle, X, Y, Z +1);
- GetVehicleZAngle(Vehicle, angle);
- SetVehicleZAngle(Vehicle, angle);
- format(string, sizeof(string), "Mod Message: %s (ID: %d) has flipped his/her car.", pName, playerid);
- SendModMsg(COLOR_WHITE, string);
- #pragma unused params
- return 1;
- }
- dcmd_vcolour(playerid, params[])
- {
- new string[128], currentvehicle, pName[24], C1, C2;
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "You have to be in a vehicle to use this command!");
- if(sscanf(params, "dd", C1, C2)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /vcolour [Colour 1] [Colour 2]");
- if(C1 < 0 || C1 > 126) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Your first vehicle colour was invalid!");
- if(C2 < 0 || C2 > 126) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Your second vehicle colour was invalid!");
- GetPlayerName(playerid, pName, sizeof(pName));
- currentvehicle = GetPlayerVehicleID(playerid);
- ChangeVehicleColor(currentvehicle, C1, C2);
- format(string, sizeof(string), "Mod Message: %s (ID: %d) has changed his/her vehicle colours to %d and %d.", pName, playerid, C1, C2);
- SendModMsg(COLOR_WHITE, string);
- return 1;
- }
- dcmd_acmds(playerid, params[])
- {
- if(PlayerInfo[playerid][AdminLevel] < 1) return false;
- if(PlayerInfo[playerid][AdminLevel] >= 1)
- {
- SendClientMessage(playerid, COLOR_YELLOW, "=== Moderator commands ===");
- SendClientMessage(playerid, COLOR_BRIGHTRED, "/unban, /unbanip, /tp, /kill2, /refill, /ban, /kick");
- SendClientMessage(playerid, COLOR_BRIGHTRED, "/mute, /unmute, /vr, /spawn, /fix, /flip, /respawn, /tpmenu");
- SendClientMessage(playerid, COLOR_BRIGHTRED, "/spec, /specoff, /vcolour, /jail, /unjail /announce /announce2");
- }
- if(PlayerInfo[playerid][AdminLevel] >= 2)
- {
- SendClientMessage(playerid, COLOR_YELLOW, "=== Administrator commands ===");
- SendClientMessage(playerid, COLOR_BRIGHTRED, "/nuke, /fetch, /sethealth, /setarmour, /givecash");
- SendClientMessage(playerid, COLOR_BRIGHTRED, "/tempmod, /tempadmin, /giveweapon, /clear, /god, /ungod");
- }
- if(PlayerInfo[playerid][AdminLevel] >= 3)
- {
- SendClientMessage(playerid, COLOR_YELLOW, "=== Management commands ===");
- SendClientMessage(playerid, COLOR_BRIGHTRED, "/setlevel, /makemeadmin (Rcon), /loadfs, /unloadfs");
- SendClientMessage(playerid, COLOR_BRIGHTRED, "/reloadfs, /gmx, /create, /destroy, /nukeall, /crash");
- SendClientMessage(playerid, COLOR_BRIGHTRED, "/lockserver, /unlockserver /tempman");
- }
- #pragma unused params
- return 1;
- }
- // ******************************************************** //
- // End of the commands //
- // ******************************************************** //
- GetVehicleModelIDFromName(vname[]) // Zezombia's function, credits to him for this.
- {
- for(new i = 0; i < 211; i++)
- {
- if(strfind(VehicleNames[i], vname, true) != -1)
- return i + 400;
- }
- return -1;
- }
- stock GetXYInFrontOfPlayer(playerid, &Float:x2, &Float:y2, Float:distance) // Not my function either, credits to the author, whoever that might be.
- {
- new Float:a;
- GetPlayerPos(playerid, x2, y2, a);
- GetPlayerFacingAngle(playerid, a);
- if(GetPlayerVehicleID(playerid))
- {
- GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
- }
- x2 += (distance * floatsin(-a, degrees));
- y2 += (distance * floatcos(-a, degrees));
- }
- stock bool:IsValidWeapon(weaponid)
- {
- if(weaponid == 19 || weaponid == 20 || weaponid == 21 || weaponid < 0 || weaponid > 46) return false;
- return true;
- }
- stock SendProAdminMsg(color,const string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) == 1 && PlayerInfo[i][AdminLevel] == 3)
- {
- SendClientMessage(i, color, string);
- }
- }
- return 1;
- }
- stock SendAdminMsg(color,const string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) == 1 && PlayerInfo[i][AdminLevel] >= 2)
- {
- SendClientMessage(i, color, string);
- }
- }
- return 1;
- }
- stock SendModMsg(color,const string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) == 1 && PlayerInfo[i][AdminLevel] >= 1)
- {
- SendClientMessage(i, color, string);
- }
- }
- return 1;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- stock sscanf(string[], format[], {Float,_}:...)
- {
- new
- formatPos = 0,
- stringPos = 0,
- paramPos = 2,
- paramCount = numargs();
- while (paramPos < paramCount && string[stringPos])
- {
- switch (format[formatPos++])
- {
- case '\0':
- {
- return false;
- }
- case 'i', 'd':
- {
- new
- neg = 1,
- num = 0,
- ch = string[stringPos];
- if (ch == '-')
- {
- neg = -1;
- ch = string[++stringPos];
- }
- do
- {
- stringPos++;
- if (ch >= '0' && ch <= '9')
- {
- num = (num * 10) + (ch - '0');
- }
- else
- {
- return true;
- }
- }
- while ((ch = string[stringPos]) && ch != ' ');
- setarg(paramPos, 0, num * neg);
- }
- case 'h', 'x':
- {
- new
- ch,
- num = 0;
- while ((ch = string[stringPos++]))
- {
- switch (ch)
- {
- case 'x', 'X':
- {
- num = 0;
- continue;
- }
- case '0' .. '9':
- {
- num = (num << 4) | (ch - '0');
- }
- case 'a' .. 'f':
- {
- num = (num << 4) | (ch - ('a' - 10));
- }
- case 'A' .. 'F':
- {
- num = (num << 4) | (ch - ('A' - 10));
- }
- case ' ':
- {
- break;
- }
- default:
- {
- return true;
- }
- }
- }
- setarg(paramPos, 0, num);
- }
- case 'c':
- {
- setarg(paramPos, 0, string[stringPos++]);
- }
- case 'f':
- {
- new tmp[25];
- strmid(tmp, string, stringPos, stringPos+sizeof(tmp)-2);
- setarg(paramPos, 0, _:floatstr(tmp));
- }
- case 's', 'z':
- {
- new
- i = 0,
- ch;
- if (format[formatPos])
- {
- while ((ch = string[stringPos++]) && ch != ' ')
- {
- setarg(paramPos, i++, ch);
- }
- if (!i) return true;
- }
- else
- {
- while ((ch = string[stringPos++]))
- {
- setarg(paramPos, i++, ch);
- }
- }
- stringPos--;
- setarg(paramPos, i, '\0');
- }
- default:
- {
- continue;
- }
- }
- while (string[stringPos] && string[stringPos] != ' ')
- {
- stringPos++;
- }
- while (string[stringPos] == ' ')
- {
- stringPos++;
- }
- paramPos++;
- }
- while (format[formatPos] == 'z') formatPos++;
- return format[formatPos];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement