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

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

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

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

Создаём криминальный авторитет человека

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

Jaks

Умник
Итак, в этом уроке я расскажу вам как создать систему "Криминального авторитета человека", то есть сейчас я расскажу как сделать, что бы человеку было определённое ограничение по приёму во фракцию или банду/мафию. Чем будет больше криминального авторитета у человека тем меньше будет шанс попасть человеку попасть в гос.организацию, но больше попасть в банду и занять высокое звание в банде.

Итак начнём:

Ко всем new

PHP:
new avtoriteta[MAX_PLAYERS];

В раздел enum pInfo

PHP:
pAvtoritet,

В public OnPlayerConnect(playerid)

PHP:
PlayerInfo[playerid][pAvtoritet] = 0;

В public OnPlayerRegister(playerid, password[])

PHP:
ini_setInteger(File,"Avtoritet",PlayerInfo[playerid][pAvtoritet]);

В public OnPlayerUpdateRL(playerid)

PHP:
ini_setInteger(File,"Avtoritet",PlayerInfo[playerid][pAvtoritet]);

В public OnPlayerLogin(playerid,password[])

PHP:
ini_getInteger(File,"Avtoritet",PlayerInfo[playerid][pAvtoritet]);

В public OnPlayerCommandText(playerid, cmdtext[])

PHP:
if(strcmp(cmd, "/setavt", true) == 0)
		{
	    if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 15 && PlayerInfo[playerid][pMember] == 14)
		 {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
  			{
						SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /setavt [id] [+ 1 до 5 или -1 до -5]");
						return 1;
			}
	  		giveplayerid = ReturnUser(tmp);
            if(IsPlayerConnected(giveplayerid))
	    	{
	    	    if(giveplayerid != INVALID_PLAYER_ID)
	    	    {
					tmp = strtok(cmdtext, idx);
					if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /setavt [id] [+ 1 до 5 или -1 до -5]");
					if(giveplayerid == playerid) return	SendClientMessage(playerid, COLOR_GRAD1, "Вы не можете давать авторитет самому себе!");
					new amount;
					amount = strval(tmp);
	    			if(PlayerInfo[playerid][pAvtoritet] <= -1) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не можете давать уважуху человеку,потому что вы сами не лучше его.");
	    			if(avtoriteta[playerid] >= 2) return	SendClientMessage(playerid, COLOR_GRAD1, "Он не готов быть ещё более авторитетным!");
								PlayerInfo[giveplayerid][pAvtoritet] += amount;
								format(string, sizeof(string), "Вы доверились: %d", amount);
								SendClientMessage(playerid, COLOR_YELLOW2, string);
	               				GetPlayerName(playerid, sendername, sizeof(sendername));
            		   			avtoriteta[playerid] +=1;
								format(string, sizeof(string), "Ваш авторитет изменился %d",amount);
								SendClientMessage(giveplayerid, COLOR_GREEN, string);
				}
		}
	}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Не достаточно полномочий!");
			}
		return 1;
}

И команда узнать свой авторитет

PHP:
if(strcmp(cmd, "/avtoritet", true) == 0)
{
tmp = strtok(cmdtext,idx);
  						format(string, sizeof(string), "Ваш авторитет: %d",PlayerInfo[playerid][pAvtoritet]);
						SendClientMessage(playerid,0xAFAFAFAA,string);
if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"::: Введите: /avtoritet [id]");
giveplayerid = ReturnUser(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "[%s] Авторитет: %d",giveplayer,PlayerInfo[giveplayerid][pAvtoritet]);
SendClientMessage(playerid,0x6495EDFF,string);
return 1;
}

И дальше что бы нельзя было принять в гос.организацию с большим + ставим такую строчку в команде /invite к определённой фракции

PHP:
if(PlayerInfo[playerid][pAvtoritet] >= 20) return    SendClientMessage(playerid, COLOR_GRAD1,"Игрок слишком авторитетный в криминальном мире!");
А так же для мафий:

PHP:
if(PlayerInfo[playerid][pAvtoritet] <= 0) return    SendClientMessage(playerid, COLOR_GRAD1,"Ему нечего делать у вас он может быть наводчиком!");
Команда написана Jaks'om

Как то так, если что я думаю вы поправите меня. :) Если понравилось думаю не откажите, и поставите +сик ?)
Если у кого то возникнут проблемы прошу обратиться в скайп,а не флудить в теме: nikita.kosyrev, или icq: 7342210
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу