#Vladd
Новичок
Вырезанный бан из проектов Нубо РП. Блокирует адм полномочия
Дефайны:
Найдете ошибку - сообщите пожалуйста, исправлюсь. Надеюсь вдруг кому помог)
Дефайны:
PHP:
#define SCM SendClientMessage
#define SCMToAll SendClientMessageToAll
#define IPC IsPlayerConnected
#define FD1 !strcmp(PlayerInfo[playerid][pName], "pawno-info", true) //FD1
#define FD2 !strcmp(PlayerInfo[playerid][pName], "pawno-info", true) //FD2
#define FD3 !strcmp(PlayerInfo[playerid][pName], "pawno-info", true) //FD3
PHP:
CMD:ban(playerid, params[]) // сама команда:al:
{
if(PlayerInfo[playerid][rAdmin] < 5 || dostup[playerid] == 0) return true; // проверка на адм
if(cmd_is_forbidden(cmd_permits_ban)) return SCM_ThisCommandIsForbidden(playerid); // проверка на запрещенную команду
str_send_g = "";
if(sscanf(params, "dds[64]", params[0], params[1], params[2])) return send(playerid,COLOR_LIGHTBLUE, "Используйте: {FFFFFF} /ban [ID игрока] [Кол-во дней] [Причина]"); // если чето не вписано
if(!IPC(params[0])) return SCM(playerid, COLOR_GRAY, "Игрок не найден!"); // если игрок не надйен
if(GetPVarInt(playerid,"OnPlayerBanEx") > gettime()) // Блокирует админку если команда введена одновременно 3 раза
{
SetPVarInt(playerid,"BanEx",GetPVarInt(playerid,"BanEx") + 1);
if(GetPVarInt(playerid,"BanEx")>= 3)
{
SetPVarInt(playerid,"BanEx",0);
SetPVarInt(playerid,"OnPlayerBanEx",gettime()+9999999);
SCM(playerid,-1,"Ваши админ полномочия аннулированы за подозрение в сливе. Востановление у Главного Админа");
PlayerInfo[params[0]][rAdmin] = 0; // Своя проверка на админку.
}
}
SetPVarInt(playerid,"OnPlayerBanEx",gettime()+3);
if(FD1||FD3||FD2) return true; // нельзя забанить ФД
if (PlayerInfo[params[0]][rAdmin] > 0 && PlayerInfo[playerid][rAdmin] != 12) return SCM(playerid, COLOR_GRAD2, "Администратор не может быть забанен!"); // Админа не баним, но 12 может их банить:ce:
if(params[1] < 1 || params[1] > 14) return send(playerid, COLOR_GREY, "Срок бана не может быть ниже 1 дня и выше 14 дней.");
f(str_send_g,"Администратор %s забанил %s на %d дней. Причина: %s",PlayerInfo[playerid][pName],PlayerInfo[params[0]][pName],params[1],params[2]); // Показывает всем что игрок забанен
SCMToAll(COLOR_LIGHTRED, str_send_g);
new timess[16],dates[16],unbantime[32];
new hour,minute,second,year,month,day;
gettime(hour, minute, second);
f(timess, "%02d:%02d:%02d", hour, minute, second);
getdate(year, month, day);
f(dates, "%02d.%02d.%04d", day, month, year);
new ip[32]; // вычисление ипа игрока
GetPlayerIp(params[0], ip, 32);
new uday,umonth = month,uyear = year;
if(day+params[1] > 31 && month == 1) uday = (day+params[1])-31, umonth++;
else if(day+params[1] > 28 && month == 2) uday = (day+params[1])-28, umonth++;
else if(day+params[1] > 31 && month == 3) uday = (day+params[1])-31, umonth++;
else if(day+params[1] > 30 && month == 4) uday = (day+params[1])-30, umonth++;
else if(day+params[1] > 31 && month == 5) uday = (day+params[1])-31, umonth++;
else if(day+params[1] > 30 && month == 6) uday = (day+params[1])-30, umonth++;
else if(day+params[1] > 31 && month == 7) uday = (day+params[1])-31, umonth++;
else if(day+params[1] > 31 && month == 8) uday = (day+params[1])-31, umonth++;
else if(day+params[1] > 30 && month == 9) uday = (day+params[1])-30, umonth++;
else if(day+params[1] > 31 && month == 10) uday = (day+params[1])-31, umonth++;
else if(day+params[1] > 30 && month == 11) uday = (day+params[1])-30, umonth++;
else if(day+params[1] > 31 && month == 12) uday = (day+params[1])-31, umonth = 1, uyear = year++; //Все по месяцам
else uday = day+params[1];
f(unbantime,"%02d.%02d.%04d %02d:%02d:%02d",uday,umonth,uyear,hour,minute,second);
mysql_format(connects,str_send[playerid], MAX_STRING, "INSERT INTO `bans` (`name`, `ip`, `nameadmin`, `bandate`, `time`, `unbandate`, `reason`) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%e')", // добавление в лог банов
PlayerInfo[params[0]][pName], ip, PlayerInfo[playerid][pName],dates,timess,unbantime,params[2]);
mysql_function_query(connects, str_send[playerid], false, "", ""), str_send[playerid][0]=0; // хз
new unbandate = gettime() + params[1]*86400; // умножение вашего числа на дни ( 1*86400 = 1 день)
mysql_format(connects,str_send[playerid], MAX_STRING, "UPDATE `accounts` SET `unbantime` = '%d' WHERE `Name` = '%s'",unbandate,PlayerInfo[params[0]][pName]); // обновление в БД
mysql_function_query(connects, str_send[playerid], false, "", ""), str_send[playerid][0]=0;
GKick(params[0]); // кик собсна
PlayerInfo[playerid][pAdminRob][3]++; // Выдача в админ-статистику +1 балл за бан
return true; // если прошло проверку
}
PHP:
#define F_GROVE 15
#define F_BALLAS 12
#define F_RIFA 18
#define F_AZTEC 17
#define F_VAGOS 13
#define COLOR_GRAY 0xAFAFAFAA
#define CBADINFO 0xFF182DFF
#define RandomEx(%1,%2) (random(%2-%1)+%1)
#define CGRAY 0xAFAFAFAA
#define CGREEN 0x33AA33AA
#define D_JOB 131
#define cGREEN 33AA33
#define cRED FF0000
#define cGRAY AFAFAF
#define D_HEAL 105
#define cWHITE FFFFFF
#define cINFO 269BD8
#define CINFO 0x269BD8FF
#define CPINK 0xDD90FFFF
#define cLIGHTBLUE 33CCFF
#define cYELLOW FFFF00
#define CYELLOW 0xFFFF00AA
#define cPINK E75480
#define CRED 0xFF0000AA
#define CORANGE 0xFF9900AA
#define cBLUE 00b8ff
#define CBLUE 0x4682B4AA
#define Cvet_0 0xFFFFFF20
#define Cvet_1 0xFF0000FF
#define Cvet_2 0x808080FF
#define Cvet_3 0x008000FF
#define Cvet_4 0xFFFF00FF
#define Cvet_5 0x0000FFFF
#define Cvet_6 0xFFA500FF
#define Cvet_7 0x32CD32FF
#define Cvet_8 0xFF00FFFF
#define Cvet_9 0xDC143CFF
#define CLIGHTRED 0xFF0033FF
#define Cvet_11 0xFFD700FF
#define CWHITE 0xFFFFFFFF
#define Cvet_12 0x808000FF
#define Cvet_13 0xFF6347FF
#define Cvet_14 0xEE82EEFF
#define Cvet_15 0xFFFFFFFF
#define COLOR_ISPOLZUY 0x7FB151FF
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_BLUE 0x33AAFFFF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_BLACK 0x000000AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_RED 0xAA3333AA
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_LIGHTGREEN 0x9ACD32AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_YELLOW2 0xF5DEB3AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_REDD 0xFF0000AA
#define COLOR_BROW 0xA85400AA
#define COLOR_FADE1 0xE6E6E6E6
#define COLOR_FADE2 0xC8C8C8C8
#define COLOR_FADE3 0xAAAAAAAA
#define COLOR_FADE4 0x8C8C8C8C
#define COLOR_FADE5 0x6E6E6E6E
#define COLOR_PURPLE 0xDD90FFFF
#define COLOR_DBLUE 0x2641FEAA
#define COLOR_ALLDEPT 0xFF8282AA
#define COLOR_NEWS 0xFFA500AA
#define COLOR_LIFE 0xFEBC41AA
#define COLOR_OOC 0xE0FFFFAA
#define COLOR_BOX 0x00000050
#define COLOR_BBLUE 0x20A9FFAA
#define TEAM_BLUE_COLOR 0x8D8DFF00
#define TEAM_GROVE_COLOR 0x00D900C8
#define TEAM_VAGOS_COLOR 0xFFC801C8
#define TEAM_BALLAS_COLOR 0xD900D3C8
#define TEAM_AZTECAS_COLOR 0x01FCFFC8
#define TEAM_CYAN_COLOR 0xFF8282AA
#define TEAM_ORANGE_COLOR 0xFF830000
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_RED 0xAA3333AA
#define COLOR_BORDER 0x00000AAA
#define color_cyan "{00FFFF}"
#define color_wheat "{F5DEB3}"
#define color_blue "{000cff}"
#define color_blues "{2a52be}"
#define color_green "{3fda07}"
#define color_white "{ffffff}"
#define color_red "{ff0000}"
#define color_lred "{ff6347}"
#define color_lblue "{00c0ff}"
#define color_yellow "{ffff00}"
#define color_grey "{c3c3c3}"
#define color_ad1 "{ffcc33}"
#define color_ad2 "{33cc00}"
#define color_orange_stats "{ff8300}"
#define color_standD "{a9c4e4}"
Найдете ошибку - сообщите пожалуйста, исправлюсь. Надеюсь вдруг кому помог)
Последнее редактирование модератором:
