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

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

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

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

Проблема с системой авто

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

Daniil200xz

Дебютант
Проблема состоит в том что после удаления т/с через команду,когда заходишь в автосалон покупать т/с то оно принадлежит игроку которого удалили т/с.
команда удаление т/с
PHP:
COMMAND:deletecar(playerid, params[])
{
	if(PlayerLogin[playerid] != 1) return 1;
	if(AdminLog[playerid] != 1) return SendClientMessage(playerid,COLOR_FADE1,ADMINLOG);
	if(Player[playerid][pAdmin] <= 6) return  SendClientMessage(playerid, COLOR_WHITE, "Вам не доступна данная функция");
	DestroyVehicle(GetPlayerVehicleID(playerid));
	new query[120];
	format(query, sizeof(query), "DELETE FROM `cars` WHERE `ID` = '%d'", CarInfo[GetPlayerVehicleID(playerid)][ID]);
	mysql_query(query);
	new v = GetPlayerVehicleID(playerid);
    CarInfo[v][cX] = 0;
    CarInfo[v][cY] = 0;
    CarInfo[v][cZ] = 0;
    CarInfo[v][cR] = 0;
	StatCars--;
	SaveCar(v);
	ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Удаление т/с", "Вы успешно удалили Т/С", "Принять", "");
	return 1;
}
код покупки т/с
PHP:
else if(clickedid == three)
	{
		if(GetPlayerCash(playerid) < PlayerParam[playerid][paPriceVeh]) return ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Ошибка!", "К сожалению, с собой у вас нет нужной суммы для покупки!", "Принять", "");
		DestroyVehicle(GetPlayerVehicleID(playerid));
		SetPlayerVirtualWorld(playerid,0);
		SetCameraBehindPlayer(playerid);
		TogglePlayerControllable(playerid,1);
		TextDrawHideForPlayer(playerid,one); TextDrawHideForPlayer(playerid,two[playerid]);
		TextDrawHideForPlayer(playerid,three); TextDrawHideForPlayer(playerid,four); TextDrawHideForPlayer(playerid,five);
		new v;
		if(GetPVarInt(playerid,"AutoSalon") == 1)
		{
			v = CreateVehicle(PlayerParam[playerid][paModelVeh],2327.0679,-1810.8236,23.0770,1.0821,1,1, 60000*4);
			if(PlayerParam[playerid][paModelVeh]==509||PlayerParam[playerid][paModelVeh]==510||PlayerParam[playerid][paModelVeh]==481) SetVehicleParamsEx(v,1,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF);
			CarInfo[v][cX] = -50.9932; CarInfo[v][cY] = 949.1415; CarInfo[v][cZ] = 11.5625; CarInfo[v][cR] = 40.2234;
			SetVehicleToRespawn(v);
			SetPlayerPos(playerid,-42.3401,925.9064,12.3321);
			SetPVarInt(playerid,"AutoSalon",0);
		}
		/*else if(GetPVarInt(playerid,"AutoSalon") == 2)
		{
			v = CreateVehicle(PlayerParam[playerid][paModelVeh],2734.3086,-2450.7507,21.8921,359.1760,1,1, 60000*4);
			if(PlayerParam[playerid][paModelVeh]==509||PlayerParam[playerid][paModelVeh]==510||PlayerParam[playerid][paModelVeh]==481) SetVehicleParamsEx(v,1,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF);
			CarInfo[v][cX] = 2734.3086; CarInfo[v][cY] = -2450.7507; CarInfo[v][cZ] = 22.0770; CarInfo[v][cR] = 359.1760;
			SetVehicleToRespawn(v);
			SetPlayerPos(playerid,2734.3086,-2450.7507,21.8921);
		}
		else if(GetPVarInt(playerid,"AutoSalon") == 3)
		{
			v = CreateVehicle(PlayerParam[playerid][paModelVeh],600.4540,776.9465,12.1766,43.3,1,1, 60000*4);//600.4540,776.9465,12.1766
			if(PlayerParam[playerid][paModelVeh]==509||PlayerParam[playerid][paModelVeh]==510||PlayerParam[playerid][paModelVeh]==481) SetVehicleParamsEx(v,1,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF);
			CarInfo[v][cX] = 600.4540; CarInfo[v][cY] = 776.9465; CarInfo[v][cZ] = 12.1766; CarInfo[v][cR] = 270.2179;
			SetVehicleToRespawn(v);
			SetPlayerPos(playerid,600.4540,776.9465,12.1766);
		}*/
		new name[MAX_PLAYER_NAME];
		GetPlayerName(playerid, name, sizeof(name));
		GiveMoney(playerid, -PlayerParam[playerid][paPriceVeh]);
		Offices[10][oBank] += PlayerParam[playerid][paPriceVeh]/4;SaveOffices(10);UpdateOffices(10);
		Player[playerid][pMoney] = GetPlayerCash(playerid);
		format(Query, sizeof(Query), "UPDATE `players` SET `Money` = '%i' WHERE `ID` = '%i'", Player[playerid][pMoney], Player[playerid][pID]);
		mysql_query(Query);
		budget += PlayerParam[playerid][paPriceVeh]/4;
		new File:sfile = fopen("Settings.ini", io_write);
		if(sfile) { new buffer[256]; format(buffer, sizeof(buffer), "%d,%d,%d", budget, seeds, posobie); fwrite(sfile, buffer); fclose(sfile); }
		if(GetPVarInt(playerid,"BuyOrgVehicle") == 1)
		{
			strmid(CarInfo[v][cOwner], OrganizationInfo[Player[playerid][pLeader]][Name], 0, strlen(OrganizationInfo[Player[playerid][pLeader]][Name]), 24);
			CarInfo[v][cOrg] = Player[playerid][pLeader];
		}
		else strmid(CarInfo[v][cOwner], name, 0, strlen(name), 24);
		strmid(CarInfo[v][c2Owner], "No-Body", 0, strlen("No-Body"), 24);
		CarInfo[v][cModel] = PlayerParam[playerid][paModelVeh];
		CarInfo[v][cCost] = PlayerParam[playerid][paPriceVeh];
		CarInfo[v][cHeal] = 1000.0; CarInfo[v][cFuel] = 60;
		CarInfo[v][cColor][0] = 1; CarInfo[v][cColor][1] = 1;
		ChangeVehicleColor(v,1,1);
		CarInfo[v][cMileage] = 0.0;
		Delete3DTextLabel(CarLabel[v]);
		format(CarInfo[v][cNumber],64,"{7a130b}А123ВС");
		if(CarInfo[v][cModel]==509||CarInfo[v][cModel]==510||CarInfo[v][cModel]==481) SetVehicleParamsEx(v,1,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF);
		else if(CarInfo[v][cModel]!=509&&CarInfo[v][cModel]!=510&&CarInfo[v][cModel]!=481) SetVehicleParamsEx(v,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF);
		VEngine[v] = 0;
		PlayerCarBuy(v);
		ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "{FF8C00}Покупка транспорта", "Поздравляем вас с успешной покупкой автомобиля.\nУдачи вам на дорогах, соблюдайте ПДД.", "Принять", "");
		CancelSelectTextDraw(playerid);
		SetVehicleNumberPlate(v,"{7a130b}А123ВС");
		if(GetPVarInt(playerid,"BuyCars") == 1)
		{
			SetPVarInt(playerid,"BuyCars",0);
			Player[playerid][pCars] += 1;
			format(Query, sizeof(Query), "UPDATE `players` SET `Cars` = '%i' WHERE `ID` = '%i'", Player[playerid][pCars], Player[playerid][pID]);
			mysql_query(Query);
		}
		SetPVarInt(playerid,"CivCar",0); SetPVarInt(playerid,"OrgCar",0); SetPVarInt(playerid,"BuyOrgVehicle",0);SetPVarInt(playerid,"AutoSalon",0);
	}
PHP:
stock PlayerCarBuy(idx)
{
	new query[512];
	mysql_query("SELECT MAX(ID) FROM `cars`");
	mysql_store_result();
	new sqlid[32];
	mysql_fetch_row_format(sqlid,"|");
	new SQLID = strval(sqlid);
	SQLID++;
	CarInfo[idx][ID] = SQLID;
	format(query, sizeof(query), "INSERT INTO `cars` (`ID`, `Owner`, `Model`, `X`, `Y`, `Z`, `R`, `Org`, `Cost`, `Color1`, `Color2`) VALUE ('%d', '%s', '%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%d')",
	SQLID, CarInfo[idx][cOwner], CarInfo[idx][cModel], CarInfo[idx][cX], CarInfo[idx][cY], CarInfo[idx][cZ], CarInfo[idx][cR], CarInfo[idx][cOrg], CarInfo[idx][cCost], 1, 1);
	mysql_query(query);
	return true;
}
сохранение т/с
PHP:
stock SaveCar(v)
{
	CheckMySQLConnection();
	new query[1024], string[1024];
	GetVehicleHealth(v, CarInfo[v][cHeal]);
	GetVehicleDamageStatus(v,CarInfo[v][cDamage][0],CarInfo[v][cDamage][1], CarInfo[v][cDamage][2], CarInfo[v][cDamage][3]);
	format(string, sizeof(string), "UPDATE `cars` SET `Owner` = '%s', `2Owner` = '%s', `Model` = '%i', `X` = '%f', `Y` = '%f', `Z` = '%f', `R` = '%f', `Heal` = '%f', `Org` = '%i', `Fuel` = '%i', `Cost` = '%i',",
	CarInfo[v][cOwner],CarInfo[v][c2Owner],CarInfo[v][cModel],CarInfo[v][cX],CarInfo[v][cY],CarInfo[v][cZ],CarInfo[v][cR],CarInfo[v][cHeal],CarInfo[v][cOrg],CarInfo[v][cFuel],CarInfo[v][cCost]);
	strcat(query,string);
	format(string, sizeof(string), "`Color1` = '%i', `Color2` = '%i', `Lock` = '%i', `Damage1` = '%i', `Damage2` = '%i', `Damage3` = '%i', `Damage4` = '%i', `Teh` = '%i', `Key` = '%i', `Number` = '%s',",
	CarInfo[v][cColor][0],CarInfo[v][cColor][1],CarInfo[v][cLock],CarInfo[v][cDamage][0],CarInfo[v][cDamage][1],CarInfo[v][cDamage][2],CarInfo[v][cDamage][3],CarInfo[v][cTeh],CarInfo[v][cKey],CarInfo[v][cNumber]);
	strcat(query,string);
	format(string, sizeof(string), "`Mileage`='%f', `Weapon1`='%i', `Ammo1`='%i', `Weapon2`='%i', `Ammo2`='%i', `Weapon3`='%i', `Ammo3`='%i', `Seed`='%i', `Drugs`='%i', `Job`='%i', `Int`='%i', `World`='%i', `Arest`='%i', `Day`='%s', `Wheelstun`='%i', `Paintcar`='%i' WHERE `ID` = '%i'",
	CarInfo[v][cMileage],CarInfo[v][cWeapon1],CarInfo[v][cAmmo1],CarInfo[v][cWeapon2],CarInfo[v][cAmmo2],CarInfo[v][cWeapon3],CarInfo[v][cAmmo3],CarInfo[v][cSeed],CarInfo[v][cDrugs],CarInfo[v][cJob],CarInfo[v][cInt],CarInfo[v][cWorld],CarInfo[v][cArest],CarInfo[v][cDay],CarInfo[v][cWheelstun],CarInfo[v][cPaintcar],CarInfo[v][ID]);
	strcat(query,string);
	mysql_query(query);
	return 1;
}
Загрузка т/с
PHP:
stock LoadCars()
{
	new query[1024], v = 1;
	mysql_query("SELECT * FROM `cars`");
	mysql_store_result();
	while(mysql_fetch_row_format(query, "|"))
	{
		if(v > sizeof(CarInfo)) break;
		sscanf(query,"p<|>is[32]s[32]ifffffifiiiiiiiiiis[64]fiiiiiiiiiiiis[24]s[64]iii",
		CarInfo[v][ID],
		CarInfo[v][cOwner],
		CarInfo[v][c2Owner],
		CarInfo[v][cModel],
		CarInfo[v][cX],
		CarInfo[v][cY],
		CarInfo[v][cZ],
		CarInfo[v][cR],
		CarInfo[v][cHeal],
		CarInfo[v][cOrg],
		CarInfo[v][cFuel],
		CarInfo[v][cCost],
		CarInfo[v][cColor][0],
		CarInfo[v][cColor][1],
		CarInfo[v][cLock],
		CarInfo[v][cDamage][0],
		CarInfo[v][cDamage][1],
		CarInfo[v][cDamage][2],
		CarInfo[v][cDamage][3],
		CarInfo[v][cTeh],
		CarInfo[v][cKey],
		CarInfo[v][cNumber],
		CarInfo[v][cMileage],
		CarInfo[v][cWeapon1],
		CarInfo[v][cAmmo1],
		CarInfo[v][cWeapon2],
		CarInfo[v][cAmmo2],
		CarInfo[v][cWeapon3],
		CarInfo[v][cAmmo3],
		CarInfo[v][cSeed],
		CarInfo[v][cDrugs],
		CarInfo[v][cJob],
		CarInfo[v][cInt],
		CarInfo[v][cWorld],
		CarInfo[v][cArest],
		CarInfo[v][cDay],
		CarInfo[v][cNam],
		CarInfo[v][cAlarm],
		CarInfo[v][cWheelstun],
		CarInfo[v][cPaintcar]);
		StatCars++; v++;
	}
	mysql_free_result();
	printf("Загружено %d Т/С", StatCars);
	return 1;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу