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

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

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

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

[С.M.D] /awarn & /unawarn

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

Fist

Ученик
Команда даёт возможность Гл.Администратору дать выговор Модераторам
И так приступим:
В enum pInfo добавляем
PHP:
pAWarns,
В public OnPlayerConnect(playerid) добавляем
PHP:
PlayerInfo[playerid][pAWarns] = 0;
В public OnPlayerRegister(playerid, password[]) добавляем
PHP:
dini_IntSet(string, "AWarn", PlayerInfo[playerid][pAWarns]);
В public OnPlayerSave(playerid) добавляем
PHP:
dini_IntSet(string, "AWarn", PlayerInfo[playerid][pAWarns]);

В public OnPlayerLogin(playerid,password[]) добавляем
PHP:
PlayerInfo[playerid][pAWarns] = dini_Int(string2,"AWarn");
В public OnPlayerCommandText(playerid, cmdtext[]) добавляем

PHP:
	if(strcmp(cmd, "/awarn", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	    	tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GREY, "/awarn [id_игрока/ЧастьИмени] [причина]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			if (PlayerInfo[playerid][pAdmin] >= 5)//тут вместо 5 ставим своё
             {
			    if(IsPlayerConnected(giveplayerid))
			    {
			        if(giveplayerid != INVALID_PLAYER_ID)
			        {
					    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						if (PlayerInfo[giveplayerid][pAdmin] == 5)//тут вместо 5 ставим своё
					    {
							SendClientMessage(playerid, COLOR_GREY, "Он Гл.Администратор -_-");
		                    return 1;
			             }
							new length = strlen(cmdtext);
							while ((idx < length) && (cmdtext[idx] <= ' '))
							{
								idx++;
							}
							new offset = idx;
							new result[256];
							while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
							{
								result[idx - offset] = cmdtext[idx];
								idx++;
							}
							result[idx - offset] = EOS;
							if(!strlen(result))
							{
								SendClientMessage(playerid, COLOR_GRAD2, "/awarn [id_игрока/ЧастьИмени] [причина]");
								return 1;
							}
							PlayerInfo[giveplayerid][pAWarns] += 1;
							if(PlayerInfo[giveplayerid][pAWarns] >= 3)
							{
							 new kols[64];
                    new level = PlayerInfo[giveplayerid][pAdmin];
                    if(level == 1) { kols = "Модератору"; }//тут всё делаем по своему
                    else if(level == 3) { kols = "Модератору"; }//тут всё делаем по своему
                    else if(level == 2) { kols = "Модератору"; }//тут всё делаем по своему
                    else if(level == 4) { kols = "Гл.Модератору"; }//тут всё делаем по своему
                    else if(level == 5) { kols = "Гл.Администратору"; }//тут всё делаем по своему
		 	   					new year, month,day;
								getdate(year, month, day);
								format(string, sizeof(string), "Название сервера : Гл.Администратор %s выдал(а) предупреждение %s %s. Причина: %s (3/3) ", sendername, kols, giveplayer, (result));
								SendAdminMessage(TEAM_AZTECAS_COLOR, string);
								format(string, sizeof(string), "Название сервера : %s[%d] в результате был(а) снят(а) с своего поста.", giveplayer, giveplayerid);
								SendAdminMessage(TEAM_AZTECAS_COLOR, string);
								PlayerInfo[giveplayerid][pAWarns] = 0;
								PlayerInfo[giveplayerid][pAdmin] = 0;
								return 1;
							}
							new level = PlayerInfo[giveplayerid][pAdmin];
							new arank[256];
                          if(level == 1) { arank = "Модератору"; }//тут всё делаем по своему
                          else if(level == 3) { arank = "Модератору"; }//тут всё делаем по своему
                          else if(level == 2) { arank = "Модератору"; }//тут всё делаем по своему
                          else if(level == 4) { arank = "Гл.Модератору"; }//тут всё делаем по своему
                          else if(level == 5) { arank = "Гл.Администратору"; }//тут всё делаем по своему
							format(string, sizeof(string), "Название сервера : Гл.Администратор %s дал(a) выговор %s %s. Причина: %s (%d/3)", sendername, arank, giveplayer, (result), PlayerInfo[giveplayerid][pAWarns]);
							SendAdminMessage(TEAM_AZTECAS_COLOR, string);
							return 1;
						}
                		else
						{
			    			SendClientMessage(playerid, COLOR_GREY, "Он Гл.Администратор -_-");
			    			return 1;
						}
					}
					else
					{
						format(string, sizeof(string), "%d - нет такого игрока.", giveplayerid);
						SendClientMessage(playerid, COLOR_GREY, string);
						return 1;
					}
				}
			}
		}
		if(strcmp(cmd, "/unawarn", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	    	tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GREY, "/unawarn [id_игрока/ЧастьИмени] [причина]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			if (PlayerInfo[playerid][pAdmin] >= 5)//тут вместо 5 ставим своё
			{
			    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[256];
							while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
							{
								result[idx - offset] = cmdtext[idx];
								idx++;
							}
							result[idx - offset] = EOS;
							if(!strlen(result))
							{
								SendClientMessage(playerid, COLOR_GRAD2, "/unawarn [id_игрока/ЧастьИмени] [причина]");
								return 1;
							}
							new level = PlayerInfo[giveplayerid][pAdmin];
							new arank[256];
                            if(level == 1) { arank = "Модератора"; }//тут всё делаем по своему
                            else if(level == 2) { arank = "Модератора"; }//тут всё делаем по своему
                            else if(level == 3) { arank = "Модератора"; }//тут всё делаем по своему
                            else if(level == 4) { arank = "Гл.Модератора"; }//тут всё делаем по своему
                            else if(level == 5) { arank = "Гл.Администратора"; }//тут всё делаем по своему
							PlayerInfo[giveplayerid][pAWarns] -= 1;
							format(string, sizeof(string), "Название сервера : Гл.Администратор %s снял(a) предупреждение с %s %s. Причина: %s (%d/3)", sendername, arank, giveplayer, (result), PlayerInfo[giveplayerid][pAWarns]);
							SendFamilyMessage(PlayerInfo[giveplayerid][pMember], TEAM_AZTECAS_COLOR, string);
							return 1;
						}
					else
					{
						format(string, sizeof(string), "%d - нет такого игрока.", giveplayerid);
						SendClientMessage(playerid, COLOR_GREY, string);
						return 1;
					}
				}
			}
			else
			{
			    SendClientMessage(playerid, COLOR_GREY, "Вы не Гл.Администратор!");
			    return 1;
			}
		}
		return 1;
	}
Надеюсь вам пригодится
Автор-Я
От + не откажусь
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу