Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Вопрос по командам.

Статус
В этой теме нельзя размещать новые ответы.

HuskyNya

Новичок
Не работают команды /kick /ban, а именно не показывает что игрока кикнули у него просто пропадает соединение с сервером. Еще /jail кто может дайте чтобы можно было указывать причину .

PHP:
 else if(strcmp(cmd, "/kick", true) == 0)
    {
        if (PlayerInfo[playerid][pAdmin] >= 2)
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) return    SendClientMessage(playerid, COLOR_WHITE, "Введите: /kick [id] [причина]");
            if (dostup[playerid] != 1) return ShowPlayerDialog(playerid,2934,DIALOG_STYLE_INPUT,"Доступ администратора","Введи свой key в окошко и нажми 'Ок'","Ок","Отмена");
            giveplayerid = ReturnUser(tmp);
            if (PlayerInfo[playerid][pLevel] >= 2 && PlayerInfo[playerid][pAdmin] >= 1)
            {
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        new length = strlen(cmdtext);
                        while ((idx < length) && (cmdtext[idx] <= ' '))
                        {
                            idx++;
                        }
                        new offset = idx;
                        new result[64];
                        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                        {
                            result[idx - offset] = cmdtext[idx];
                            idx++;
                        }
                        result[idx - offset] = EOS;
                        if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /kick [id] [reason]");
                        new year, month,day;
                        getdate(year, month, day);
                        format(string, sizeof(string), "Игрок %s был кикнут администратором %s. Причина: %s", giveplayer, sendername, (result));
                        SendClientMessageToAll(COLOR_LIGHTRED, string);
                        Kick(giveplayerid);
                        return true;
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "{F70000}x {ADAEAD}Игрок не найден!");
            }
        }
        return true;
    }
        else if(strcmp(cmd, "/hkick", true) == 0)
		{
		    	if(PlayerInfo[playerid][pHelper] == 4)
				{
		    	tmp = strtok(cmdtext, idx);
				if(!strlen(tmp)) return	SendClientMessage(playerid, COLOR_WHITE, "/hkick [ид] [причина]");
				giveplayerid = ReturnUser(tmp);
				if(PlayerInfo[playerid][pHelper] == 4)
				{
					if(IsPlayerConnected(giveplayerid))
					{
					    if(giveplayerid != INVALID_PLAYER_ID)
					    {
					        if(PlayerInfo[giveplayerid][pAdmin] > 0) return SendClientMessage(playerid, COLOR_GRAD2, "Администратор не может быть кикнут!");
					        if(PlayerInfo[giveplayerid][pHelper] > 0) return SendClientMessage(playerid, COLOR_GRAD2, "Хелпер не может быть кикнут!");
						    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
							GetPlayerName(playerid, sendername, sizeof(sendername));
							new length = strlen(cmdtext);
							while ((idx < length) && (cmdtext[idx] <= ' '))
							{
								idx++;
							}
							new offset = idx;
							new result[64];
							while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
							{
								result[idx - offset] = cmdtext[idx];
								idx++;
							}
							result[idx - offset] = EOS;
							if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "/hkick [ид] [причина]");
							new year, month,day;
							getdate(year, month, day);
							PlayerInfo[giveplayerid][pRp] -=2;
							format(string, sizeof(string), "Хелпер %s кикнул игрока %s. Причина: %s", sendername,giveplayer, (result));
							SendClientMessageToAll(COLOR_LIGHTRED, string);
							Kick(giveplayerid);
							return true;
						}
					}
				}
				else
				{
					SendClientMessage(playerid, COLOR_GREY, "Игрок не найден!");
				}
			}
			return true;
		}

PHP:
if(strcmp(cmd, "/ban", true) == 0) {
    if(IsPlayerConnected(playerid)) {
    if (PlayerInfo[playerid][pAdmin] >= 5) {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "{22ff00}» {bbbbbb}Введите{FFFFFF}: /ban [id] [Количество дней] [причина]");
    return true; }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid)) {
    tmp = strtok(cmdtext, idx);
    if (!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{22ff00}» {bbbbbb}Введите{FFFFFF}: /ban [id] [Количество дней] [причина]");
    new days = strval(tmp);
    new reason[128];
    new ip[15];
	GetPlayerIp(giveplayerid,ip,15);
    reason = bigstr(cmdtext, idx);
    if (!strlen(reason)) return SendClientMessage(playerid, COLOR_WHITE, "{22ff00}» {bbbbbb}Введите{FFFFFF}: /ban [id] [Количество дней] [причина]");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    new year1, month1, day1, hour1, minute1, second1;
    getdate(year1, month1, day1);
    gettime(hour1, minute1, second1);
    new year,month,day;
    getdate(year, month, day);
    day += days; {
	if (day > 31) {
	month += 1;
	if (month > 12) {
	year += 1;
	while(day > 31) day -= 31; }
	else while(day > 31) day -= 31;}} {
	if (day > 30) {
	month += 1;
	if (month > 12) {
	year += 1;
	while(day > 30) day -= 30; }
	else while(day > 30) day -= 30;}} {
	if (day > 29) {
	month += 1;
	if (month > 12) {
	year += 1;
	while(day > 29) day -= 29; }
	else while(day > 29) day -= 29;}} {
	if (day > 28) {
	month += 1;
	if (month > 12) {
	year += 1;
	while(day > 28) day -= 28; }
	else while(day > 28) day -= 28;}}
    format(string, sizeof(string), "users/%s.ini",giveplayer);
    new file = ini_openFile(string);
    if(file < 0) print("нету файла");
    else {
    ini_getString(file,"pIp",string);
    ini_getString(file,"pIpReg",string);
    ini_closeFile(file);
    format(string,256,"[Администрация]: %s забанил %s на %d дней, причина: %s",sendername,giveplayer,days,(reason));
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    format(string,256,"Продолжительность: %d | IP: [%s] | Дата разбана:(%d.%d.%d)",days, ip, day, month, year);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    new iniFile = ini_openFile("banlog/ban.ini");
    ini_setString(iniFile, "Nick:\n",giveplayer);
    ini_closeFile(iniFile);
    new coordsstring1[512];
    new msg1[] = "{ffff00}Ваш аккаунт заблокирован\n\n{ffffff}Администратор: {1e90ff}%s\n{ffffff}Срок: {1e90ff}%d {ffffff}дней\nПричина: {1e90ff}%s";
    format(coordsstring1, sizeof coordsstring1, msg1, sendername,days,(reason));
    SPD(giveplayerid,9999,DIALOG_STYLE_MSGBOX,"Блокировка аккаунта",coordsstring1,"Скрыть","");
    PlayerInfo[giveplayerid][pLocked] = 1;
    Kick(giveplayerid); }}
    else { SendClientMessage(playerid, COLOR_GREY, "{F70000}x {ADAEAD}Игрок не найден!"); }}
    else { SendClientMessage(playerid, COLOR_GREY, "{F70000}x {ADAEAD}Вы не уполномочены использовать эту команду!"); return true; }}
    return true;}
	else if(strcmp(cmd, "/freeze", true) == 0)
		{
		    	if(PlayerInfo[playerid][pAdmin] >= 1)
				{
				tmp = strtok(cmdtext, idx);
				if(!strlen(tmp)) return	SendClientMessage(playerid, COLOR_WHITE, "/freeze [ид]");
				new playa;
				playa = ReturnUser(tmp);
				if(PlayerInfo[playa][pAdmin] > 0) return SendClientMessage(playerid, COLOR_GRAD2, "Администратор не может быть заморожен!");
				if (PlayerInfo[playerid][pAdmin] >= 2)
				{
				    if(IsPlayerConnected(playa))
				    {
				        if(playa != INVALID_PLAYER_ID)
				        {
					        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
							GetPlayerName(playerid, sendername, sizeof(sendername));
							TogglePlayerControllable(playa, 0);
							format(string, sizeof(string), "Администратор %s заморозил %s",sendername,  giveplayer);
							printf("%s",string);
							format(string, sizeof(string), "%s был(а) заморожен(а) администратором %s",giveplayer ,sendername);
							ABroadCast(COLOR_LIGHTRED,string,1);
						}
					}
				}
				else
				{
					SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!");
				}
				}
			return true;
		}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу