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

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

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

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

[Engine] Вопрос : несохранение машин при покупке фракциям.

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

Saimon_Jones

Умник
Есть диалоги покупки и сохранения ТС , но при покупке пишет : ваша машина сохранена под слотом 1 хотя слот явно там не 1 и даже не 3 (я покупаю специально для 4-5). Также и в БД запрос неправилен , думаю все из-за

PHP:
SetPVarInt(playerid, "FracCarsGangID", listitem);
			SetPVarInt(playerid, "FracCarsSQLID", vehinfo_id[listitem]);
Они явно перепутаны либо неправильно определены. Вот сами диалоги. Могу заплатить за решение.

PHP:
	case D_JOB+37:
		{
			if(!response) return 1;
			if(IsAGang(playerid) || IsAMafia(playerid))
			{
				if(PlayerInfo[playerid][pLeader] > 0 || PlayerInfo[playerid][pMember] > 0 && strcmp(sendername(playerid),FracInfo[PlayerInfo[playerid][pMember]][fAssistant],true) == 0)
				{
					new text[32], full = 0, srrt[512], str[90];
					for(new i = 1; i <= TOTALVEH; i++)
					{
						if(VehInfo[i][vFr] == PlayerInfo[playerid][pMember])
						{
							if(VehInfo[i][vStatus] == 2) format(text, sizeof(text), "%s", VehicleNameS[GetVehicleModel(VehInfo[i][vVehicle])-400]);
							else format(text, sizeof(text), "{FF6347}Пусто");
							format(str, 90, "Слот №%i - Статус: %s\n",full+1,text);
							strcat(srrt, str);
							vehinfo_id[full] = i;
							full++;
						}
					}
					if(full == 0) return SendClientMessage(playerid, COLOR_GREY, "Ошибка! Обратитесь к администрации!");
					SetPVarInt(playerid, "InShop", 2);
					ShowPlayerDialog(playerid, D_JOB+40, 2, "Панель", srrt, "Принять", "");
				}
				else SendClientMessage(playerid, COLOR_GREY, YouCanNot);
			}
			else SendClientMessage(playerid, COLOR_GREY, YouCanNot);
		}
	case D_JOB+38:
		{
			if(!response) return 1;
			new Float:x, Float:y, Float:z, Float:fa, shop = GetPVarInt(playerid, "InShop");
			switch(shop)
			{
			case 1: x=549.3206, y=-1289.9803, z=17.2482, fa=0.9819;
			case 2: x=-1656.1429, y=1211.9847, z=7.2500, fa=332.9524;
			}
			DestroyVehicle(veh[playerid]);
			DeletePVar(playerid, "InShop");
			TogglePlayerControllable(playerid,true);
			TextDrawHideForPlayer(playerid,VehNazv[playerid]);
			TextDrawHideForPlayer(playerid,VehCost[playerid]);
			TextDrawHideForPlayer(playerid,PressA);
			TextDrawHideForPlayer(playerid,PressD);
			TextDrawHideForPlayer(playerid,PressH);
			TextDrawHideForPlayer(playerid,PressC);
			TextDrawHideForPlayer(playerid,PressB);
			TextDrawHideForPlayer(playerid,VehBox);
			SetPlayerPos(playerid,x,y,z);
			SetPlayerFacingAngle(playerid,fa);
			SetPlayerInterior(playerid,0);
			SetPlayerVirtualWorld(playerid,0);
			SetCameraBehindPlayer(playerid);
			SendClientMessage(playerid, COLOR_LIGHTRED, "Вы отменили покупку транспорта");
		}
	case D_JOB+39:
		{
			if(!response) return 1;
			new Float:x, Float:y, Float:z, Float:fa, shop = GetPVarInt(playerid, "InShop"), i = GetPVarInt(playerid, "FracCarsSQLID");
			switch(shop)
			{
			case 1: x=549.3206, y=-1289.9803, z=17.2482, fa=0.9819;
			case 2: x=-1656.1429, y=1211.9847, z=7.2500, fa=332.9524;
			}
			if(PlayerInfo[playerid][pMember] == F_GROVE && FracBank[0] < GetInflationPrice(CarsFrac[pPressed[playerid]][1])) return SendClientMessage(playerid, COLOR_GREY, "Недостаточно средств на счету организации!");
			if(PlayerInfo[playerid][pMember] == F_BALLAS && FracBank[1] < GetInflationPrice(CarsFrac[pPressed[playerid]][1])) return SendClientMessage(playerid, COLOR_GREY, "Недостаточно средств на счету организации!");
			if(PlayerInfo[playerid][pMember] == F_RIFA && FracBank[2] < GetInflationPrice(CarsFrac[pPressed[playerid]][1])) return SendClientMessage(playerid, COLOR_GREY, "Недостаточно средств на счету организации!");
			if(PlayerInfo[playerid][pMember] == F_AZTECAS && FracBank[3] < GetInflationPrice(CarsFrac[pPressed[playerid]][1])) return SendClientMessage(playerid, COLOR_GREY, "Недостаточно средств на счету организации!");
			if(PlayerInfo[playerid][pMember] == F_VAGOS && FracBank[4] < GetInflationPrice(CarsFrac[pPressed[playerid]][1])) return SendClientMessage(playerid, COLOR_GREY, "Недостаточно средств на счету организации!");
			if(PlayerInfo[playerid][pMember] == F_LCN && FracBank[6] < GetInflationPrice(CarsFrac[pPressed[playerid]][1])) return SendClientMessage(playerid, COLOR_GREY, "Недостаточно средств на счету организации!");
			if(PlayerInfo[playerid][pMember] == F_YAKUZA && FracBank[5] < GetInflationPrice(CarsFrac[pPressed[playerid]][1])) return SendClientMessage(playerid, COLOR_GREY, "Недостаточно средств на счету организации!");
			if(PlayerInfo[playerid][pMember] == F_RM && FracBank[7] < GetInflationPrice(CarsFrac[pPressed[playerid]][1])) return SendClientMessage(playerid, COLOR_GREY, "Недостаточно средств на счету организации!");
			DeletePVar(playerid, "InShop");
			TogglePlayerControllable(playerid,true);
			TextDrawHideForPlayer(playerid,VehNazv[playerid]);
			TextDrawHideForPlayer(playerid,VehCost[playerid]);
			TextDrawHideForPlayer(playerid,PressA);
			TextDrawHideForPlayer(playerid,PressD);
			TextDrawHideForPlayer(playerid,PressH);
			TextDrawHideForPlayer(playerid,PressC);
			TextDrawHideForPlayer(playerid,PressB);
			TextDrawHideForPlayer(playerid,VehBox);
			SetPlayerPos(playerid,x,y,z);
			SetPlayerFacingAngle(playerid,fa);
			SetPlayerInterior(playerid,0);
			SetPlayerVirtualWorld(playerid,0);
			SetCameraBehindPlayer(playerid);
			VehInfo[i][vModel] = GetVehicleModel(veh[playerid]);
			VehInfo[i][vStatus] = 2;
			VehInfo[i][vCost] = GetInflationPrice(CarsFrac[pPressed[playerid]][1]) / 2;
			format(string, 512, "UPDATE "TABLE_VEH" SET model = %i, status = %i, cost=%i WHERE id = %i", VehInfo[i][vModel], VehInfo[i][vStatus], VehInfo[i][vCost], i);
			mysql_query(string);
			VehInfo[i][vVehicle] = CreateVehicle(VehInfo[i][vModel], VehInfo[i][vX], VehInfo[i][vY], VehInfo[i][vZ], VehInfo[i][vFa], VehInfo[i][vColor][0], VehInfo[i][vColor][1], 300);
			LinkVehicleToInterior(VehInfo[i][vVehicle], VehInfo[i][vInt]);
			SetVehicleVirtualWorld(VehInfo[i][vVehicle], VehInfo[i][vWorld]);
			Fuel[VehInfo[i][vVehicle]] = 200;
			Engine[VehInfo[i][vVehicle]] = false;
			Lights[VehInfo[i][vVehicle]] = false;
			SendMes(playerid, COLOR_BLUE, "Вы купили транспорт для организации %s (Слот №%i)", VehicleNameS[CarsFrac[pPressed[playerid]][0]-400], GetPVarInt(playerid, "FracCarsGangID")+1);
			if(PlayerInfo[playerid][pMember] == F_GROVE)
			{
				FracBank[0] -= GetInflationPrice(CarsFrac[pPressed[playerid]][1]);
				SetOtherInt("grovebank", FracBank[0]);
				SendMes(playerid, COLOR_BLUE, "Цена транспорта: %i долларов. Остаток на счете организации: %i долларов",GetInflationPrice(CarsFrac[pPressed[playerid]][1]), FracBank[0]);
			}
			if(PlayerInfo[playerid][pMember] == F_BALLAS)
			{
				FracBank[1] -= GetInflationPrice(CarsFrac[pPressed[playerid]][1]);
				SetOtherInt("ballasbank", FracBank[1]);
				SendMes(playerid, COLOR_BLUE, "Цена транспорта: %i долларов. Остаток на счете организации: %i долларов",GetInflationPrice(CarsFrac[pPressed[playerid]][1]), FracBank[1]);
			}
			if(PlayerInfo[playerid][pMember] == F_RIFA)
			{
				FracBank[2] -= GetInflationPrice(CarsFrac[pPressed[playerid]][1]);
				SetOtherInt("rifabank", FracBank[2]);
				SendMes(playerid, COLOR_BLUE, "Цена транспорта: %i долларов. Остаток на счете организации: %i долларов",GetInflationPrice(CarsFrac[pPressed[playerid]][1]), FracBank[2]);
			}
			if(PlayerInfo[playerid][pMember] == F_AZTECAS)
			{
				FracBank[3] -= GetInflationPrice(CarsFrac[pPressed[playerid]][1]);
				SetOtherInt("aztecasbank", FracBank[3]);
				SendMes(playerid, COLOR_BLUE, "Цена транспорта: %i долларов. Остаток на счете организации: %i долларов",GetInflationPrice(CarsFrac[pPressed[playerid]][1]), FracBank[3]);
			}
			if(PlayerInfo[playerid][pMember] == F_VAGOS)
			{
				FracBank[4] -= GetInflationPrice(CarsFrac[pPressed[playerid]][1]);
				SetOtherInt("vagosbank", FracBank[4]);
				SendMes(playerid, COLOR_BLUE, "Цена транспорта: %i долларов. Остаток на счете организации: %i долларов",GetInflationPrice(CarsFrac[pPressed[playerid]][1]), FracBank[4]);
			}
			if(PlayerInfo[playerid][pMember] == F_LCN)
			{
				FracBank[6] -= GetInflationPrice(CarsFrac[pPressed[playerid]][1]);
				SetOtherInt("lcnbank", FracBank[6]);
				SendMes(playerid, COLOR_BLUE, "Цена транспорта: %i долларов. Остаток на счете организации: %i долларов",GetInflationPrice(CarsFrac[pPressed[playerid]][1]), FracBank[6]);
			}
			if(PlayerInfo[playerid][pMember] == F_YAKUZA)
			{
				FracBank[5] -= GetInflationPrice(CarsFrac[pPressed[playerid]][1]);
				SetOtherInt("yakuzabank", FracBank[5]);
				SendMes(playerid, COLOR_BLUE, "Цена транспорта: %i долларов. Остаток на счете организации: %i долларов",GetInflationPrice(CarsFrac[pPressed[playerid]][1]), FracBank[5]);
			}
			if(PlayerInfo[playerid][pMember] == F_RM)
			{
				FracBank[7] -= GetInflationPrice(CarsFrac[pPressed[playerid]][1]);
				SetOtherInt("rmbank", FracBank[7]);
				SendMes(playerid, COLOR_BLUE, "Цена транспорта: %i долларов. Остаток на счете организации: %i долларов",GetInflationPrice(CarsFrac[pPressed[playerid]][1]), FracBank[7]);
			}
			DeletePVar(playerid, "FracCarsGangID");
			DeletePVar(playerid, "FracCarsSQLID");
			pPressed[playerid] = 0;
			DestroyVehicle(veh[playerid]);
		}
	case D_JOB+40:
		{
			if(!response) return 1;
			if(VehInfo[vehinfo_id[listitem]][vStatus] == 2)
			{
				DeletePVar(playerid, "InShop");
				return SendClientMessage(playerid, COLOR_GREY, "Данный слот занят!");
			}
			switch(PlayerInfo[playerid][pMember])
			{
			case F_GROVE: pPressed[playerid] = 0;
			case F_BALLAS: pPressed[playerid] = 4;
			case F_RIFA: pPressed[playerid] = 6;
			case F_AZTECAS: pPressed[playerid] = 8;
			case F_VAGOS: pPressed[playerid] = 11;
			case F_LCN: pPressed[playerid] = 16;
			case F_RM: pPressed[playerid] = 21;
			case F_YAKUZA: pPressed[playerid] = 23;
			}
			veh[playerid]=CreateVehicle(CarsFrac[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,GetVehFracColor(playerid),GetVehFracColor(playerid),10000);
			SetPlayerPos(playerid,616.1683,-124.3003,997.9922);
			SetPlayerFacingAngle(playerid,101.9068);
			SetPlayerInterior(playerid,3);
			SetPlayerVirtualWorld(playerid,playerid);
			TogglePlayerControllable(playerid,false);
			LinkVehicleToInterior(veh[playerid],3);
			SetVehicleVirtualWorld(veh[playerid],playerid);
			TextDrawShowForPlayer(playerid,VehNazv[playerid]);
			TextDrawShowForPlayer(playerid,VehCost[playerid]);
			TextDrawShowForPlayer(playerid,PressH);
			TextDrawShowForPlayer(playerid,PressA);
			TextDrawShowForPlayer(playerid,PressD);
			TextDrawShowForPlayer(playerid,PressC);
			TextDrawShowForPlayer(playerid,PressB);
			TextDrawShowForPlayer(playerid,VehBox);
			PutPlayerInVeh(playerid,veh[playerid],0);
			format(string,sizeof(string),"~w~%s",VehicleNameS[CarsFrac[pPressed[playerid]][0]-400]);
			TextDrawSetString(VehNazv[playerid],string);
			format(string,sizeof(string),"~g~$%d",GetInflationPrice(CarsFrac[pPressed[playerid]][1]));
			TextDrawSetString(VehCost[playerid],string);
			SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
			SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
			SetPVarInt(playerid, "FracCarsGangID", listitem);
			SetPVarInt(playerid, "FracCarsSQLID", vehinfo_id[listitem]);
		}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу