Просмотр полной версии : [Вопрос] Детали авто
Эм.. Возник не большой вопрос,есть-ли функция которая снимает детали (двери,капот,багажник и т.п.) с машины?
Если есть то можно пример использования :3
Salvacore
18.11.2013, 01:15
Я такого не разу не видел.
нет,нету.
Точно нету,т.к игра не позволяет.
Daniel_Cortez
18.11.2013, 16:35
Можешь поэкспериментировать с функцией UpdateVehicleDamageStatus:
http://wiki.sa-mp.com/wiki/UpdateVehicleDamageStatus
На вход функции подаётся 4 числа, в каждом из которых закодирована информация о состоянии панелей, дверей, фар и шин. Для примера представим число состояния дверей в двоичном виде:
0b00000100__00000011__00000001__00000000 // да, в Pawn числа для удобства можно разделять знаками подчёркивания
//^4-й байт ^3-й байт ^2-й байт ^1-й байт
1-й байт - состояние капота
2-й байт - состояние багажника
3-й байт - передняя левая дверь (водительская)
4-й байт - передняя правая дверь
Насчёт задних дверей - ими управлять нельзя (это уже ограничения самой GTA).
Как составляются состояния дверей:
1-й бит - открыто/закрыто (1/0)
2-й бит - объект повреждён/цел
3-й бит - объект отделён от машины/на месте
Остальные биты не имеют никакого назначения.
Теперь ещё раз посмотрим на пример:
0b00000100__00000011__00000001__00000000
// капот багажник лев.дверь пр.дверь
Правая дверь - закрыта(0), цела(0), не отделена(0).
Левая дверь - открыта (1), цела(0), не отделена(0).
Багажник - открыт(1), повреждён(1), стоит на месте(0).
Капот - закрыт(0), не повреждён(0), отвалился(1).
Чуть позже этот вопрос будет подробнее рассмотрен в одной из новых глав Учебника (http://pro-pawn.ru/showthread.php?4082).
Salvacore
18.11.2013, 17:10
Можешь поэкспериментировать с функцией UpdateVehicleDamageStatus:
http://wiki.sa-mp.com/wiki/UpdateVehicleDamageStatus
На вход функции подаётся 4 числа, в каждом из которых закодирована информация о состоянии панелей, дверей, фар и шин. Для примера представим число состояния дверей в двоичном виде:
0b00000100__00000011__00000001__00000000 // да, в Pawn числа для удобства можно разделять знаками подчёркивания ("_")
//^4-й байт ^3-й байт ^2-й байт ^1-й байт
1-й байт - состояние капота
2-й байт - состояние багажника
3-й байт - передняя левая дверь (водительская)
4-й байт - передняя правая дверь
Насчёт задних дверей - ими управлять нельзя (это уже ограничения самой GTA).
Как составляются состояния дверей:
1-й бит - открыто/закрыто (1/0)
2-й бит - объект повреждён/цел
3-й бит - объект отделён от машины/на месте
Остальные биты не имеют никакого назначения.
Теперь ещё раз посмотрим на пример:
0b00000100__00000011__00000001__00000000
// капот багажник лев.дверь пр.дверь
Правая дверь - закрыта(0), цела(0), не отделена(0).
Левая дверь - открыта (1), цела(0), не отделена(0).
Багажник - открыт(1), повреждён(1), стоит на месте(0).
Капот - закрыт(0), не повреждён(0), отвалился(1).
Чуть позже этот вопрос будет подробнее рассмотрен в одной из новых глав Учебника (http://pro-pawn.ru/showthread.php?4082).
Созрела идея.
Можешь поэкспериментировать с функцией UpdateVehicleDamageStatus:
http://wiki.sa-mp.com/wiki/UpdateVehicleDamageStatus
На вход функции подаётся 4 числа, в каждом из которых закодирована информация о состоянии панелей, дверей, фар и шин. Для примера представим число состояния дверей в двоичном виде:
0b00000100__00000011__00000001__00000000 // да, в Pawn числа для удобства можно разделять знаками подчёркивания ("_")
//^4-й байт ^3-й байт ^2-й байт ^1-й байт
1-й байт - состояние капота
2-й байт - состояние багажника
3-й байт - передняя левая дверь (водительская)
4-й байт - передняя правая дверь
Насчёт задних дверей - ими управлять нельзя (это уже ограничения самой GTA).
Как составляются состояния дверей:
1-й бит - открыто/закрыто (1/0)
2-й бит - объект повреждён/цел
3-й бит - объект отделён от машины/на месте
Остальные биты не имеют никакого назначения.
Теперь ещё раз посмотрим на пример:
0b00000100__00000011__00000001__00000000
// капот багажник лев.дверь пр.дверь
Правая дверь - закрыта(0), цела(0), не отделена(0).
Левая дверь - открыта (1), цела(0), не отделена(0).
Багажник - открыт(1), повреждён(1), стоит на месте(0).
Капот - закрыт(0), не повреждён(0), отвалился(1).
Чуть позже этот вопрос будет подробнее рассмотрен в одной из новых глав Учебника (http://pro-pawn.ru/showthread.php?4082).
В принципе интересно,под ночь правда толком уже не сооброжаю,завтра попробую подумать,просто на оф форуме есть тема,там что-то типа Alien car называеться или ещё как,дык вот,там небыло дверей на скрине,по сути как я понял их сразу нету,и на счет функции UpdateVehicleDamageStatus,эта функция вроде используеться в скрипте Сергамила,скрипт дает возможность наносить урон авто,дак вот,недавно смотрел этот скрипт,и при нанесении урона автомобилю,у него сначала отлетают двери,капт,багаж,бампера. дак вот я и подумал что есть спец.функция которая снимает определенный(стандартный) объект с авто,ну эдак подобных функций нет,будем химичить,только у меня просьба,может кто попробует сделать мне пример скрипта что-бы убрать допустим двери,ибо у меня времени в обрез из-за практики,а решить проблемку как-то очень надо,если что заранее очень благодарен :3
;18272']Эм.. Возник не большой вопрос,есть-ли функция которая снимает детали (двери,капот,багажник и т.п.) с машины?
Если есть то можно пример использования :3
Можно.
Функцию в моде MG видел....
Только с капотом :D
Возможно и по аналогии сделать и с дверьми чей.
просто храни это число в файле тачек
а изменяй так:
cardamage[vehicleid] |= (1<<4); // где 1 мы включаем повреждение, а 4 это число от 0 до 32, все 32 числа можешь подписать в define в начале мода чтоб не путаться
проверять цела или сломана эта часть можно так:
if(cardamage[vehicleid] & (1<<4))
{
// 4 часть сломана
}
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot