Доступ к готовым решениям

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

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

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

Мануал Простая система чёрного списка(BlackList)для армий

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

Andrei_Cernihev

Умник
Всем привет вчера вечером заняться было больно нечем вот решил сделать чёрные списки для армий и так пора приступать :D
к enum pInfo добавляем
PHP:
pLvabl,
pSfabl,
далее в stock ClearConnectAccount(playerid)
PHP:
PlayerInfo[playerid][pLvabl] = 0;
PlayerInfo[playerid][pSfabl] = 0;
далее добавляем в stock OnPlayerRegister(playerid, password[])
PHP:
ini_setInteger(File, "Lvablacklist",PlayerInfo[playerid][pLvabl]);
ini_setInteger(File, "Sfablacklist",PlayerInfo[playerid][pSfabl]);
далее вот сюда stock OnPlayerUpdateAC(playerid) ну или как там у вас
PHP:
ini_setInteger(File, "Lvablacklist",PlayerInfo[playerid][pLvabl]);
ini_setInteger(File, "Sfablacklist",PlayerInfo[playerid][pSfabl]);
и вот сюда public OnPlayerLogin(playerid, password[]) добавим
PHP:
ini_getInteger(File, "Lvablacklist",PlayerInfo[playerid][pLvabl]);
ini_getInteger(File, "Sfablacklist",PlayerInfo[playerid][pSfabl]);
Ну вот и всё теперь приступаем к самой важной части нашего урока это добавление и вынесение игрока из чёрного списка
сначала добавим команду занесения в Чёрный список
И так ко всем командам
PHP:
if(strcmp(cmd, "/blacklist", true) == 0 || strcmp(cmd, "/bl", true) == 0)
	{
		if(PlayerInfo[playerid][pMember] >= 1)
		{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /bl(acklist) [id]");
			new plo;
			plo = ReturnUser(tmp);
			if(IsPlayerConnected(plo))
			{
				if(plo != INVALID_PLAYER_ID)
				{
				    if(PlayerInfo[playerid][pMember] == 19 || PlayerInfo[playerid][pLeader] == 19 && PlayerInfo[playerid][pRank] >= 15) // проверки свои делайте 
				    {
					    PlayerInfo[plo][pLvabl] = 1;
					    SendClientMessage(playerid,COLOR_LIGHTRED,"Вы занесли игрока в чёрный список армии Las Venturas!");
					    SendClientMessage(plo,COLOR_LIGHTRED,"Вы были занесены в чёрный список армии Las Venturas!");
					    return 1;
					}
					if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3 && PlayerInfo[playerid][pRank] >= 15) // проверки свои делайте
				    {
					    PlayerInfo[plo][pSfabl] = 1;
					    SendClientMessage(playerid,COLOR_LIGHTRED,"Вы занесли игрока в чёрный список армии San Fierro!");
					    SendClientMessage(plo,COLOR_LIGHTRED,"Вы были занесены в чёрный список армии San Fierro!");
					    return 1;
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "Игрок не найден");
			}
		}
		return true;
	}
далее команду вынесения из чёрного списка
PHP:
if(strcmp(cmd, "/unblacklist", true) == 0 || strcmp(cmd, "/unbl", true) == 0)
	{
		if(PlayerInfo[playerid][pMember] >= 1)
		{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /unbl(acklist) [id]");
			new plo;
			plo = ReturnUser(tmp);
			if(IsPlayerConnected(plo))
			{
				if(plo != INVALID_PLAYER_ID)
				{
				    if(PlayerInfo[playerid][pMember] == 19 || PlayerInfo[playerid][pLeader] == 19 && PlayerInfo[playerid][pRank] >= 15) // проверки свои делайте 
				    {
					    PlayerInfo[plo][pLvabl] = 0;
					    SendClientMessage(playerid,COLOR_LIGHTRED,"Вы вынесли игрока из чёрного списка армии Las Venturas!");
					    SendClientMessage(plo,COLOR_LIGHTRED,"Вы были вынесены чёрного списка армии Las Venturas!");
					    return 1;
					}
					if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3 && PlayerInfo[playerid][pRank] >= 15) // проверки свои делайте 
				    {
					    PlayerInfo[plo][pSfabl] = 0;
					    SendClientMessage(playerid,COLOR_LIGHTRED,"Вы вынесли игрока из чёрного списка армии San Fierro!");
					    SendClientMessage(plo,COLOR_LIGHTRED,"Вы были вынесены чёрного списка армии San Fierro!");
					    return 1;
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "Игрок не найден");
			}
		}
		return true;
	}
ну вот команды добавлены теперь нам нежно сделать проверку при приёме игрока то-есть если игрок в чс принять его было нельзя и так идём в команду /invite и ищем там примерно такое
PHP:
else if(PlayerInfo[playerid][pLeader] == 19 || PlayerInfo[playerid][pMember] == 19 && PlayerInfo[playerid][pRank] >= 14)
				{
				    if(IsPlayerConnected(para1))
				    {
				        if(para1 != INVALID_PLAYER_ID)
				        {
							if(IsPlayerInAnyVehicle(para1)) return SendClientMessage(playerid, COLOR_GREY, "Игрок в машине!");
							if(PlayerInfo[para1][pMember] != 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок уже где то состоит");
							if(PlayerInfo[para1][pWarns] >= 1) return SendClientMessage(playerid, COLOR_GREY, "У игрока Warn.");
							if(PlayerInfo[playerid][pLevel] < 2) return SendClientMessage(playerid, COLOR_GREY, "Прием во фракцию возможен с 2 левла");
							if(PlayerInfo[playerid][pLeader] == 19 || PlayerInfo[playerid][pMember] == 19 && PlayerInfo[playerid][pRank] == 14) { ftext = "Army LV"; InviteSkin[para1] = 287;  }
							else { return true; }
							GetPlayerName(para1, giveplayer, sizeof(giveplayer));
							GetPlayerName(playerid, sendername, sizeof(sendername));
							format(string, sizeof(string), "Вы пригласили %s присоеденится к %s", giveplayer,ftext);
							SendClientMessage(playerid, COLOR_BLUE, string);
							format(string, sizeof(string), "Вы были приглашены в %s лидером %s", ftext, sendername);
							SendClientMessage(para1, 0x6495EDFF, string);
							SetPlayerSkin(para1, 287);
							FormaFrac[para1] = 19;
							PlayerInfo[para1][pMember] = 19;
							PlayerInfo[para1][pRank] = 1;
							PlayerInfo[para1][pJob] = 0;
							PlayerInfo[para1][pModel] = 287;
							SetPlayerToTeamColor(para1);
							SpawnPlayer(para1);
						}
					}
				}
и туда где у игрока варн чуть ниже добавим
PHP:
if(PlayerInfo[para1][pLvabl] == 1) return SendClientMessage(playerid, COLOR_GREY, "Этот игрок нахадится в чёрном списке армии Las Venturas!");
аналогично и с армией сф
PHP:
else if(PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pRank] >= 14)
				{
				    if(IsPlayerConnected(para1))
				    {
				        if(para1 != INVALID_PLAYER_ID)
				        {
							if(IsPlayerInAnyVehicle(para1)) return SendClientMessage(playerid, COLOR_GREY, "Игрок в машине!");
							if(PlayerInfo[para1][pMember] != 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок уже где то состоит");
							if(PlayerInfo[para1][pWarns] >= 1) return SendClientMessage(playerid, COLOR_GREY, "У игрока Warn.");
							if(PlayerInfo[playerid][pLevel] < 2) return SendClientMessage(playerid, COLOR_GREY, "Прием во фракцию возможен с 2 левла");
							if(PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pRank] == 14) {  ftext = "Army SF"; InviteSkin[para1] = 287;  }
							else { return true; }
							GetPlayerName(para1, giveplayer, sizeof(giveplayer));
							GetPlayerName(playerid, sendername, sizeof(sendername));
							format(string, sizeof(string), "Вы пригласили %s присоеденится к %s", giveplayer,ftext);
							SendClientMessage(playerid, 0x6495EDFF, string);
							format(string, sizeof(string), "Вы были приглашены в %s лидером %s", ftext, sendername);
							SendClientMessage(para1, 0x6495EDFF, string);
							SetPlayerSkin(para1, 287);
							FormaFrac[para1] = 3;
							PlayerInfo[para1][pMember] = 3;
							PlayerInfo[para1][pRank] = 1;
							PlayerInfo[para1][pJob] = 0;
							PlayerInfo[para1][pModel] = 287;
							SetPlayerToTeamColor(para1);
							OnPlayerUpdateAC(para1);
						}
					}
				}
так же добавим после у игрока варн
PHP:
if(PlayerInfo[para1][pSfabl] == 1) return SendClientMessage(playerid, COLOR_GREY, "Этот игрок нахадится в чёрном списке армии San Fierro!");
НУ вот и всё такая вот простенькая системка коментируйте

---------- Post added at 13:51 ---------- Previous post was at 12:31 ----------

где ваши коменты

---------- Post added at 13:55 ---------- Previous post was at 13:51 ----------

UP Up Up

---------- Post added at 14:45 ---------- Previous post was at 13:55 ----------

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