Oleg_Tim
Умник
И так начну сначала, это команда сделана для тех у кого есть автосалон, то есть загрузка авто на продажу идёт из файла ( ЛАРП и т.п. )
И так:
В enum cInfo добавляем:
В LoadCar(); Или у вас другой паблик, делаем по своему
В OnPropUpdate, ищем всё что связанно с машинами, и добавляем туда
Так же прибавляем к такой строчке ( Примерно такой )
Далее в OnGameModInit вставляем
Далее в public OnVehicleDeath вставляем это
В OnPlayerCommandText добавляем саму команду получения номера
Дальше в конец мода добавляем паблик
Ну вот вроде и всё, осталось только добавить в команду продажи авто, перед OnPropUpdate
И так:
В enum cInfo добавляем:
PHP:
cTeh,
cNomer,
PHP:
new arrCoords[15][64];// Как получить 15? Надо взять последний компонет( будем называть его так xD ) и прибавить к нему 1
CarInfo[idx][cNomer] = strval(arrCoords[13]);// где 13 это последний компонет, думаю там будет понятно
CarInfo[idx][cTeh] = strval(arrCoords[14]);// тоже что и 13
PHP:
CarInfo[idx][cNomer],//13
CarInfo[idx][cTeh]);//14
PHP:
format(coordsstring, sizeof(coordsstring), "%d,%f,%f,%f,%f,%d,%d,%s,%s,%d,%s,%d,%d,%d\n",
%d,%d// и в конце должна стоять \n
PHP:
for(new i = 7; i <91; i++)// тут 7 ид авто с которого начинаются авто на продажу, 91 последняя машина на продажу
{
if(CarInfo[i][cTeh] == 1)
{
format(string,sizeof(string),"{000000}SA %d RC",CarInfo[i][cNomer]);
SetVehicleNumberPlate(i,string);
SetVehicleToRespawn(i);
}
else
{
format(string,sizeof(string)," ",i);
SetVehicleNumberPlate(i,string);
SetVehicleToRespawn(i);
}
}
PHP:
new string[256];
for(new i = 7; i <91; i++)// опять же , 7 ид первой машины на продажу, 91 последней
{
if(CarInfo[i][cTeh] == 1)
{
format(string,sizeof(string),"{000000}SA %d RC",CarInfo[i][cNomer]);
SetVehicleNumberPlate(i,string);
}
else
{
format(string,sizeof(string)," ",i);
SetVehicleNumberPlate(i,string);
}
}
PHP:
if (strcmp("/regveh", cmdtext, true, 10) == 0)
{
new v = GetPlayerVehicleID(playerid);
new Float:hp;
if (PlayerToPointS(4.0, playerid, 209.0753,-8.2579,2.5565) && IsAnOwnableCar(v))// Ваши координаты, IsAnOwnableCar это проверка на машину если она на продажу, если не нужна удалите
{
if(CarInfo[v][cOwned] != 1)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "(( Это авто, невозможно зарегистрировать на вас ))");
return 1;
}
GetVehicleHealth(v, hp);
if(hp < 950)// проверка на хп
{
SendClientMessage(playerid, COLOR_LIGHTRED, " Ваше транспортное стредство не прошло техосмотр ");
return 1;
}
if(!IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid, COLOR_LIGHTRED, " Техосмотр проходят с машиной ");
return 1;
}
if(CarInfo[v][cTeh]==1)// проверка на техосмотр
{
SendClientMessage(playerid, COLOR_LIGHTRED, " Вы уже прошли техосмотр ");
return 1;
}
CarInfo[v][cTeh]=1;
new randnumber = 100 + random(999);
CarInfo[v][cNomer] = randnumber;
SetTimerEx("Tehocmotp",33000,false, "i", playerid);
SendClientMessage(playerid, COLOR_GREEN, "Ожидайте идёт техосмотр (( 2-3 минуты ))" );
TogglePlayerControllable(playerid, 0);
OnPropUpdate();
return 1;
}
return 1;
}
PHP:
forward Tehocmotp(playerid);
public Tehocmotp(playerid)
{
if(IsPlayerConnected(playerid))
{
new string[256];
new v = GetPlayerVehicleID(playerid);
SendClientMessage(playerid, COLOR_GRAD1, " Вы успешно прошли технический осмотр транспорта! ");
new Float:x,Float:y,Float:z,Float:ang;
new Float:a;
GetVehiclePos(v, x, y, z);
GetVehicleZAngle(v, a);
CarInfo[v][cLocationx] = x;
CarInfo[v][cLocationy] = y;
CarInfo[v][cLocationz] = z;
CarInfo[v][cAngle] = a;
format(string,sizeof(string)," На вашу машину поставлены номера: SA %d RC",CarInfo[v][cNomer]);
SendClientMessage(playerid,COLOR_YELLOW,string);
format(string,sizeof(string)," {000000}SA %d RC",CarInfo[v][cNomer]);
SetVehicleNumberPlate(v,string);
GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
GetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
SetVehicleToRespawn(GetPlayerVehicleID(playerid));
SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
PutPlayerInVehicle(playerid,GetPlayerVehicleID(playerid),0);
SetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
TogglePlayerControllable(playerid, 1);
}
return 1;
}
PHP:
CarInfo[cTeh] = 0;
CarInfo[cNomer] = 0;
Последнее редактирование:
