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;
}
Последнее редактирование:
