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

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

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

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

Создание работы Фермера

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

_DontWorry_

Дебютант
Здравствуйте. Сегодня я вам расскажу,что нужно для создания работы.И так.Для начала вам понадобиться логически помыслить.
Допустим,бы создаем работу.Первое что мы должны сделать это - сделать пикап начала работы. Сама последовательность будет выглядеть примерно так:

1) Устраиваемся на работу
2) Идем за мешком
3) Делаем проверку на то,если ли у игрока мешок.Если нет выдаем мешок.
4) Делаем проверку на кнопки "БЕГ","Удар","Второй удар".Если кнопки нажаты - изменяем значение мешка на 0.
5) Относим мешок на склад и получаем +350 money.
6) Когда игрок увольняется,пишем ему количество перенесенных мешков и количество заработанных денег.


И так,первое,что нам нужно,это сделать пикапы.
Ко всем new:
PHP:
new startfarm;// Объявляем пикапы
new sudameshki;
в enum pInfo
PHP:
pJob,
pJobCash,
pMeshCash,
В public OnGameModeInit()
PHP:
startfarm = CreatePickup(1210,23,-382.9769,-1426.3196,26.3191);// Создаем пикап
sudameshki = CreatePickup(2060,23,-362.6571,-1431.0712,25.7266);
В public OnPlayerPickUpPickup(playerid, pickupid)
PHP:
if(pickupid == startfarm) // Если игрок стоит на пикапе startfarm
			{
	    		if(Player[playerid][pJob] == 0) // Делаем проверку на массив pJob(проверка на то,работает игрок или нет)
	        	{
	            Player[playerid][pJob] = 2; // Ставим значение массива на 2(так как у меня уже есть 2 работы,Работа фермера у меня будет id 2)
	            SetPVarInt(playerid,"flower",0); // создаем pVar со значением 0
	            SetPlayerSkin(playerid,132); // Выдаем скин игроку
	            SetPlayerCheckpoint(playerid,-299.0458,-1372.9541,8.7768,5); // Создаем чекпоинт
	            SendClientMessage(playerid,COLOR_GREEN,"Вы успешно начали рабочий день"); // оповещаем игрока.
	        }
				else if(Player[playerid][pJob] == 2) // Иначе,если у игрока pJob == 2
		    {
		        Player[playerid][pJob] = 0; // Увольняем игрока
		        new str[128]; // создаем переменную
                        RemovePlayerAttachedObject(playerid,2);// Удаляем объект у игрока
	            format(str,sizeof(str),"{81F781}Вы успешно уволились. {0101DF}Всего мешков c пшеницей:{FF4000}%d. {0101DF}Общая прибыль:{FF4000}%d",Player[playerid][pMeshCash],Player[playerid][pJobCash]); // задаем свойства переменной
		        DisablePlayerCheckpoint(playerid); // удаляем чекпоинт
		        SendClientMessage(playerid,COLOR_GREEN,str); // выводим сообщение переменной
		        SetPlayerSkin(playerid,Player[playerid][pSkin]); // устанавливаем скин игрока.
		    }
	}
			if(pickupid == sudameshki) // проверяем пикап
			    {
			        if(Player[playerid][pJob] == 2) // делаем проверку на pJob
			            {
			                if(GetPVarInt(playerid,"flower") == 1) // Делаем проверку на PVar
			                {
							Player[playerid][pCash] +=300; // выдем деньги игроку
							Player[playerid][pJobCash] +=300; // устанавливаем массиву pJobCash +=300
							Player[playerid][pMeshCash] +=1; // устанавливаем массиву pMeshCash +=1
							SendClientMessage(playerid,COLOR_GREEN,"Мешок с пшеницей был доставлен на склад"); // оповещаем игрока
							SetPVarInt(playerid,"flower",0); // устанавливаем значение PVar на 0
							SetPlayerCheckpoint(playerid,-299.0458,-1372.9541,8.7768,5); // устанавливаем чекпоинт
							}
			            }
			    }
В public OnPlayerEnterCheckpoint(playerid)
PHP:
if(GetPVarInt(playerid,"flower") == 0) // делаем проверку на PVar
{
SetPVarInt(playerid,"flower",1); // устанавливаем PVar на 1
SendClientMessage(playerid,COLOR_GREEN,"Вы взяли мешок.Отнесите его на склад(находится в соседнем здании рядом с раздевалкой"); // оповещаем игрока
SetPlayerAttachedObject(playerid, 2, 2060, 5, 0.01, 0.1, 0.2, 100, 10, 85); // даем игрок объект
DisablePlayerCheckpoint(playerid); // отключаем чекпоинт
}
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
if( (newkeys & KEY_FIRE) ||  (newkeys & KEY_SECONDARY_ATTACK) || ( (newkeys & KEY_SPRINT))) // делаем проверку на нажатые клавиши
	  {
	    if(Player[playerid][pJob] == 1 || Player[playerid][pJob] == 2) // делаем проверку на работы(так как у меня 2 работы,естественно будет pJob == 1 || pJob == 2)
	        {
	            if(GetPVarInt(playerid,"flower") == 1) // если значение pvar'a == 1,то тогда:
	                {
	                    SetPVarInt(playerid,"flower",0); // задаем значение на 0
	                    SendClientMessage(playerid,COLOR_RED,"Упс.. Мешок упал (( не бегайте и деритесь.)) "); // выводим сообщение игроку
	                    if(Player[playerid][pJob] == 2) return SetPlayerCheckpoint(playerid,-299.0458,-1372.9541,8.7768,5); // проверка на фракцию.И если фракция равна двум - создаем чекпоинт
RemovePlayerAttachedObject(playerid,2);
	                }
	        }
	  }
Автор урока: _DontWorry_
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу