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

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

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

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

[Манул] Дать разрешение на разбан.

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

Like2

Компетентный
Добрый день. :)
в pInfo:
PHP:
pUnbana,
В OnPlayerConnect:
PHP:
PlayerInfo[playerid][pUnbana] = false;
В OnPlayerRegister:
PHP:
ini_setInteger(iniFile, "UnbanPrava", PlayerInfo[playerid][pUnbana]);
В OnPlayerSave:
PHP:
ini_setInteger(iniFile, "UnbanPrava", PlayerInfo[playerid][pUnbana]);
В OnPlayerLogin:
PHP:
ini_getInteger(iniFile, "UnbanPrava", PlayerInfo[playerid][pUnbana]);
В команду /unban:
PHP:
if(PlayerInfo[playerid][pAdmin] != 5 || PlayerInfo[playerid][pUnbana] != 1) return SendClientMessage(playerid, -1, "{ff3300}[Ошибка]{ffffff} Недостаточно прав для использования команды.");
Команды(ycmd):
PHP:
YCMD:giveunban(playerid, params[], help)
{
	if(PlayerInfo[playerid][pAdmin] < 5) return (true);
	if(sscanf(params,"u",params[0])) return SendClientMessage(playerid, -1, "Используйте: /giveunban [ ид игрока ]");
	if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "{ff3300}[Ошибка]{ffffff} Игрока нет в сети.");
	if(PlayerInfo[params[0]][pUnbana] == 1) return SendClientMessage(playerid, -1, "{ff3300}[Ошибка]{ffffff} У указанного игрока - уже есть право заниматься разбанами.");
	format(string, sizeof(string), "Ты разрешил(а) игроку %s заняться разбанами игроков.", Name(params[0]));
	SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
	PlayerInfo[params[0]][pUnbana] = 1;
	format(string, sizeof(string), "Гл.Администратор %s, разрешил(а) тебе заниматься разбанами игроков.", Name(playerid));
	SendClientMessage(params[0], COLOR_LIGHTBLUE, string);
	return (true);
}

YCMD:offunban(playerid, params[], help)
{
	if(PlayerInfo[playerid][pAdmin] < 5) return (true);
	if(sscanf(params,"u",params[0])) return SendClientMessage(playerid, -1, "Используйте: /offunban [ ид игрока ]");
	if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "{ff3300}[Ошибка]{ffffff} Игрока нет в сети.");
	if(PlayerInfo[params[0]][pUnbana] == 0) return SendClientMessage(playerid, -1, "{ff3300}[Ошибка]{ffffff} У указанного игрока - нет прав.");
	format(string, sizeof(string), "Ты запретил(а) игроку %s заниматься разбанами игроков.", Name(params[0]));
	SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
	PlayerInfo[params[0]][pUnbana] = 0;
	format(string, sizeof(string), "Гл.Администратор %s, запретил(а) тебе заниматься разбанами игроков.", Name(playerid));
	SendClientMessage(params[0], COLOR_LIGHTBLUE, string);
	return(true);
}
Обычные команды:
PHP:
	if(strcmp(cmd, "/giveunban", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
		{
		    if(PlayerInfo[playerid][pAdmin] >= 5)
			{
				tmp = strtok(cmdtext, idx);
				if(!strlen(tmp))
				{
					SendClientMessage(playerid, COLOR_WHITE, "{33AA33}[Использование]{FFFFFF}: /giveunban [ид игрока]");
					return 1;
				}
				giveplayerid = ReturnUser(tmp);
				if(PlayerInfo[giveplayerid][pUnbana] == 1)
				{
					SendClientMessage(playerid, COLOR_GREY, "{FF3300}[Ошибка]{ffffff}: У этого игркоа уже есть право заниматься разбанами.");
					return 1;
				}
				if(IsPlayerConnected(giveplayerid))
				{
					new planame[32];
					new adminname[32];
     				new arank[64];
     				if(PlayerInfo[playerid][pAdmin] == 5) { arank = "Гл.Администратор"; }
     				else { arank = "Модератор"; }
					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;
					GetPlayerName(playerid, adminname, sizeof(adminname));
					GetPlayerName(giveplayerid, planame, sizeof(planame));
					format(string, sizeof(string), "Ты разрешил %s заняться разбанами игроков.", planame);
					SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
					PlayerInfo[giveplayerid][pUnbana] += 1;
					format(string, sizeof(string), "%s %s разрешил(а) тебе заниматься разбанами игроков.", arank, adminname);
					SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
				}
			    else
				{
					format(string, sizeof(string), "{FF3300}[Ошибка]{ffffff}: Этот игрок не в сети.", giveplayerid);
					SendClientMessage(playerid, COLOR_RED, string);
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_RED, "{FF3300}[Ошибка]{ffffff}: Недостаточно прав для использования команды!");
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/offunban", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
		{
		    if(PlayerInfo[playerid][pAdmin] >= 5)
			{
				tmp = strtok(cmdtext, idx);
				if(!strlen(tmp))
				{
					SendClientMessage(playerid, COLOR_WHITE, "{33AA33}[Использование]{FFFFFF}: /offunban [ид игрока]");
					return 1;
				}
				giveplayerid = ReturnUser(tmp);
				if(PlayerInfo[giveplayerid][pUnbana] == 0)
				{
					SendClientMessage(playerid, COLOR_GREY,f "{FF3300}[Ошибка]{ffffff}: У этого игрока и так нет права на разбаны.");
					return 1;
				}
				if(IsPlayerConnected(giveplayerid))
				{
					new planame[32];
					new adminname[32];
     				new arank[18];
     				if(PlayerInfo[playerid][pAdmin] == 5) { arank = "Гл.Администратор"; }
     				else { arank = "Модератор"; }
					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;
					GetPlayerName(playerid, adminname, sizeof(adminname));
					GetPlayerName(giveplayerid, planame, sizeof(planame));
					format(string, sizeof(string), "Ты забрал(а) права разбана у %s.", planame);
					SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
					PlayerInfo[giveplayerid][pUnbana] = 0;
					format(string, sizeof(string), "%s %s забрал(а) у тебя права заниматься разбанами игроков.", arank, adminname);
					SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
				}
			    else
				{
					format(string, sizeof(string), "{FF3300}[Ошибка]{ffffff}: Этот игрок не в сети.", giveplayerid);
					SendClientMessage(playerid, COLOR_RED, string);
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_RED, "{FF3300}[Ошибка]{ffffff}: Недостаточно прав для использования команды!");
			}
		}
		return 1;
	}
Автора не знаю, вырезал из мода Antares RPG.
Команды мои. : ]
​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу