Перейти к содержанию
Авторизация  
Denis2131

Заводиться двигатель.

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

Denis2131

Такой вопрос, у меня в моде есть система двигателя включение и выключение. Но когда я в игре сажусь в заглушенную машину, она сама заводиться, я ее так же могу заглушить и завести, но почему она сама заводиться? Прописал в OnGameModeInit 

ManualVehicleEngineAndLights();

И все равно когда сажусь она заводиться, помогите решить.

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


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

Ну так я не ванга , скинь переменные Двигателя .

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


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

@#Pawno,ну вот 

public EngineStart(playerid, carid)
{
	if(IsPlayerConnected(playerid))
	{
		if(IsPlayerInVehicle(playerid, carid))
		{
			new sendername[MAX_PLAYER_NAME];
			new string[64];
			GetPlayerName(playerid, sendername, sizeof(sendername));
			new chance = random(10);
			if(chance >= 0 && chance <= 8)
			{
				Engine[carid] = 1;
				GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
				SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
				SendClientMessage(playerid, COLOR_GREY, "Вы успешно запустили двигатель.");
				format(string, sizeof(string), "* %s вставил ключ в замок зажигания и пытается завести двигатель.", sendername);
				ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
				return 1;
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "Вам не удалось запустить двигатель.");
			}
		}
	}
	return 1;
} 

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


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

Она и включает тебе двигатель. Убирай: ManualVehicleEngineAndLights();

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


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

 

 


ManualVehicleEngineAndLights();
хм, а я читал что она его выключает. 

@Wеb,Убрал, все равно он его заводить автоматически. 

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


Ссылка на сообщение
Поделиться на другие сайты
Web
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
public OnPlayerKeyStateChange

покажи

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


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

@Wеb,

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	if(IsPlayerNPC(playerid)) return 1;
	new id_car = GetVehicleIdxByID(vehicleid);
	if(id_car != -1 && aData[id_car][aJobs] == 3)
	{
		if(!ispassenger)
		{
			foreach(new i:Player)
			{
				if(GetPVarInt(i,#P_Taxi_CarID) == vehicleid)
				{
					SCM(@p,COLOR_LIGHTBLUE,#Это такси занято!);
					break;
				}
			}
		}
	}
	if(MnePizda[playerid] == 1)
	{
		new Float:cx, Float:cy, Float:cz; GetPlayerPos(playerid, cx, cy, cz);
		SetPPos(playerid, cx, cy, cz);
		PizdaAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
	}
	return 1;
} 
public OnPlayerKeyStateChange(playerid, newkeys,oldkeys)
{

    if( newkeys == 1 || newkeys == 9 || newkeys == 33 && oldkeys != 1 || oldkeys != 9 || oldkeys != 33)
    /*if(PlayerInfo[playerid][pAdmin] >= 1)
        {
                switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
                {
                        case 446,432,448,452,424,453,454,461,462,463,468,471,430,472,449,473,481,484,493,509, 510,521,538,522,523,532,537,570,581,586,590,569,595,611: return 0;
                }
                AddVehicleComponent(GetPlayerVehicleID(playerid), 1008);
        }
     */


	if (((newkeys & KEY_WALK && newkeys & KEY_UP) || (newkeys & KEY_WALK && newkeys & KEY_DOWN) || (newkeys & KEY_WALK && newkeys & KEY_LEFT) || (newkeys & KEY_WALK && newkeys & KEY_RIGHT))
			|| ((oldkeys & KEY_WALK && newkeys & KEY_UP) || (oldkeys & KEY_WALK && newkeys & KEY_DOWN) || (oldkeys & KEY_WALK && newkeys & KEY_LEFT) || (oldkeys & KEY_WALK && newkeys & KEY_RIGHT))
			|| ((newkeys & KEY_WALK && oldkeys & KEY_UP) || (newkeys & KEY_WALK && oldkeys & KEY_DOWN) || (newkeys & KEY_WALK && oldkeys & KEY_LEFT) || (newkeys & KEY_WALK && oldkeys & KEY_RIGHT))
			&& GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
	{
		new tick_id = SetTimerEx("WalkAnim",200,0,"d",playerid);
		SetPVarInt(playerid,#P_Walk_Timer,tick_id);
	}
	if(newkeys == 4)
	{
		if(IsPlayerInAnyVehicle(@p))
		{
			for(new i = 0; i < 3; i++)
			{
				if(IsPlayerInRangeOfPoint(playerid, 20.0, rep_pos[i][0],rep_pos[i][1],rep_pos[i][2]))
				{
					SPD(@p,1260,DIALOG_STYLE_LIST,"Ремонт/покраска автомобиля","{ffffff}Ремонт автомобиля - 5000 рублей\n{ffffff}Покраска автомобиля - 50000 рублей","Далее","Отмена");
					break;
				}			
			}
		}
	}
	new v = GetPlayerVehicleID(playerid);
	if(newkeys&KEY_CROUCH)//Если нажата клавиша гудка (H/CapsLock - по умолчанию)
	{
		new vehicleid = GetPlayerVehicleID(playerid);
		if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER&&GetVehicleModel(vehicleid)==538)//Если игрок - водитель ТС и ID модели ТС = 538 (в данном случае - головной вагон электрички)
		{
			new Float:tempX, Float:tempY, Float:tempZ;//Создаем временные переменные под координаты игрока
			GetPlayerPos(playerid, tempX, tempY, tempZ);//Получаем координаты
			for (new tempi=0; tempi<MAX_PLAYERS; tempi++)//Далее по циклу на всех игроков
			{
				if(IsPlayerInRangeOfPoint(tempi, 15.0, tempX, tempY, tempZ))//если игрок в радиусе -
				{
					PlayerPlaySound (tempi, 3200, 0.0, 0.0, 0.0);//проигрываем для него звук
					SendClientMessage (tempi, COLOR_PURPLE, "Вы слышите гудок электрички.");//и выводим сообщение.
				}
			}
		}
		return 1;
	}
	if( (newkeys & KEY_FIRE) || ( (newkeys & KEY_AIM) && (oldkeys & KEY_AIM) && (newkeys & KEY_SECONDARY_ATTACK) ) )
	{
		if(IsAAntidm(playerid))
		{
			if(!IsPlayerInAnyVehicle(playerid))
			{
				ShowPlayerDialog(playerid,292,DIALOG_STYLE_MSGBOX,"{FF0000}Anti-DM zone!","{FFFFFF}\t\t\tЗдесь запрещено драться!\n\nВнимание! DM (Death Match) - убийство или нанесение физического вреда игрокам\nбез причины, запрещено на нашем сервере. Наказуемо администраторацией.", "Скрыть", "");
				SetTimerEx("ClearAnim", 5000, false, "d", playerid);
				ApplyAnimation(playerid, "FAT", "IDLE_tired",4.0,1,0,0,0,0,1);
				return true;
			}
		}
	}
	//=============================бх===============================================
	if(newkeys & KEY_SPRINT && newkeys & KEY_JUMP && GetPlayerState(playerid) != 2) ClearAnimations(playerid), ApplyAnimation(playerid,"FAT","IDLE_tired",4.0,0,0,0,0,0);
	if(oldkeys & KEY_FIRE) return OnPlayerCommandText(playerid, "/migloon");
	//=========================[zvonok]=============================================
	if(newkeys&2048)// виу виу виу НУМ ПАД 8
	{
		new car = GetPlayerVehicleID(playerid);
		if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
		{
			new id_car = GetVehicleIdxByID(car);
			if(id_car == -1) return 1;
			switch(aData[id_car][aFrak])
			{
			case 1,2,4,6,19:
				{
					new Float:tempX, Float:tempY, Float:tempZ;//Создаем временные переменные под координаты игрока
					GetPlayerPos(playerid, tempX, tempY, tempZ);//Получаем координаты
					for (new tempi=0; tempi<MAX_PLAYERS; tempi++)//Далее по циклу на всех игроков
					{
						if(IsPlayerInRangeOfPoint(tempi, 35.0, tempX, tempY, tempZ))//если игрок в радиусе -
						{
							PlayerPlaySound (tempi, 2001, 0.0, 0.0, 0.0);//проигрываем для него звук
						}
					}
				}
			default: return 1;
			}
		}
		return 1;
	}
	if(newkeys&16384)// В парво принимаем down
	{
		new car = GetPlayerVehicleID(playerid);
		if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
		{
			new id_car = GetVehicleIdxByID(car);
			if(id_car == -1) return 1;
			switch(aData[id_car][aFrak])
			{
			case 1,2,4,6,19:
				{
					new Float:tempX, Float:tempY, Float:tempZ;//Создаем временные переменные под координаты игрока
					GetPlayerPos(playerid, tempX, tempY, tempZ);//Получаем координаты
					for (new tempi=0; tempi<MAX_PLAYERS; tempi++)//Далее по циклу на всех игроков
					{
						if(IsPlayerInRangeOfPoint(tempi, 35.0, tempX, tempY, tempZ))//если игрок в радиусе -
						{
							PlayerPlaySound (tempi, 2002, 0.0, 0.0, 0.0);//проигрываем для него звук
						}
					}
				}
			default: return 1;
			}
		}
		return 1;
	}
	if(newkeys&KEY_FIRE)//КРАЯКАЛКА
	{
		new car = GetPlayerVehicleID(playerid);
		if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
		{
			new id_car = GetVehicleIdxByID(car);
			if(id_car == -1) return 1;
			switch(aData[id_car][aFrak])
			{
			case 1,2,4,6,19:
				{
					new Float:tempX, Float:tempY, Float:tempZ;//Создаем временные переменные под координаты игрока
					GetPlayerPos(playerid, tempX, tempY, tempZ);//Получаем координаты
					for (new tempi=0; tempi<MAX_PLAYERS; tempi++)//Далее по циклу на всех игроков
					{
						if(IsPlayerInRangeOfPoint(tempi, 35.0, tempX, tempY, tempZ))//если игрок в радиусе -
						{
							PlayerPlaySound (tempi, 2000, 0.0, 0.0, 0.0);//проигрываем для него звук			
						}
					}
				}
			default: return 1;
			}		
		}
		return 1;
	}
	if(newkeys&64)//e
	{
		if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
		{
			if(VehInfo[v][vRightBlink] == 0)
			{

				Blink[v][0] = CreateDynamicObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);//правый передний
				Blink[v][1] = CreateDynamicObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);//правый задний
				//AttachObjectToVehicle(Blink[v][0], v, 0.9, 2.5, 0.1, 0.0, 0.0, 0.0);//правый передний
				//AttachObjectToVehicle(Blink[v][1], v, 0.9, -2.7, 0.1, 0.0, 0.0, 0.0);//правый задний
				AttachDynamicObjectToVehicle(Blink[v][0], v, 0.9, 2.5, 0.1, 0.0, 0.0, 0.0);
				AttachDynamicObjectToVehicle(Blink[v][1], v, 0.9, -2.7, 0.1, 0.0, 0.0, 0.0);
				new str[98];
				new pname[MAX_PLAYER_NAME];
				GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
				format(str, sizeof(str), "{979694}* Правые поворотники были включены.");
				SendClientMessage(playerid,COLOR_GRAD1,str);
				VehInfo[v][vRightBlink] = 1;
				//VehInfo[v][vLeftBlink] = 1;
			}
			else if(VehInfo[v][vRightBlink] == 1 || VehInfo[v][vLeftBlink] == 1 || VehInfo[v][vAvaBlink])
			{
				if(IsValidDynamicObject(Blink[v][0])) DestroyDynamicObject(Blink[v][0]);
				if(IsValidDynamicObject(Blink[v][1]))DestroyDynamicObject(Blink[v][1]);
				if(IsValidDynamicObject(Blink[v][2]))DestroyDynamicObject(Blink[v][2]);
				if(IsValidDynamicObject(Blink[v][3]))DestroyDynamicObject(Blink[v][3]);
				new str[98];
				new pname[MAX_PLAYER_NAME];
				GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
				format(str, sizeof(str), "{979694}* Правые поворотники были выключены.");
				SendClientMessage(playerid,COLOR_GRAD1,str);
				VehInfo[v][vRightBlink] = 0;
				VehInfo[v][vLeftBlink] = 0;
				VehInfo[v][vAvaBlink] = 0;
			}
		}
	}
	if(newkeys&256)//q
	{
		if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
		{
			if(VehInfo[v][vLeftBlink] == 0)
			{
				Blink[v][2] = CreateDynamicObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);//левыый передний
				Blink[v][3] = CreateDynamicObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);//левыый  задний
				AttachDynamicObjectToVehicle(Blink[v][2], v, -0.9, 2.5, 0.1, 0.0, 0.0, 0.0);
				AttachDynamicObjectToVehicle(Blink[v][3], v, -0.9, -2.7, 0.1, 0.0, 0.0, 0.0);
				new str1[98];
				new pname[MAX_PLAYER_NAME];
				GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
				format(str1, sizeof(str1), "{979694}* Левые поворотники были включены.");
				SendClientMessage(playerid,COLOR_GRAD1,str1);
				VehInfo[v][vLeftBlink] = 1;
				//VehInfo[v][vRightBlink] = 1;
				//VehInfo[v][vAvaBlink] = 1;
			}
			else if(VehInfo[v][vRightBlink] == 1 || VehInfo[v][vLeftBlink] == 1 || VehInfo[v][vAvaBlink])
			{
				if(IsValidDynamicObject(Blink[v][0])) DestroyDynamicObject(Blink[v][0]);
				if(IsValidDynamicObject(Blink[v][1]))DestroyDynamicObject(Blink[v][1]);
				if(IsValidDynamicObject(Blink[v][2]))DestroyDynamicObject(Blink[v][2]);
				if(IsValidDynamicObject(Blink[v][3]))DestroyDynamicObject(Blink[v][3]);
				new str[98];
				new pname[MAX_PLAYER_NAME];
				GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
				format(str, sizeof(str), "{979694}* Левые поворотники были выключены.");
				SendClientMessage(playerid,COLOR_GRAD1,str);
				VehInfo[v][vRightBlink] = 0;
				VehInfo[v][vLeftBlink] = 0;
				VehInfo[v][vAvaBlink] = 0;
			}
		}
	}
	if(newkeys&2048)
	{
		if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
		{
			if(VehInfo[v][vLeftBlink] == 0)
			{
				Blink[v][0] = CreateDynamicObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);//правый передний
				Blink[v][1] = CreateDynamicObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);//правый задний
				Blink[v][2] = CreateDynamicObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);//левыый передний
				Blink[v][3] = CreateDynamicObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);//левыый  задний
				AttachDynamicObjectToVehicle(Blink[v][0], v, 0.9, 2.5, 0.1, 0.0, 0.0, 0.0);
				AttachDynamicObjectToVehicle(Blink[v][1], v, 0.9, -2.7, 0.1, 0.0, 0.0, 0.0);
				AttachDynamicObjectToVehicle(Blink[v][2], v, -0.9, 2.5, 0.1, 0.0, 0.0, 0.0);
				AttachDynamicObjectToVehicle(Blink[v][3], v, -0.9, -2.7, 0.1, 0.0, 0.0, 0.0);
				new str1[98];
				new pname[MAX_PLAYER_NAME];
				GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
				format(str1, sizeof(str1), "{979694}* Аварийный сигнал был включен.", pname);
				SendClientMessage(playerid,COLOR_GRAD1,str1);
				VehInfo[v][vLeftBlink] = 1;
				VehInfo[v][vRightBlink] = 1;
				VehInfo[v][vAvaBlink] = 1;
			}
			else if(VehInfo[v][vRightBlink] == 1 || VehInfo[v][vLeftBlink] == 1 || VehInfo[v][vAvaBlink])
			{
				if(IsValidDynamicObject(Blink[v][0])) DestroyDynamicObject(Blink[v][0]);
				if(IsValidDynamicObject(Blink[v][1]))DestroyDynamicObject(Blink[v][1]);
				if(IsValidDynamicObject(Blink[v][2]))DestroyDynamicObject(Blink[v][2]);
				if(IsValidDynamicObject(Blink[v][3]))DestroyDynamicObject(Blink[v][3]);
				new str[98];
				new pname[MAX_PLAYER_NAME];
				GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
				format(str, sizeof(str), "{979694}* Аварийный сигнал был выключен.", pname);
				SendClientMessage(playerid,COLOR_PURPLE,str);
				VehInfo[v][vRightBlink] = 0;
				VehInfo[v][vLeftBlink] = 0;
				VehInfo[v][vAvaBlink] = 0;
			}
		}
	}
	if(newkeys & KEY_FIRE && GetVehicleModel(GetPlayerVehicleID(playerid)) == 407 && GetPlayerWeapon(playerid) == 42 && (PlayerInfo[playerid][pMember] == 19 || PlayerInfo[playerid][pLeader] == 19))
	{
		new rand;
		if(IsPlayerInRangeOfPoint(playerid, 30.0, 2533.1838,-760.8952, 14.8442) && rand == 0
				|| IsPlayerInRangeOfPoint(playerid, 30.0, 2507.6365,-2125.1021,23.4558) && rand == 1
				|| IsPlayerInRangeOfPoint(playerid, 30.0, 2254.8169,-1823.5900,22.8078) && rand == 2
				|| IsPlayerInRangeOfPoint(playerid, 30.0, 2316.3362,-1718.3304,22.9265) && rand == 3
				|| IsPlayerInRangeOfPoint(playerid, 30.0, 2254.8169,-1823.5900,22.8078) && rand == 4
				|| IsPlayerInRangeOfPoint(playerid, 30.0, -846.1000, 1203.3153,11.5469) && rand == 5
				|| IsPlayerInRangeOfPoint(playerid, 30.0, 2558.9490,-2403.8416,-3.9585) && rand == 6)

		{
			SendClientMessage(playerid, 0xFF0000FF, "Пожарным удалось потушить пожар!");
			DestroyObject(FireObject[0]);
			DestroyObject(FireObject[1]);
			KillTimer(FireTimer);
			FireTimer = SetTimer("FireWorld", 1 * 30 * 1000, 1);
		}
	}
	if(newkeys & KEY_JUMP && GetPVarInt(playerid, "jobgruz") == 1 && GetPVarInt(playerid, "loader") == 2 || newkeys & KEY_FIRE && GetPVarInt(playerid, "jobgruz") == 1 && GetPVarInt(playerid, "loader") == 2)
	{
		ClearAnimations(playerid);
		RemovePlayerAttachedObject(playerid,2);
		SetPVarInt(playerid,"loader", 1);
		SetPlayerCheckpoint(@p,-458.3857, -85.0961, 12.0577,2.0);
		SCM(playerid, COLOR_RED, "Вы уронили коробку. Возьмите другую");
	}
	if((newkeys & KEY_JUMP && gpvi(@p, #P_JobLess_On) && GetPVarInt(playerid,#P_JobLess_St)) || (newkeys & KEY_FIRE && gpvi(@p, #P_JobLess_On) && GetPVarInt(playerid,#P_JobLess_St)))
	{
		ClearAnimations(playerid);
		DisablePlayerCheckpoint(@p);
		DeletePVar(@p,#P_JobLess_St);
		RemovePlayerAttachedObject(@p, 0);		
		SendClientMessage(playerid,COLOR_WHITE,"Вы уронили древесину.");
		TogglePlayerControllable(playerid,true);
		switch(random(2))
		{
			case 0:SetPlayerCheckpoint(@p,-801.3684, -2089.6541, 37.7174,2.0);//места где рубим
			case 1:SetPlayerCheckpoint(@p,-752.3177, -2086.5833, 40.1311,2.0);//
			case 2:SetPlayerCheckpoint(@p,-781.2551, -2041.4423, 38.3217,2.0);
		}
		SCM(@p,COLOR_WHITE,"{2E9AFE}Отправляйтесь за бревнами");
		SetPlayerAttachedObject(playerid, 0 ,341, 6,0,0,0.0,0.0,0);
	}
	if((newkeys & KEY_JUMP && GetPVarInt(playerid, "jobshaxta") == 1 && GetPVarInt(playerid, "Nesti") == 1) || (newkeys & KEY_FIRE && GetPVarInt(playerid, "jobshaxta") == 1 && GetPVarInt(playerid, "Nesti") == 1))
	{
		ClearAnimations(playerid);
		SetPlayerAttachedObject(playerid, 3, 18634, 6, 0.078222, 0.000000, 0.110844, 298.897308, 264.126861, 193.350555, 1.000000, 1.000000, 1.000000);
		RemovePlayerAttachedObject(playerid, 4);
		SetPVarInt(playerid,"Nesti", 0);
		SetPVarInt(playerid,"Proverka", 0);
		DisablePlayerCheckpoint(playerid);
		SCM(playerid, COLOR_RED, "Вы уронили камень. Добывайте другой!");
	}
	if(newkeys&512) // ид кнопки
    {
    	OnPlayerCommandText(playerid,"/car"); // меню
    }
	if(newkeys&1) // Вверх
	{
		OnPlayerCommandText(playerid,"/light"); // свет
	}
	if(newkeys&4096) // Num 2
	{
		OnPlayerCommandText(playerid,"/rsiren"); // мигалка ДПС
	}
	if(newkeys&4096) // Num 2
	{
		OnPlayerCommandText(playerid,"/siren"); // мигалка ДПС
	}
	if(newkeys&4096) // Num 2
	{
		OnPlayerCommandText(playerid,"/psgy"); // мигалка ППС
	}
	if(newkeys&4096) // Num 2
	{
		OnPlayerCommandText(playerid,"/sgy"); // мигалка МЧС
	}
	if(newkeys&4096) // Num 2
	{
		OnPlayerCommandText(playerid,"/msgy"); // мигалка медиков
	}
	if(newkeys == 16)
	{
		if(GetPVarInt(playerid,"RegSkinSelect") == 1) ShowMenuForPlayer(regskinselects, playerid);
	}
	if(newkeys == KEY_YES) return OnPlayerCommandText(playerid,"/radiocar");
	if(newkeys == 1024)
	{
		
		for(new b = 0; b < sizeof(Atm); b++)
		{
			if(PlayerToPoint(3.0, playerid, Atm[b][atmX], Atm[b][atmY], Atm[b][atmZ]) && Atm[b][atmOwned] == 1) 
			{
				if(!PlayerInfo[@p][pLeader]) return ShowPlayerDialog(playerid, 1550, DIALOG_STYLE_LIST, "Платёжный терминал", "{808080}1. {FFFFFF}Снять деньги с карточки\n{808080}2. {FFFFFF}Положить деньги на карточку\n{808080}3. {FFFFFF}Посмотреть баланс карточки\n{808080}4. {FFFFFF}Пополнить счёт мобильного\n{808080}5. {FFFFFF}Оплатить штраф\n{808080}6. {FFFFFF}Оплата коммунальных услуг", "Далее", "Выход");
				else return ShowPlayerDialog(playerid, 1550, DIALOG_STYLE_LIST, "Платёжный терминал", "{808080}1. {FFFFFF}Снять деньги с карточки\n{808080}2. {FFFFFF}Положить деньги на карточку\n{808080}3. {FFFFFF}Посмотреть баланс карточки\n{808080}4. {FFFFFF}Пополнить счёт мобильного\n{808080}5. {FFFFFF}Оплатить штраф\n{808080}6. {FFFFFF}Оплата коммунальных услуг\n{808080}7. {FFFFFF}Управление счетом организации", "Далее", "Выход");
			}
		}
		for(new b = 0; b < sizeof(LarekInfo); b++)
		{
			if(PlayerToPoint(3.0, playerid, LarekInfo[b][larX], LarekInfo[b][larY], LarekInfo[b][larZ]) && LarekInfo[b][larOwned] == 1) 
			{
				static const dlg_str[] ="Шаурма в сырном лаваше - 120 рублей.\nХот-дог с 1 сосиской - 50 рублей.\nХот-дог с 2 сосисками - 90 рублей.\nНапиток Coca-Cola - 55 рублей.\nСтакан кофе - 10 рублей.\nПирожок с яблоком - 80 рублей.\nКусок пиццы - 70 рублей.\nПирожок с повидлом - 70 рублей.\nБатончик Twix - 30 рублей.";
				new str[sizeof(dlg_str)];
				format(str,sizeof(str),"%s",dlg_str);
				ShowPlayerDialog(playerid,52,DIALOG_STYLE_LIST,"Ларек с едой, добро пожаловать",str,"Купить","Отмена");
				return 1;
			}
		}
		for(new i = 1; i <= ALLKVARTIRI; i++)//инт квартиры
		{
			if(IsPlayerInRangeOfPoint(playerid, 2, FlatInfo[i][pXpic],FlatInfo[i][pYpic],FlatInfo[i][pZpic]) && FlatInfo[i][kworld] == GetPlayerVirtualWorld(playerid))
			{
				KGet(playerid);
				if(FlatInfo[i][lock] == 1 && GetPVarInt(playerid,"Kvart") != i) return SendClientMessage(playerid, -1, "Квартира закрыта. У Вас нет ключей.");
				SetPPos(playerid, 1315.5409, 2199.8093, -16.6276);
				SetPlayerInterior(playerid, 0);
				SetPlayerVirtualWorld(playerid, FlatInfo[i][kworld]);
				SetPVarInt(playerid,#P_IdKv,i);
				Frez(playerid);
				return true;
			}
			else if(IsPlayerInRangeOfPoint(playerid, 3, 1315.5409, 2199.8093, -16.6276))
			{
				new x = GetPVarInt(playerid,#P_IdKv);
				SetPPos(playerid, FlatInfo[x][pXpic],FlatInfo[x][pYpic],FlatInfo[x][pZpic]);
				SetPlayerInterior(playerid, 0);
				SetPlayerVirtualWorld(playerid, FlatInfo[x][kworld]);
				Frez(playerid);
				DeletePVar(playerid,#P_IdKv);
				return true;
			}
		}
		for(new i = 0; i < sizeof(AC); i++)
		{
			if(IsPlayerInRangeOfPoint(playerid,1.0,AC[i][acEntX],AC[i][acEntY],AC[i][acEntZ]))
			{
				if(AC[i][acLock] && PlayerInfo[playerid][pAdmin] <= 0) return SendClientMessage(playerid,-1,"Магазин закрыт!");
				SetPVarInt(playerid,#P_BizAcc_Idx,i);
				SetPlayerInterior(playerid, AC[i][acInter]);
				SetPlayerVirtualWorld(playerid, AC[i][acWorld]);
				SetPlayerPos(playerid,800.0126,-1045.3339,451.5759);
				Frez(playerid);
			}
		}
		forPod(i)
		{
			if(IsPlayerInRangeOfPoint(playerid,1.0,PodInfo[i][pPos][0],PodInfo[i][pPos][1],PodInfo[i][pPos][2]))
			{
				Frez(playerid);
				SetPPos(playerid,PodInfo[i][pPos][3],PodInfo[i][pPos][4],PodInfo[i][pPos][5]);
				SetPlayerFacingAngle(playerid,POD_A);
				//SetPlayerInterior(playerid,PodInfo[i][pInt]);
				SetPVarInt(playerid,#J_PodID,i);
				SetPVarInt(playerid,#J_Lift,1);
				SetPlayerVirtualWorld(playerid,PodInfo[i][pWorld]);
				SetCameraBehindPlayer(playerid);
				break;
			}
			if(IsPlayerInRangeOfPoint(playerid,1.0,PodInfo[i][pPos][3],PodInfo[i][pPos][4],PodInfo[i][pPos][5]) && GetPlayerVirtualWorld(playerid) == PodInfo[i][pWorld])
			{
				Frez(playerid);
				SetPPos(playerid,PodInfo[i][pPos][0],PodInfo[i][pPos][1],PodInfo[i][pPos][2]);
				SetPlayerInterior(playerid,0);
				SetPlayerVirtualWorld(playerid,0);
				SetCameraBehindPlayer(playerid);
				DeletePVar(playerid,#J_PodID);
				DeletePVar(playerid,#J_Lift);
				break;
			}
		}
		for(new i = 1; i <= ALLGARAGE; i++)
		{
			if(IsPlayerInRangeOfPoint(playerid, 2.0, Garage[i][gX1], Garage[i][gY1], Garage[i][gZ1]))
			{
				GetPlayerGarage(playerid);
				if(Garage[i][gLock] == 1 && GetPVarInt(playerid,"PlayerGarage") != i) return SendClientMessage(playerid, -1, "Гараж закрыт!");
				SetPVarInt(playerid,#PG_id,i);
				if(Garage[i][gUL] > 0) PlayAudioStreamForPlayer(playerid, "http://www.zaycev.fm:9001/rnb/ZaycevFM(128)", 0.0, 0.0, 0.0, 50.0, 0);
				SetPPos(playerid, Garage[i][gX4], Garage[i][gY4], Garage[i][gZ4]), SetPlayerVirtualWorld(playerid, Garage[i][gVirtual]), SetPlayerInterior(playerid, 1);
				TogglePlayerControllable(playerid, false);
				SetTimerEx("@UnFreeze", 3000, false, "i", playerid);
			}
			else if(IsPlayerInRangeOfPoint(playerid, 2.0, Garage[i][gX4], Garage[i][gY4], Garage[i][gZ4]) && GetPlayerVirtualWorld(playerid) == Garage[i][gVirtual])
			{
				new id = GetPVarInt(playerid,#PG_id);
				SetPPos(playerid, Garage[id][gX1], Garage[id][gY1], Garage[id][gZ1]);
				SetPlayerVirtualWorld(playerid, 0), SetPlayerInterior(playerid, 0), StopAudioStreamForPlayer(playerid);
				DeletePVar(playerid,#PG_id);
				TogglePlayerControllable(playerid, false);
				SetTimerEx("@UnFreeze", 3000, false, "i", playerid);
			}
		}
	}
	if(newkeys & KEY_CTRL_BACK)
	{
		if(MestaSahta(playerid))
		{
			if(GetPVarInt(playerid,"jobshaxta") == 1)
			{
				if(GetPVarInt(playerid,"Proverka") > 0) return 1;
				SendClientMessage(playerid,-1,"Вы начали добывать руду, ожидайте.");
				ApplyAnimation(playerid, "SWORD", "sword_4", 4.0, 1, 0, 0, 0, 0);
				SetPVarInt(playerid,"Proverka", 1);
				spvi(@p,#P_RudaTimer,SetTimerEx("GiveRuda", 1000, false, "i", playerid));
				return true;
			}
		}
	}
	if(newkeys == KEY_NO)
	{
		if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
		{
			new vehicleid = GetPlayerVehicleID(playerid), Float:HP; GetVehicleHealth(vehicleid, HP);
			if(IsPlayerInAnyVehicle(playerid))
			{
				if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return 1;
			}
			if(HP <= 200) return SendClientMessage(playerid, -1, "Вызовите механика у вас проблемы с транспортом или кончился бензин");
			OnPlayerCommandText(playerid,"/engine");
		}
	}
	if(newkeys == KEY_SPRINT)
	{
		if(PlayerToPoint(2.0, playerid,147.9503,-83.5256,1001.8028)) return OnPlayerCommandText(playerid,"/givepass");
		if(PlayerToPoint(2.0, playerid,2334.70, -1411.20, 39.65)) return OnPlayerCommandText(playerid,"/buy");
	}
	if(oldkeys == 16 || newkeys == 16)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			if(NoFuel[playerid] == 1)
			{
				TogglePlayerControllable(playerid, 1);
				RemovePlayerFromVehicle(playerid);
				NoFuel[playerid] = 0;
				return 1;
			}
			else if(Engine[gLastCar[playerid]] == 0)
			{
				TogglePlayerControllable(playerid, 1);
				RemovePlayerFromVehicle(playerid);
				return 1;
			}
			else if(BrowsingCar[playerid] == 1)
			{
				BrowsingCar[playerid] = 0;
				TogglePlayerControllable(playerid, 1);
				RemovePlayerFromVehicle(playerid);
				return 1;
			}
		}
	}
	if(newkeys == KEY_SECONDARY_ATTACK)
	{
		new Veh = GetPlayerVehicleID(playerid);
		if(!IsABoat(Veh))
		{
			return 1;
		}		
	}
	//------------------------------------------------------------------------------
	if(newkeys == KEY_WALK)// ALT
	{
		new string[256];
		if(IsPlayerConnected(playerid))
		{
			if(IsAtBank(playerid))
			{
				format(string,sizeof(string),"На вашем счёте в банке: %d рублей, выберите действие",PlayerInfo[playerid][pAccount]);
				ShowPlayerDialog(playerid, 1500, DIALOG_STYLE_LIST, string, "Положить деньги на счёт\nСнять деньги со счёта\nПеревести деньги другому игроку", "Далее", "Отмена");
				return 1;
			}
			if(GetPlayerVehicleID(playerid) >= 400 && GetPlayerVehicleID(playerid) <= 410)
			{
				TogglePlayerControllable(playerid, 1);
				RemovePlayerFromVehicle(playerid);
			}
			//------------------------------------------------------------------------------
			else if(NoFuel[playerid] == 1)
			{
				TogglePlayerControllable(playerid, 1);
				RemovePlayerFromVehicle(playerid);
				NoFuel[playerid] = 0;
			}
		}	
	}
	//------------------------------------------------------------------------------
	else if(newkeys == KEY_SECONDARY_ATTACK)
	{
		if(!IsPlayerInAnyVehicle(playerid))
		{
			new Float:x, Float:y, Float:z, vehicle;
			GetPlayerPos(playerid, x, y, z );
			GetVehicleWithinDistance(playerid, x, y, z, 20.0, vehicle);

			if(IsVehicleRcTram(vehicle)){
				PutPlayerInVeh(playerid, vehicle, 0);
			}
		}
		else
		{
			new vehicleID = GetPlayerVehicleID(playerid);
			if(IsVehicleRcTram(vehicleID) || GetVehicleModel(vehicleID) == RC_CAM)
			{
				if(GetVehicleModel(vehicleID) != D_TRAM)
				{
					new Float:x, Float:y, Float:z;
					GetPlayerPos(playerid, x, y, z);
					SetPPos(playerid, x+0.5, y, z+1.0);
				}
			}
		}
	}
	return 1;
} 

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


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

Вроде ок все. Проверь, может где объявлены глобально:

GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);

вот и заводит.

Изменено пользователем Wеb

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


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

 

 


SetVehicleParamsEx
проверил, не объявлены, в чем же казус то. 
if(newstate == PLAYER_STATE_ENTER_VEHICLE_DRIVER)
	{
	    new carid = GetPlayerVehicleID(playerid);
		CarEngine[carid] = 1;
 	}

сделал так и решил проблему. 

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

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

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

×

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

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