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

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

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

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

Система Пиарщиков сервера

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

Alexs_Reflesh

Умник
Здравствуйте уважаемые посетители Pawno-Info!
По моему мнению очень нужная система...Решайте сами пригодится она вам или нет!
У кого будут проблемы, добовляйтесь в Skype логин rumyancev1996 помогу!
​

>>Особенности этой системы<<​
1.На некоторых серверах пиарщикам дают админки, это опасно!Вдруг они всех забанят или кикнут или что-нибудь сделают!Эта система более безопасней!
2.Всё удобно автоматизированно, раньше использовал подобную систему на своём сервере
*Пример использования>>
*Проводят набор, принимают пиарщика, он должен каждый день делать отчёты, к примеру вечером, если сделал отчёт то Благодарность ему, при 5 *благодарностей(5 дней пиара с отчётами) ему автоматически повыситься уровень пиарщика!
*Если не было отчётов, то даём выговор, и так 3 дня человек не пиарит, вы ему даёте каждый день вечером выговор за то что не было отчёта от него и через три *дня он автоматом понизится за 3 выговора!

3.Вы сами можете добавить пиарщикам команды!
4.Ну более удобнее когда администраторы отдельно от пиарщиков на мой взгляд, сразу видно кто и что!
5.Присутствует система выговоров и благодарностей для пиар команды, на много удобнее и интереснее для самих пиарщиков!
6.Система выявляет сразу по отчётам кто пиарить, а кто тупо выходит и заходит на сервер...
7.Пиарщикам становится всё понятно, как получить повышение, как его добиться, и что делать чтоб повысили!

>>>Инструкция, команды<<<​
/makepiar id уровень от 0 до 5(максимальный уровень пиарщика 5, чтоб снять пиарщика даёте ему 0 уровень)
/piar список пиарщиков, также указано сколько у каждого пиарщика выговоров и сколько благодарностей
/piarblag id выдать пиарщику благодарность!При выдаче пятой благодарности, пиарщик повышается на уровень, благодарности обнуляются!
/piarvig id выдать пиарщику выговор!При выдаче третьего выговора, пиарщик понижается на уровень, благодарности обнуляются!
Инструкция как добавить команды для пиарщиков будет в конце!(Там всё легко!!!)
}}}Инструкция как добавить систему{{{​
1.Ищем pInfo после pAdmin, вставляем ниже
Код:
	pPiar,
 	pBlag,
 	pVig,
2.Далее ищем PlayerInfo[playerid][pAdmin] = 0; и после добовляем
Код:
PlayerInfo[playerid][pPiar] = 0;
PlayerInfo[playerid][pBlag] = 0;
PlayerInfo[playerid][pVig] = 0;
3.Далее находим OnPlayerRegister И вставляем после ini_setInteger({У всех по разному}PlayerInfo[playerid][pAdmin]);
Код:
ini_setInteger(File, "PiarLevel",PlayerInfo[playerid][pPiar]);
ini_setInteger(File, "Piarblag",PlayerInfo[playerid][pBlag]);
ini_setInteger(File, "Piarvig",PlayerInfo[playerid][pVig]);
4.Далее находим OnPlayerUpdateAc и вставляем после ini_setInteger({У всех по разному}PlayerInfo[playerid][pAdmin]);
Код:
ini_setInteger(File, "PiarLevel",PlayerInfo[playerid][pPiar]);
ini_setInteger(File, "Piarblag",PlayerInfo[playerid][pBlag]);
ini_setInteger(File, "Piarvig",PlayerInfo[playerid][pVig]);
5.Далее находим OnPlayerLogin ini_getInteger({У всех по разному}PlayerInfo[playerid][pAdmin]);
Код:
ini_getInteger(File, "PiarLevel",PlayerInfo[playerid][pPiar]);
ini_getInteger(File, "Piarblag",PlayerInfo[playerid][pBlag]);
ini_getInteger(File, "Piarvig",PlayerInfo[playerid][pVig]);
6.Далее находим OnPlayerCommandText и вставляем новые команды!
Код:
if(strcmp(cmd, "/makepiar", true) == 0)//Команда как /makeadmin(выдать/повысить/понизить пиарщиков!)
{
	if(PlayerInfo[playerid][pAdmin] >= 6)//Настроить под свой мод(Уровень администратора, который сможет повышать и выдовать уровень пиарщика)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /makepiar [playerid] [уровень(0-5)]");
			new para1;
			new level;
			para1 = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			level = strval(tmp);
		    if(IsPlayerConnected(para1))
		    {
		        if(para1 != INVALID_PLAYER_ID)
		        {
					if(level > 5 || level < 0) return SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 0 и больше 5");
					GetPlayerName(para1, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), "%s вас продвинул на %d уровень пиарщика", sendername, level);
					SendClientMessage(para1, COLOR_LIGHTBLUE, string);
					format(string, sizeof(string), "Вы назначили %s пиарщиком %d уровня", giveplayer,level);
					SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
					PlayerInfo[para1][pPiar] = level;
				}
			}
		}
	}
	return true;
}
if(strcmp(cmd, "/piarvig", true) == 0)//Команда дать выговор!(Сделана только под пиарщиков!)
{
	if(PlayerInfo[playerid][pAdmin] >= 6)//Настроить под свой мод(Уровень администратора, который сможет выдовать выговор!)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /piarvig [playerid]");
			new para1;
			new string[128];
			para1 = ReturnUser(tmp);
		    if(IsPlayerConnected(para1))
		    {
		        if(para1 != INVALID_PLAYER_ID)
		        {
					GetPlayerName(para1, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, 128, "%s выдал выговор пиарщику %s(%d)",sendername,giveplayer,para1);
					SendClientMessageToAll(TEAM_GROVE_COLOR, string);
					PlayerInfo[para1][pVig] += 1;
					if(PlayerInfo[para1][pVig] > 2)
					{
					    PlayerInfo[para1][pVig] = 0;
					    PlayerInfo[para1][pPiar] -= 1;
					    SendClientMessage(playerid, COLOR_WHITE, "Вы были понижены за три выговора!");
					}
				}
			}
		}
	}
	return true;
}
if(strcmp(cmd, "/piarblag", true) == 0)//Команда дать благодарность!(Сделана только под пиарщиков!)
{
	if(PlayerInfo[playerid][pAdmin] >= 6)//Настроить под свой мод(Уровень администратора, который сможет выдовать благодарность!)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /piarblag [playerid]");
			new para1;
			new string[128];
			para1 = ReturnUser(tmp);
		    if(IsPlayerConnected(para1))
		    {
		        if(para1 != INVALID_PLAYER_ID)
		        {
					GetPlayerName(para1, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, 128, "%s выдал благодарность пиарщику %s(%d)",sendername,giveplayer,para1);
					SendClientMessageToAll(TEAM_GROVE_COLOR, string);
					PlayerInfo[para1][pBlag] += 1;
					if(PlayerInfo[para1][pBlag] > 4)
					{
					    PlayerInfo[para1][pBlag] = 0;
					    PlayerInfo[para1][pPiar] += 1;
					    SendClientMessage(playerid, COLOR_WHITE, "Вы были повышены за пять благодарностей, поздравляем!");

					}
				}
			}
		}
	}
	return true;
}
if(strcmp(cmd, "/piar", true) == 0)
{
    if(PlayerInfo[playerid][pPiar] >= 1 || PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pDonateRank] >= 2)
    {
    	SendClientMessage(playerid, COLOR_YELLOW, "Пиарщики Online:");
	   	for(new i = 0; i < MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
		    {
       			if(PlayerInfo[i][pPiar] >= 1)
		       	{
		       		new drank[20];
					if(PlayerInfo[i][pPiar] == 1) { drank = "1"; }
					else if(PlayerInfo[i][pPiar] == 2) { drank = "2"; }
					else if(PlayerInfo[i][pPiar] == 3) { drank = "3"; }
					else if(PlayerInfo[i][pPiar] == 4) { drank = "4"; }
					else if(PlayerInfo[i][pPiar] == 5) { drank = "5"; }
					GetPlayerName(i, sendername, sizeof(sendername));
					format(string, 512, "%s(Id:%d)Уровень пиар: %s Благодарностей %d/3 Выговоров %d/5",sendername,i,drank,PlayerInfo[i][pBlag],PlayerInfo[i][pVig]);
					SendClientMessage(playerid, COLOR_YELLOW2, string);
			    }
		    }
	    }
	}
	return true;
}
~~~~~~~~~~~~~~~~~~~~~~~~Добавление команд для пиарщиков~~~~~~~~~~~~~~~~~~~~~~~~​
Например возьмём команду /kick(Возьмём только ту часть команды, которая нам нужна!)
Примерно так выглядит ваша команда, особое внимание на строку с проверкой if (PlayerInfo[playerid][pAdmin] >= 6)
Код:
if(strcmp(cmd, "/kick", true) == 0)
{
	if (PlayerInfo[playerid][pAdmin] >= 6)
	{
	    	............
Чтобы эту команду могли использовать пиарщики нужно изменить только вот эту проверку!
Как будет выглядеть команда
Код:
if(strcmp(cmd, "/kick", true) == 0)
{
	if (PlayerInfo[playerid][pAdmin] >= 6 || PlayerInfo[playerid][pPiar] >= 5)
	{
	    	............
Мы добавили || PlayerInfo[playerid][pPiar] >= 5 это озночает что пиарщики которые 5 и больше уровня смогут использовать эту команду!
Далее ищите другую команду, находите там такую же проверку и добовляете туда до ) || PlayerInfo[playerid][pPiar] >= 5
Кто не разобрался, в Skype пишите объясню как!
~~~~~~~~~~~~~~~~~~~~~~~~По желанию!~~~~~~~~~~~~~~~~~~~~~~~~​
Далее по желанию можно добавить Лэйбл над головой пиарщиков​
1.В начале мода ко всем new добовляем
Код:
static Text3D:admtextd[MAX_PLAYERS];
2.Далее находим OnPlayerConnect и добовляем в любое место где проверки(Кто не знает что и как найдите "Здравствуйте V.I.P игрок!"и вставет...)
Код:
	if(PlayerInfo[playerid][pPiar] >= 1)
	{
	    admtextd[playerid] = Create3DTextLabel("Пиарщик Сервера",TEAM_GROVE_COLOR,0.0,0.0,0.0,50.0,0,1);
		Attach3DTextLabelToPlayer(admtextd[playerid],playerid,0.0,0.0,0.7);
		SendClientMessage(playerid, TEAM_GROVE_COLOR, "Лэйбл сотрудника Piar команды включён!");
	}
Далее ищем OnPlayerDisconnect и добовляем в любое место в этом паблике
Код:
if(PlayerInfo[playerid][pPiar] >= 1)
	{
             Delete3DTextLabel(admtextd[playerid]);
	}
Если будете ставить систему Лэйбала пиарщика, то замените команду /makepiar на эту
Код:
if(strcmp(cmd, "/makepiar", true) == 0)//Команда как /makeadmin(выдать/повысить/понизить пиарщиков!)
{
	if(PlayerInfo[playerid][pAdmin] >= 6)//Настроить под свой мод(Уровень администратора, который сможет повышать и выдовать уровень пиарщика)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /makepiar [playerid] [уровень(0-5)]");
			new para1;
			new level;
			para1 = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			level = strval(tmp);
		    if(IsPlayerConnected(para1))
		    {
		        if(para1 != INVALID_PLAYER_ID)
		        {
					if(level > 5 || level < 0) return SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 0 и больше 5");
					GetPlayerName(para1, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), "%s вас продвинул на %d уровень пиарщика", sendername, level);
					SendClientMessage(para1, COLOR_LIGHTBLUE, string);
					format(string, sizeof(string), "Вы назначили %s пиарщиком %d уровня", giveplayer,level);
					SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
					PlayerInfo[para1][pPiar] = level;
					if(PlayerInfo[para1][pPiar] > 0)
					{
						admtextd[para1] = Create3DTextLabel("Пиарщик Imperiym",TEAM_GROVE_COLOR,0.0,0.0,0.0,50.0,0,1);
						Attach3DTextLabelToPlayer(admtextd[para1],para1,0.0,0.0,0.7);
						SendClientMessage(para1, COLOR_REDD, "Лэйбл сотрудника Piar команды включён!");
					}
					else
					{
					    Delete3DTextLabel(admtextd[playerid]);
					}
				}
			}
		}
	}
	return true;
}
Также по желанию можете сделать Зарплату пиарщикам​
1.Находим public PayDay() или stock PayDay() в разных модах по разному!И вставляем в любое время в этом паблике
Код:
switch(PlayerInfo[i][pPiar])
{
	case 1:
	{
		PlayerInfo[i][pBank] += 35000;
		SendClientMessage(i,COLOR_RED,"Вам выдана зарплата пиарщика 1 уровня, 35.000 вирт");
	}
	case 2:
	{
		PlayerInfo[i][pBank] += 50000;
		SendClientMessage(i,COLOR_RED,"Вам выдана зарплата пиарщика 2 уровня, 50.000 вирт");
	}
	case 3:
	{
		PlayerInfo[i][pBank] += 70000;
		SendClientMessage(i,COLOR_RED,"Вам выдана зарплата пиарщика 3 уровня, 70.000 вирт");
	}
	case 4:
	{
		PlayerInfo[i][pBank] += 100000;
		SendClientMessage(i,COLOR_RED,"Вам выдана зарплата пиарщика 4 уровня, 100.000 вирт");
	}
	case 5:
	{
		PlayerInfo[i][pBank] += 150000;
		SendClientMessage(i,COLOR_RED,"Вам выдана зарплата пиарщика 5 уровня, 150.000 вирт");
	}
}
Ну вроде как-бы всё жду отзывов и + по возможности!Спасибо за внимание!​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу