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

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

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

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

Сдача на права в Аш

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

Steve

Компетентный
Всем добрый день. Выкладываю свой первый мануал. Урок наподобе я находил, но тот не много другой.
Весь код я вырезал с мода "RLS".
И так, приступим.

1) Для начала создадим переменные и онулим их.
PHP:
//==============[АвтоШкола]=============
new TakingLesson[MAX_PLAYERS];
new prava[MAX_PLAYERS];
new LessonCar[MAX_PLAYERS];
new LessonStat[MAX_PLAYERS];
new pLessonCar[MAX_PLAYERS];
new JobCarTime[MAX_PLAYERS];
new CP[MAX_PLAYERS];
new pdd;
//======================================
В OnPlayerConnect
PHP:
TakingLesson[playerid] = 0;
JobCarTime[playerid] = 0;
CP[playerid] = 0;
Так же в enum pinfo
PHP:
pCarLic,
2) В паблике OnGameModeInit() создадим чекпоинт и пикап (/pdd)
PHP:
pdd = CreatePickup(1239,20,-2032.3757,-116.3623,1035.1719,1); // пикап
В самый конец паблика OnGame
PHP:
for(new i = 0; i < MAX_PLAYERS; i++) // 
 {
    prava[i] = CreateDynamicCP(-2028.0792,-114.3099,1035.1719,1.5, 1, 3, i,5.0); //чекпоинт
 }
3) Создадим действия, если вы встали на чекпоинт и пикап
В паблик OnPlayerEnterCheckpoint
PHP:
if(IsPlayerInDynamicCP(playerid, prava[playerid]))
   {
	  new avtosdacha[512];
	  format(avtosdacha,sizeof(avtosdacha), "Цена экзамена 500 вирт\nХотите сдать на права?");
   	  ShowPlayerDialog(playerid,5555,DIALOG_STYLE_MSGBOX,"Автосдача на права",avtosdacha, "Да", "Нет");
   	  return 1;
   }
Далее, для пикапа. В OnPlayerPickUpPickup
PHP:
if(pickupid == pdd)
  {
     GameTextForPlayer(playerid, "~y~/pdd", 1500, 1);
  }
4) Команда /pdd (читать правила дорожного движения)
В OnPlayerCommandText
PHP:
if(strcmp(cmdtext, "/pdd", true)==0)
 {
    new pdddialog[2148];
	{
	   format(pdddialog,sizeof(pdddialog), "%s%s%s%s%s%s%s%s%s%s%s%s%s",
	   pdddialogMSG[0],pdddialogMSG[1],pdddialogMSG[2],pdddialogMSG[3],pdddialogMSG[4],pdddialogMSG[5],pdddialogMSG[6],pdddialogMSG[7],pdddialogMSG[8],pdddialogMSG[9],pdddialogMSG[10],pdddialogMSG[11],pdddialogMSG[12]);
	   ShowPlayerDialog(playerid,15,DIALOG_STYLE_MSGBOX,"Правила дорожного движения", pdddialog, "Готово", "");
	   GetPlayerName(playerid, sendername, sizeof(sendername));
       format(string, sizeof(string), "%s читает Правила Дорожного Движения.", sendername);
       ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
       return 1;
    }
}
5) Создадим действия диалога
В паблик OnDialogResponse
PHP:
 if(dialogid == 5555)
    {
        if(response)
        {
            if(PlayerInfo[playerid][pCarLic] == 1)
			{
			   SendClientMessage(playerid, COLOR_GREY, "У вас уже есть водительские права!");
			   return 1;
			}
        	   if(PlayerInfo[playerid][pCash] < 500)
			{
			   SendClientMessage(playerid, COLOR_GREY, "У вас не достаточно денег");
			   return 1;
			}
			if(TakingLesson[playerid] == 1)
			{
        	           SendClientMessage(playerid, COLOR_GREY, "Урок уже начался!");
			   return 1;
			}
            SendClientMessage(playerid, COLOR_GREEN, "Автосдача начата, выйдите на улицу и сядьте в автомобиль");
            PlayerInfo[playerid][pCash] -=500;
            GivePlayerPCash(playerid, -500); //функция выдачи денег, замените на свою
            LessonStat[playerid] = 0;
	    LessonCar[playerid] = 1;
	    TakingLesson[playerid] = 1;
	    return 1;
       	}
	else
	{
	   return 1;
	}
   }
5) В паблик StateChange

PHP:
if(newcar >= liccar[0] && newcar <= liccar[10]) // liccar - это переменная моих машин лицензеров
		{
      	if(PlayerInfo[playerid][pCarLic] == 0 && TakingLesson[playerid] == 1)
			{
			 if(JobCarTime[playerid] <= 16 && JobCarTime[playerid] >= 1)
				{
				    JobCarTime[playerid] = 0;
				}
		 	        LessonStat[playerid]++;
				pLessonCar[playerid] = CHECKPOINT_1;
				SetPlayerRaceCheckpoint(playerid,0,-2056.8748,-97.6126,32.9113,-2047.1299,-82.7046,32.9072,5.0);
				new pdddialog[2148];
				format(pdddialog,sizeof(pdddialog), "%s%s%s%s%s%s%s%s%s%s%s%s%s",				     pdddialogMSG[0],pdddialogMSG[1],pdddialogMSG[2],pdddialogMSG[3],pdddialogMSG[4],pdddialogMSG[5],pdddialogMSG[6],pdddialogMSG[7],pdddialogMSG[8],pdddialogMSG[9],pdddialogMSG[10],pdddialogMSG[11],pdddialogMSG[12]);
				ShowPlayerDialog(playerid,15,DIALOG_STYLE_MSGBOX,"Правила дорожного движения", pdddialog, "Ок", "");
 			}
		}
6) Создадим сами чекпоинты по городу
В OnPlayerEnterRaceCheckpoint
PHP:
 new string[256];
 	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	{
	    if(LessonCar[playerid] == 1)
		{
	    	switch(pLessonCar[playerid])
			{
				case CHECKPOINT_1:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_2;
					SetPlayerRaceCheckpoint(playerid, 0,-2047.1299,-82.7046,34.9072,-2021.2046,-72.2330,34.9150, 5.0);
				}
				case CHECKPOINT_2:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_3;
					SetPlayerRaceCheckpoint(playerid, 0,-2021.2046,-72.2330,34.9150,-2004.2841,-56.4547,34.9083, 5.0);
				}
				case CHECKPOINT_3:
				{

	                GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_4;
					SetPlayerRaceCheckpoint(playerid, 0,-2004.2841,-56.4547,34.9083,-2004.3656,63.5635,29.0903, 5.0);
				}
				case CHECKPOINT_4:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_5;
					SetPlayerRaceCheckpoint(playerid, 0,-2004.3656,63.5635,29.0903,-2003.5389,169.0928,27.2806, 5.0);
				}
				case CHECKPOINT_5:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_6;
					SetPlayerRaceCheckpoint(playerid, 0,-2003.5389,169.0928,27.2806,-1999.3879,309.9337,34.7228, 5.0);
				}
				case CHECKPOINT_6:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_7;
					SetPlayerRaceCheckpoint(playerid, 0,-1999.3879,309.9337,34.7228,-1999.1091,488.9284,34.7584, 5.0);
				}
				case CHECKPOINT_7:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_8;
					SetPlayerRaceCheckpoint(playerid, 0,-1999.1091,488.9284,34.7584,-2020.0480,506.7851,34.7583, 5.0);
				}
				case CHECKPOINT_8:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_9;
					SetPlayerRaceCheckpoint(playerid, 0,-2020.0480,506.7851,34.7583,-2123.5198,506.4044,34.7593, 5.0);
				}
				case CHECKPOINT_9:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_10;
					SetPlayerRaceCheckpoint(playerid, 0,-2123.5198,506.4044,34.7593,-2147.1807,490.5033,34.7583, 5.0);
				}
				case CHECKPOINT_10:
				{

			    	GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_11;
					SetPlayerRaceCheckpoint(playerid, 0,-2147.1807,490.5033,34.7583,-2149.1292,407.9551,34.8205, 5.0);
				}
				case CHECKPOINT_11:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_13;
					SetPlayerRaceCheckpoint(playerid, 0,-2149.1292,407.9551,34.8205,-2148.8479,229.6411,34.9152, 5.0);
				}
				case CHECKPOINT_13:
				{

	                GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_14;
					SetPlayerRaceCheckpoint(playerid, 0,-2148.8479,229.6411,34.9152,-2165.5833,210.6641,34.9144, 5.0);
				}
				case CHECKPOINT_14:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_15;
					SetPlayerRaceCheckpoint(playerid, 0,-2165.5833,210.6641,34.9144,-2233.7517,210.4253,34.9137, 5.0);
				}
				case CHECKPOINT_15:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_16;
					SetPlayerRaceCheckpoint(playerid, 0,-2233.7517,210.4253,34.9137,-2249.0859,233.7054,34.9071, 5.0);
				}
				case CHECKPOINT_16:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_17;
					SetPlayerRaceCheckpoint(playerid, 0,-2249.0859,233.7054,34.9071,-2261.7542,372.9274,33.2418, 5.0);
				}
				case CHECKPOINT_17:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_18;
					SetPlayerRaceCheckpoint(playerid, 0,-2261.7542,372.9274,33.2418,-2359.8423,484.6871,30.3849, 5.0);
				}
				case CHECKPOINT_18:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_19;
					SetPlayerRaceCheckpoint(playerid, 0,-2359.8423,484.6871,30.3849,-2383.4255,790.3303,34.7652, 5.0);
				}
				case CHECKPOINT_19:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_20;
					SetPlayerRaceCheckpoint(playerid, 0,-2383.4255,790.3303,34.7652,-2364.3657,805.9047,36.6098, 5.0);
				}
				case CHECKPOINT_20:
				{

			    	GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_21;
					SetPlayerRaceCheckpoint(playerid, 0,-2364.3657,805.9047,36.6098,-2217.7344,806.2595,49.0387, 5.0);
				}
				case CHECKPOINT_21:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_22;
					SetPlayerRaceCheckpoint(playerid, 0,-2217.7344,806.2595,49.0387,-2095.3938,806.2051,69.1558, 5.0);
				}
				case CHECKPOINT_22:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_23;
					SetPlayerRaceCheckpoint(playerid, 0,-2095.3938,806.2051,69.1558,-2023.7908,806.1768,47.0934, 5.0);
				}
				case CHECKPOINT_23:
				{

	                GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_24;
					SetPlayerRaceCheckpoint(playerid, 0,-2023.7908,806.1768,47.0934,-2000.5417,825.1227,45.0399, 5.0);
				}
				case CHECKPOINT_24:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_25;
					SetPlayerRaceCheckpoint(playerid, 0,-2000.5417,825.1227,45.0399,-2000.4559,901.5263,45.0433, 5.0);
				}
				case CHECKPOINT_25:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_26;
					SetPlayerRaceCheckpoint(playerid, 0,-2000.4559,901.5263,45.0433,-1983.4757,917.6733,45.0391, 5.0);
				}
				case CHECKPOINT_26:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_27;
					SetPlayerRaceCheckpoint(playerid, 0,-1983.4757,917.6733,45.0391,-1859.3486,917.3110,34.7522, 5.0);
				}
				case CHECKPOINT_27:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_28;
					SetPlayerRaceCheckpoint(playerid, 0,-1859.3486,917.3110,34.7522,-1738.9817,917.5093,24.4839, 5.0);
				}
				case CHECKPOINT_28:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_29;
					SetPlayerRaceCheckpoint(playerid, 0,-1738.9817,917.5093,24.4839,-1584.8662,917.9406,7.2808, 5.0);
				}
				case CHECKPOINT_29:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_30;
					SetPlayerRaceCheckpoint(playerid, 0,-1584.8662,917.9406,7.2808,-1541.6730,928.6280,6.7821, 5.0);
				}
				case CHECKPOINT_30:
				{

			    	GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_31;
					SetPlayerRaceCheckpoint(playerid, 0,-1541.6730,928.6280,6.7821,-1540.8986,962.7398,6.7813, 5.0);
				}
				case CHECKPOINT_31:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_32;
					SetPlayerRaceCheckpoint(playerid, 0,-1540.8986,962.7398,6.7813,-1586.9012,1029.1655,6.7806, 5.0);
				}
				case CHECKPOINT_32:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_33;
					SetPlayerRaceCheckpoint(playerid, 0,-1586.9012,1029.1655,6.7806,-1634.6927,1240.9236,6.7836, 5.0);
				}
				case CHECKPOINT_33:
				{

	                GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_34;
					SetPlayerRaceCheckpoint(playerid, 0,-1634.6927,1240.9236,6.7836,-1733.3973,1340.2684,6.7808, 5.0);
				}
				case CHECKPOINT_34:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_35;
					SetPlayerRaceCheckpoint(playerid, 0,-1733.3973,1340.2684,6.7808,-1822.0417,1375.2615,6.7819, 5.0);
				}
				case CHECKPOINT_35:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_36;
					SetPlayerRaceCheckpoint(playerid, 0,-1822.0417,1375.2615,6.7819,-1930.4690,1306.2540,6.7826, 5.0);
				}
				case CHECKPOINT_36:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_37;
					SetPlayerRaceCheckpoint(playerid, 0,-1930.4690,1306.2540,6.7826,-2025.0059,1304.6970,6.8203, 5.0);
				}
				case CHECKPOINT_37:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_38;
					SetPlayerRaceCheckpoint(playerid, 0,-2025.0059,1304.6970,6.8203,-2062.1274,1281.8025,7.5473, 5.0);
				}
				case CHECKPOINT_38:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_40;
					SetPlayerRaceCheckpoint(playerid, 0,-2062.1274,1281.8025,7.5473,-2270.4485,1204.1831,53.2871, 5.0);
				}
				case CHECKPOINT_40:
				{

			    	GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_41;
					SetPlayerRaceCheckpoint(playerid, 0,-2270.4485,1204.1831,53.2871,-2267.0386,1095.9159,79.6025, 5.0);
				}
				case CHECKPOINT_41:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_42;
					SetPlayerRaceCheckpoint(playerid, 0,-2267.0386,1095.9159,79.6025,-2266.0283,990.1443,75.1669, 5.0);
				}
				case CHECKPOINT_42:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_43;
					SetPlayerRaceCheckpoint(playerid, 0,-2266.0283,990.1443,75.16690,-2266.5266,807.7878,49.0438, 5.0);
				}
				case CHECKPOINT_43:
				{

	                GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_44;
					SetPlayerRaceCheckpoint(playerid, 0,-2266.5266,807.7878,49.0438,-2266.6682,585.7730,36.3168, 5.0);
				}
				case CHECKPOINT_44:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_45;
					SetPlayerRaceCheckpoint(playerid, 0,-2266.6682,585.7730,36.3168,-2242.5308,562.4396,34.75896, 5.0);
				}
				case CHECKPOINT_45:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_46;
					SetPlayerRaceCheckpoint(playerid, 0,-2242.5308,562.4396,34.7589,-2229.0964,540.6600,34.7586, 5.0);
				}
				case CHECKPOINT_46:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_47;
					SetPlayerRaceCheckpoint(playerid, 0,-2229.0964,540.6600,34.7586,-2209.9031,506.0080,34.7579, 5.0);
				}
				case CHECKPOINT_47:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_48;
					SetPlayerRaceCheckpoint(playerid, 0,-2209.9031,506.0080,34.7579,-2102.6755,501.8567,34.7602, 5.0);
				}
				case CHECKPOINT_48:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_49;
					SetPlayerRaceCheckpoint(playerid, 0,-2102.6755,501.8567,34.7602,-2020.8113,501.6382,34.7586, 5.0);
				}
				case CHECKPOINT_49:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_50;
					SetPlayerRaceCheckpoint(playerid, 0,-2020.8113,501.6382,34.7586,-2007.8937,491.4999,34.7592, 5.0);
				}
				case CHECKPOINT_50:
				{

			    	GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_51;
					SetPlayerRaceCheckpoint(playerid, 0,-2007.8937,491.4999,34.7592,-2009.4333,253.1356,30.0010, 5.0);
				}
				case CHECKPOINT_51:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_52;
					SetPlayerRaceCheckpoint(playerid, 0,-2009.4333,253.1356,30.0010,-2008.9186,60.0073,29.5201, 5.0);
				}
				case CHECKPOINT_52:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_53;
					SetPlayerRaceCheckpoint(playerid, 0,-2008.9186,60.0073,29.5201,-2008.8951,-83.7164,35.0135, 5.0);
				}
				case CHECKPOINT_53:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_54;
					SetPlayerRaceCheckpoint(playerid, 0,-2008.8951,-83.7164,35.0135,-2007.6554,-162.2175,35.4526, 5.0);
				}
				case CHECKPOINT_54:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_55;
					SetPlayerRaceCheckpoint(playerid, 0,-2007.6554,-162.2175,35.4526,-2007.6746,-276.8484,35.0604, 5.0);
				}
				case CHECKPOINT_55:
				{

			    	GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_56;
					SetPlayerRaceCheckpoint(playerid, 0,-2007.6746,-276.8484,35.0604,-2038.9626,-289.8528,35.1186, 5.0);
				}
				case CHECKPOINT_56:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_57;
					SetPlayerRaceCheckpoint(playerid, 0,-2038.9626,-289.8528,35.1186,-2195.3115,-290.1100,35.0690, 5.0);
				}
				case CHECKPOINT_57:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_58;
					SetPlayerRaceCheckpoint(playerid, 0,-2195.3115,-290.1100,35.0690,-2205.7070,-272.5776,35.0689, 5.0);
				}
				case CHECKPOINT_58:
				{

	                GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_59;
					SetPlayerRaceCheckpoint(playerid, 0,-2205.7070,-272.5776,35.0689,-2205.3076,-204.0107,35.0867, 5.0);
				}
				case CHECKPOINT_59:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_60;
					SetPlayerRaceCheckpoint(playerid, 0,-2205.3076,-204.0107,35.0867,-2236.1755,-187.5369,34.9148, 5.0);
				}
				case CHECKPOINT_60:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_61;
					SetPlayerRaceCheckpoint(playerid, 0,-2236.1755,-187.5369,34.9148,-2251.8374,-86.5177,34.9136, 5.0);
				}
				case CHECKPOINT_61:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_62;
					SetPlayerRaceCheckpoint(playerid, 0,-2251.8374,-86.5177,34.9136,-2234.4314,-72.5208,34.9151, 5.0);
				}
				case CHECKPOINT_62:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_63;
					SetPlayerRaceCheckpoint(playerid, 0,-2234.4314,-72.5208,34.9151,-2083.7751,-72.7984,34.9150, 5.0);
				}
				case CHECKPOINT_63:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_64;
					SetPlayerRaceCheckpoint(playerid, 0,-2083.7751,-72.7984,34.9150,-2046.7074,-84.9175,34.9071, 5.0);
				}
				case CHECKPOINT_64:
				{

				    GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_65;
					SetPlayerRaceCheckpoint(playerid, 0,-2046.7074,-84.9175,34.9071,-2079.5813,-95.3732,34.9071, 5.0);
				}
				case CHECKPOINT_65:
				{
			    	GameTextForPlayer(playerid, string, 5000, 4);
					LessonStat[playerid]++;
					pLessonCar[playerid] = CHECKPOINT_66;
					SetPlayerRaceCheckpoint(playerid, 1,-2079.5813,-95.3732,32.9071,0.0,0.0,0.0, 5.0);
				}
				case CHECKPOINT_66:
				{
				    new Float:health;
    				GetVehicleHealth(GetPlayerVehicleID(playerid),health);
    				if (health >= 850)
    				{
    					JobCarTime[playerid] = 0;
		    			LessonCar[playerid] = 0;
       					LessonStat[playerid] = 0;
		    			TakingLesson[playerid] = 0;
		    			PlayerInfo[playerid][pCarLic] = 1;
						DisablePlayerRaceCheckpoint(playerid);
						SendClientMessage(playerid, COLOR_GREEN, "Вы успешно сдали на права! Пожалуйста припаркуйте автомобиль!");
	  				}
	  				else
	   				{
						SendClientMessage(playerid, COLOR_GRAD1, "Вы не достаточно хорошо водите, чтобы получить права");
 						JobCarTime[playerid] = 0;
		    			LessonCar[playerid] = 0;
       					LessonStat[playerid] = 0;
		    			TakingLesson[playerid] = 0;
	   				}
				}
			}
		}
	}
7) Создадим enum для чекпоинтов
В начало мода ко всем enum
PHP:
enum
{
CHECKPOINT_1,
CHECKPOINT_2,
CHECKPOINT_3,
CHECKPOINT_4,
CHECKPOINT_5,
CHECKPOINT_6,
CHECKPOINT_7,
CHECKPOINT_8,
CHECKPOINT_9,
CHECKPOINT_10,
CHECKPOINT_11,
CHECKPOINT_13,
CHECKPOINT_14,
CHECKPOINT_15,
CHECKPOINT_16,
CHECKPOINT_17,
CHECKPOINT_18,
CHECKPOINT_19,
CHECKPOINT_20,
CHECKPOINT_21,
CHECKPOINT_22,
CHECKPOINT_23,
CHECKPOINT_24,
CHECKPOINT_25,
CHECKPOINT_26,
CHECKPOINT_27,
CHECKPOINT_28,
CHECKPOINT_29,
CHECKPOINT_30,
CHECKPOINT_31,
CHECKPOINT_32,
CHECKPOINT_33,
CHECKPOINT_34,
CHECKPOINT_35,
CHECKPOINT_36,
CHECKPOINT_37,
CHECKPOINT_38,
CHECKPOINT_40,
CHECKPOINT_41,
CHECKPOINT_42,
CHECKPOINT_43,
CHECKPOINT_44,
CHECKPOINT_45,
CHECKPOINT_46,
CHECKPOINT_47,
CHECKPOINT_48,
CHECKPOINT_49,
CHECKPOINT_50,
CHECKPOINT_51,
CHECKPOINT_52,
CHECKPOINT_53,
CHECKPOINT_54,
CHECKPOINT_55,
CHECKPOINT_56,
CHECKPOINT_57,
CHECKPOINT_58,
CHECKPOINT_59,
CHECKPOINT_60,
CHECKPOINT_61,
CHECKPOINT_62,
CHECKPOINT_63,
CHECKPOINT_64,
CHECKPOINT_65,
CHECKPOINT_66,
}
8) Прекращения урока при выходе из авто
В StateChange
PHP:
if(newstate == PLAYER_STATE_ONFOOT)
	    {
	     if(TakingLesson[playerid] == 1)
	      {
     	       SendClientMessage(playerid, COLOR_RED, "Автосдача прекращена, вы покинули автомобиль");
     		   DisablePlayerRaceCheckpoint(playerid); CP[playerid] = 0;
     		   TakingLesson[playerid] = 0;
     		   SetVehicleToRespawn(GetPlayerVehicleID(playerid));
			   return 1;
		    }
   	     }
9) Ну и сам диалог pdd:
PHP:
new pdddialogMSG[13][] = {
/*0*/    {"<< 1. Общие правила >>\n\n"},
/*1*/    {"Обгон транспортного средства разрешен только с левой стороны,\n"},
/*3*/    {"при этом водители обязаны убедиться, что встречная полоса свободна на достаточном для обгона расстояние.\n"},
/*4*/    {"При ДТП водители обязаны позвонить в полицию, и дождаться ДПС\n\n"},
/*5*/    {"<< 2. Скорость движения >> \n\n"},
/*6*/    {"В переделах города разрешается движение транспортных средств со скоростью не более 50 км/ч.\n"},
/*7*/    {"В жилых зонах и на дворовых территориях не более 30 км/ч\n\n"},
/*8*/     {"<< 3. Остановка и стоянка >>\n\n"},
/*6*/    {"Остановка и стоянка транспортных средств разрешаются на правой стороне дороги на обочине.\n"},
/*7*/    {"В специальных отведённых для этого местах\n\n"},
        {"<< 4. ДПС >> \n\n"},
/*6*/    {"При виде автомобиля с включённой сереной, водитель обязан сбавить скорость и прижаться к обочине.\n"},
/*7*/    {"Водитель обязан предъявить паспорт/лицензии, если тот попросил"}
};
Ну вот, вроде бы всё. Сразу говорю, я мог что то забыть.
Автор: я, т.е Steve. Вырезано из мода "RLS"
Не откажусь от +сиков :)
Если вы решили скопировать мой урок и разместить на других сайтах, то сохраняйте авторские права!
Если у вас не компилируется мод, то пишите в тему, помогу всем
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу