Створення скриптів в GTA 5 на C#: інтерактивне меню за допомогою NativeUI: частина друга
![](/uploads/posts/2018-11/1637945198_3721_bp.jpg)
>>> Частина перша <<
У минулій частині уроку ми додали в меню можливість скидання рівня розшуку та отримання будь-якої зброї. Також ми з'ясували, яким чином створюються підменю. Давай трохи реорганізуємо наш код, створивши підменю гравця та підменю зброї, помістивши відповідні пункти в ці підменю:
Тепер трохи відредагуємо функцію Setup:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542137874_2.png)
Щоб зробити код більш читабельним, я зроблю кілька функцій для кожного типу: гравець і зброя.
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542137831_3.png)
Давай очистимо деякий код з видачею зірок розшуку, як ми зробили з селектором зброї, і помістимо все в одну функцію:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542137936_4.png)
Я видалила інший код з onMainMenuItemSelect, оскільки тепер він марний. Нам також потрібно змінити одну строку коду в нашому селекторі зброї:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542137955_5.png)
Також ми повинні видалити виклик WeaponselectorMenu() в конструкторі і замість цього помістити SetupPlayerWeapons в Setup:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542137946_6.png)
Чудово! Тепер давай зробимо підменю транспорту та додамо селектор автомобілів (як ми зробили з селектором зброї), а також спосіб спавну авто за його назвою. Почнемо з меню:
І відредагуємо нашу функцію Setup:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542138013_8.png)
Тепер створимо метод SetupVehicleFunction:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542137982_9.png)
Чудово! Тепер тут ми помістимо всі наші функції автомобіля. Почнемо з селектора авто:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542137970_10.png)
Реалізація схожа на селектор зброї, тому я не буду коментувати цей код повторно. Створимо вибраний автомобіль і помістимо в нього гравця:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542138017_11.png)
Давай помістимо цю функцію в SetupVehicleFunctions і перевіримо працездатність у грі:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542138134_12.png)
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542138173_gta5-2018-11-13-21-40-37-74.png)
Чудово! Все працює. Тепер дамо гравцеві можливість створити автомобіль за його назвою моделі. Це досить просто. Почнемо зі створення нової функції та елемента меню:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542138188_13.png)
Використаємо функцію Game.GetUserInput, яка створює поле введення і повертає введену строку:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542138160_14.png)
Тепер необхідно перевірити, чи є така модель у грі. Гравець може ввести будь-який набір випадкових символів, що може призвести до краху гри. Тому не забудь додати перевірку на валідність моделі:
Створюємо автомобіль і садимо в нього гравця:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542138149_16.png)
Запишемо нашу функцію в SetupVehicleFunctions і перевіримо код у грі:
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542138278_gta5-2018-11-13-21-40-44-61.png)
![Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая Создание скриптов в GTA 5 на C#: интерактивное меню с помощью NativeUI: часть вторая](https://libertycity.ru/uploads/posts/2018-11/thumbs/1542138229_gta5-2018-11-13-21-40-47-88.png)
Все працює. Додамо останню функцію в меню зброї - отримати все існуюче зброю в грі. Створимо нову функцію:
І додамо функціонал, який практично нічим не відрізняється від того, який ми використовували раніше:
Рекомендуемые файлы
Створювач і розробник - Evgenii Sokolov
При використанні матеріалів посилання на LibertyCity.Ru обов'язкове.