Загрузка данных
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#define MAX_ADMIN_LEVEL 12
#define OWNER_NAME "smexneprad"
#define COLOR_WHITE 0xFFFFFFFF
#define COLOR_RED 0xFF3333FF
#define COLOR_GREEN 0x33FF33FF
#define COLOR_BLUE 0x3399FFFF
#define COLOR_YELLOW 0xFFFF00FF
#define COLOR_ORANGE 0xFF9900FF
#define COLOR_PURPLE 0xCC66FFFF
#define COLOR_GREY 0xAAAAAAFF
#define COLOR_CYAN 0x00FFFFFF
new AdminLevel[MAX_PLAYERS];
new AdminDuty[MAX_PLAYERS];
new AdminMuted[MAX_PLAYERS];
new AdminJail[MAX_PLAYERS];
new Warns[MAX_PLAYERS];
new bool:Frozen[MAX_PLAYERS];
new AdminTeleport[MAX_PLAYERS];
new AdminSpec[MAX_PLAYERS];
forward AdminSecondTimer();
public OnGameModeInit()
{
SetTimer("AdminSecondTimer", 1000, true);
print("======================================");
print(" ADMIN SYSTEM 150 COMMANDS");
print(" OWNER: smexneprad");
print(" MAX LEVEL: 12");
print("======================================");
return 1;
}
public OnPlayerConnect(playerid)
{
AdminLevel[playerid] = 0;
AdminDuty[playerid] = 0;
AdminMuted[playerid] = 0;
AdminJail[playerid] = 0;
Warns[playerid] = 0;
Frozen[playerid] = false;
AdminTeleport[playerid] = 0;
AdminSpec[playerid] = 0;
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(!strcmp(name, OWNER_NAME, true))
{
AdminLevel[playerid] = 12;
SendClientMessage(
playerid,
COLOR_GREEN,
"Вы определены как OWNER. Ваш уровень администрации: 12."
);
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
AdminLevel[playerid] = 0;
AdminDuty[playerid] = 0;
AdminMuted[playerid] = 0;
AdminJail[playerid] = 0;
Warns[playerid] = 0;
Frozen[playerid] = false;
return 1;
}
public AdminSecondTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))
continue;
if(AdminJail[i] > 0)
{
AdminJail[i]--;
if(AdminJail[i] <= 0)
{
AdminJail[i] = 0;
SetPlayerInterior(i, 0);
SetPlayerVirtualWorld(i, 0);
SetPlayerPos(i, 1550.0, -1675.0, 16.0);
SendClientMessage(
i,
COLOR_GREEN,
"Время административного заключения закончилось."
);
}
}
}
return 1;
}
/* =========================================================
CORE
========================================================= */
stock bool:IsAdmin(playerid, level)
{
return AdminLevel[playerid] >= level;
}
stock bool:IsOwner(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return !strcmp(name, OWNER_NAME, true);
}
stock AdminDenied(playerid, level)
{
new text[128];
format(
text,
sizeof(text),
"Недостаточный уровень администрации. Требуется: %d LVL.",
level
);
SendClientMessage(playerid, COLOR_RED, text);
return 1;
}
stock GetAdminRank(level)
{
switch(level)
{
case 12: return 1;
case 11: return 2;
case 10: return 3;
case 9: return 4;
case 8: return 5;
case 7: return 6;
case 6: return 7;
case 5: return 8;
case 4: return 9;
case 3: return 10;
case 2: return 11;
case 1: return 12;
}
return 0;
}
stock GetAdminRankName(level, output[], size)
{
switch(level)
{
case 12: format(output, size, "OWNER");
case 11: format(output, size, "DEVELOPER");
case 10: format(output, size, "HEAD ADMIN");
case 9: format(output, size, "CHIEF ADMIN");
case 8: format(output, size, "SENIOR ADMIN");
case 7: format(output, size, "ADMINISTRATOR");
case 6: format(output, size, "ADMINISTRATOR");
case 5: format(output, size, "MODERATOR");
case 4: format(output, size, "MODERATOR");
case 3: format(output, size, "JUNIOR MODERATOR");
case 2: format(output, size, "HELPER");
case 1: format(output, size, "SUPPORT");
default: format(output, size, "PLAYER");
}
return 1;
}
stock GetPlayerIdByName(const name[])
{
new pname[MAX_PLAYER_NAME];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))
continue;
GetPlayerName(i, pname, sizeof(pname));
if(!strcmp(name, pname, true))
return i;
}
return INVALID_PLAYER_ID;
}
stock SendAdminChat(const message[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && AdminLevel[i] > 0)
SendClientMessage(i, COLOR_PURPLE, message);
}
return 1;
}
stock AdminAction(playerid, const action[])
{
new name[MAX_PLAYER_NAME];
new text[256];
GetPlayerName(playerid, name, sizeof(name));
format(
text,
sizeof(text),
"[ADMIN] %s [%d]: %s",
name,
AdminLevel[playerid],
action
);
printf("%s", text);
SendAdminChat(text);
return 1;
}
stock TeleportToPlayer(playerid, targetid)
{
new Float:x;
new Float:y;
new Float:z;
GetPlayerPos(targetid, x, y, z);
SetPlayerInterior(
playerid,
GetPlayerInterior(targetid)
);
SetPlayerVirtualWorld(
playerid,
GetPlayerVirtualWorld(targetid)
);
SetPlayerPos(
playerid,
x + 1.0,
y,
z
);
return 1;
}
stock BringPlayer(playerid, targetid)
{
new Float:x;
new Float:y;
new Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerInterior(
targetid,
GetPlayerInterior(playerid)
);
SetPlayerVirtualWorld(
targetid,
GetPlayerVirtualWorld(playerid)
);
SetPlayerPos(
targetid,
x + 1.0,
y,
z
);
return 1;
}
stock BroadcastAdmin(const message[])
{
SendClientMessageToAll(COLOR_ORANGE, message);
return 1;
}
/* =========================================================
1-10 INFORMATION
========================================================= */
/* 1 */
CMD:ah(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
SendClientMessage(playerid, COLOR_YELLOW,
"========== ADMIN HELP ==========");
SendClientMessage(playerid, COLOR_WHITE,
"1-25: /admins /admininfo /aduty /a /asay /announce /players /getid /check /stats");
SendClientMessage(playerid, COLOR_WHITE,
"26-50: /kick /ban /tempban /warn /unwarn /mute /unmute /jail /unjail /freeze");
SendClientMessage(playerid, COLOR_WHITE,
"51-75: /goto /gethere /bringall /return /sethp /setarmor /setskin /givecash /setcash /giveweapon");
SendClientMessage(playerid, COLOR_WHITE,
"76-100: /giveammo /setvw /setint /settime /weather /gravity /veh /fixveh /flipveh /destroyveh");
SendClientMessage(playerid, COLOR_WHITE,
"101-125: /slap /launch /spin /explode /burn /bighead /tinyhead /jetpack /fly /god");
SendClientMessage(playerid, COLOR_WHITE,
"126-150: /setadmin /deladmin /sethelper /delhelper /serverinfo /saveall /kickall /freezeall /healall /armourall");
SendClientMessage(playerid, COLOR_YELLOW,
"Всего: 150 команд.");
return 1;
}
/* 2 */
CMD:admins(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
new name[MAX_PLAYER_NAME];
new rank[32];
new text[128];
SendClientMessage(playerid, COLOR_YELLOW,
"========== ADMINISTRATION ==========");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i) || AdminLevel[i] <= 0)
continue;
GetPlayerName(i, name, sizeof(name));
GetAdminRankName(AdminLevel[i], rank, sizeof(rank));
format(
text,
sizeof(text),
"%s [%d LVL] - %s",
name,
AdminLevel[i],
rank
);
SendClientMessage(playerid, COLOR_WHITE, text);
}
return 1;
}
/* 3 */
CMD:admininfo(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
new rank[32];
GetAdminRankName(AdminLevel[playerid], rank, sizeof(rank));
new text[256];
format(
text,
sizeof(text),
"Admin level: %d | Rank: %s | Duty: %s",
AdminLevel[playerid],
rank,
AdminDuty[playerid] ? "ON" : "OFF"
);
SendClientMessage(playerid, COLOR_CYAN, text);
return 1;
}
/* 4 */
CMD:aduty(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
AdminDuty[playerid] = !AdminDuty[playerid];
if(AdminDuty[playerid])
{
SetPlayerColor(playerid, COLOR_RED);
SendClientMessage(playerid, COLOR_GREEN,
"Вы вошли в ADMIN DUTY.");
}
else
{
SetPlayerColor(playerid, COLOR_WHITE);
SendClientMessage(playerid, COLOR_YELLOW,
"Вы вышли из ADMIN DUTY.");
}
return 1;
}
/* 5 */
CMD:a(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
if(!strlen(params))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /a [текст]");
new name[MAX_PLAYER_NAME];
new text[256];
GetPlayerName(playerid, name, sizeof(name));
format(
text,
sizeof(text),
"[A] %s [%d]: %s",
name,
AdminLevel[playerid],
params
);
SendAdminChat(text);
return 1;
}
/* 6 */
CMD:asay(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
if(!strlen(params))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /asay [текст]");
new name[MAX_PLAYER_NAME];
new text[256];
GetPlayerName(playerid, name, sizeof(name));
format(
text,
sizeof(text),
"[ADMIN] %s: %s",
name,
params
);
BroadcastAdmin(text);
return 1;
}
/* 7 */
CMD:announce(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
if(!strlen(params))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /announce [текст]");
GameTextForAll(params, 5000, 3);
return 1;
}
/* 8 */
CMD:players(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
new count;
new name[MAX_PLAYER_NAME];
new text[128];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))
continue;
count++;
GetPlayerName(i, name, sizeof(name));
format(
text,
sizeof(text),
"[%d] %s | Ping: %d",
i,
name,
GetPlayerPing(i)
);
SendClientMessage(playerid, COLOR_WHITE, text);
}
format(
text,
sizeof(text),
"Онлайн игроков: %d",
count
);
SendClientMessage(playerid, COLOR_GREEN, text);
return 1;
}
/* 9 */
CMD:getid(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
new name[MAX_PLAYER_NAME];
if(sscanf(params, "s[24]", name))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /getid [ник]");
new target = GetPlayerIdByName(name);
if(target == INVALID_PLAYER_ID)
return SendClientMessage(playerid, COLOR_RED,
"Игрок не найден.");
new text[128];
format(
text,
sizeof(text),
"Игрок %s имеет ID %d.",
name,
target
);
SendClientMessage(playerid, COLOR_GREEN, text);
return 1;
}
/* 10 */
CMD:check(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /check [ID]");
if(!IsPlayerConnected(target))
return SendClientMessage(playerid, COLOR_RED,
"Игрок не найден.");
new name[MAX_PLAYER_NAME];
new Float:hp;
new Float:armour;
new text[256];
GetPlayerName(target, name, sizeof(name));
GetPlayerHealth(target, hp);
GetPlayerArmour(target, armour);
format(
text,
sizeof(text),
"%s | ID:%d | HP:%.1f | ARM:%.1f | Ping:%d | VW:%d | INT:%d",
name,
target,
hp,
armour,
GetPlayerPing(target),
GetPlayerVirtualWorld(target),
GetPlayerInterior(target)
);
SendClientMessage(playerid, COLOR_CYAN, text);
return 1;
}
/* =========================================================
11-20 PLAYER INFORMATION
========================================================= */
/* 11 */
CMD:stats(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
new target = playerid;
if(strlen(params))
sscanf(params, "u", target);
if(!IsPlayerConnected(target))
return SendClientMessage(playerid, COLOR_RED,
"Игрок не найден.");
new name[MAX_PLAYER_NAME];
new Float:hp;
new Float:armour;
new text[256];
GetPlayerName(target, name, sizeof(name));
GetPlayerHealth(target, hp);
GetPlayerArmour(target, armour);
format(
text,
sizeof(text),
"STATS: %s | ID:%d | HP:%.1f | ARM:%.1f | MONEY:%d",
name,
target,
hp,
armour,
GetPlayerMoney(target)
);
SendClientMessage(playerid, COLOR_WHITE, text);
return 1;
}
/* 12 */
CMD:ping(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
new target = playerid;
if(strlen(params))
sscanf(params, "u", target);
new text[64];
format(
text,
sizeof(text),
"Ping игрока %d: %d ms.",
target,
GetPlayerPing(target)
);
SendClientMessage(playerid, COLOR_CYAN, text);
return 1;
}
/* 13 */
CMD:heal(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target = playerid;
if(strlen(params))
sscanf(params, "u", target);
SetPlayerHealth(target, 100.0);
SendClientMessage(target, COLOR_GREEN,
"Администратор восстановил вам здоровье.");
return 1;
}
/* 14 */
CMD:armour(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target = playerid;
if(strlen(params))
sscanf(params, "u", target);
SetPlayerArmour(target, 100.0);
return 1;
}
/* 15 */
CMD:kill(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /kill [ID]");
SetPlayerHealth(target, 0.0);
return 1;
}
/* 16 */
CMD:killall(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && i != playerid)
SetPlayerHealth(i, 0.0);
}
return 1;
}
/* 17 */
CMD:warn(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
new reason[128];
if(sscanf(params, "us[128]", target, reason))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /warn [ID] [причина]");
if(!IsPlayerConnected(target))
return SendClientMessage(playerid, COLOR_RED,
"Игрок не найден.");
Warns[target]++;
new text[256];
format(
text,
sizeof(text),
"Вы получили WARN %d/3. Причина: %s",
Warns[target],
reason
);
SendClientMessage(target, COLOR_RED, text);
if(Warns[target] >= 3)
{
Warns[target] = 0;
Kick(target);
}
return 1;
}
/* 18 */
CMD:unwarn(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /unwarn [ID]");
Warns[target] = 0;
SendClientMessage(target, COLOR_GREEN,
"Ваши предупреждения сняты.");
return 1;
}
/* 19 */
CMD:mute(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /mute [ID]");
AdminMuted[target] = 1;
SendClientMessage(target, COLOR_RED,
"Вы получили административный мут.");
return 1;
}
/* 20 */
CMD:unmute(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /unmute [ID]");
AdminMuted[target] = 0;
SendClientMessage(target, COLOR_GREEN,
"Мут снят.");
return 1;
}
/* =========================================================
21-40 PUNISHMENTS
========================================================= */
/* 21 */
CMD:kick(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
new reason[128];
if(sscanf(params, "us[128]", target, reason))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /kick [ID] [причина]");
if(!IsPlayerConnected(target))
return SendClientMessage(playerid, COLOR_RED,
"Игрок не найден.");
if(AdminLevel[target] >= AdminLevel[playerid])
return SendClientMessage(playerid, COLOR_RED,
"Нельзя наказать администратора равного или выше уровня.");
new name[MAX_PLAYER_NAME];
new text[256];
GetPlayerName(target, name, sizeof(name));
format(
text,
sizeof(text),
"Игрок %s был кикнут. Причина: %s",
name,
reason
);
BroadcastAdmin(text);
Kick(target);
return 1;
}
/* 22 */
CMD:ban(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new target;
new reason[128];
if(sscanf(params, "us[128]", target, reason))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /ban [ID] [причина]");
if(!IsPlayerConnected(target))
return SendClientMessage(playerid, COLOR_RED,
"Игрок не найден.");
if(AdminLevel[target] >= AdminLevel[playerid])
return SendClientMessage(playerid, COLOR_RED,
"Нельзя забанить администратора равного или выше уровня.");
Ban(target);
return 1;
}
/* 23 */
CMD:tempban(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new target;
new minutes;
new reason[128];
if(sscanf(params, "uis[128]", target, minutes, reason))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /tempban [ID] [минуты] [причина]");
SendClientMessage(target, COLOR_RED,
"Вы получили временный бан.");
Ban(target);
return 1;
}
/* 24 */
CMD:jail(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
new minutes;
if(sscanf(params, "ui", target, minutes))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /jail [ID] [минуты]");
if(!IsPlayerConnected(target))
return SendClientMessage(playerid, COLOR_RED,
"Игрок не найден.");
AdminJail[target] = minutes * 60;
SetPlayerInterior(target, 6);
SetPlayerVirtualWorld(target, 999);
SetPlayerPos(target, 264.6288, 77.5742, 1001.0391);
SendClientMessage(target, COLOR_RED,
"Вы были отправлены в административную тюрьму.");
return 1;
}
/* 25 */
CMD:unjail(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /unjail [ID]");
AdminJail[target] = 0;
SetPlayerInterior(target, 0);
SetPlayerVirtualWorld(target, 0);
SendClientMessage(target, COLOR_GREEN,
"Вы освобождены из административной тюрьмы.");
return 1;
}
/* 26 */
CMD:freeze(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /freeze [ID]");
Frozen[target] = true;
TogglePlayerControllable(target, false);
return 1;
}
/* 27 */
CMD:unfreeze(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /unfreeze [ID]");
Frozen[target] = false;
TogglePlayerControllable(target, true);
return 1;
}
/* 28 */
CMD:explode(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new target;
new Float:x;
new Float:y;
new Float:z;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /explode [ID]");
GetPlayerPos(target, x, y, z);
CreateExplosion(x, y, z, 7, 10.0);
return 1;
}
/* 29 */
CMD:burn(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new target;
new Float:x;
new Float:y;
new Float:z;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /burn [ID]");
GetPlayerPos(target, x, y, z);
CreateExplosion(x, y, z, 12, 2.0);
return 1;
}
/* 30 */
CMD:slap(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
new Float:x;
new Float:y;
new Float:z;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /slap [ID]");
GetPlayerPos(target, x, y, z);
SetPlayerPos(target, x, y, z + 5.0);
return 1;
}
/* 31 */
CMD:launch(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /launch [ID]");
SetPlayerVelocity(target, 0.0, 0.0, 2.5);
return 1;
}
/* 32 */
CMD:spin(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /spin [ID]");
SetPlayerVelocity(target, 5.0, 5.0, 2.0);
return 1;
}
/* 33 */
CMD:confuse(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /confuse [ID]");
SetPlayerVelocity(target, -5.0, 5.0, 3.0);
return 1;
}
/* 34 */
CMD:warnall(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
Warns[i]++;
}
SendClientMessageToAll(COLOR_RED,
"Все игроки получили административное предупреждение.");
return 1;
}
/* 35 */
CMD:muteall(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
AdminMuted[i] = 1;
}
return 1;
}
/* 36 */
CMD:unmuteall(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
for(new i = 0; i < MAX_PLAYERS; i++)
AdminMuted[i] = 0;
return 1;
}
/* 37 */
CMD:freezeall(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && i != playerid)
{
Frozen[i] = true;
TogglePlayerControllable(i, false);
}
}
return 1;
}
/* 38 */
CMD:unfreezeall(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
Frozen[i] = false;
TogglePlayerControllable(i, true);
}
}
return 1;
}
/* 39 */
CMD:healall(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
SetPlayerHealth(i, 100.0);
}
return 1;
}
/* 40 */
CMD:armourall(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
SetPlayerArmour(i, 100.0);
}
return 1;
}
/* =========================================================
41-60 TELEPORTS
========================================================= */
/* 41 */
CMD:goto(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /goto [ID]");
TeleportToPlayer(playerid, target);
return 1;
}
/* 42 */
CMD:gethere(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /gethere [ID]");
BringPlayer(playerid, target);
return 1;
}
/* 43 */
CMD:bring(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /bring [ID]");
BringPlayer(playerid, target);
return 1;
}
/* 44 */
CMD:bringall(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && i != playerid)
BringPlayer(playerid, i);
}
return 1;
}
/* 45 */
CMD:return(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
SetPlayerPos(playerid, 1550.0, -1675.0, 16.0);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
return 1;
}
/* 46 */
CMD:tp(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new Float:x;
new Float:y;
new Float:z;
if(sscanf(params, "fff", x, y, z))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /tp [X] [Y] [Z]");
SetPlayerPos(playerid, x, y, z);
return 1;
}
/* 47 */
CMD:tphere(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /tphere [ID]");
BringPlayer(playerid, target);
return 1;
}
/* 48 */
CMD:spec(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /spec [ID]");
TogglePlayerSpectating(playerid, true);
PlayerSpectatePlayer(playerid, target);
AdminSpec[playerid] = target;
return 1;
}
/* 49 */
CMD:specoff(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
TogglePlayerSpectating(playerid, false);
AdminSpec[playerid] = INVALID_PLAYER_ID;
return 1;
}
/* 50 */
CMD:interior(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new interior;
if(sscanf(params, "i", interior))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /interior [ID]");
SetPlayerInterior(playerid, interior);
return 1;
}
/* 51 */
CMD:setint(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new target;
new interior;
if(sscanf(params, "ui", target, interior))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /setint [ID] [INT]");
SetPlayerInterior(target, interior);
return 1;
}
/* 52 */
CMD:setvw(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new target;
new vw;
if(sscanf(params, "ui", target, vw))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /setvw [ID] [VW]");
SetPlayerVirtualWorld(target, vw);
return 1;
}
/* 53 */
CMD:vw(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new vw;
if(sscanf(params, "i", vw))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /vw [VW]");
SetPlayerVirtualWorld(playerid, vw);
return 1;
}
/* 54 */
CMD:gotohq(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
SetPlayerPos(playerid, 1550.0, -1675.0, 16.0);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
return 1;
}
/* 55 */
CMD:gotoairport(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
SetPlayerPos(playerid, 1685.0, -2330.0, 13.5);
return 1;
}
/* 56 */
CMD:gotolspd(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
SetPlayerPos(playerid, 1555.0, -1675.0, 16.0);
return 1;
}
/* 57 */
CMD:gotohospital(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
SetPlayerPos(playerid, 1177.0, -1324.0, 14.0);
return 1;
}
/* 58 */
CMD:gotobeach(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
SetPlayerPos(playerid, 390.0, -1800.0, 7.0);
return 1;
}
/* 59 */
CMD:gotomount(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
SetPlayerPos(playerid, -2230.0, -1730.0, 480.0);
return 1;
}
/* 60 */
CMD:gotodesert(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
SetPlayerPos(playerid, 500.0, 2300.0, 25.0);
return 1;
}
/* =========================================================
61-80 MONEY / ITEMS / PLAYER SETTINGS
========================================================= */
/* 61 */
CMD:givecash(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new target;
new money;
if(sscanf(params, "ui", target, money))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /givecash [ID] [сумма]");
GivePlayerMoney(target, money);
return 1;
}
/* 62 */
CMD:setcash(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
new target;
new money;
if(sscanf(params, "ui", target, money))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /setcash [ID] [сумма]");
ResetPlayerMoney(target);
GivePlayerMoney(target, money);
return 1;
}
/* 63 */
CMD:takecash(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
new target;
new money;
if(sscanf(params, "ui", target, money))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /takecash [ID] [сумма]");
GivePlayerMoney(target, -money);
return 1;
}
/* 64 */
CMD:giveweapon(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new target;
new weapon;
new ammo;
if(sscanf(params, "uii", target, weapon, ammo))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /giveweapon [ID] [оружие] [патроны]");
GivePlayerWeapon(target, weapon, ammo);
return 1;
}
/* 65 */
CMD:giveammo(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new target;
new weapon;
new ammo;
if(sscanf(params, "uii", target, weapon, ammo))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /giveammo [ID] [оружие] [патроны]");
GivePlayerWeapon(target, weapon, ammo);
return 1;
}
/* 66 */
CMD:giveallweapon(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
GivePlayerWeapon(i, 24, 500);
}
return 1;
}
/* 67 */
CMD:givehealth(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
if(sscanf(params, "u", target))
target = playerid;
SetPlayerHealth(target, 100.0);
return 1;
}
/* 68 */
CMD:sethp(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
new target;
new Float:hp;
if(sscanf(params, "uf", target, hp))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /sethp [ID] [HP]");
SetPlayerHealth(target, hp);
return 1;
}
/* 69 */
CMD:setarmor(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
new Float:armor;
if(sscanf(params, "uf", target, armor))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /setarmor [ID] [ARMOR]");
SetPlayerArmour(target, armor);
return 1;
}
/* 70 */
CMD:setskin(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
new skin;
if(sscanf(params, "ui", target, skin))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /setskin [ID] [SKIN]");
if(skin < 0 || skin > 311)
return SendClientMessage(playerid, COLOR_RED,
"Некорректный ID скина.");
SetPlayerSkin(target, skin);
return 1;
}
/* 71 */
CMD:skin(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new skin;
if(sscanf(params, "i", skin))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /skin [ID]");
SetPlayerSkin(playerid, skin);
return 1;
}
/* 72 */
CMD:setcolor(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new target;
new color;
if(sscanf(params, "ui", target, color))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /setcolor [ID] [HEX]");
SetPlayerColor(target, color);
return 1;
}
/* 73 */
CMD:givejetpack(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target = playerid;
if(strlen(params))
sscanf(params, "u", target);
SetPlayerSpecialAction(target, SPECIAL_ACTION_USEJETPACK);
return 1;
}
/* 74 */
CMD:removeweapons(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new target;
if(sscanf(params, "u", target))
target = playerid;
ResetPlayerWeapons(target);
return 1;
}
/* 75 */
CMD:giveallcash(playerid, params[])
{
if(!IsAdmin(playerid, 9))
return AdminDenied(playerid, 9);
new money;
if(sscanf(params, "i", money))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /giveallcash [сумма]");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
GivePlayerMoney(i, money);
}
return 1;
}
/* 76 */
CMD:giveallhealth(playerid, params[])
{
if(!IsAdmin(playerid, 7))
return AdminDenied(playerid, 7);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
SetPlayerHealth(i, 100.0);
}
return 1;
}
/* 77 */
CMD:giveallarmor(playerid, params[])
{
if(!IsAdmin(playerid, 7))
return AdminDenied(playerid, 7);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
SetPlayerArmour(i, 100.0);
}
return 1;
}
/* 78 */
CMD:randomskin(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new skin = random(312);
SetPlayerSkin(playerid, skin);
return 1;
}
/* 79 */
CMD:randomweapon(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new weapons[] =
{
22,23,24,25,26,27,28,29,30,31,32,33,34
};
new weapon = weapons[random(sizeof(weapons))];
GivePlayerWeapon(playerid, weapon, 250);
return 1;
}
/* 80 */
CMD:fulladmin(playerid, params[])
{
if(!IsOwner(playerid))
return SendClientMessage(playerid, COLOR_RED,
"Только OWNER.");
SetPlayerHealth(playerid, 100.0);
SetPlayerArmour(playerid, 100.0);
GivePlayerWeapon(playerid, 24, 999);
GivePlayerWeapon(playerid, 31, 999);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
return 1;
}
/* =========================================================
81-100 WORLD
========================================================= */
/* 81 */
CMD:settime(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new hour;
if(sscanf(params, "i", hour))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /settime [0-23]");
if(hour < 0 || hour > 23)
return SendClientMessage(playerid, COLOR_RED,
"Время: 0-23.");
SetWorldTime(hour);
return 1;
}
/* 82 */
CMD:weather(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new weather;
if(sscanf(params, "i", weather))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /weather [ID]");
SetWeather(weather);
return 1;
}
/* 83 */
CMD:weatherfun(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
SetWeather(random(45));
return 1;
}
/* 84 */
CMD:gravity(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
new Float:g;
if(sscanf(params, "f", g))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /gravity [значение]");
SetGravity(g);
return 1;
}
/* 85 */
CMD:normalgravity(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
SetGravity(0.008);
return 1;
}
/* 86 */
CMD:night(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
SetWorldTime(0);
return 1;
}
/* 87 */
CMD:day(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
SetWorldTime(12);
return 1;
}
/* 88 */
CMD:sunset(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
SetWorldTime(18);
return 1;
}
/* 89 */
CMD:morning(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
SetWorldTime(8);
return 1;
}
/* 90 */
CMD:freezeweather(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
SetWeather(0);
return 1;
}
/* 91 */
CMD:world(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new world;
if(sscanf(params, "i", world))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /world [VW]");
SetPlayerVirtualWorld(playerid, world);
return 1;
}
/* 92 */
CMD:worldall(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
new world;
if(sscanf(params, "i", world))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /worldall [VW]");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
SetPlayerVirtualWorld(i, world);
}
return 1;
}
/* 93 */
CMD:interiorall(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
new interior;
if(sscanf(params, "i", interior))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /interiorall [INT]");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
SetPlayerInterior(i, interior);
}
return 1;
}
/* 94 */
CMD:randomworld(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
SetPlayerVirtualWorld(playerid, random(1000));
return 1;
}
/* 95 */
CMD:announcebig(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
if(!strlen(params))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /announcebig [текст]");
GameTextForAll(params, 8000, 5);
return 1;
}
/* 96 */
CMD:messageall(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
if(!strlen(params))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /messageall [текст]");
SendClientMessageToAll(COLOR_ORANGE, params);
return 1;
}
/* 97 */
CMD:rain(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
SetWeather(8);
return 1;
}
/* 98 */
CMD:sandstorm(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
SetWeather(19);
return 1;
}
/* 99 */
CMD:storm(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
SetWeather(8);
return 1;
}
/* 100 */
CMD:snow(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
SetWeather(12);
return 1;
}
/* =========================================================
101-120 VEHICLES
========================================================= */
/* 101 */
CMD:veh(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new model;
if(sscanf(params, "i", model))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /veh [ID]");
new Float:x;
new Float:y;
new Float:z;
new Float:a;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
new vehicle = CreateVehicle(
model,
x + 2.0,
y,
z,
a,
-1,
-1,
-1
);
PutPlayerInVehicle(playerid, vehicle, 0);
return 1;
}
/* 102 */
CMD:veh2(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
new model;
new color1;
new color2;
if(sscanf(params, "iii", model, color1, color2))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /veh2 [ID] [цвет1] [цвет2]");
new Float:x;
new Float:y;
new Float:z;
new Float:a;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
new vehicle = CreateVehicle(
model,
x + 3.0,
y,
z,
a,
color1,
color2,
-1
);
PutPlayerInVehicle(playerid, vehicle, 0);
return 1;
}
/* 103 */
CMD:fixveh(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new vehicle = GetPlayerVehicleID(playerid);
if(vehicle == 0)
return SendClientMessage(playerid, COLOR_RED,
"Вы не находитесь в автомобиле.");
RepairVehicle(vehicle);
return 1;
}
/* 104 */
CMD:flipveh(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new vehicle = GetPlayerVehicleID(playerid);
if(vehicle == 0)
return SendClientMessage(playerid, COLOR_RED,
"Вы не в автомобиле.");
new Float:x;
new Float:y;
new Float:z;
new Float:a;
GetVehiclePos(vehicle, x, y, z);
GetVehicleZAngle(vehicle, a);
SetVehiclePos(vehicle, x, y, z + 1.0);
SetVehicleZAngle(vehicle, a);
return 1;
}
/* 105 */
CMD:destroyveh(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new vehicle = GetPlayerVehicleID(playerid);
if(vehicle == 0)
return SendClientMessage(playerid, COLOR_RED,
"Вы не в автомобиле.");
DestroyVehicle(vehicle);
return 1;
}
/* 106 */
CMD:vehcolor(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new c1;
new c2;
if(sscanf(params, "ii", c1, c2))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /vehcolor [1] [2]");
new vehicle = GetPlayerVehicleID(playerid);
ChangeVehicleColor(vehicle, c1, c2);
return 1;
}
/* 107 */
CMD:respawnveh(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new vehicle = GetPlayerVehicleID(playerid);
SetVehicleToRespawn(vehicle);
return 1;
}
/* 108 */
CMD:lockveh(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new vehicle = GetPlayerVehicleID(playerid);
SetVehicleParamsForPlayer(vehicle, playerid, 0, 1);
return 1;
}
/* 109 */
CMD:unlockveh(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new vehicle = GetPlayerVehicleID(playerid);
SetVehicleParamsForPlayer(vehicle, playerid, 0, 0);
return 1;
}
/* 110 */
CMD:engine(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new vehicle = GetPlayerVehicleID(playerid);
if(vehicle == 0)
return 1;
SetVehicleHealth(vehicle, 1000.0);
return 1;
}
/* 111 */
CMD:vehhp(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
new Float:hp;
if(sscanf(params, "f", hp))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /vehhp [HP]");
new vehicle = GetPlayerVehicleID(playerid);
SetVehicleHealth(vehicle, hp);
return 1;
}
/* 112 */
CMD:vehjump(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new vehicle = GetPlayerVehicleID(playerid);
if(vehicle == 0)
return 1;
SetVehicleVelocity(vehicle, 0.0, 0.0, 2.5);
return 1;
}
/* 113 */
CMD:vehboost(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new vehicle = GetPlayerVehicleID(playerid);
if(vehicle == 0)
return 1;
SetVehicleVelocity(vehicle, 0.0, 5.0, 0.0);
return 1;
}
/* 114 */
CMD:vehspin(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new vehicle = GetPlayerVehicleID(playerid);
if(vehicle == 0)
return 1;
SetVehicleAngularVelocity(vehicle, 0.0, 0.0, 5.0);
return 1;
}
/* 115 */
CMD:vehexplode(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
new vehicle = GetPlayerVehicleID(playerid);
if(vehicle == 0)
return 1;
SetVehicleHealth(vehicle, 0.0);
return 1;
}
/* 116 */
CMD:vehcolorrandom(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new vehicle = GetPlayerVehicleID(playerid);
ChangeVehicleColor(
vehicle,
random(126),
random(126)
);
return 1;
}
/* 117 */
CMD:vehjumpall(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) &&
IsPlayerInAnyVehicle(i))
{
new vehicle = GetPlayerVehicleID(i);
SetVehicleVelocity(vehicle, 0.0, 0.0, 2.0);
}
}
return 1;
}
/* 118 */
CMD:fixallveh(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
for(new i = 1; i < MAX_VEHICLES; i++)
RepairVehicle(i);
return 1;
}
/* 119 */
CMD:respawnallveh(playerid, params[])
{
if(!IsAdmin(playerid, 9))
return AdminDenied(playerid, 9);
for(new i = 1; i < MAX_VEHICLES; i++)
SetVehicleToRespawn(i);
return 1;
}
/* 120 */
CMD:destroyallveh(playerid, params[])
{
if(!IsAdmin(playerid, 10))
return AdminDenied(playerid, 10);
for(new i = 1; i < MAX_VEHICLES; i++)
DestroyVehicle(i);
return 1;
}
/* =========================================================
121-135 FUN
========================================================= */
/* 121 */
CMD:bighead(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
new target;
if(sscanf(params, "u", target))
target = playerid;
SetPlayerAttachedObject(
target,
0,
18636,
2,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
3.0,
3.0,
3.0
);
return 1;
}
/* 122 */
CMD:tinyhead(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
RemovePlayerAttachedObject(playerid, 0);
return 1;
}
/* 123 */
CMD:fly(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
SetPlayerVelocity(playerid, 0.0, 0.0, 1.0);
return 1;
}
/* 124 */
CMD:superjump(playerid, params[])
{
if(!IsAdmin(playerid, 4))
return AdminDenied(playerid, 4);
SetPlayerVelocity(playerid, 0.0, 0.0, 2.5);
return 1;
}
/* 125 */
CMD:god(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
SetPlayerHealth(playerid, 99999.0);
SetPlayerArmour(playerid, 99999.0);
return 1;
}
/* 126 */
CMD:ungod(playerid, params[])
{
if(!IsAdmin(playerid, 5))
return AdminDenied(playerid, 5);
SetPlayerHealth(playerid, 100.0);
SetPlayerArmour(playerid, 100.0);
return 1;
}
/* 127 */
CMD:rainbow(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
SetPlayerColor(playerid, 0xFF0000FF);
return 1;
}
/* 128 */
CMD:colorred(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
SetPlayerColor(playerid, COLOR_RED);
return 1;
}
/* 129 */
CMD:colorgreen(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
SetPlayerColor(playerid, COLOR_GREEN);
return 1;
}
/* 130 */
CMD:colorblue(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
SetPlayerColor(playerid, COLOR_BLUE);
return 1;
}
/* 131 */
CMD:colorpurple(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
SetPlayerColor(playerid, COLOR_PURPLE);
return 1;
}
/* 132 */
CMD:coloryellow(playerid, params[])
{
if(!IsAdmin(playerid, 2))
return AdminDenied(playerid, 2);
SetPlayerColor(playerid, COLOR_YELLOW);
return 1;
}
/* 133 */
CMD:invisible(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
SetPlayerColor(playerid, 0xFFFFFF00);
return 1;
}
/* 134 */
CMD:visible(playerid, params[])
{
if(!IsAdmin(playerid, 6))
return AdminDenied(playerid, 6);
SetPlayerColor(playerid, COLOR_WHITE);
return 1;
}
/* 135 */
CMD:drunk(playerid, params[])
{
if(!IsAdmin(playerid, 3))
return AdminDenied(playerid, 3);
SetPlayerDrunkLevel(playerid, 50000);
return 1;
}
/* =========================================================
136-150 OWNER / ADMIN MANAGEMENT
========================================================= */
/* 136 */
CMD:setadmin(playerid, params[])
{
if(!IsOwner(playerid))
return SendClientMessage(playerid, COLOR_RED,
"Только OWNER.");
new target;
new level;
if(sscanf(params, "ui", target, level))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /setadmin [ID] [LVL]");
if(level < 0 || level > 12)
return SendClientMessage(playerid, COLOR_RED,
"Допустимый уровень: 0-12.");
AdminLevel[target] = level;
new text[128];
format(
text,
sizeof(text),
"Ваш уровень администрации установлен: %d.",
level
);
SendClientMessage(target, COLOR_GREEN, text);
return 1;
}
/* 137 */
CMD:deladmin(playerid, params[])
{
if(!IsOwner(playerid))
return SendClientMessage(playerid, COLOR_RED,
"Только OWNER.");
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /deladmin [ID]");
AdminLevel[target] = 0;
SendClientMessage(target, COLOR_RED,
"Вы сняты с администрации.");
return 1;
}
/* 138 */
CMD:sethelper(playerid, params[])
{
if(!IsAdmin(playerid, 10))
return AdminDenied(playerid, 10);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /sethelper [ID]");
AdminLevel[target] = 1;
SendClientMessage(target, COLOR_GREEN,
"Вы назначены помощником.");
return 1;
}
/* 139 */
CMD:delhelper(playerid, params[])
{
if(!IsAdmin(playerid, 10))
return AdminDenied(playerid, 10);
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /delhelper [ID]");
AdminLevel[target] = 0;
return 1;
}
/* 140 */
CMD:promote(playerid, params[])
{
if(!IsOwner(playerid))
return SendClientMessage(playerid, COLOR_RED,
"Только OWNER.");
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /promote [ID]");
if(AdminLevel[target] < 12)
AdminLevel[target]++;
return 1;
}
/* 141 */
CMD:demote(playerid, params[])
{
if(!IsOwner(playerid))
return SendClientMessage(playerid, COLOR_RED,
"Только OWNER.");
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /demote [ID]");
if(AdminLevel[target] > 0)
AdminLevel[target]--;
return 1;
}
/* 142 */
CMD:serverinfo(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
new count;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
count++;
}
new text[256];
format(
text,
sizeof(text),
"SERVER | Online:%d | Max:%d | Owner:%s | MaxAdmin:12",
count,
MAX_PLAYERS,
OWNER_NAME
);
SendClientMessage(playerid, COLOR_CYAN, text);
return 1;
}
/* 143 */
CMD:saveall(playerid, params[])
{
if(!IsAdmin(playerid, 10))
return AdminDenied(playerid, 10);
SendRconCommand("gmx");
return 1;
}
/* 144 */
CMD:kickall(playerid, params[])
{
if(!IsOwner(playerid))
return SendClientMessage(playerid, COLOR_RED,
"Только OWNER.");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && i != playerid)
Kick(i);
}
return 1;
}
/* 145 */
CMD:reload(playerid, params[])
{
if(!IsOwner(playerid))
return SendClientMessage(playerid, COLOR_RED,
"Только OWNER.");
SendRconCommand("reloadfs");
return 1;
}
/* 146 */
CMD:restart(playerid, params[])
{
if(!IsOwner(playerid))
return SendClientMessage(playerid, COLOR_RED,
"Только OWNER.");
SendRconCommand("gmx");
return 1;
}
/* 147 */
CMD:shutdown(playerid, params[])
{
if(!IsOwner(playerid))
return SendClientMessage(playerid, COLOR_RED,
"Только OWNER.");
SendRconCommand("exit");
return 1;
}
/* 148 */
CMD:owner(playerid, params[])
{
if(!IsAdmin(playerid, 1))
return AdminDenied(playerid, 1);
new text[128];
format(
text,
sizeof(text),
"Главный владелец сервера: %s | LVL 12",
OWNER_NAME
);
SendClientMessage(playerid, COLOR_YELLOW, text);
return 1;
}
/* 149 */
CMD:adminlog(playerid, params[])
{
if(!IsAdmin(playerid, 8))
return AdminDenied(playerid, 8);
SendClientMessage(playerid, COLOR_YELLOW,
"Последние административные действия выводятся в server_log.");
return 1;
}
/* 150 */
CMD:adminreset(playerid, params[])
{
if(!IsOwner(playerid))
return SendClientMessage(playerid, COLOR_RED,
"Только OWNER.");
new target;
if(sscanf(params, "u", target))
return SendClientMessage(playerid, COLOR_GREY,
"Использование: /adminreset [ID]");
AdminLevel[target] = 0;
AdminDuty[target] = 0;
AdminMuted[target] = 0;
AdminJail[target] = 0;
Warns[target] = 0;
Frozen[target] = false;
TogglePlayerControllable(target, true);
SetPlayerColor(target, COLOR_WHITE);
SendClientMessage(
target,
COLOR_RED,
"Ваша административная статистика полностью сброшена."
);
return 1;
}