Добро пожаловать на Pawno-Info.Ru - Портал о программировании №1

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям и ответы на все интересующие Вас вопросы. После регистрации Вы сможете создавать темы, публиковать ответы, влиять на репутацию пользователей форума, обмениваться личными сообщениями и многое другое. Это быстро и совершенно бесплатно, так чего же Вы ждете?
Доступ к архиву

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

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

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

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками - то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. Пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Модификации SA

Хотите разнообразить свою игру в San Andreas? Смелее в наш раздел. Отличный сборник готовых решений. Играйте с удовольствием

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

Limaks

Изучающий
Пользователь
Регистрация
9 Июл 2011
Сообщения
204
Лучшие ответы
0
Репутация
121
Адрес
Ульяновск сити!
Решил написать как делать работу по чекпоинтам, типо как на MyGame, сорри если такая тема уже есть.
Эти работы полезны новичкам, можно заработать немного. Сделаем работу "Перевозчик".
Начнем

1. Добавляем new

PHP:
new Per1[MAX_PLAYERS];//
Per1 - можете поменять на свое, только придется потом менять в команде.

2. Находим public OnPlayerConnect(playerid)
и добавляем:
PHP:
Per1[playerid] = 0;
Это чтобы когда игрок заходил на сервер работа была выключена.

3. Находим public OnPlayerEnterCheckpoint(playerid)
И Вот уже здесь нам будут нужны координаты чекпоинтов.
Координаты вы можете поменять на свои, добавляем:

PHP:
else if(Per1[playerid]==1)
	{
        new newcar = GetPlayerVehicleID(playerid);
        if(newcar == per_[0] || newcar == per_[1] || newcar >= per_[2] && newcar <= per_[3])//машины на которых будем работать
        {
	    if(PlayerToPoint(4,playerid,-2085.1606,-2562.6553,30.6906))//Если наехали на 1 чекпоинт.(он будет в команде)
	    {
	        DisablePlayerCheckpoint(playerid);
            SendClientMessage(playerid, COLOR_YELLOW, "[Диллер]: Слезай со своего драндулета, бери грузовик и вези пушки.");//после того как мы наезжаем на 1 чекпоинт появляется текст
			SetPlayerCheckpoint(playerid,-2016.2191,-2500.9663,32.6959,4.0);//2 чекпоинт появился
	    }
	    else if(PlayerToPoint(4,playerid,-2016.2191,-2500.9663,32.6959))Если мы наехали на 2 чекпоинт появляется следующий.
    	{
            DisablePlayerCheckpoint(playerid);//после того как наехали удаляет чекпоинт и появляется следующий
	        SetPlayerCheckpoint(playerid,-1917.0990,-2435.6841,30.6175,4.0);
	    }
    	else if(PlayerToPoint(4,playerid,-1917.0990,-2435.6841,30.6175))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1762.2949,-2311.3877,43.1182,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1762.2949,-2311.3877,43.1182))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1684.7728,-2253.8816,37.9066,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1684.7728,-2253.8816,37.9066))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1507.5942,-2156.5483,2.3617,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1507.5942,-2156.5483,2.3617))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1293.6171,-2216.1965,22.3500,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1293.6171,-2216.1965,22.3500))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1197.3005,-2352.2869,18.4956,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1197.3005,-2352.2869,18.4956))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1002.6347,-2371.8411,64.4744,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1002.6347,-2371.8411,64.4744))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-959.1919,-2315.1907,58.6605,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-959.1919,-2315.1907,58.6605))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-899.9105,-2184.0835,30.3098,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-899.9105,-2184.0835,30.3098))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-784.9277,-2132.7161,25.4791,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-784.9277,-2132.7161,25.4791))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-751.6136,-2128.7585,25.1774,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-751.6136,-2128.7585,25.1774))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-617.3354,-2033.3344,36.7837,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-617.3354,-2033.3344,36.7837))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-497.2985,-2026.8340,50.1807,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-497.2985,-2026.8340,50.1807))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-405.7028,-1922.3386,6.9367,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-405.7028,-1922.3386,6.9367))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-247.8871,-2077.4221,36.4288,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-247.8871,-2077.4221,36.4288))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-259.2059,-2181.5681,29.0083,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-259.2059,-2181.5681,29.0083))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SendClientMessage(playerid, COLOR_YELLOW, "[Диллер]: Отлично, орудие разгружено, возьмем деньги и возвращаемся в деревню.");//наезжаем на чекпоинт появляется текст
	         SendClientMessage(playerid, COLOR_RED, "***Фермер достал деньги и передал их Диллеру***");
	         SetPlayerCheckpoint(playerid,-411.2212,-2262.9612,48.1845,4.0);//
	    }
	    else if(PlayerToPoint(4,playerid,-411.2212,-2262.9612,48.1845))//
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-654.2556,-2480.6492,34.7358,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-654.2556,-2480.6492,34.7358))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-735.8536,-2651.9043,83.6829,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-735.8536,-2651.9043,83.6829))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-840.5416,-2680.2444,96.7009,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-840.5416,-2680.2444,96.7009))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1052.3419,-2678.2585,41.1369,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1052.3419,-2678.2585,41.1369))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1164.3860,-2639.0437,11.7479,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1164.3860,-2639.0437,11.7479))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1393.0970,-2631.9333,32.3107,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1393.0970,-2631.9333,32.3107))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1770.9169,-2496.7207,9.8719,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1770.9169,-2496.7207,9.8719))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1917.1509,-2438.9282,30.6174,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1917.1509,-2438.9282,30.6174))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1977.6746,-2478.7478,30.7554,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1977.6746,-2478.7478,30.7554))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-2078.9619,-2548.1968,30.6073,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-2078.9619,-2548.1968,30.6073))
    	{
		{
 	         DisablePlayerCheckpoint(playerid);//удаляется чекпоинт
	         Per1[playerid] = 0;//закнчивается работа
	         GivePlayerMoney(playerid, 15000);//выдача денег за работу
	         SetVehicleToRespawn(GetPlayerVehicleID(playerid));//машина на котрой работал спавнится на место
	         SendClientMessage(playerid, COLOR_YELLOW, "[Диллер]: *Спасибо за работу. Держи свою долю $15 000.");//текст на завершении работы
	         }
	     }
	}
	}
4. Теперь надо добавить команду. Находим public OnPlayerCommandText(playerid, cmdtext[])
И добавляем:
PHP:
if(strcmp(cmd, "/per", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
		{
			new newcar = GetPlayerVehicleID(playerid);
			if(PlayerToPoint(50.0, playerid, -1703.9105,15.6887,3.5547))//место, откуда можно начать работу.
			{
				if(newcar == per_[0] || newcar == per_[1] || newcar >= per_[2] && newcar <= per_[3])//машины на которых можно работать.
				{
					SendClientMessage(playerid, COLOR_YELLOW, "[Незнакомец]: Езжай в деревню и загрузи орудие.");
					SendClientMessage(playerid, COLOR_LIGHTRED, "[Незнакомец]: Я на карте отметил как ехать(красные маяки)");//прописали команду, появляется текст и 1 чекпоинт
					SetPlayerCheckpoint(playerid,-2085.1606,-2562.6553,30.6906,4.0);//1 чекпоинт
					Per1[playerid] = 1;//начинается работа
				}
			}
		}
		printf("Использовалась команда %s",cmd);//если использовалась эта команда.(не обязательно)
		return 1;
	}
Вот и все готово, работа есть. Теперь для работы нужны машины, у каждого они по разному сделаны, но у меня так.

к new добавляем:
PHP:
new per_[4];
Находим public OnPlayerStateChange(playerid, newstate, oldstate)
и добавляем:

PHP:
if(newcar == per_[0] || newcar == per_[1] || newcar >= per_[2] && newcar <= per_[3])//сами машины
		{
		    if(PlayerInfo[playerid][pLevel] > 2)//Если уровень игрока больше 2, выкидывает из машины(я делал работу только для новичков)
		    {
		        ShowPlayerDialog(playerid,3000,DIALOG_STYLE_MSGBOX,"Сообщение:","Эта работа только для 1-2 лвл!"," Ок"," ОК ");//если игрок больше 2 лвл вылезает это диалоговое окно.
		        RemovePlayerFromVehicle(playerid);//выкинуло из машины.
		    }
		}
И последнее, добавляем сами машины.
В public OnGameModeInit добавляем:
PHP:
per_[0] = AddStaticVehicle(459,-1718.3655,12.8253,3.7342,312.0233,0,0); 
per_[1] = AddStaticVehicle(459,-1714.9069,8.8416,3.7759,312.5128,0,0); 
per_[2] = AddStaticVehicle(478,-2086.1196,-2570.8796,31.5845,319.3761,1,3); 
AddStaticVehicle(478,-2082.5498,-2574.0730,31.4674,319.4086,1,3); 
per_[3] = AddStaticVehicle(478,-2079.2261,-2577.0295,31.3384,317.8540,1,3);
Ну машины можете добавить свои.

Вот и все. Спасибо за внимание:)
 
Последнее редактирование:

kaktyc

Начинающий
Пользователь
Регистрация
27 Фев 2012
Сообщения
43
Лучшие ответы
0
Репутация
7
Адрес
г.Зеленогорск
Спасибо, проверим :) Держи +
 

Limaks

Изучающий
Пользователь
Регистрация
9 Июл 2011
Сообщения
204
Лучшие ответы
0
Репутация
121
Адрес
Ульяновск сити!
спасибо) проверяй, у меня все работает
 

kaktyc

Начинающий
Пользователь
Регистрация
27 Фев 2012
Сообщения
43
Лучшие ответы
0
Репутация
7
Адрес
г.Зеленогорск
Блин, при компиляции у меня на сек зависает и закрывает компилятор
 

zero11510

Начинающий
Пользователь
Регистрация
13 Окт 2013
Сообщения
26
Лучшие ответы
0
Репутация
0
все работает,спасибо
 

YouAnus

Начинающий
Пользователь
Регистрация
10 Окт 2013
Сообщения
89
Лучшие ответы
0
Репутация
31
Адрес
Россия,г. Кемерово
PHP:
per_[0] = AddStaticVehicle(459,-1718.3655,12.8253,3.7342,312.0233,0,0); 
per_[1] = AddStaticVehicle(459,-1714.9069,8.8416,3.7759,312.5128,0,0); 
per_[2] = AddStaticVehicle(478,-2086.1196,-2570.8796,31.5845,319.3761,1,3); 
AddStaticVehicle(478,-2082.5498,-2574.0730,31.4674,319.4086,1,3); 
per_[3] = AddStaticVehicle(478,-2079.2261,-2577.0295,31.3384,317.8540,1,3);
PHP:
AddStaticVehicle(478,-2082.5498,-2574.0730,31.4674,319.4086,1,3);
Здесь ошибка или так и надо?Может вот так?
PHP:
per_[4] = AddStaticVehicle(478,-2082.5498,-2574.0730,31.4674,319.4086,1,3);
?
 

br0

Начинающий
Пользователь
Регистрация
27 Окт 2013
Сообщения
96
Лучшие ответы
0
Репутация
4
Уу отлично, а подскажите как быть если только нужно пешком. К примеру чтото таскать, или просто бегать по чекпоинтам. Все так же или многое переделивать?
 

Sergo26

Заблокирован
Регистрация
25 Сен 2013
Сообщения
48
Лучшие ответы
0
Репутация
4
очень помголо спасибо

---------- Post added at 19:52 ---------- Previous post was at 19:50 ----------

Только вот одна проблема
 

Dimka1236

Изучающий
Пользователь
Регистрация
26 Янв 2013
Сообщения
316
Лучшие ответы
0
Репутация
44
Решил написать как делать работу по чекпоинтам, типо как на MyGame, сорри если такая тема уже есть.
Эти работы полезны новичкам, можно заработать немного. Сделаем работу "Перевозчик".
Начнем

1. Добавляем new

PHP:
new Per1[MAX_PLAYERS];//
Per1 - можете поменять на свое, только придется потом менять в команде.

2. Находим public OnPlayerConnect(playerid)
и добавляем:
PHP:
Per1[playerid] = 0;
Это чтобы когда игрок заходил на сервер работа была выключена.

3. Находим public OnPlayerEnterCheckpoint(playerid)
И Вот уже здесь нам будут нужны координаты чекпоинтов.
Координаты вы можете поменять на свои, добавляем:

PHP:
else if(Per1[playerid]==1)
	{
        new newcar = GetPlayerVehicleID(playerid);
        if(newcar == per_[0] || newcar == per_[1] || newcar >= per_[2] && newcar <= per_[3])//машины на которых будем работать
        {
	    if(PlayerToPoint(4,playerid,-2085.1606,-2562.6553,30.6906))//Если наехали на 1 чекпоинт.(он будет в команде)
	    {
	        DisablePlayerCheckpoint(playerid);
            SendClientMessage(playerid, COLOR_YELLOW, "[Диллер]: Слезай со своего драндулета, бери грузовик и вези пушки.");//после того как мы наезжаем на 1 чекпоинт появляется текст
			SetPlayerCheckpoint(playerid,-2016.2191,-2500.9663,32.6959,4.0);//2 чекпоинт появился
	    }
	    else if(PlayerToPoint(4,playerid,-2016.2191,-2500.9663,32.6959))Если мы наехали на 2 чекпоинт появляется следующий.
    	{
            DisablePlayerCheckpoint(playerid);//после того как наехали удаляет чекпоинт и появляется следующий
	        SetPlayerCheckpoint(playerid,-1917.0990,-2435.6841,30.6175,4.0);
	    }
    	else if(PlayerToPoint(4,playerid,-1917.0990,-2435.6841,30.6175))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1762.2949,-2311.3877,43.1182,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1762.2949,-2311.3877,43.1182))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1684.7728,-2253.8816,37.9066,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1684.7728,-2253.8816,37.9066))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1507.5942,-2156.5483,2.3617,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1507.5942,-2156.5483,2.3617))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1293.6171,-2216.1965,22.3500,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1293.6171,-2216.1965,22.3500))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1197.3005,-2352.2869,18.4956,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1197.3005,-2352.2869,18.4956))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1002.6347,-2371.8411,64.4744,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1002.6347,-2371.8411,64.4744))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-959.1919,-2315.1907,58.6605,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-959.1919,-2315.1907,58.6605))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-899.9105,-2184.0835,30.3098,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-899.9105,-2184.0835,30.3098))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-784.9277,-2132.7161,25.4791,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-784.9277,-2132.7161,25.4791))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-751.6136,-2128.7585,25.1774,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-751.6136,-2128.7585,25.1774))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-617.3354,-2033.3344,36.7837,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-617.3354,-2033.3344,36.7837))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-497.2985,-2026.8340,50.1807,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-497.2985,-2026.8340,50.1807))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-405.7028,-1922.3386,6.9367,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-405.7028,-1922.3386,6.9367))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-247.8871,-2077.4221,36.4288,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-247.8871,-2077.4221,36.4288))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-259.2059,-2181.5681,29.0083,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-259.2059,-2181.5681,29.0083))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SendClientMessage(playerid, COLOR_YELLOW, "[Диллер]: Отлично, орудие разгружено, возьмем деньги и возвращаемся в деревню.");//наезжаем на чекпоинт появляется текст
	         SendClientMessage(playerid, COLOR_RED, "***Фермер достал деньги и передал их Диллеру***");
	         SetPlayerCheckpoint(playerid,-411.2212,-2262.9612,48.1845,4.0);//
	    }
	    else if(PlayerToPoint(4,playerid,-411.2212,-2262.9612,48.1845))//
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-654.2556,-2480.6492,34.7358,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-654.2556,-2480.6492,34.7358))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-735.8536,-2651.9043,83.6829,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-735.8536,-2651.9043,83.6829))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-840.5416,-2680.2444,96.7009,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-840.5416,-2680.2444,96.7009))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1052.3419,-2678.2585,41.1369,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1052.3419,-2678.2585,41.1369))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1164.3860,-2639.0437,11.7479,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1164.3860,-2639.0437,11.7479))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1393.0970,-2631.9333,32.3107,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1393.0970,-2631.9333,32.3107))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1770.9169,-2496.7207,9.8719,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1770.9169,-2496.7207,9.8719))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1917.1509,-2438.9282,30.6174,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1917.1509,-2438.9282,30.6174))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-1977.6746,-2478.7478,30.7554,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1977.6746,-2478.7478,30.7554))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetPlayerCheckpoint(playerid,-2078.9619,-2548.1968,30.6073,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-2078.9619,-2548.1968,30.6073))
    	{
		{
 	         DisablePlayerCheckpoint(playerid);//удаляется чекпоинт
	         Per1[playerid] = 0;//закнчивается работа
	         GivePlayerMoney(playerid, 15000);//выдача денег за работу
	         SetVehicleToRespawn(GetPlayerVehicleID(playerid));//машина на котрой работал спавнится на место
	         SendClientMessage(playerid, COLOR_YELLOW, "[Диллер]: *Спасибо за работу. Держи свою долю $15 000.");//текст на завершении работы
	         }
	     }
	}
	}
4. Теперь надо добавить команду. Находим public OnPlayerCommandText(playerid, cmdtext[])
И добавляем:
PHP:
if(strcmp(cmd, "/per", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
		{
			new newcar = GetPlayerVehicleID(playerid);
			if(PlayerToPoint(50.0, playerid, -1703.9105,15.6887,3.5547))//место, откуда можно начать работу.
			{
				if(newcar == per_[0] || newcar == per_[1] || newcar >= per_[2] && newcar <= per_[3])//машины на которых можно работать.
				{
					SendClientMessage(playerid, COLOR_YELLOW, "[Незнакомец]: Езжай в деревню и загрузи орудие.");
					SendClientMessage(playerid, COLOR_LIGHTRED, "[Незнакомец]: Я на карте отметил как ехать(красные маяки)");//прописали команду, появляется текст и 1 чекпоинт
					SetPlayerCheckpoint(playerid,-2085.1606,-2562.6553,30.6906,4.0);//1 чекпоинт
					Per1[playerid] = 1;//начинается работа
				}
			}
		}
		printf("Использовалась команда %s",cmd);//если использовалась эта команда.(не обязательно)
		return 1;
	}
Вот и все готово, работа есть. Теперь для работы нужны машины, у каждого они по разному сделаны, но у меня так.

к new добавляем:
PHP:
new per_[4];
Находим public OnPlayerStateChange(playerid, newstate, oldstate)
и добавляем:

PHP:
if(newcar == per_[0] || newcar == per_[1] || newcar >= per_[2] && newcar <= per_[3])//сами машины
		{
		    if(PlayerInfo[playerid][pLevel] > 2)//Если уровень игрока больше 2, выкидывает из машины(я делал работу только для новичков)
		    {
		        ShowPlayerDialog(playerid,3000,DIALOG_STYLE_MSGBOX,"Сообщение:","Эта работа только для 1-2 лвл!"," Ок"," ОК ");//если игрок больше 2 лвл вылезает это диалоговое окно.
		        RemovePlayerFromVehicle(playerid);//выкинуло из машины.
		    }
		}
И последнее, добавляем сами машины.
В public OnGameModeInit добавляем:
PHP:
per_[0] = AddStaticVehicle(459,-1718.3655,12.8253,3.7342,312.0233,0,0); 
per_[1] = AddStaticVehicle(459,-1714.9069,8.8416,3.7759,312.5128,0,0); 
per_[2] = AddStaticVehicle(478,-2086.1196,-2570.8796,31.5845,319.3761,1,3); 
AddStaticVehicle(478,-2082.5498,-2574.0730,31.4674,319.4086,1,3); 
per_[3] = AddStaticVehicle(478,-2079.2261,-2577.0295,31.3384,317.8540,1,3);
Ну машины можете добавить свои.

Вот и все. Спасибо за внимание

Где хоть находится))
 
Статус
В этой теме нельзя размещать новые ответы.
shape1
shape2
shape3
shape4
shape7
shape8
Сверху Снизу