Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для Andrik851
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±

    Проверка авто по координатам

    Доброго времени суток помогите пожалуйста разобраться с этой системой. У меня есть система штрафстоянки как мне правильно прописать проверку на координаты имеется ли мое авто на этиз координатах или нет .Заранее огромное спасибо

    вот код который я сделал но тут куча ошибок
    PHP код:
        if(pickupid == Pickup[46])// штрафстоянка
        
    {
        if(
    CarInfo[p][i][cModel], SalonRandSpawn[r][0], SalonRandSpawn[r][1], SalonRandSpawn[r][2], SalonRandSpawn[r][3], CarInfo[p][i][cColor1], CarInfo[p][i][cColor2], 90000) return SendClientMessage(playeridCOLOR_GREY"{BEBEBE}[INFO] Вашего авто нет на страфстоянке!");
        {
            
    ShowPlayerDialog(playeridD_PODEZD+8,DIALOG_STYLE_MSGBOX,"{FFCC00}Штрафстоянка","{ffffff}Вы не припоркавали свое авто и Вам был выписан штраф в размере {FFCC00}5000 рублей?""Забрать""Нет");
        }
        } 
    Последний раз редактировалось Andrik851; 07.07.2019 в 19:07.

  2. #2
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Используйте GetVehiclePos и VectorSize.
    Впрочем, не факт, что стоит сверять по координатам, ибо, если я правильно понял из кода в предыдущей вашей теме, статус нахождения авто на штрафстоянке у вас уже записывается в PlayerInfo.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  3. #3
    Аватар для Andrik851
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Используйте GetVehiclePos и VectorSize.
    Впрочем, не факт, что стоит сверять по координатам, ибо, если я правильно понял из кода в предыдущей вашей теме, статус нахождения авто на штрафстоянке у вас уже записывается в PlayerInfo.
    Да при заходе он если не припаркован был автоматически отправлялся на стоянку возле автосалона я эти координаты изменил на штрафстоянку и теперь когда заходе на чекпомнт не зависимо ваше авто на страфстоянке или нет всеровно требует заплатить штраф вот я создал эту тему чтобы такого не было

  4. #4
    Аватар для punkochel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2018
    Адрес
    Россия
    Сообщений
    146
    Репутация:
    25 ±
    PHP код:
    if(pickupid == Pickup[46])// штрафстоянка
    {
        
    // При условии что cId - Это ид авто (Не модель!), а r[0],r[1],r[2] - координаты x,y,z;
        
    if(GetVehiclePos(CarInfo[p][i][cId], SalonRandSpawn[r][0], SalonRandSpawn[r][1], SalonRandSpawn[r][2])) return SendClientMessage(playeridCOLOR_GREY"{BEBEBE}[INFO] Вашего авто нет на страфстоянке!");
        {
            
    ShowPlayerDialog(playeridD_PODEZD+8,DIALOG_STYLE_MSGBOX,"{FFCC00}Штрафстоянка","{ffffff}Вы не припоркавали свое авто и Вам был выписан штраф в размере {FFCC00}5000 рублей?""Забрать""Нет");
        }

    Дело в том, что непонятно откуда у вас взялся массив r[], если смотреть по предыдущему посту, у вас в CarInfo нет таких переменных. Очень много непонятных обращений к массивам... Я бы вам посоветовал разобраться в основах программирования, если вы хотите развиваться в pawn, то могу посоветовать учебники: http://pawn-wiki.ru/index.php?/topic...uchebnik-pawn/ и http://pro-pawn.ru/showthread.php?4082

  5. #5
    Аватар для Andrik851
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±
    Цитата Сообщение от punkochel Посмотреть сообщение
    PHP код:
    if(pickupid == Pickup[46])// штрафстоянка
    {
        
    // При условии что cId - Это ид авто (Не модель!), а r[0],r[1],r[2] - координаты x,y,z;
        
    if(GetVehiclePos(CarInfo[p][i][cId], SalonRandSpawn[r][0], SalonRandSpawn[r][1], SalonRandSpawn[r][2])) return SendClientMessage(playeridCOLOR_GREY"{BEBEBE}[INFO] Вашего авто нет на страфстоянке!");
        {
            
    ShowPlayerDialog(playeridD_PODEZD+8,DIALOG_STYLE_MSGBOX,"{FFCC00}Штрафстоянка","{ffffff}Вы не припоркавали свое авто и Вам был выписан штраф в размере {FFCC00}5000 рублей?""Забрать""Нет");
        }

    Дело в том, что непонятно откуда у вас взялся массив r[], если смотреть по предыдущему посту, у вас в CarInfo нет таких переменных. Очень много непонятных обращений к массивам... Я бы вам посоветовал разобраться в основах программирования, если вы хотите развиваться в pawn, то могу посоветовать учебники: http://pawn-wiki.ru/index.php?/topic...uchebnik-pawn/ и http://pro-pawn.ru/showthread.php?4082
    Все эти массивы били взяты от сюда. Это когда при заходе на сервер если вы перед выходом не припарковали авто его рандомно отправляет по координатам штрафстоянки. А все эти массывы бы находятс в загрузке авто при заходе на сервер
    PHP код:
    void LoadMyCar(p)
    {
        new 
    rowsfields;
        
    cache_get_data(rowsfields);
        if(!
    rows) return true;
        new 
    c,bufer[70];
        for(new 
    irowsi++)
         {
            
    CarInfo[p][i][cId]            =    cache_get_field_content_int(i"id");
            
    CarInfo[p][i][cModel]        =    cache_get_field_content_int(i"cModel");
            
    CarInfo[p][i][cX]            =    cache_get_field_content_float(i"cX");
            
    CarInfo[p][i][cY]            =    cache_get_field_content_float(i"cY");
            
    CarInfo[p][i][cZ]            =    cache_get_field_content_float(i"cZ");
            
    CarInfo[p][i][cFa]            =    cache_get_field_content_float(i"cFa");
            
    CarInfo[p][i][cFuel]        =    cache_get_field_content_int(i"cFuel");
            
    CarInfo[p][i][cProbeg]        =    cache_get_field_content_int(i"cProbeg");
            
    cache_get_field_content(i"cNumber"CarInfo[p][i][cNumber], ConBD40);
            
    CarInfo[p][i][cCarAr]        =    cache_get_field_content_int(i"cCarAr");
            
    CarInfo[p][i][cClass]        =   cache_get_field_content_int(i"cClass");
            
    CarInfo[p][i][cColor1]        =   cache_get_field_content_int(i"cColor1");
            
    CarInfo[p][i][cColor2]        =   cache_get_field_content_int(i"cColor2");
            
    CarInfo[p][i][cLock]        =    cache_get_field_content_int(i"cLock");
            
    CarInfo[p][i][cCost]        =    cache_get_field_content_int(i"cCost");
            
    CarInfo[p][i][cHealth]        =     cache_get_field_content_float(i"cHealth");
            
    cache_get_field_content(i"cDamage"buferConBD70);
            
    cache_get_field_content(i"cVehcom"CarInfo[p][i][cVehcom], ConBD64);
            
    sscanf(CarInfo[p][i][cVehcom], "p<,>a<i>[14]",CarInfo[p][i][cVehcoms]);
            
    CarInfo[p][i][cPaintjob]    =    cache_get_field_content_int(i"cPaintjob");
            
    CarInfo[p][i][cMoney]        =    cache_get_field_content_int(i"cMoney");
            
    CarInfo[p][i][cKan]            =   cache_get_field_content_int(i"cKan");
            
    CarInfo[p][i][cDeer]        =   cache_get_field_content_int(i"cDeer");
            
    //========================= номера авто ========================================
            
            
    if(CarInfo[p][i][cX] == && CarInfo[p][i][cY] == && CarInfo[p][i][cZ] == 0)
            {
                new 
    aShop();
                
    CreateVehicle(CarInfo[p][i][cModel], SalonRandSpawn[r][0], SalonRandSpawn[r][1], SalonRandSpawn[r][2], SalonRandSpawn[r][3], CarInfo[p][i][cColor1], CarInfo[p][i][cColor2], 90000);
                
    ShowPlayerDialog(pD_NULL0"# Автосалон | {FFD700}FAQ""{FFFFFF}Вы не припарковали Ваш автомобиль перед выходом.\n\
                {FFFFFF}Забрать Ваш автомобиль вы можете на штрафстоянке ГиБДД .\n\
                {CD5C5C}Постарайтесь не забыть припарковать Ваш автомобиль в этот раз."
    "Закрыть""");
            }
            else 
    CreateVehicle(CarInfo[p][i][cModel], CarInfo[p][i][cX], CarInfo[p][i][cY], CarInfo[p][i][cZ], CarInfo[p][i][cFa], CarInfo[p][i][cColor1], CarInfo[p][i][cColor2], 90000);
            
    sscanf(bufer"p<,>a<i>[4]"DamageS[c]);
            
    CarInfo[p][i][cCarId] = c;
            
    CarDoors(cCarInfo[p][i][cLock]);
            
    Fuel[c] = CarInfo[p][i][cFuel];
            
    Probeg[c] = CarInfo[p][i][cProbeg];
            
    SetVehicleHealth(cCarInfo[p][i][cHealth]);
            
    UpdateVehicleDamageStatus(cDamageS[c][0],DamageS[c][1],DamageS[c][2],DamageS[c][3]);
            
    Engine[c] = false;
            
    Lights[c] = false;
            
    SetVehicleNumberPlate(c,CarInfo[p][i][cNumber]);
            switch(
    CarInfo[p][i][cLock])
            {
                case 
    0IsLocked[c] = false;
                case 
    1IsLocked[c] = true;
            }
            
    NumberCode(pifalse);
            
    SetCarNumber(cCarInfo[p][i][cNumber]);//3D номера
            
    SetVehicleTuning(pi);
         }
        return 
    true;


 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •