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

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±

    Детали авто

    Эм.. Возник не большой вопрос,есть-ли функция которая снимает детали (двери,капот,багажник и т.п.) с машины?
    Если есть то можно пример использования :3

  2. #2
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Я такого не разу не видел.
    нет,нету.
    Точно нету,т.к игра не позволяет.

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Можешь поэкспериментировать с функцией UpdateVehicleDamageStatus:

    На вход функции подаётся 4 числа, в каждом из которых закодирована информация о состоянии панелей, дверей, фар и шин. Для примера представим число состояния дверей в двоичном виде:
    PHP код:
    0b00000100__00000011__00000001__00000000 // да, в Pawn числа для удобства можно разделять знаками подчёркивания
    //^4-й байт ^3-й байт ^2-й байт ^1-й байт 
    1-й байт - состояние капота
    2-й байт - состояние багажника
    3-й байт - передняя левая дверь (водительская)
    4-й байт - передняя правая дверь
    Насчёт задних дверей - ими управлять нельзя (это уже ограничения самой GTA).

    Как составляются состояния дверей:
    1-й бит - открыто/закрыто (1/0)
    2-й бит - объект повреждён/цел
    3-й бит - объект отделён от машины/на месте
    Остальные биты не имеют никакого назначения.

    Теперь ещё раз посмотрим на пример:
    PHP код:
    0b00000100__00000011__00000001__00000000
    //  капот   багажник  лев.дверь пр.дверь 
    Правая дверь - закрыта(0), цела(0), не отделена(0).
    Левая дверь - открыта (1), цела(0), не отделена(0).
    Багажник - открыт(1), повреждён(1), стоит на месте(0).
    Капот - закрыт(0), не повреждён(0), отвалился(1).

    Чуть позже этот вопрос будет подробнее рассмотрен в одной из новых глав Учебника.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  4. 2 пользователя(ей) сказали cпасибо:
    Salvacore (18.11.2013) [ForD] (18.11.2013)
  5. #4
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Можешь поэкспериментировать с функцией UpdateVehicleDamageStatus:

    На вход функции подаётся 4 числа, в каждом из которых закодирована информация о состоянии панелей, дверей, фар и шин. Для примера представим число состояния дверей в двоичном виде:
    PHP код:
    0b00000100__00000011__00000001__00000000 // да, в Pawn числа для удобства можно разделять знаками подчёркивания ("_")
    //^4-й байт ^3-й байт ^2-й байт ^1-й байт 
    1-й байт - состояние капота
    2-й байт - состояние багажника
    3-й байт - передняя левая дверь (водительская)
    4-й байт - передняя правая дверь
    Насчёт задних дверей - ими управлять нельзя (это уже ограничения самой GTA).

    Как составляются состояния дверей:
    1-й бит - открыто/закрыто (1/0)
    2-й бит - объект повреждён/цел
    3-й бит - объект отделён от машины/на месте
    Остальные биты не имеют никакого назначения.

    Теперь ещё раз посмотрим на пример:
    PHP код:
    0b00000100__00000011__00000001__00000000
    //  капот   багажник  лев.дверь пр.дверь 
    Правая дверь - закрыта(0), цела(0), не отделена(0).
    Левая дверь - открыта (1), цела(0), не отделена(0).
    Багажник - открыт(1), повреждён(1), стоит на месте(0).
    Капот - закрыт(0), не повреждён(0), отвалился(1).

    Чуть позже этот вопрос будет подробнее рассмотрен в одной из новых глав Учебника.
    Созрела идея.

  6. #5
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Можешь поэкспериментировать с функцией UpdateVehicleDamageStatus:

    На вход функции подаётся 4 числа, в каждом из которых закодирована информация о состоянии панелей, дверей, фар и шин. Для примера представим число состояния дверей в двоичном виде:
    PHP код:
    0b00000100__00000011__00000001__00000000 // да, в Pawn числа для удобства можно разделять знаками подчёркивания ("_")
    //^4-й байт ^3-й байт ^2-й байт ^1-й байт 
    1-й байт - состояние капота
    2-й байт - состояние багажника
    3-й байт - передняя левая дверь (водительская)
    4-й байт - передняя правая дверь
    Насчёт задних дверей - ими управлять нельзя (это уже ограничения самой GTA).

    Как составляются состояния дверей:
    1-й бит - открыто/закрыто (1/0)
    2-й бит - объект повреждён/цел
    3-й бит - объект отделён от машины/на месте
    Остальные биты не имеют никакого назначения.

    Теперь ещё раз посмотрим на пример:
    PHP код:
    0b00000100__00000011__00000001__00000000
    //  капот   багажник  лев.дверь пр.дверь 
    Правая дверь - закрыта(0), цела(0), не отделена(0).
    Левая дверь - открыта (1), цела(0), не отделена(0).
    Багажник - открыт(1), повреждён(1), стоит на месте(0).
    Капот - закрыт(0), не повреждён(0), отвалился(1).

    Чуть позже этот вопрос будет подробнее рассмотрен в одной из новых глав Учебника.
    В принципе интересно,под ночь правда толком уже не сооброжаю,завтра попробую подумать,просто на оф форуме есть тема,там что-то типа Alien car называеться или ещё как,дык вот,там небыло дверей на скрине,по сути как я понял их сразу нету,и на счет функции UpdateVehicleDamageStatus,эта функция вроде используеться в скрипте Сергамила,скрипт дает возможность наносить урон авто,дак вот,недавно смотрел этот скрипт,и при нанесении урона автомобилю,у него сначала отлетают двери,капт,багаж,бампера. дак вот я и подумал что есть спец.функция которая снимает определенный(стандартный) объект с авто,ну эдак подобных функций нет,будем химичить,только у меня просьба,может кто попробует сделать мне пример скрипта что-бы убрать допустим двери,ибо у меня времени в обрез из-за практики,а решить проблемку как-то очень надо,если что заранее очень благодарен :3
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  7. #6
    Аватар для bredvix
    Старичок

    Статус
    Оффлайн
    Регистрация
    01.08.2013
    Адрес
    Нижний Новгород
    Сообщений
    480
    Репутация:
    183 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    Эм.. Возник не большой вопрос,есть-ли функция которая снимает детали (двери,капот,багажник и т.п.) с машины?
    Если есть то можно пример использования :3
    Можно.
    Функцию в моде MG видел....
    Только с капотом :D
    Возможно и по аналогии сделать и с дверьми чей.

  8. #7
    Аватар для Pop
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.11.2013
    Сообщений
    9
    Репутация:
    3 ±
    просто храни это число в файле тачек

    а изменяй так:
    PHP код:
    cardamage[vehicleid] |= (1<<4); // где  1 мы включаем повреждение, а 4 это число от 0 до 32, все 32 числа можешь подписать в define в начале мода чтоб не путаться 
    проверять цела или сломана эта часть можно так:
    PHP код:
    if(cardamage[vehicleid] & (1<<4)) 
    {
    // 4 часть сломана


  9. Пользователь сказал cпасибо:
    [ForD] (23.05.2014)
 

 

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

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

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

Ваши права

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