Вопросы

Всем привет. Заметил такой баг: Если в СТО выбрать например для машины новый цвет, то можно просто нажать ESC, тогда вы выйдите из СТО, цвет машины сохранится и деньги не снимутся. Как сделать, что бы при выходе через ESC - изменения не сохранились, если ты не оплатил?

P.S. СТО на текстдравах

 

Код:

Спойлер

else if(PI[playerid][P_TUNING_TYPE] != -1)
		{
			if(!GetPVarInt(playerid, "UsedCTO")) return 0;
			new bizzid = GetPVarInt(playerid,"CTObizzid");
			if(GetPlayerState(playerid) != 2) return SKick(playerid, 12221);
			new pveh = GetPlayerVehicleID(playerid);
			SetVehiclePos(pveh,BizzInfo[bizzid][bEntrx],BizzInfo[bizzid][bEntry],BizzInfo[bizzid][bEntrz]);
			SetVehicleZAngle(pveh, g_vehicle[pveh][veh_a]);
			SetVehicleHealth(pveh, 1000.0);
			DeletePVar(playerid,"UsedCTO");
			SetPVarInt(playerid, "AntiBreik", 3);
			SetVehicleZAngle(pveh, 90.0);
			SetPlayerInterior(playerid,0);
			SetPlayerVirtualWorld(playerid,0);
			SetVehicleVirtualWorld(pveh,0);
			LinkVehicleToInterior(pveh,0);
			PutPlayerInVehicle(playerid, pveh, 0);
			TogglePlayerControllable(playerid,true);
			SetCameraBehindPlayer(playerid);

    		for(new i = 0; i < sizeof sto_td_player; i ++) PlayerTextDrawHide(playerid, sto_td_player[i][playerid]);
			for(new i; i < sizeof sto_td_global; i ++) TextDrawHideForPlayer(playerid, sto_td_global[i]);

    		CancelSelectTextDraw(playerid);

			PI[playerid][P_TUNING_TYPE] = -1;
		}
		else if(PI[playerid][SalonCarID] != INVALID_VEHICLE_ID)
		{
			if(1 <= InShop[playerid] <= 2)
			{
				BuyCloseCar(playerid);
			}
		}
    }
	if(clickedid == autosalon_global_td[54])
	{
		BuyCar(playerid);
	}
	if(clickedid == autosalon_global_td[66])
	{
		BuyCloseCar(playerid);
	}
	if(clickedid == autosalon_global_td[20])
	{
		if((GetTickCount() - PlayerLastTick[playerid]) < 1000) return 1;

		new salon = PI[playerid][P_SALON];

		if(salon == 0)
		{
			if(pPressed[playerid] == 0)
				pPressed[playerid] = 24;
			else
				pPressed[playerid] -- ;
		}
		else if(salon == 1)
		{
			if(pPressed[playerid] == 0)
				pPressed[playerid] = 4;
			else
				pPressed[playerid] -- ;
		}

		new idx = pPressed[playerid];

		DestroyVehicle(PI[playerid][SalonCarID]);
		PI[playerid][SalonCarID] = CreateVehicle(car_market_data[salon][idx][0],  -358.7720, 379.9233, 1002.0958, -140.0000, PI[playerid][P_COLOR][0], PI[playerid][P_COLOR][1], 10000);
		LinkVehicleToInterior(PI[playerid][SalonCarID],3);
		SetVehicleVirtualWorld(PI[playerid][SalonCarID],playerid);
		PutPlayerInVehicle(playerid,PI[playerid][SalonCarID],0);

		SetPlayerCameraPos(playerid, -351.8433, 373.5243, 1004.1419);
		SetPlayerCameraLookAt(playerid, -352.5201, 374.2586, 1003.8023);

		STRING_GLOBAL[0] = EOS;
		format(STRING_GLOBAL, sizeof STRING_GLOBAL, "%s", g_vehicle_info[car_market_data[salon][idx][0]-400][VI_NAME]);
		PlayerTextDrawSetString(playerid, autosalon_player_td[playerid][1], STRING_GLOBAL);

		STRING_GLOBAL[0] = EOS;
		format(STRING_GLOBAL, sizeof STRING_GLOBAL, "%d_руб", g_vehicle_info[car_market_data[salon][idx][0]-400][VI_COST]);
		PlayerTextDrawSetString(playerid, autosalon_player_td[playerid][0], STRING_GLOBAL);

		PlayerLastTick[playerid] = GetTickCount();
	}
	if(clickedid == autosalon_global_td[21])
	{
		if((GetTickCount() - PlayerLastTick[playerid]) < 1000) return 1;

		new salon = PI[playerid][P_SALON];

		if(salon == 0)
		{
			if(pPressed[playerid] == 24)
				pPressed[playerid] = 0;
			else
				pPressed[playerid] ++;
		}
		else if(salon == 1)
		{
			if(pPressed[playerid] == 4)
				pPressed[playerid] = 0;
			else
				pPressed[playerid] ++;
		}

		new idx = pPressed[playerid];

		DestroyVehicle(PI[playerid][SalonCarID]);
		PI[playerid][SalonCarID] = CreateVehicle(car_market_data[salon][idx][0],  -358.7720, 379.9233, 1002.0958, -140.0000, PI[playerid][P_COLOR][0], PI[playerid][P_COLOR][1], 10000);

		LinkVehicleToInterior(PI[playerid][SalonCarID],3);
		SetVehicleVirtualWorld(PI[playerid][SalonCarID],playerid);
		PutPlayerInVehicle(playerid,PI[playerid][SalonCarID],0);

		SetPlayerCameraPos(playerid, -351.8433, 373.5243, 1004.1419);
		SetPlayerCameraLookAt(playerid, -352.5201, 374.2586, 1003.8023);

		STRING_GLOBAL[0] = EOS;
		format(STRING_GLOBAL, sizeof STRING_GLOBAL, "%s", g_vehicle_info[car_market_data[salon][idx][0]-400][VI_NAME]);
		PlayerTextDrawSetString(playerid, autosalon_player_td[playerid][1], STRING_GLOBAL);

		STRING_GLOBAL[0] = EOS;
		format(STRING_GLOBAL, sizeof STRING_GLOBAL, "%d_руб", g_vehicle_info[car_market_data[salon][idx][0]-400][VI_COST]);
		PlayerTextDrawSetString(playerid, autosalon_player_td[playerid][0], STRING_GLOBAL);

		PlayerLastTick[playerid] = GetTickCount();
	}
	if(clickedid == autosalon_global_td[32])
	{
		if((GetTickCount() - PlayerLastTick[playerid]) < 1000) return 1;

		if(PI[playerid][P_COLOR][0] == 255)
			PI[playerid][P_COLOR][0] = 0;
		else
			PI[playerid][P_COLOR][0] += 1;

		ChangeVehicleColor(PI[playerid][SalonCarID], PI[playerid][P_COLOR][0], PI[playerid][P_COLOR][1]);

		PlayerLastTick[playerid] = GetTickCount();
	}
	if(clickedid == autosalon_global_td[33])
	{
		if((GetTickCount() - PlayerLastTick[playerid]) < 1000) return 1;

		if(PI[playerid][P_COLOR][0] == 0)
			PI[playerid][P_COLOR][0] = 255;
		else
			PI[playerid][P_COLOR][0] -= 1;

		ChangeVehicleColor(PI[playerid][SalonCarID], PI[playerid][P_COLOR][0], PI[playerid][P_COLOR][1]);

		PlayerLastTick[playerid] = GetTickCount();
	}
	if(clickedid == autosalon_global_td[45])
	{
		if((GetTickCount() - PlayerLastTick[playerid]) < 1000) return 1;

		if(PI[playerid][P_COLOR][1] == 255)
			PI[playerid][P_COLOR][1] = 0;
		else
			PI[playerid][P_COLOR][1] += 1;

		ChangeVehicleColor(PI[playerid][SalonCarID], PI[playerid][P_COLOR][0], PI[playerid][P_COLOR][1]);

		PlayerLastTick[playerid] = GetTickCount();
	}
	if(clickedid == autosalon_global_td[46])
	{
		if((GetTickCount() - PlayerLastTick[playerid]) < 1000) return 1;

		if(PI[playerid][P_COLOR][1] == 0)
			PI[playerid][P_COLOR][1] = 255;
		else
			PI[playerid][P_COLOR][1] -= 1;

		ChangeVehicleColor(PI[playerid][SalonCarID], PI[playerid][P_COLOR][0], PI[playerid][P_COLOR][1]);

		PlayerLastTick[playerid] = GetTickCount();
	}
	if(PI[playerid][P_TUNING_TYPE] != -1)
	{
		if(clickedid == sto_td_global[6])
		{
			PI[playerid][P_TUNING_TYPE] = 1;

			PlayerTextDrawSetString(playerid, sto_td_player[0][playerid], "цвет");

			PlayerTextDrawSetString
			(
				playerid,
				sto_td_player[1][playerid],
				"используя_элементы_интерфейса,~n~выберите_предпочитаемый_цвет~n~для_личного_автомобиля."
			);


			new biz_id = GetPVarInt(playerid, "CTObizzid"),
			price = BizzInfo[biz_id][bTill]*5;

			STRING_GLOBAL[0] = EOS;
			format
			(
				STRING_GLOBAL, sizeof STRING_GLOBAL,
				"основной_цвет:_%d~n~доп.цвет:_%d~n~К_ОПЛАТЕ:_%d_руб.", PI[playerid][P_COLOR][0], PI[playerid][P_COLOR][1], price
			);
			PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);

			for(new idx; idx < 4; idx ++) TextDrawHideForPlayer(playerid, sto_td_global[idx]);
			for(new idx = 2; idx < 4; idx ++) TextDrawShowForPlayer(playerid, sto_td_global[idx]);

			//TextDrawHideForPlayer(playerid, sto_td_global[0]);
			//TextDrawHideForPlayer(playerid, sto_td_global[1]);

			// основной_цвет:_24~n~доп.цвет:_52~n~К_ОПЛАТЕ:_200_руб.
			//ShowPlayerTuningColor(playerid);
		}
		if(clickedid == sto_td_global[9])
		{
			PI[playerid][P_TUNING_TYPE] = 2;

			PlayerTextDrawSetString(playerid, sto_td_player[0][playerid], "гидравлика");

			new biz_id = GetPVarInt(playerid, "CTObizzid"),
			price = BizzInfo[biz_id][bTill]*100;

			STRING_GLOBAL[0] = EOS;
			format
			(
				STRING_GLOBAL, sizeof STRING_GLOBAL,
				"к_оплате:_%d_рублей.", price
			);
			PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);

			PlayerTextDrawSetString
			(
				playerid,
				sto_td_player[1][playerid],
				"вы_действительно_хотите_~n~установить_гидравлику_~n~на_свой_транспорт?"
			);

			for(new idx; idx < 4; idx ++) TextDrawHideForPlayer(playerid, sto_td_global[idx]);

			//ShowPlayerTuningButton(playerid);
		}
		if(clickedid == sto_td_global[12])
		{
			PI[playerid][P_TUNING_TYPE] = 3;

			PlayerTextDrawSetString(playerid, sto_td_player[0][playerid], "нитро");

			PlayerTextDrawSetString
			(
				playerid,
				sto_td_player[1][playerid],
				"выберите_нитро_для~n~_вашего_транспорта,_~n~используя_стрелки"
			);

			new nitro_amount[3] = {2, 5, 10};

			new tun_state = PI[playerid][P_TUNING_STATE];

			new bizzid = GetPVarInt(playerid,"CTObizzid");
			new till = BizzInfo[bizzid][bTill];

			new price;

			switch(tun_state)
			{
				case 1: price = till*80;
				case 2: price = till*150;
				case 3: price = till*300;
			}

			STRING_GLOBAL[0] = EOS;
			format
			(
				STRING_GLOBAL, sizeof STRING_GLOBAL,
				"балон_нитро:_%d~N~объем:_%d_л~n~стоимость:_%d_рублей", tun_state, nitro_amount[tun_state-1], price
			);
			PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);

			for(new idx; idx < 4; idx ++) TextDrawHideForPlayer(playerid, sto_td_global[idx]);
			for(new idx; idx < 2; idx ++) TextDrawShowForPlayer(playerid, sto_td_global[idx]);

			//ShowPlayerTuningSelect(playerid);
		}
		if(clickedid == sto_td_global[15])
		{
			PI[playerid][P_TUNING_STATE] = 1;
			AddVehicleComponent(GetPlayerVehicleID(playerid), g_tuning_disks[0][D_COMPONENT]);

			PI[playerid][P_TUNING_TYPE] = 4;

			PlayerTextDrawSetString(playerid, sto_td_player[0][playerid], "диски");

			PlayerTextDrawSetString
			(
				playerid,
				sto_td_player[1][playerid],
				"выберите_диски_для~n~вашего_транспорта,~n~используя_стрелки"
			);

			new tun_state = PI[playerid][P_TUNING_STATE];

			new bizzid = GetPVarInt(playerid,"CTObizzid");
			new till = BizzInfo[bizzid][bTill];

			AddVehicleComponent(GetPlayerVehicleID(playerid), g_tuning_disks[tun_state-1][D_COMPONENT]);

			STRING_GLOBAL[0] = EOS;
			format(STRING_GLOBAL, sizeof STRING_GLOBAL, "диски:_%d~N~название:_%s~n~стоимость:_%d_рублей", tun_state, g_tuning_disks[tun_state-1][D_NAME], till*g_tuning_disks[tun_state-1][D_PRICE]);
			PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);

			for(new idx; idx < 4; idx ++) TextDrawHideForPlayer(playerid, sto_td_global[idx]);
			for(new idx; idx < 2; idx ++) TextDrawShowForPlayer(playerid, sto_td_global[idx]);

			//ShowPlayerTuningSelect(playerid);
		}
		if(clickedid == sto_td_global[18])
		{
			PI[playerid][P_TUNING_TYPE] = 5;

			PlayerTextDrawSetString(playerid, sto_td_player[0][playerid], "винилы");

			PlayerTextDrawSetString
			(
				playerid,
				sto_td_player[1][playerid],
				"выберите_винилы_для~n~вашего_транспорта,~n~используя_стрелки"
			);

			new tun_state = PI[playerid][P_TUNING_STATE];

			new bizzid = GetPVarInt(playerid,"CTObizzid");
			new till = BizzInfo[bizzid][bTill];

			new price_paintjob[3] = {30, 35, 40};

			ChangeVehiclePaintjob(GetPlayerVehicleID(playerid), tun_state-1);

			STRING_GLOBAL[0] = EOS;
			format(STRING_GLOBAL, sizeof STRING_GLOBAL, "винилы:_%d~N~стоимость:_%d_рублей", tun_state, till*price_paintjob[tun_state-1]);
			PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);

			for(new idx; idx < 4; idx ++) TextDrawHideForPlayer(playerid, sto_td_global[idx]);
			for(new idx; idx < 2; idx ++) TextDrawShowForPlayer(playerid, sto_td_global[idx]);

			//ShowPlayerTuningSelect(playerid);
		}
		if(clickedid == sto_td_global[21])
		{
			PI[playerid][P_TUNING_TYPE] = 6;

			PlayerTextDrawSetString(playerid, sto_td_player[0][playerid], "ремонт");

			PlayerTextDrawSetString
			(
				playerid,
				sto_td_player[1][playerid],
				"вы_действительно_хотите_~n~отремонтировать_,~n~свой_транспорт?"
			);

			PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], "стоимость:_1000 рублей");

			for(new idx; idx < 4; idx ++) TextDrawHideForPlayer(playerid, sto_td_global[idx]);

			//ShowPlayerTuningButton(playerid);
		}
		if(clickedid == sto_td_global[24])
		{
			PI[playerid][P_TUNING_TYPE] = 7;

			PlayerTextDrawSetString(playerid, sto_td_player[0][playerid], "улучш._двиг");

			PlayerTextDrawSetString
			(
				playerid,
				sto_td_player[1][playerid],
				"выберите_двигатель_для~n~вашего_транспорта,~n~используя_стрелки?"
			);

			new tun_state = PI[playerid][P_TUNING_STATE];

			PI[playerid][P_TUNING_STATE] = tun_state;

			STRING_GLOBAL[0] = EOS;
			format(STRING_GLOBAL, sizeof STRING_GLOBAL, "двигатель:_%s~N~прибавка_к_макс._скор.:_%d_км/ч~n~стоимость:_%d_млн._рублей", g_tuning_engine[tun_state-1][E_NAME], g_tuning_engine[tun_state-1][E_MAX_SPEED], g_tuning_engine[tun_state-1][E_PRICE]);
			PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);

			for(new idx; idx < 4; idx ++) TextDrawHideForPlayer(playerid, sto_td_global[idx]);
			for(new idx; idx < 2; idx ++) TextDrawShowForPlayer(playerid, sto_td_global[idx]);

			//ShowPlayerTuningSelect(playerid);
		}
		/* COMPLETE */


		if(PI[playerid][P_TUNING_TYPE] == 1)
		{
			if(clickedid == sto_td_global[2])
			{
				ShowPlayerDialog
				(
					playerid, DIALOG_STO_CHANGE_COLOR, DIALOG_STYLE_INPUT,
					"{FFCC00}Смена цвета",
					"{FFFFFF}Введите номер цвета:",
					"Далее", "Отмена"
				);

				SetPVarInt(playerid, "color_type", 1);
			}
			if(clickedid == sto_td_global[3])
			{
				ShowPlayerDialog
				(
					playerid, DIALOG_STO_CHANGE_COLOR, DIALOG_STYLE_INPUT,
					"{FFCC00}Смена цвета",
					"{FFFFFF}Введите номер цвета:",
					"Далее", "Отмена"
				);

				SetPVarInt(playerid, "color_type", 2);
			}
		}

		if(PI[playerid][P_TUNING_TYPE] == 3)
		{
			if(clickedid == sto_td_global[0])
			{
				new tun_state = PI[playerid][P_TUNING_STATE];

				if(tun_state == 1)
					tun_state = 3;
				else
					tun_state -= 1;

				PI[playerid][P_TUNING_STATE] = tun_state;

				new nitro_amount[3] = {2, 5, 10};

				new bizzid = GetPVarInt(playerid,"CTObizzid");
                new till = BizzInfo[bizzid][bTill];

				new price;

				switch(tun_state)
				{
					case 1: price = till*80;
					case 2: price = till*150;
					case 3: price = till*300;
				}

				STRING_GLOBAL[0] = EOS;
				format
				(
					STRING_GLOBAL, sizeof STRING_GLOBAL,
					"балон_нитро:_%d~N~объем:_%d_л~n~стоимость:_%d_рублей", tun_state, nitro_amount[tun_state-1], price
				);
				PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);
			}
			if(clickedid == sto_td_global[1])
			{
				new tun_state = PI[playerid][P_TUNING_STATE];

				if(tun_state == 3)
					tun_state = 1;
				else
					tun_state += 1;

				PI[playerid][P_TUNING_STATE] = tun_state;

				new nitro_amount[3] = {2, 5, 10};

				new bizzid = GetPVarInt(playerid,"CTObizzid");
                new till = BizzInfo[bizzid][bTill];

				new price;

				switch(tun_state)
				{
					case 1: price = till*80;
					case 2: price = till*150;
					case 3: price = till*300;
				}

				STRING_GLOBAL[0] = EOS;
				format
				(
					STRING_GLOBAL, sizeof STRING_GLOBAL,
					"балон_нитро:_%d~N~объем:_%d_л~n~стоимость:_%d_рублей", tun_state, nitro_amount[tun_state-1], price
				);
				PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);
			}
		}

		if(PI[playerid][P_TUNING_TYPE] == 4)
		{
			if(clickedid == sto_td_global[0])
			{
				new tun_state = PI[playerid][P_TUNING_STATE];

				new bizzid = GetPVarInt(playerid,"CTObizzid");
                new till = BizzInfo[bizzid][bTill];

				if(tun_state == 1)
					tun_state = 10;
				else
					tun_state -= 1;

				PI[playerid][P_TUNING_STATE] = tun_state;

				AddVehicleComponent(GetPlayerVehicleID(playerid), g_tuning_disks[tun_state-1][D_COMPONENT]);
				printf("tun_state: %d componentid %d", tun_state, g_tuning_disks[tun_state-1][D_COMPONENT]);

				STRING_GLOBAL[0] = EOS;
				format(STRING_GLOBAL, sizeof STRING_GLOBAL, "диски:_%d~N~название:_%s~n~стоимость:_%d_рублей", tun_state, g_tuning_disks[tun_state-1][D_NAME], till*g_tuning_disks[tun_state-1][D_PRICE]);
				PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);
			}
			if(clickedid == sto_td_global[1])
			{
				new tun_state = PI[playerid][P_TUNING_STATE];

				new bizzid = GetPVarInt(playerid,"CTObizzid");
                new till = BizzInfo[bizzid][bTill];

				if(tun_state == 10)
					tun_state = 1;
				else
					tun_state += 1;

				PI[playerid][P_TUNING_STATE] = tun_state;

				AddVehicleComponent(GetPlayerVehicleID(playerid), g_tuning_disks[tun_state-1][D_COMPONENT]);

				STRING_GLOBAL[0] = EOS;
				format(STRING_GLOBAL, sizeof STRING_GLOBAL, "диски:_%d~N~название:_%s~n~стоимость:_%d_рублей", tun_state, g_tuning_disks[tun_state-1][D_NAME], till*g_tuning_disks[tun_state-1][D_PRICE]);
				PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);
			}
		}

		if(PI[playerid][P_TUNING_TYPE] == 5)
		{
			if(clickedid == sto_td_global[0])
			{
				new tun_state = PI[playerid][P_TUNING_STATE];

				new bizzid = GetPVarInt(playerid,"CTObizzid");
                new till = BizzInfo[bizzid][bTill];

				new price_paintjob[3] = {30, 35, 40};

				if(tun_state == 1)
					tun_state = 3;
				else
					tun_state -= 1;

				PI[playerid][P_TUNING_STATE] = tun_state;

				ChangeVehiclePaintjob(GetPlayerVehicleID(playerid), tun_state-1);

				STRING_GLOBAL[0] = EOS;
				format(STRING_GLOBAL, sizeof STRING_GLOBAL, "винилы:_%d~N~стоимость:_%d_рублей", tun_state, till*price_paintjob[tun_state-1]);
				PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);
			}
			if(clickedid == sto_td_global[1])
			{
				new tun_state = PI[playerid][P_TUNING_STATE];

				new bizzid = GetPVarInt(playerid,"CTObizzid");
                new till = BizzInfo[bizzid][bTill];

				new price_paintjob[3] = {30, 35, 40};

				if(tun_state == 3)
					tun_state = 1;
				else
					tun_state += 1;

				PI[playerid][P_TUNING_STATE] = tun_state;

				ChangeVehiclePaintjob(GetPlayerVehicleID(playerid), tun_state-1);

				STRING_GLOBAL[0] = EOS;
				format(STRING_GLOBAL, sizeof STRING_GLOBAL, "винилы:_%d~N~стоимость:_%d_рублей", tun_state, till*price_paintjob[tun_state-1]);
				PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);
			}
		}
		if(PI[playerid][P_TUNING_TYPE] == 7)
		{
			if(clickedid == sto_td_global[0])
			{
				new tun_state = PI[playerid][P_TUNING_STATE];

				if(tun_state == 1)
					tun_state = 3;
				else
					tun_state -= 1;

				PI[playerid][P_TUNING_STATE] = tun_state;

				STRING_GLOBAL[0] = EOS;
				format(STRING_GLOBAL, sizeof STRING_GLOBAL, "двигатель:_%s~N~прибавка_к_макс._скор.:_%d_км/ч~n~стоимость:_%d_млн._рублей", g_tuning_engine[tun_state-1][E_NAME], g_tuning_engine[tun_state-1][E_MAX_SPEED], g_tuning_engine[tun_state-1][E_PRICE]);
				PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);
			}
			if(clickedid == sto_td_global[1])
			{
				new tun_state = PI[playerid][P_TUNING_STATE];

				if(tun_state == 3)
					tun_state = 1;
				else
					tun_state += 1;

				PI[playerid][P_TUNING_STATE] = tun_state;

				STRING_GLOBAL[0] = EOS;
				format(STRING_GLOBAL, sizeof STRING_GLOBAL, "двигатель:_%s~N~прибавка_к_макс._скор.:_%d_км/ч~n~стоимость:_%d_млн._рублей", g_tuning_engine[tun_state-1][E_NAME], g_tuning_engine[tun_state-1][E_MAX_SPEED], g_tuning_engine[tun_state-1][E_PRICE]);
				PlayerTextDrawSetString(playerid, sto_td_player[2][playerid], STRING_GLOBAL);
			}
		}

		if(clickedid == sto_td_global[25])
		{
			switch(PI[playerid][P_TUNING_TYPE])
			{
				case 1:
				{
					new i = GetPVarInt(playerid,"CTObizzid");
					new till = BizzInfo[i][bTill];
					new vehicleid = GetPlayerVehicleID(playerid);
					if(GetMoney(playerid) < till*5) return SendMess(playerid, MSG_NOT_MONEY);
					GiveMoney(playerid, -till*5);
					if(BizzInfo[i][bProduct] > 0)
					{
						BizzInfo[i][bMoney] += till*5;
						BizzInfo[i][bProduct] -= 5;
						BizzPay[i] += till*5;
						MysqlUpdateBizzInt(i, "money", BizzInfo[i][bMoney]);
						MysqlUpdateBizzInt(i, "product", BizzInfo[i][bProduct]);
					}
					g_vehicle[vehicleid][veh_color][0] = PI[playerid][P_COLOR][0];
					g_vehicle[vehicleid][veh_color][1] = PI[playerid][P_COLOR][1];
					ChangeVehicleColor(vehicleid, PI[playerid][P_COLOR][0], PI[playerid][P_COLOR][1]);

					STRING_GLOBAL[0] = EOS;

					format(STRING_GLOBAL, sizeof STRING_GLOBAL, "UPDATE ownable_cars SET color_1=%d, color_2=%d WHERE id=%d", PI[playerid][P_COLOR][0], PI[playerid][P_COLOR][1], GetVehicleData(vehicleid, veh_sql_id));
					mysql_query(dbHandle, STRING_GLOBAL);

					SendClientMessage(playerid, C_OSNOV, "Вы успешно перекрасили свой транспорт");
				}
				case 2:
				{
					if(GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), CARMODTYPE_HYDRAULICS) != 1087)
					{
						new i = GetPVarInt(playerid,"CTObizzid");
						new till = BizzInfo[i][bTill];

						if(GetMoney(playerid) < till*100) return SendMess(playerid, MSG_NOT_MONEY);
						GiveMoney(playerid, -till*100);
						if(BizzInfo[i][bProduct] > 0)
						{
							BizzInfo[i][bMoney] += till*100;
							BizzInfo[i][bProduct] -= 100;
							BizzPay[i] += till*100;
							MysqlUpdateBizzInt(i, "money", BizzInfo[i][bMoney]);
							MysqlUpdateBizzInt(i, "product", BizzInfo[i][bProduct]);
						}
						SendClientMessage(playerid, C_OSNOV, "Вы успешно установили гидравлику на свой транспорт");
						AddVehicleComponent(GetPlayerVehicleID(playerid), 1087);
					}
					else
					{
						SendClientMessage(playerid, C_OSNOV, "Вы успешно удалили гидравлику со своего транспорта");
						RemoveVehicleComponent(GetPlayerVehicleID(playerid), 1087);
					}
					SaveVehicleTuning(playerid);
				}
				case 3:
				{
					new tun_state = PI[playerid][P_TUNING_STATE]-1;

					new i = GetPVarInt(playerid,"CTObizzid");
					new till = BizzInfo[i][bTill];

					new nitro_names[3][10] = {"Nitro x2", "Nitro x5", "Nitro x10"};
					new nitro_component[3] = {1009, 1008, 1010};
					new nitro_price[3] = {80, 150, 300};

					if(GetMoney(playerid) < till*nitro_price[tun_state]) return SendMess(playerid, MSG_NOT_MONEY);
					GiveMoney(playerid, -till*nitro_price[tun_state]);
					if(BizzInfo[i][bProduct] > 0)
					{
						BizzInfo[i][bMoney] += till*80;
						BizzInfo[i][bProduct] -= 80;
						BizzPay[i] += till*80;
						MysqlUpdateBizzInt(i, "money", BizzInfo[i][bMoney]);
						MysqlUpdateBizzInt(i, "product", BizzInfo[i][bProduct]);
					}
					STRING_GLOBAL[0] = EOS;
					format(STRING_GLOBAL, sizeof STRING_GLOBAL, "Вы успешно установили на свой транспорт %s за %d рублей", nitro_names[tun_state], till*nitro_price[tun_state]);
					SendClientMessage(playerid, C_OSNOV, STRING_GLOBAL);

					AddVehicleComponent(GetPlayerVehicleID(playerid), nitro_component[tun_state]);
					SaveVehicleTuning(playerid);

					PI[playerid][P_TUNING_STATE] = 1;
				}
				case 4:
				{
					new tun_state = PI[playerid][P_TUNING_STATE];

					new i = GetPVarInt(playerid,"CTObizzid");
					new till = BizzInfo[i][bTill];

					if(GetMoney(playerid) < till*g_tuning_disks[tun_state-1][D_PRICE]) return SendMess(playerid, MSG_NOT_MONEY);
					GiveMoney(playerid, -till*g_tuning_disks[tun_state-1][D_PRICE]);

					if(BizzInfo[i][bProduct] > 0)
					{
						BizzInfo[i][bMoney] += till*g_tuning_disks[tun_state-1][D_PRICE];
						BizzInfo[i][bProduct] -= g_tuning_disks[tun_state-1][D_PRODUCT];
						BizzPay[i] += till*g_tuning_disks[tun_state-1][D_PRICE];
						MysqlUpdateBizzInt(i, "money", BizzInfo[i][bMoney]);
						MysqlUpdateBizzInt(i, "product", BizzInfo[i][bProduct]);
					}
					STRING_GLOBAL[0] = EOS;
					format(STRING_GLOBAL, sizeof STRING_GLOBAL, "Вы успешно установили диски %s на свой транспорт за %d рублей", g_tuning_disks[tun_state-1][D_NAME], till*g_tuning_disks[tun_state-1][D_PRICE]);
					SendClientMessage(playerid, C_OSNOV, STRING_GLOBAL);

					SaveVehicleTuning(playerid);

					PI[playerid][P_TUNING_STATE] = 1;
				}
				case 5:
				{
					new tun_state = PI[playerid][P_TUNING_STATE];
					new vehicleid = GetPlayerVehicleID(playerid);
					new i = GetPVarInt(playerid,"CTObizzid");
					new till = BizzInfo[i][bTill];

					new price_paintjob[3] = {30, 35, 40};

					if(GetMoney(playerid) < till*price_paintjob[tun_state-1]) return SendMess(playerid, MSG_NOT_MONEY);
					GiveMoney(playerid, -till*price_paintjob[tun_state-1]);

					if(BizzInfo[i][bProduct] > 0)
					{
						BizzInfo[i][bMoney] += till*price_paintjob[tun_state-1];
						BizzInfo[i][bProduct] -= price_paintjob[tun_state-1];
						BizzPay[i] += till*price_paintjob[tun_state-1];
						MysqlUpdateBizzInt(i, "money", BizzInfo[i][bMoney]);
						MysqlUpdateBizzInt(i, "product", BizzInfo[i][bProduct]);
					}
					STRING_GLOBAL[0] = EOS;
					format(STRING_GLOBAL, sizeof STRING_GLOBAL, "Вы успешно установили покрасочную работу %d на свой транспорт за %d рублей", tun_state, till*price_paintjob[tun_state-1]);
					SendClientMessage(playerid, C_OSNOV, STRING_GLOBAL);

					SetVehicleData(vehicleid, veh_paintjob, tun_state-1);

					SaveVehicleTuning(playerid);

					PI[playerid][P_TUNING_STATE] = 1;
				}
				case 6:
				{
					new i = GetPVarInt(playerid,"CTObizzid");
					if(GetMoney(playerid) < 1000) return SendMess(playerid, MSG_NOT_MONEY);
					GiveMoney(playerid, -1000);
					new vehicleid = GetPlayerVehicleID(playerid);
					g_vehicle[vehicleid][veh_wear] += 1.0; // 0.1 процент
					if(BizzInfo[i][bProduct] > 0)
					{
						BizzInfo[i][bMoney] += 1000;
						BizzInfo[i][bProduct] -= 100;
						BizzPay[i] += 1000;
						MysqlUpdateBizzInt(i, "money", BizzInfo[i][bMoney]);
						MysqlUpdateBizzInt(i, "product", BizzInfo[i][bProduct]);
						RepairVehicle(GetPlayerVehicleID(playerid));
					}
					RepairVehicle(GetPlayerVehicleID(playerid));
					SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
					SendClientMessage(playerid, C_OSNOV, "Вы успешно отремонтировали свой транспорт за 1000 рублей");
				}
				case 7:
				{
					new tun_state = PI[playerid][P_TUNING_STATE];
					new vehicleid = GetPlayerVehicleID(playerid);

					if(g_vehicle[vehicleid][veh_improve] == tun_state)
						return SendClientMessage(playerid, C_RED, "У Вас уже куплено это улучшение");

					new i = GetPVarInt(playerid,"CTObizzid");
					if(GetMoney(playerid) < g_tuning_engine[tun_state-1][E_PRICE]*1000000) return SendMess(playerid, MSG_NOT_MONEY);
					GiveMoney(playerid, -g_tuning_engine[tun_state-1][E_PRICE]*1000000);
					if(BizzInfo[i][bProduct] > 0)
					{
						BizzInfo[i][bMoney] += g_tuning_engine[tun_state-1][E_PRICE]*1000000;
						BizzInfo[i][bProduct] -= 500;
						BizzPay[i] += g_tuning_engine[tun_state-1][E_PRICE]*1000000;
						MysqlUpdateBizzInt(i, "money", BizzInfo[i][bMoney]);
						MysqlUpdateBizzInt(i, "product", BizzInfo[i][bProduct]);
					}

					PI[playerid][P_TYPE_SPEED] = 0;

					SetVehicleData(vehicleid, veh_improve, tun_state);

					STRING_GLOBAL[0] = EOS;
					format(STRING_GLOBAL, sizeof STRING_GLOBAL, "UPDATE ownable_cars SET engine=%d WHERE id=%d", tun_state, g_vehicle[vehicleid][veh_sql_id]);
					mysql_query(dbHandle, STRING_GLOBAL);

					STRING_GLOBAL[0] = EOS;
					format(STRING_GLOBAL, sizeof STRING_GLOBAL, "Вы успешно установили двигатель %s на свой транспорт за %d рублей", g_tuning_engine[tun_state-1][E_NAME], g_tuning_engine[tun_state-1][E_PRICE]*1000000);
					SendClientMessage(playerid, C_OSNOV, STRING_GLOBAL);
				}
			}
		}
	}

 

 

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


Ссылка на сообщение

0 ответов на этот вопрос

Ответы на этот вопрос пока отсутствуют

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

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

  • Похожий контент

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };