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

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

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

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

Создание техосмотра с сохранением номера [0.3с]

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

Oleg_Tim

Умник
И так начну сначала, это команда сделана для тех у кого есть автосалон, то есть загрузка авто на продажу идёт из файла ( ЛАРП и т.п. )

И так:
В enum cInfo добавляем:
PHP:
cTeh,
cNomer,
В LoadCar(); Или у вас другой паблик, делаем по своему
PHP:
new arrCoords[15][64];// Как получить 15? Надо взять последний компонет( будем называть его так xD ) и прибавить к нему 1  
CarInfo[idx][cNomer] = strval(arrCoords[13]);// где 13 это последний компонет, думаю там будет понятно
CarInfo[idx][cTeh] = strval(arrCoords[14]);// тоже что и 13
В OnPropUpdate, ищем всё что связанно с машинами, и добавляем туда
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
Далее в OnGameModInit вставляем
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);
}
}
Далее в public OnVehicleDeath вставляем это
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);
}
}
В OnPlayerCommandText добавляем саму команду получения номера
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;
}
Ну вот вроде и всё, осталось только добавить в команду продажи авто, перед OnPropUpdate
PHP:
CarInfo[cTeh] = 0;
CarInfo[cNomer] = 0;
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу