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

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

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

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

Управление авто

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

Tupac

Мастер
Всем привет!
Вот сделал урок по созданию управление машиной
Автор урока
Я
И так начинаем

Ко всем #define добавляем
PHP:
#define VEH_CONTROL_DIALOG 10000
#define VEH_NEON_STORY 10001
#define VEH_SETNUMBER_DIALOG 10002
Далее добавляем new
PHP:
new engine, lights, alarm, doors, bonnet, boot, objective;
enum VehControl
{
	vEngine, 
	vLights, 
	vAlarm, 
	vBonnet,
	vBoot,
	vLeftNeon,
	vRightNeon,
	vLeftBlink,
	vRightBlink,
	vBlink[4],
}
new VehInfo[MAX_VEHICLES][VehControl];

new buyneonpickup, Text3D: buyneonlabel, setnumberpickup, Text3D: setnumberlabel;
В паблик public OnGameModeInit() добавляем
PHP:
	ManualVehicleEngineAndLights();
	buyneonpickup = CreatePickup(1239, 14, -2052.6504, 147.4321, 28.5789, 0); // /BUYNEON
	buyneonlabel = Create3DTextLabel(">> Установка неона <<",0xFFA500FF,-2052.6504, 147.4321, 28.5789,50.0,0,1);
	setnumberpickup = CreatePickup(1239, 14, 1545.0813,-1609.6058,13.1636, 0); // /SETNUMBER
	setnumberlabel = Create3DTextLabel(">> Смена номерного знака <<",0xFFA500FF,1545.0813,-1609.6058,13.1636,50.0,0,1);
	SetWeather(2); // Чтоб днём было видно неон и поворотники.
	DestroyPickup(buyneonpickup);
	Delete3DTextLabel(buyneonlabel);
	DestroyPickup(setnumberpickup);
	Delete3DTextLabel(setnumberlabel);
Добавляем новый паблик
PHP:
public OnVehicleSpawn(vehicleid)
{
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vehicleid, false, false, false, false, false, false, false);
    VehInfo[vehicleid][vEngine] = 0;
    VehInfo[vehicleid][vLights] = 0;
    VehInfo[vehicleid][vAlarm] = 0;
    VehInfo[vehicleid][vBonnet] = 0;
    VehInfo[vehicleid][vBoot] = 0;
    DestroyObject(VehInfo[vehicleid][vLeftNeon]);
    DestroyObject(VehInfo[vehicleid][vRightNeon]);
	DestroyObject(VehInfo[vehicleid][vBlink][0]);
	DestroyObject(VehInfo[vehicleid][vBlink][1]);
	VehInfo[vehicleid][vRightBlink] = 0;
	DestroyObject(VehInfo[vehicleid][vBlink][2]);
	DestroyObject(VehInfo[vehicleid][vBlink][3]);
	VehInfo[vehicleid][vLeftBlink] = 0;
	return 1;
}
Добавляем новый команды
PHP:
    if(strcmp("/setnumber", cmdtext, true) == 0)
    {
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
    		if(IsPlayerInRangeOfPoint(playerid, 8.0, 1545.0813,-1609.6058,13.1636))
			{
				ShowPlayerDialog(playerid, VEH_SETNUMBER_DIALOG, DIALOG_STYLE_INPUT, "Смена номерного знака", "Введите новый номерной знак", "Сменить", "Отмена");
        		return 1;
			}
		}
	}
	if(strcmp("/buyneon", cmdtext, true) == 0)
	{
	    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	    {
	        new vid = GetPlayerVehicleID(playerid);
	        new model = GetVehicleModel(vid);
	        if(
	        // Велики
			model == 509
		 	|| model == 481
		 	|| model == 510
			// Авиация
			|| model == 592
			|| model == 577
			|| model == 511
			|| model == 512
			|| model == 593
			|| model == 520
			|| model == 553
			|| model == 476
			|| model == 519
			|| model == 460
			|| model == 513
			|| model == 548
			|| model == 425
			|| model == 417
			|| model == 487
			|| model == 488
			|| model == 497
			|| model == 563
			|| model == 447
			|| model == 469
			// Водный
			|| model == 430
			|| model == 446
			|| model == 452
			|| model == 453
			|| model == 454
			|| model == 472
			|| model == 473
			|| model == 484
			|| model == 493
			|| model == 539
			|| model == 595) { return 1; }
			if(IsPlayerInRangeOfPoint(playerid, 8.0, -2052.6504,147.4321,28.5789))
			{
				ShowPlayerDialog(playerid, VEH_NEON_STORY, DIALOG_STYLE_LIST, "Установка неона", " - Красный\t\t$1000\n - Синий\t\t$1000\n - Зелёный\t\t$1000\n - Желтый\t\t$1000\n - Розовый\t\t$1000\n - Белый\t\t$1000\n - Удалить неон\t$500", "Выбрать", "Отмена");
            	return 1;
			}
		}
	}
	if (strcmp("/vehcontrol", cmdtext, true) == 0 || strcmp("/vc", cmdtext, true) == 0)
	{
		new vid = GetPlayerVehicleID(playerid);
		new model = GetVehicleModel(vid);
	    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
		if( // Транспорт, на который заводка двигателя просто не нужна!
	    // Велики
		model == 509
	 	|| model == 481
	 	|| model == 510
		// Авиация
		|| model == 592
		|| model == 577
		|| model == 511
		|| model == 512
		|| model == 593
		|| model == 520
		|| model == 553
		|| model == 476
		|| model == 519
		|| model == 460
		|| model == 513
		|| model == 548
		|| model == 425
		|| model == 417
		|| model == 487
		|| model == 488
		|| model == 497
		|| model == 563
		|| model == 447
		|| model == 469
		// Водный
		|| model == 430
		|| model == 446
		|| model == 452
		|| model == 453
		|| model == 454
		|| model == 472
		|| model == 473
		|| model == 484
		|| model == 493
		|| model == 539
		|| model == 595) { return 1; }
		ShowPlayerDialog(playerid, VEH_CONTROL_DIALOG, DIALOG_STYLE_LIST, "Управление транспортом", "- Двигатель\t\t\t[Завести/Заглушить]\n- Фары\t\t\t\t[Включить/Выключить]\n- Сигнализация\t\t[Включить/Выключить]\n- Капот\t\t\t\t[Открыть/Закрыть]\n- Багажник\t\t\t[Открыть/Закрыть]\n- Аварийка\t\t\t[Включить/Выключить]", "Выбрать", "Отмена");
		return 1;
	}
	return 0;
}
Новый паблик
PHP:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
	new vid = GetPlayerVehicleID(playerid);
	new model = GetVehicleModel(vid);
	if(newstate == PLAYER_STATE_DRIVER)
	{
		if( // Транспорт, на который заводка двигателя просто не нужна!
	    // Велики
		model == 509
	 	|| model == 481
	 	|| model == 510
		// Авиация
		|| model == 592
		|| model == 577
		|| model == 511
		|| model == 512
		|| model == 593
		|| model == 520
		|| model == 553
		|| model == 476
		|| model == 519
		|| model == 460
		|| model == 513
		|| model == 548
		|| model == 425
		|| model == 417
		|| model == 487
		|| model == 488
		|| model == 497
		|| model == 563
		|| model == 447
		|| model == 469
		// Водный
		|| model == 430
		|| model == 446
		|| model == 452
		|| model == 453
		|| model == 454
		|| model == 472
		|| model == 473
		|| model == 484
		|| model == 493
		|| model == 539
		|| model == 595)
		{ // Заводим двигатель на это транспорт автоматически
			GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
			SetVehicleParamsEx(vid, true, lights, alarm, doors, bonnet, boot, objective);
			VehInfo[vid][vEngine] = 1;
		}
	}
	return 1;
}
Паблик
PHP:
public OnPlayerPickUpPickup(playerid, pickupid)
{
	if(pickupid == buyneonpickup)
	{
	    SendClientMessage(playerid, 0x33AA33AA, "Чтобы установить неон введите команду {FFFFFF}/buyneon");
	}
	else if(pickupid == setnumberpickup)
	{
	    SendClientMessage(playerid, 0x33AA33AA, "Чтобы сменить номерной знак введите команду {FFFFFF}/setnumber");
	}
	return 1;
}
И последний паблик
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
////////////////////////////////////////////////////////////////////////////////
	if(dialogid == VEH_CONTROL_DIALOG)
	{
     	new vid, model; vid = GetPlayerVehicleID(playerid); model = GetVehicleModel(vid);
	    if(!response) return 1;
	    switch (listitem)
	    {
	        case 0:
	        {
	            if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	            {
	            	if(
			        // Велики
					model == 509
				 	|| model == 481
				 	|| model == 510
					// Авиация
					|| model == 592
					|| model == 577
					|| model == 511
					|| model == 512
					|| model == 593
					|| model == 520
					|| model == 553
					|| model == 476
					|| model == 519
					|| model == 460
					|| model == 513
					|| model == 548
					|| model == 425
					|| model == 417
					|| model == 487
					|| model == 488
					|| model == 497
					|| model == 563
					|| model == 447
					|| model == 469
					// Водный
					|| model == 430
					|| model == 446
					|| model == 452
					|| model == 453
					|| model == 454
					|| model == 472
					|| model == 473
					|| model == 484
					|| model == 493
					|| model == 539
					|| model == 595) { return 1; }
					if(VehInfo[vid][vEngine] == 0)
					{
						GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(vid, true, lights, alarm, doors, bonnet, boot, objective);
						VehInfo[vid][vEngine] = 1;
					}
					else if(VehInfo[vid][vEngine] == 1)
					{
						GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(vid, false, lights, alarm, doors, bonnet, boot, objective);
						VehInfo[vid][vEngine] = 0;
					}
	            }
	        }
			case 1:
			{
			    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	            {
	            	if(
			        // Велики
					model == 509
				 	|| model == 481
				 	|| model == 510
					// Авиация
					|| model == 592
					|| model == 577
					|| model == 511
					|| model == 512
					|| model == 593
					|| model == 520
					|| model == 553
					|| model == 476
					|| model == 519
					|| model == 460
					|| model == 513
					|| model == 548
					|| model == 425
					|| model == 417
					|| model == 487
					|| model == 488
					|| model == 497
					|| model == 563
					|| model == 447
					|| model == 469
					// Водный
					|| model == 430
					|| model == 446
					|| model == 452
					|| model == 453
					|| model == 454
					|| model == 472
					|| model == 473
					|| model == 484
					|| model == 493
					|| model == 539
					|| model == 595) { return 1; }
					if(VehInfo[vid][vLights] == 0)
					{
						GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(vid, engine, true, alarm, doors, bonnet, boot, objective);
						VehInfo[vid][vLights] = 1;
					}
					else if(VehInfo[vid][vLights] == 1)
					{
						GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(vid, engine, false, alarm, doors, bonnet, boot, objective);
						VehInfo[vid][vLights] = 0;
					}
				}
			}
			case 2:
			{
			    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	            {
	            	if(
			        // Велики
					model == 509
				 	|| model == 481
				 	|| model == 510
					// Авиация
					|| model == 592
					|| model == 577
					|| model == 511
					|| model == 512
					|| model == 593
					|| model == 520
					|| model == 553
					|| model == 476
					|| model == 519
					|| model == 460
					|| model == 513
					|| model == 548
					|| model == 425
					|| model == 417
					|| model == 487
					|| model == 488
					|| model == 497
					|| model == 563
					|| model == 447
					|| model == 469
					// Водный
					|| model == 430
					|| model == 446
					|| model == 452
					|| model == 453
					|| model == 454
					|| model == 472
					|| model == 473
					|| model == 484
					|| model == 493
					|| model == 539
					|| model == 595) { return 1; }
					if(VehInfo[vid][vAlarm] == 0)
					{
						GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(vid, engine, lights, true, doors, bonnet, boot, objective);
						VehInfo[vid][vAlarm] = 1;
					}
					else if(VehInfo[vid][vAlarm] == 1)
					{
						GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(vid, engine, lights, false, doors, bonnet, boot, objective);
						VehInfo[vid][vAlarm] = 0;
					}
				}
			}
			case 3:
			{
			    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	            {
	            	if(
			        // Велики
					model == 509
				 	|| model == 481
				 	|| model == 510
					// Авиация
					|| model == 592
					|| model == 577
					|| model == 511
					|| model == 512
					|| model == 593
					|| model == 520
					|| model == 553
					|| model == 476
					|| model == 519
					|| model == 460
					|| model == 513
					|| model == 548
					|| model == 425
					|| model == 417
					|| model == 487
					|| model == 488
					|| model == 497
					|| model == 563
					|| model == 447
					|| model == 469
					// Водный
					|| model == 430
					|| model == 446
					|| model == 452
					|| model == 453
					|| model == 454
					|| model == 472
					|| model == 473
					|| model == 484
					|| model == 493
					|| model == 539
					|| model == 595) { return 1; }
					if(VehInfo[vid][vBonnet] == 0)
					{
						GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(vid, engine, lights, alarm, doors, true, boot, objective);
						VehInfo[vid][vBonnet] = 1;
					}
					else if(VehInfo[vid][vBonnet] == 1)
					{
						GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(vid, engine, lights, alarm, doors, false, boot, objective);
						VehInfo[vid][vBonnet] = 0;
					}
				}
			}
			case 4:
			{
			    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	            {
	            	if(
			        // Велики
					model == 509
				 	|| model == 481
				 	|| model == 510
					// Авиация
					|| model == 592
					|| model == 577
					|| model == 511
					|| model == 512
					|| model == 593
					|| model == 520
					|| model == 553
					|| model == 476
					|| model == 519
					|| model == 460
					|| model == 513
					|| model == 548
					|| model == 425
					|| model == 417
					|| model == 487
					|| model == 488
					|| model == 497
					|| model == 563
					|| model == 447
					|| model == 469
					// Водный
					|| model == 430
					|| model == 446
					|| model == 452
					|| model == 453
					|| model == 454
					|| model == 472
					|| model == 473
					|| model == 484
					|| model == 493
					|| model == 539
					|| model == 595) { return 1; }
					if(VehInfo[vid][vBoot] == 0)
					{
						GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, true, objective);
						VehInfo[vid][vBoot] = 1;
					}
					else if(VehInfo[vid][vBoot] == 1)
					{
						GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
						SetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, false, objective);
						VehInfo[vid][vBoot] = 0;
					}
				}
			}
			case 5:
			{
			    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	            {
	            	if(
			        // Велики
					model == 509
				 	|| model == 481
				 	|| model == 510
					// Авиация
					|| model == 592
					|| model == 577
					|| model == 511
					|| model == 512
					|| model == 593
					|| model == 520
					|| model == 553
					|| model == 476
					|| model == 519
					|| model == 460
					|| model == 513
					|| model == 548
					|| model == 425
					|| model == 417
					|| model == 487
					|| model == 488
					|| model == 497
					|| model == 563
					|| model == 447
					|| model == 469
					// Водный
					|| model == 430
					|| model == 446
					|| model == 452
					|| model == 453
					|| model == 454
					|| model == 472
					|| model == 473
					|| model == 484
					|| model == 493
					|| model == 539
					|| model == 595) { return 1; }
					if(VehInfo[vid][vLeftBlink] == 0 && VehInfo[vid][vRightBlink] == 0)
					{
                        VehInfo[vid][vLeftBlink] = 1; VehInfo[vid][vRightBlink] = 1;
						VehInfo[vid][vBlink][0] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,100.0);//правый передний
		           		VehInfo[vid][vBlink][1] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,100.0);//правый задний
		           		AttachObjectToVehicle(VehInfo[vid][vBlink][0], vid, 0.9, 2.5, 0.1, 0.0, 0.0, 0.0);//правый передний
		           		AttachObjectToVehicle(VehInfo[vid][vBlink][1], vid, 0.9, -2.7, 0.1, 0.0, 0.0, 0.0);//правый задний
		                VehInfo[vid][vRightBlink] = 1;
		                VehInfo[vid][vBlink][2] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,100.0);//левыый передний
		           		VehInfo[vid][vBlink][3] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,100.0);//левыый  задний
		          	    AttachObjectToVehicle(VehInfo[vid][vBlink][2], vid, -0.9, 2.5, 0.1, 0.0, 0.0, 0.0);//левыый  передний
		           		AttachObjectToVehicle(VehInfo[vid][vBlink][3], vid, -0.9, -2.7, 0.1, 0.0, 0.0, 0.0);//левыый  задний
					    VehInfo[vid][vLeftBlink] = 1;
					}
					else if(VehInfo[vid][vLeftBlink] == 1 && VehInfo[vid][vRightBlink] == 1)
					{
                        VehInfo[vid][vLeftBlink] = 0; VehInfo[vid][vRightBlink] = 0;
                       	DestroyObject(VehInfo[vid][vBlink][0]);
						DestroyObject(VehInfo[vid][vBlink][1]);
						VehInfo[vid][vRightBlink] = 0;
						DestroyObject(VehInfo[vid][vBlink][2]);
						DestroyObject(VehInfo[vid][vBlink][3]);
						VehInfo[vid][vLeftBlink] = 0;
					}
				}
			}
	    }
	}
	else if(dialogid == VEH_NEON_STORY)
   	{
    	if(response)
    	{
            new car = GetPlayerVehicleID(playerid);
            switch (listitem)
            {
				case 0:
	     		{
	         		DestroyObject(VehInfo[car][vLeftNeon]);
	         		DestroyObject(VehInfo[car][vRightNeon]);
	         		VehInfo[car][vLeftNeon] = CreateObject(18647,0,0,0,0,0,0,100.0);
	   			 	VehInfo[car][vRightNeon] = CreateObject(18647,0,0,0,0,0,0,100.0);
	      			AttachObjectToVehicle(VehInfo[car][vLeftNeon], GetPlayerVehicleID(playerid), -0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	   			    AttachObjectToVehicle(VehInfo[car][vRightNeon], GetPlayerVehicleID(playerid), 0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	      			SendClientMessage(playerid, 0x33CCFFAA, "Автомастерская: Вы установили красный неон.");
					GivePlayerMoney(playerid, -1000);
			    }
	     		case 1:
	     		{
	         		DestroyObject(VehInfo[car][vLeftNeon]);
	         		DestroyObject(VehInfo[car][vRightNeon]);
	         		VehInfo[car][vLeftNeon] = CreateObject(18648,0,0,0,0,0,0,100.0);
	      			VehInfo[car][vRightNeon] = CreateObject(18648,0,0,0,0,0,0,100.0);
	     		    AttachObjectToVehicle(VehInfo[car][vLeftNeon], GetPlayerVehicleID(playerid), -0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	      			AttachObjectToVehicle(VehInfo[car][vRightNeon], GetPlayerVehicleID(playerid), 0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	      			SendClientMessage(playerid, 0x33CCFFAA, "Автомастерская: Вы установили синий неон.");
					GivePlayerMoney(playerid, -1000);
	            }
	     		case 2:
	     		{
	         		DestroyObject(VehInfo[car][vLeftNeon]);
	         		DestroyObject(VehInfo[car][vRightNeon]);
	         		VehInfo[car][vLeftNeon] = CreateObject(18649,0,0,0,0,0,0,100.0);
	      			VehInfo[car][vRightNeon] = CreateObject(18649,0,0,0,0,0,0,100.0);
	      			AttachObjectToVehicle(VehInfo[car][vLeftNeon], GetPlayerVehicleID(playerid), -0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	      			AttachObjectToVehicle(VehInfo[car][vRightNeon], GetPlayerVehicleID(playerid), 0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	   				SendClientMessage(playerid, 0x33CCFFAA, "Автомастерская: Вы установили зелёный неон.");
					GivePlayerMoney(playerid, -1000);
				}
	     		case 3:
	     		{
	         		DestroyObject(VehInfo[car][vLeftNeon]);
	         		DestroyObject(VehInfo[car][vRightNeon]);
	      			VehInfo[car][vLeftNeon] = CreateObject(18650,0,0,0,0,0,0,100.0);
	      			VehInfo[car][vRightNeon] = CreateObject(18650,0,0,0,0,0,0,100.0);
	      			AttachObjectToVehicle(VehInfo[car][vLeftNeon], GetPlayerVehicleID(playerid), -0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	      			AttachObjectToVehicle(VehInfo[car][vRightNeon], GetPlayerVehicleID(playerid), 0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	      			SendClientMessage(playerid, 0x33CCFFAA, "Автомастерская: Вы установили желтый неон.");
					GivePlayerMoney(playerid, -1000);
				}
	     		case 4:
	     		{
	         		DestroyObject(VehInfo[car][vLeftNeon]);
	         		DestroyObject(VehInfo[car][vRightNeon]);
	         		VehInfo[car][vLeftNeon] = CreateObject(18651,0,0,0,0,0,0,100.0);
	      			VehInfo[car][vRightNeon] = CreateObject(18651,0,0,0,0,0,0,100.0);
	      			AttachObjectToVehicle(VehInfo[car][vLeftNeon], GetPlayerVehicleID(playerid), -0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	      			AttachObjectToVehicle(VehInfo[car][vRightNeon], GetPlayerVehicleID(playerid), 0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	      			SendClientMessage(playerid, 0x33CCFFAA, "Автомастерская: Вы установили розовый неон.");
					GivePlayerMoney(playerid, -1000);
				}
	     		case 5:
	     		{
	         		DestroyObject(VehInfo[car][vLeftNeon]);
	         		DestroyObject(VehInfo[car][vRightNeon]);
	         		VehInfo[car][vLeftNeon] = CreateObject(18652,0,0,0,0,0,0,100.0);
	      			VehInfo[car][vRightNeon] = CreateObject(18652,0,0,0,0,0,0,100.0);
	      			AttachObjectToVehicle(VehInfo[car][vLeftNeon], GetPlayerVehicleID(playerid), -0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	      			AttachObjectToVehicle(VehInfo[car][vRightNeon], GetPlayerVehicleID(playerid), 0.8, 0.0, -0.57, 0.0, 0.0, 0.0);
	      			SendClientMessage(playerid, 0x33CCFFAA, "Автомастерская: Вы установили белый неон.");
					GivePlayerMoney(playerid, -1000);
				}
	     		case 6:
	     		{
	         		DestroyObject(VehInfo[car][vLeftNeon]);
	         		DestroyObject(VehInfo[car][vRightNeon]);
	      			SendClientMessage(playerid, 0x33CCFFAA, "Автомастерская: Вы удалили неон.");
					GivePlayerMoney(playerid, -500);
				}
			}
    	}
    }
    else if(dialogid == VEH_SETNUMBER_DIALOG)
    {
		if(!response) { return 1; }
		new Float:x,Float:y,Float:z,Float:ang;
		SetVehicleNumberPlate(GetPlayerVehicleID(playerid), inputtext);
		GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
		GetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
		SetVehicleToRespawn(GetPlayerVehicleID(playerid));
		SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
		SetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
		PutPlayerInVehicle(playerid,GetPlayerVehicleID(playerid),0);
    }
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(newkeys&64)
    {
        new vid, model; vid = GetPlayerVehicleID(playerid); model = GetVehicleModel(vid);
        if(// Велики
		model == 509 || model == 481 || model == 510
		// Авиация
		|| model == 592 || model == 577 || model == 511 || model == 512 || model == 593
		|| model == 520 || model == 553 || model == 476 || model == 519 || model == 460
		|| model == 513 || model == 548 || model == 425 || model == 417 || model == 487
		|| model == 488 || model == 497 || model == 563 || model == 447 || model == 469
		// Водный
		|| model == 430 || model == 446 || model == 452 || model == 453 || model == 454
		|| model == 472 || model == 473 || model == 484 || model == 493 || model == 539 || model == 595)
        {
		    return 1;
		}
		if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
 		{

            if(VehInfo[vid][vRightBlink] == 0)
			{
         		VehInfo[vid][vBlink][0] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,100.0);//правый передний
           		VehInfo[vid][vBlink][1] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,100.0);//правый задний
           		AttachObjectToVehicle(VehInfo[vid][vBlink][0], vid, 0.9, 2.5, 0.1, 0.0, 0.0, 0.0);//правый передний
           		AttachObjectToVehicle(VehInfo[vid][vBlink][1], vid, 0.9, -2.7, 0.1, 0.0, 0.0, 0.0);//правый задний
                VehInfo[vid][vRightBlink] = 1;
                // Удаляем левый
				DestroyObject(VehInfo[vid][vBlink][2]);
           		DestroyObject(VehInfo[vid][vBlink][3]);
           		VehInfo[vid][vLeftBlink] = 0;
			}
			else if(VehInfo[vid][vRightBlink] == 1)
       		{
				DestroyObject(VehInfo[vid][vBlink][0]);
           		DestroyObject(VehInfo[vid][vBlink][1]);
           		VehInfo[vid][vRightBlink] = 0;
       		}
		}
		else
      	{
       		return 1;
		}
		return 1;
	}
	if(newkeys&256)
    {
        new vid, model; vid = GetPlayerVehicleID(playerid); model = GetVehicleModel(vid);
        if(// Велики
		model == 509 || model == 481 || model == 510
		// Авиация
		|| model == 592 || model == 577 || model == 511 || model == 512 || model == 593
		|| model == 520 || model == 553 || model == 476 || model == 519 || model == 460
		|| model == 513 || model == 548 || model == 425 || model == 417 || model == 487
		|| model == 488 || model == 497 || model == 563 || model == 447 || model == 469
		// Водный
		|| model == 430 || model == 446 || model == 452 || model == 453 || model == 454
		|| model == 472 || model == 473 || model == 484 || model == 493 || model == 539 || model == 595)
        {
		    return 1;
		}
		if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
 		{
		    if(VehInfo[vid][vLeftBlink] == 0)
   			{
           		VehInfo[vid][vBlink][2] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,100.0);//левыый передний
           		VehInfo[vid][vBlink][3] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,100.0);//левыый  задний
          	    AttachObjectToVehicle(VehInfo[vid][vBlink][2], vid, -0.9, 2.5, 0.1, 0.0, 0.0, 0.0);//левыый  передний
           		AttachObjectToVehicle(VehInfo[vid][vBlink][3], vid, -0.9, -2.7, 0.1, 0.0, 0.0, 0.0);//левыый  задний
			    VehInfo[vid][vLeftBlink] = 1;
				// Удаляем правый
   				DestroyObject(VehInfo[vid][vBlink][0]);
           		DestroyObject(VehInfo[vid][vBlink][1]);
           		VehInfo[vid][vRightBlink] = 0;
			}
			else if(VehInfo[vid][vLeftBlink] == 1)
       		{
				DestroyObject(VehInfo[vid][vBlink][2]);
           		DestroyObject(VehInfo[vid][vBlink][3]);
           		VehInfo[vid][vLeftBlink] = 0;
       		}
		}
		else
      	{
       		return 1;
		}
		return 1;
	}
	return 1;
}
Всем спасибо за внимание!
Кому понравилось ставим плюсиГ
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу