Перейти к содержанию
EgorTresh

Двигатель

Рекомендуемые сообщения

EgorTresh

Раньше заводился двигатель на CTRL, ничего не менял. На след.день не заводится двигатель. Бензин есть.

CMD:engine(playerid, params[])
{
	if(GetPlayerState(playerid) != 2) return false;
	if(engines[playerid]>gettime())return SendClientMessage(playerid,COLOR_GREY,"Нельзя так часто заводить двигатель");
	new carid = GetPlayerVehicleID(playerid), vehicleid = 0;
	if(IsAVel(carid)) return false;
	if(GetEngineStatus(carid) < 1)
	{
		new arend_id = INVALID_PLAYER_ID;
		if(GetArendCarID(vehicleid, arend_id) != (-1))
		{
			new rc = GetArendCarID(vehicleid);
			if(ArendInfo[rc][aPlayerID] != playerid) return 1;
		}
		if(Fuel[carid] > 0.0)
		{
			if(IsASellCar(carid))return 1;
			if(!IsAOwnableCar(carid) || CarInfo[GetVehicleID(carid)][cKeyIN])
			{
				new Float:Health, string[50];
				GetVehicleHealth(carid, Health);
				if(Health > 1000) Health = 1000.0;
				else if(Health < 400) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете завести двигатель. Для его починки вызовите механика");
				new UNEngine = floatround(2000.0 - Health);
				if(UNEngine < 0) UNEngine = 0;
				else if(UNEngine > 2000) UNEngine = 2000;
				SetTimerEx("EngineVehicle", UNEngine, false, "ii", playerid, carid);
				format(string, sizeof(string), " %s пытается завести двигатель", GetName(playerid));
				ProxDetector(25.0, playerid, string, COLOR_PURPLE);
				engines[playerid]=gettime()+4;
			}
			else return SendClientMessage(playerid,COLOR_GREY,"Ключи не вставлены");
		}
		else return GameTextForPlayer(playerid, "~r~NO FUEL", 2000, 1);
	}
	else
	{
		new string[70];
		SetEngineStatus(carid,false, playerid);
		format(string,sizeof(string)," %s заглушил(а) двигатель",GetName(playerid));
		ProxDetector(25.0,playerid,string,COLOR_PURPLE);
		//SpeedOFF(playerid, carid, 2);
	}
	return true;
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#meow

Кидайте сюда ваш

public OnPlayerStateChange

 

Изменено пользователем #meow

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
EgorTresh
8 часов назад, #meow сказал:

Кидайте сюда ваш


public OnPlayerStateChange

 

Спойлер

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	pTemp[playerid][pAbletoGun] = 2;
	if(newstate == PLAYER_STATE_DRIVER) SetPVarInt(playerid,"VehicleEnters",GetPlayerVehicleID(playerid)),SetPVarInt(playerid,"exitedtrans",0);
	if(oldstate == PLAYER_STATE_DRIVER)
	{
		if(BanCar[GetPVarInt(playerid, "VehicleEnters")]) KillTimer(TimeUpdate[playerid]);
		TimeUpdate[playerid] = SetTimerEx("@UpdateVehiclePos", 10000, false, "ii", playerid, GetPVarInt(playerid, "VehicleEnters"), 1);
		BanCar[GetPVarInt(playerid, "VehicleEnters")] = true;
		DeletePVar(playerid, "VehicleEnters");
	}
	if( newstate == PLAYER_STATE_DRIVER )
	{
  	   new temp;
 	   temp = GetVehicleModel(GetPlayerVehicleID(playerid));
 	   BE_Play_Check[playerid] = true;
	   for(new i; i != sizeof(BE_Bad_Vehs); i++)
	   {
         	if(temp == BE_Bad_Vehs[i])
	        {
           		 BE_Play_Check[playerid] = false;
          	 	 break;
      	  	}
   	   }
	}
	if(newstate==2)
	{
		new string[250];
		new carid = GetPlayerVehicleID(playerid);
		if(VehicleInfo[carid][vJob] == 8)
		{
			if(InJob[playerid]!=1)
			{
				SendClientMessage(playerid,COLOR_RED,"[Ошибка] {FFFFFF}Вы не переоделись в рабочую одежду!");
				RemovePlayerFromVehicle(playerid);
				return false;
			}
			SetPVarInt(playerid,"fermar",gettime()+170);
			format(string,sizeof(string),"{FFFFFF}Отправляйтесь по чекпоинтам для выполнения своей работы,\nполучить зарплату вы сможете в здании фермы.\n\nУдачной работы!");
			ShowPlayerDialogEx(playerid,0,0," ",string,"Принять","");
			TogglePlayerDynamicRaceCP(playerid,Tfarm_CP[0],true);
			InJob[playerid]=3;
			FarmJob[playerid]=0;
		}
		else if(VehicleInfo[carid][vJob] == 9)
		{
			if(InJob[playerid]!=1)
			{
				SendClientMessage(playerid,COLOR_RED,"[Ошибка] {FFFFFF}Вы не переоделись в рабочую одежду!");
				RemovePlayerFromVehicle(playerid);
				return false;
			}
			SetPVarInt(playerid,"fermar",gettime()+120);
			format(string,sizeof(string),"{FFFFFF}Отправляйтесь по чекпоинтам для выполнения своей работы,\nполучить зарплату вы сможете в здании фермы.\n\nУдачной работы!");
			ShowPlayerDialogEx(playerid,0,0," ",string,"Принять","");
	    	TogglePlayerDynamicRaceCP(playerid,Kfarm_CP[0],true);
			InJob[playerid]=3;
			FarmJob[playerid]=0;
		}
		if(pInfo[playerid][pJob] == 7 )
		{
			if(InJob[playerid] == 3)
			{
				TogglePlayerDynamicCP(playerid, MinerDownCP, false);
				SendClientMessage(playerid, COLOR_RED, "[Информация] {FFFFFF}Вы уронили сено!");
				InJob[playerid] = 1;
				RemovePlayerAttachedObject(playerid, 7);
				for(new i; i < sizeof(MinPos); i ++) TogglePlayerDynamicCP(playerid, MinerCP[i], true);
			}
		}
	}


	if( oldstate == PLAYER_STATE_DRIVER )
	{
	    BE_Play_Check[ playerid ] = false;
	}
	if(!gPlayerLogged[playerid] && newstate != PLAYER_STATE_SPECTATING) return ToCheat(playerid, 1700);
	new vehicleid = 0, model = 0;
	new string[200];
	if(newstate == PLAYER_STATE_PASSENGER)
	{
		vehicleid = GetPVarInt(playerid,"VehicleEnters");
		model = GetVehicleModel(vehicleid);
		if(400 <= model <= 611)
		{
			model -= 400;
			new seat = GetPlayerVehicleSeat(playerid);
			if(seat != 128)
			{
//					model = (MaxPassengers[model >>> 3] >>> ((model & 7) << 2)) & 0xF;
//					if(!model || model == 15) return ToCheat(playerid, 116);
//					else if(!(0 < seat <= model) && (model != 431 || model != 437)) return ToCheat(playerid, 117);
			}
			else return ToCheat(playerid, 118);
		}
	}
	if(newstate == PLAYER_STATE_ONFOOT)
	{
		if(GetPVarInt(playerid, "DrivingTest"))
		{
			SendClientMessage(playerid, COLOR_RED, "У Вас есть 15 секунд, чтобы вернуться");
			DisablePlayerRaceCheckpoint(playerid);
			DrivingTestTime[playerid] = 15;
		}
		if(GetPVarInt(playerid, "FlyTest"))
		{
			SendClientMessage(playerid, COLOR_RED, "У Вас есть 15 секунд, чтобы вернуться");
			DisablePlayerRaceCheckpoint(playerid);
			FlyTestTime[playerid] = 15;
		}
		if(GetPVarInt(playerid, "WaterTest") && GetPVarInt(playerid, "WaterTestTimeOn"))
		{
			SendClientMessage(playerid, COLOR_RED, "У Вас есть 15 секунд, чтобы вернуться");
			DisablePlayerRaceCheckpoint(playerid);
			WaterTestTime[playerid] = 15;
		}
		if(pInfo[playerid][pJob] == JOB_BUS && pTemp[playerid][pBusID] != INVALID_VEHICLE_ID)
		{
			DisablePlayerRaceCheckpoint(playerid);
			SendClientMessage(playerid, COLOR_RED, "У Вас есть 15 секунд, чтобы вернуться в автобус");
			pTemp[playerid][pBusSpawnTimer] = SetTimerEx("@BusSpawn",15000,false,"i",playerid);
			SetPVarInt(playerid, "exitedtrans", 1);
		}
		if(pInfo[playerid][pJob] == JOB_TRUCKER && pTemp[playerid][pTruckID] != INVALID_VEHICLE_ID)
		{
			DisablePlayerRaceCheckpoint(playerid);
			SendClientMessage(playerid, COLOR_RED, "У Вас есть 15 секунд, чтобы вернуться в грузовик");
			pTemp[playerid][pTruckSpawnTimer] = SetTimerEx("@TruckerSpawn",15000,false,"i",playerid);
			SetPVarInt(playerid,"exitedtrans",1);
		}
		if(GetPVarInt(playerid, "TruckerJob"))
		{
			SendClientMessage(playerid, COLOR_RED, "У вас есть 15 секунд, чтобы вернуться");
			DisablePlayerRaceCheckpoint(playerid);
			SetPVarInt(playerid, "TruckerJobTime", 15);
		}
	}
	if(newstate == PLAYER_STATE_DRIVER)
	{
	    vehicleid = GetPVarInt(playerid,"VehicleEnters");
	    model = GetVehicleModel(vehicleid);
	    SetPVarInt(playerid,"AC_ANTIFLOOD", gettime()+3);
	    SetPlayerArmedWeapon(playerid, 0);
		if(vehicleid) VehicleInfo[vehicleid][vDriver] = playerid;
		SetPVarInt(playerid, "exitedtrans", 0);
	    if((GetTickCount()-GetPVarInt(playerid, "СarTime")) < 1000)
		{
			SetPVarInt(playerid, "TimeCar", GetPVarInt(playerid, "TimeCar")+5);
			if(GetPVarInt(playerid, "TimeCar") > 10) return ToCheat(playerid, 1132);
		}
		SetPVarInt(playerid, "СarTime", GetTickCount());
		pTemp[playerid][pDeathCar] = vehicleid;
		new seat = GetPlayerVehicleSeat(playerid);
		if(seat != 128)
		{
			if(!seat)
			{
				if(!(400 <= model <= 611) || MaxPassengers[model - 400 >>> 3] >>> ((model - 400 & 7) << 2) & 0xF == 15) return ToCheat(playerid, 12);
			}
			else return ToCheat(playerid, 62);
		}
		if(!InShop[playerid])
		{
		    if(GetEngineStat(vehicleid) == 0 && IsAVel(vehicleid))
			{
				new engine, lights, alarm, doors, bonnet, boot, objective;
				GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
				SetVehicleParamsEx(vehicleid, true, lights, alarm, doors, bonnet, boot, objective);
			}
			if(!IsAVel(vehicleid) && !IsABoat(vehicleid) && !IsAPlane(vehicleid))
			{
			    @UpdateCarInfo(playerid, vehicleid, 0);
				pTemp[playerid][pCarInfoTimer] = SetTimerEx("@UpdateCarInfo", 200, true, "iii", playerid, vehicleid, 0);
			}
        	new carid = GetPlayerVehicleID(playerid);
	   		if(IsAOwnableCar(carid))
			{
				new number = GetVehicleID(carid);
				if(IsASellCar(carid))
				{
					format(string,sizeof(string),"{027BEB}Этот транспорт продается.\n\n{FFFFFF}Модель: {AFAFAF}%s{FFFFFF}\nСтоимость: {AFAFAF}%d рублей{FFFFFF}\n\n{FFFFFF}Чтобы купить нажмите {027BEB}'Купить'",
					VehicleName[GetVehicleModel(carid)-400],CarInfo[number][cCost]);
					ShowPlayerDialogEx(playerid,1571,0,"Транспорт продается",string,"Купить","Отмена");
				}
				else
				{
					if(pInfo[playerid][pAdmin] > 1)
					{
						format(string,sizeof(string),"Этот транспорт зарегистрирован на жителя {9ACD32}%s",CarInfo[number][cOwner]);
			    		SendClientMessage(playerid,COLOR_WHITE,string);
						format(string,sizeof(string),"Налог этого транспорта составляет %d",CarInfo[number][cShtrafer]);
						SendClientMessage(playerid,COLOR_VALIK,string);
					}
					if(CarInfo[number][cAlarmON])
					{
						SetAlarmStatus(carid,true);
						AlarmTime[carid] = 20;
						foreach(new i : Player)
						{
							if(IsPlayerHaveCar(i,carid))
							{
								new Float:X,Float:Y,Float:Z;
								GetVehiclePos(carid, X,Y,Z);
								format(string,sizeof(string),"[Информация] {FFFFFF}На транспорте [%s] сработала сигнализация",OwnCarNumber(carid));
								SendClientMessage(i,COLOR_YELLOW,string);
								SendClientMessage(i,COLOR_RED,"[Информация] {FFFFFF}Местоположение транспорта указано на карте!");
								SetPlayerRaceCheckpoint(i, 1, X, Y, Z, 0.0, 0.0, 0.0, 5);
								break;
							}
						}
					}
					if(CarInfo[number][cShtraf] > 0)
					{
						format(string,sizeof(string),"{FFFFFF}Этот транспорт находится на штрафстоянке!\n\nВладелец должен внести за него залог.\nРазмер залога: %d рублей",CarInfo[number][cShtraf]);
						ShowPlayerDialogEx(playerid,0,0,"Запрещено!",string,"Ок","");
						RemovePlayerFromVehicle(playerid);
  				    }
				}
			}
			if((vehicleid >= aTruck[0][0] && vehicleid <= aTruck[2][1]))
			{
				if(pInfo[playerid][pJob] != JOB_TRUCKER)
				{
					SendClientMessage(playerid,COLOR_GREY,"Вы не работаете дальнобойщиком");
					RemovePlayerFromVehicle(playerid);
					return 1;
				}
				if(pTemp[playerid][pTruckID] == vehicleid) return 1;
				if(pTemp[playerid][pTruckID] != INVALID_VEHICLE_ID)
				{
					SendClientMessage(playerid,COLOR_GREY,"Вы уже арендуете тягач");
					RemovePlayerFromVehicle(playerid);
					return 1;
				}
				foreach(new i: Player)
				{
					if(pTemp[i][pTruckID] == vehicleid)
					{
						SendClientMessage(playerid,COLOR_GREY,"Этот тягач уже арендуют.");
						RemovePlayerFromVehicle(playerid);
						return 1;
					}
				}
				new trucklevel,price;
				if((vehicleid >= aTruck[0][0] && vehicleid <= aTruck[0][1])) {trucklevel = 1; price = 200;}
				else if(vehicleid >= aTruck[1][0] && vehicleid <= aTruck[1][1]) {trucklevel = 2; price = 300;}
				else {trucklevel = 3; price = 350;}
				if((trucklevel == 2 && pInfo[playerid][pTruckSkill] < TRUCK_LEVEL_2) ||
				(trucklevel == 3 && pInfo[playerid][pTruckSkill] < TRUCK_LEVEL_3))
				{
					SendClientMessage(playerid,COLOR_GREY,"Ваш опыт работы дальнобойщиком не достаточен для этого транспорта");
					RemovePlayerFromVehicle(playerid);
					return 1;
				}
				if(GetCash(playerid) < price)
				{
					format(string,sizeof(string),"Вам нужно %d чтобы арендовать этот грузовик",price);
					SendClientMessage(playerid,COLOR_GREY,string);
					return RemovePlayerFromVehicle(playerid);
				}
				SetPVarInt(playerid,"truckprice",price);
				format(string,sizeof(string),"{FFFFFF}Вы хотите арендовать этот грузовик за {63BD4E}%d рублей{FFFFFF},\n чтобы возить на нем грузы?",price);
				ShowPlayerDialog(playerid,dTruckJob,0,"{027BEB}Аренда грузовика",string,"Да","Нет");
			}
			if(vehicleid >= aMech[0] && vehicleid <= aMech[1])
			{
				if(pInfo[playerid][pJob] != JOB_MECHANIC)
				{
					SendClientMessage(playerid, COLOR_GREY, "Вы не автомеханик!");
					RemovePlayerFromVehicle(playerid);
					return 1;
				}
				if(GetCash(playerid) < 200)
				{
					SendClientMessage(playerid, COLOR_GREY, "Вам нужно 200 рублей чтобы арендовать этот транспорт");
					RemovePlayerFromVehicle(playerid);
					return 1;
				}
				if(pTemp[playerid][pMechID] == vehicleid) { }
				else
				{
				    SetTimerEx("@CheckRentCar",8000,0,"i",playerid);
		        	format(stringer, 512, "{ffffff}Вы хотите арендовать данный транспорт?\n\nСтоимость: {33CCFF}%d рублей", GLS[15]);
		        	ShowPlayerDialog(playerid, dJob+15, DIALOG_STYLE_MSGBOX, "{027BEB}Аренда", stringer, "Арендовать", "Отмена");
				}
			}
			if(vehicleid >= aTaxi[0] && vehicleid <= aTaxi[1])
			{
				if(pInfo[playerid][pJob] != JOB_TAXI)
				{
					SendClientMessage(playerid, COLOR_GREY, "Вы не таксист!");
					RemovePlayerFromVehicle(playerid);
					return 1;
				}
				if(GetCash(playerid) < 200)
				{
					SendClientMessage(playerid, COLOR_GREY, "Вам нужно 200 рублей чтобы арендовать это такси");
					RemovePlayerFromVehicle(playerid);
					return 1;
				}
				if(pTemp[playerid][pTaxiID] == vehicleid) { }
				else
				{
					SetTimerEx("@CheckRentCar",8000,0,"i",playerid);
		    		format(stringer, 512, "{ffffff}Вы хотите арендовать данное такси?\nСтоимость аренды: {63BD4E}%d рублей", GLS[15]);
		    		ShowPlayerDialog(playerid, dJob+14, DIALOG_STYLE_MSGBOX, "{027BEB}Аренда такси", stringer, "Арендовать", "Отмена");				}
			}
			new arend_id = INVALID_PLAYER_ID;
	     	if(GetArendCarID(vehicleid, arend_id) != (-1))
			{
				if(arend_id == INVALID_PLAYER_ID || !IsPlayerConnected(arend_id))
				{
				    new rc = GetArendCarID(vehicleid);
				    new cost;
				    switch(GetVehicleModel(rc))
					{
						case 454: cost= 10000;
						case 484: cost = 12000;
						case 558: cost = 9000;
						case 541: cost = 22000;
						case 560: cost = 13000;
						case 409: cost = 10000;
						case 462: cost = 250;
						case 469: cost = 15000;
						case 487: cost = 20000;
						default: cost = GLS[14];
					}
				    format(string,sizeof(string), "{FFFFFF}Транспорт для аренды!\n\n- Модель: {63BD4E}%s{FFFFFF}\n- Стоимость: {63BD4E}%d{FFFFFF}\n\n{afafaf}Чтобы арендовать, нажмите `Аренда`", VehStats[model-400][vName], cost);
					ShowPlayerDialog(playerid, dJob+5, 0, "{027BEB}Аренда", string, "Аренда", "Отмена");
					return 1;
				}
				else if(arend_id != playerid)
				{
				    SendClientMessage(playerid, COLOR_GREY, "Этот транспорт уже арендуют");
				    RemovePlayerFromVehicle(playerid);
				    return 1;
				}
			}
            if(vehicleid >= aAutoschool[0] && vehicleid <= aAutoschool[3])
            {
                if((vehicleid >= aAutoschool[0] && vehicleid <= aAutoschool[3]) && GetPVarInt(playerid, "DrivingTest"))
				{
				    if(UseGPS[playerid])
					{
				    	DisablePlayerRaceCheckpoint(playerid);
				    	UseGPS[playerid] = false;
						for(new i; i < 3; i++) TextDrawHideForPlayer(playerid, GPSEnabled[i]);
						PlayerTextDrawHide(playerid,TD_GPS[playerid]);
						DeletePVar(playerid,"GPS_X");
		                DeletePVar(playerid,"GPS_Y");
		                DeletePVar(playerid,"GPS_Z");
					}
					SendClientMessage(playerid, COLOR_BLUE, "Следуйте по чекпоинтам, соблюдая правила дорожного движения");
					ShowPlayerDialog(playerid, dNull, 0, " ", "\n\n{ffffff}Ваша задача следовать по чекпоинтам. Вперед\n\n", "Закрыть", "");
					new i = pPressed[playerid];
					SetPlayerRaceCheckpoint(playerid,0,DrivingTest[i][0],DrivingTest[i][1],DrivingTest[i][2],DrivingTest[i][3],DrivingTest[i][4],DrivingTest[i][5],2.0);
					return 1;
				}
				/*else if((vehicleid >= aAutoschool[7] && vehicleid <= aAutoschool[8]) && GetPVarInt(playerid, "FlyTest"))
				{
				    if(UseGPS[playerid])
					{
				    	DisablePlayerRaceCheckpoint(playerid);
				    	UseGPS[playerid] = false;
						for(new i; i < 4; i++) TextDrawHideForPlayer(playerid, GPSEnabled[i]);
					}
				    SendClientMessage(playerid, COLOR_BLUE, "Следуйте по чекпоинтам, соблюдая правила полёта");
				 	ShowPlayerDialog(playerid, dNull, 0, " ", "\n\n{ffffff}Ваша задача следовать по чекпоинтам. Вперед\n\n", "Закрыть", "");
					new i = pPressed[playerid];
					SetPlayerRaceCheckpoint(playerid,3,FlyTest[i][0],FlyTest[i][1],FlyTest[i][2],FlyTest[i][3],FlyTest[i][4],FlyTest[i][5],5.0);
					return 1;
				}
				else if((vehicleid >= aAutoschool[10] && vehicleid <= aAutoschool[13]) && GetPVarInt(playerid, "WaterTest"))
				{
				    if(UseGPS[playerid])
					{
				    	DisablePlayerRaceCheckpoint(playerid);
				    	UseGPS[playerid] = false;
						for(new i; i < 4; i++) TextDrawHideForPlayer(playerid, GPSEnabled[i]);
					}
				    SendClientMessage(playerid, COLOR_BLUE, "Следуйте по чекпоинтам, соблюдая правила движения");
				 	ShowPlayerDialog(playerid, dNull, 0, " ", "\n\n{ffffff}Ваша задача следовать по чекпоинтам. Вперед\n\n", "Закрыть", "");
					new i = pPressed[playerid];
					if(!GetPVarInt(playerid, "WaterTestTimeOn")) SetPVarInt(playerid, "WaterTestTimeOn", 1);
					SetPlayerRaceCheckpoint(playerid,0,WaterTest[i][0],WaterTest[i][1],WaterTest[i][2],WaterTest[i][3],WaterTest[i][4],WaterTest[i][5],5.0);
					return 1;
				}*/
	            if(pInfo[playerid][pMember] == TEAM_AUTOSCHOOL || (GetPVarInt(playerid, "DrivingTest") || GetPVarInt(playerid, "FlyTest") || GetPVarInt(playerid, "WaterTest"))) { }
				else
				{
				    SendClientMessage(playerid, COLOR_GREY, "Транспорт доступен только {027BEB}экзаменуемым {AFAFAF}или {027BEB}лицензерам{AFAFAF}!");
				    ExitCar(playerid);
				    return 1;
				}
            }
			if(GetEngineStat(vehicleid) == 0 && !IsAVel(vehicleid) && IsAPlane(vehicleid) && !InShop[playerid])
			{
				SendClientMessage(playerid, COLOR_RED, "[Подсказка] {FFFFFF}Завести/заглушить двигатель: {027BEB}/start (/st)");
			}
			if(!IsAVel(vehicleid) && !IsABoat(vehicleid) && !IsAPlane(vehicleid) && !InShop[playerid])
			{
				if(GetEngineStatus(carid) <= 0)
	        	{
	        	    SendClientMessage(playerid,COLOR_GREEN,"[Информация] {FFFFFF}Если на этом авто установлен Perfomence Tuning. Нажмите {027BEB}'H'{FFFFFF}, чтобы активировать его.");
		    		SendClientMessage(playerid, COLOR_RED, "[Подсказка] {FFFFFF}Для того чтобы завести/заглушить двигатель автомобиля используйте клавишу {027BEB}L.CTRL");
			   		SendClientMessage(playerid, COLOR_RED, "[Подсказка] {FFFFFF}Для того чтобы включить поворотники используйте клавиши {027BEB}NUM 4 и NUM 6{FFFFFF}. Аварийный сигнал: {027BEB}NUM 8");
      				if(!GetPVarInt(playerid, "BeltStatus")) SendClientMessage(playerid, COLOR_RED, "[Подсказка] {FFFFFF}Чтобы пристегнуть ремень безопасности или надеть шлем: {027BEB}NUM 2");
				}
			}
			if(gVehicleGun[vehicleid][vGunLoading] || gVehicleGun[vehicleid][vGunUnloading])
			{
				ShowPlayerDialog(playerid, dStopLoad, DIALOG_STYLE_MSGBOX, " ", "\n\n{FFFFFF}Вы хотите прекратить загрузку / разгрузку {027BEB}боеприпасов{FFFFFF}?\n\n", "Да", "Нет");
			}
			if(gVehicleMed[vehicleid][vMedLoading] || gVehicleMed[vehicleid][vMedUnloading])
			{
				ShowPlayerDialog(playerid, dMedStopLoad, DIALOG_STYLE_MSGBOX, " ", "\n\n{FFFFFF}Вы хотите прекратить загрузку / разгрузку {027BEB}медикаментов{FFFFFF}?\n\n", "Да", "Нет");
			}
			if((newstate == 2 && oldstate == 3) || (newstate == 3 && oldstate == 2)  || (newstate == 2 && oldstate == 2))
			{
				SetPVarInt(playerid, "AC124", GetPVarInt(playerid,"AC124") + 1);
				if(GetPVarInt(playerid,"AC124") >= 3)
				{
					SetVehicleToRespawn(vehicleid);
					ToCheat(playerid, 115);
				}
				return 1;
			}
			if(vehicleid == TruckerCar[playerid])//дальнобойщик
			{
           		if(GetPVarInt(playerid, "TruckerJob") == 1)
                {
                	if(GetPVarInt(playerid, "TruckerJob") == 1)
					{
                    	SetPlayerCheckpoint(playerid, 2738.4316,-2273.2146,17.9269,5.0);
					}
					else if(GetPVarInt(playerid, "TruckerJob") == 2)
					{
                         SetPlayerCheckpoint(playerid, 1760.3599,2285.4844,15.8538,5.0);
					}
					if(GetPVarInt(playerid, "TruckerJobFuel") == 1)
					{
						Fuel[GetPlayerVehicleID(playerid)] = 80;
					}
					DeletePVar(playerid, "TruckerJobTime");
					DeletePVar(playerid, "TruckerJobTimeGoToCar");
					DeletePVar(playerid, "TruckerJobFuel");
                    SendClientMessage(playerid, COLOR_BLUE, "Вы взяли грузовик, отправляйтесь на загрузку.");
                    return 1;
           		}
			}
		}
	}
	if(newstate == PLAYER_STATE_PASSENGER)
	{
	    vehicleid = GetPVarInt(playerid,"VehicleEnters");
		foreach(new i : Player)
		{
			if(!gPlayerLogged[i]) continue;
			if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 2)
			{
				if(GetPVarInt(i, "PriceTaxi") > 0)
				{
					if(GetCash(playerid) < GetPVarInt(i, "PriceTaxi"))
					{
						SendClientMessage(playerid, COLOR_RED,">>>>{FFFFFF} - У вас недостаточно денег. Вы можете пополнить свой баланс [/donate]");
						RemovePlayerFromVehicle(playerid);
					}
					else
					{
				     	GiveMoney(playerid,-GetPVarInt(i, "PriceTaxi"));
						if(doubling_salary) pInfo[i][pPayCheck] += GetPVarInt(i, "PriceTaxi")*2;
						else pInfo[i][pPayCheck] += GetPVarInt(i, "PriceTaxi");
						SetPVarInt(playerid, "TimeTaxi", 30);
						SetPVarInt(playerid, "TaxiPrice",GetPVarInt(i, "PriceTaxi"));
						SetPVarInt(playerid, "PlayerTaxi", i);
						if(doubling_salary) format(string, sizeof(string), "~b~+%i", GetPVarInt(i, "PriceTaxi")*2);
						else format(string, sizeof(string), "~b~+%i", GetPVarInt(i, "PriceTaxi"));
						GameTextForPlayer(i, string, 1000, 1);
						SetPVarInt(i, "TaxiMoney", GetPVarInt(i, "TaxiMoney") + GetPVarInt(i, "PriceTaxi"));
					}
				}
			}
		}
	}
	if(newstate == PLAYER_STATE_SPECTATING)
	{
	    if(!gPlayerLogged[playerid] || !gPlayerSpawned[playerid] || pInfo[playerid][Spectating][0] != INVALID_PLAYER_ID) return 1;
		if(!pInfo[playerid][pAdmin] || !gAdminLogged[playerid]) return ToCheat(playerid, 1701);
	}
	if(oldstate == PLAYER_STATE_DRIVER)
	{
	    vehicleid = GetPVarInt(playerid,"VehicleEnters");
	    model = GetVehicleModel(vehicleid);
	    if(pTemp[playerid][pCarInfoTimer] != 0)
		{
			HideSpeedometer(playerid);
			KillTimer(pTemp[playerid][pCarInfoTimer]);
			pTemp[playerid][pCarInfoTimer] = 0;
		}
		if(model>=400)
		{
		    @UpdateVehiclePos(playerid, vehicleid, 0);
			VehicleInfo[vehicleid][vDriver] = INVALID_PLAYER_ID;
			SetPVarInt(playerid, "lastveh", vehicleid);
		}
	}
    if(newstate == PLAYER_STATE_DRIVER)
	{
//     	new vehicleid = GetPlayerVehicleID(playerid);
//	    new model = GetVehicleModel(vehicleid);
	    switch(model)
		{
	        case 481, 509, 510 :
			{
	            new _st, _objective;
	            GetVehicleParamsEx(vehicleid, _st, _st, _st, _st, _st, _st, _objective);
	            SetVehicleParamsEx(vehicleid, 1, 0, 0, 0, 0, 0, _objective);
	        }
	    }
	}
	return 1;
}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16Shadows

У Вас сама команда не работает или только нажатие CTRL?

Изменено пользователем 16Shadows

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
EgorTresh
1 час назад, 16Shadows сказал:

У Вас сама команда не работает или только нажатие CTRL?

И то и то

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16Shadows
CMD:engine(playerid)
{
    SendClientMessage(playerid, -1, "init");
	if(GetPlayerState(playerid) != 2) return false;
    SendClientMessage(playerid, -1, "1");
    if(engines[playerid]>gettime())return SendClientMessage(playerid,COLOR_GREY,"Нельзя так часто заводить двигатель");
    SendClientMessage(playerid, -1, "2");
	new carid = GetPlayerVehicleID(playerid), vehicleid = 0;
	if(IsAVel(carid)) return false;
    SendClientMessage(playerid, -1, "3");
	if(GetEngineStatus(carid) < 1)
	{
      	SendClientMessage(playerid, -1, "3.1");
		new arend_id = INVALID_PLAYER_ID;
		if(GetArendCarID(vehicleid, arend_id) != (-1))
		{
            SendClientMessage(playerid, -1, "4");
			new rc = GetArendCarID(vehicleid);
			if(ArendInfo[rc][aPlayerID] != playerid) return 1;
		}
        SendClientMessage(playerid, -1, "5");
		if(Fuel[carid] > 0.0)
		{
			SendClientMessage(playerid, -1, "6");
		    if(IsASellCar(carid))return 1;
            SendClientMessage(playerid, -1, "7");
			if(!IsAOwnableCar(carid) || CarInfo[GetVehicleID(carid)][cKeyIN])
			{
                SendClientMessage(playerid, -1, "8");
				new Float:Health, string[50];
				GetVehicleHealth(carid, Health);
				if(Health > 1000) Health = 1000.0;
				else if(Health < 400) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете завести двигатель. Для его починки вызовите механика");
				SendClientMessage(playerid, -1, "9");
                new UNEngine = floatround(2000.0 - Health);
				if(UNEngine < 0) UNEngine = 0;
				else if(UNEngine > 2000) UNEngine = 2000;
				SetTimerEx("EngineVehicle", UNEngine, false, "ii", playerid, carid);
				format(string, sizeof(string), " %s пытается завести двигатель", GetName(playerid));
				ProxDetector(25.0, playerid, string, COLOR_PURPLE);
				engines[playerid]=gettime()+4;
			}
			else return SendClientMessage(playerid,COLOR_GREY,"Ключи не вставлены");
		}
		else return GameTextForPlayer(playerid, "~r~NO FUEL", 2000, 1);
	}
	else
	{
        SendClientMessage(playerid, -1, "3.2");
		new string[70];
		SetEngineStatus(carid,false, playerid);
		format(string,sizeof(string)," %s заглушил(а) двигатель",GetName(playerid));
		ProxDetector(25.0,playerid,string,COLOR_PURPLE);
		//SpeedOFF(playerid, carid, 2);
	}
	return true;
}

Замените команду на такую, запустите её и скажите, что последним выдаёт в чат.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.