Доброго дня. Ще такі моменти є: 1. як зробити, щоб двері відчинилися ключем? Не можу знайти цей інструмент. 2. Як зупиняти func_rotating або func_bobbing кнопкою (func_button)? Бо виходить тільки запустити функцію. Дякую.
@shsYoshik
Жыл бұрын
Вітаю. 1. Дверям додайте параметр Key -1, вони тепер закриті і вимагають "ключ". Далі в нас піде ланцюжок hint_invisible_user --> target_relay --> target_lock (з параметром Key 0) --> двері після чого вони отримують статус відчинено якщо гравець активує. Щоб зробити красиво: через misc_gamemodel кладемо 3д модель ключа, поверх нього розміщуємо hint_invisible_user його коннектимо до двух target_relay одного пускаємо на target_lock щоб відкрити двері і на target_kill щоб "вбити" модель ключа, інший релай на другий target_kill щоб вбити hint_invisible_user. По бажанню, до любого із релаїв можна додати target_speaker із відповідним звуком піднімання ключа і target_print щоб поінформувати гравця що саме він "підібрав". І в нас виходить слідуюче, гравець бере ключ, зникає сам ключ і можливість те місце активовувати, зачинені двері стають відчинені. 2. В звичному розумінні їх зупинити не можна, але в більшості ігри нас обманюють, тому і тут треба так зробити. Через func_static робите зупинене те що у вас там крутиться, колихається, з активним параметром start invisible (невидимий на старті). Далі можна hint_invisible_user --> target_relay -->func_static (зявиться наш зупинений варіант) і до релая добавити target_kill --> func_rotating щоб "вбити" крутілку. Мінуси: зупинка візуально буде різкою, тому треба в ланцюжок додати відповідний звук, повторно запустити після зупинки крутілку не вийде, річ одноразова. Для багаторазових включень\виключень і плавного зупинення\старту краще робити крутілку через script_mover, хоч там роботи і мороки набагато більше.
@diamondelitemusic7686
Жыл бұрын
Доброго вечора. Що робити, якщо у грі не відображається те, що робив у радіанті на певному етапі (не відображаються браші або вороги, не видаляються і не додаються) ?
@shsYoshik
Жыл бұрын
Вітаю. Видаліть .bsp та .rcd файли які відносяться до вашого рівня, також файл hunkusage.dat із директорії Main. Проведіть свіжу компіляцію, та запускайте потім ваш рівень.
@diamondelitemusic7686
Жыл бұрын
@@shsYoshik дякую! Що б я без вас робив)
@diamondelitemusic7686
Жыл бұрын
@@shsYoshik нажаль, не допомогло. Є якісь ще варіанти вирішення цієї проблеми?
@shsYoshik
Жыл бұрын
@@diamondelitemusic7686 Спробуйте переіменувати свіжу версію мапи та запустити. Якщо зміни видимі, то як варіант видаліть ще автосейви рівня, він також містить кешовані дані про мапу з якого гра може підгружати старіші дані про рівень. Якщо все робите в середовищі Рілмода то ще можна почистити в дирекотрії Мої документи.
@diamondelitemusic7686
Жыл бұрын
Вітаю. Не можу знайти функцію для вертикального або горизонтального переміщення, наприклад для ліфтів. Знаєте, що роботи?
@shsYoshik
Жыл бұрын
Привіт. Ліфт робиться через скрипт_мувер як на відео в моменті зі стіною. Тіко скрипт на ліфт буде трохи складнішим, щоб він містив два тригери події. Наприклад move_dest1 для руху вгору і move_dest2 для руху вниз. Патчкорнери ті самі будуть тіки у випадку вниз у зворотньому порядку - вгору point_01 - point_02, вниз point_02 - point_01 (ну або ліво-право якщо горизонтальний). Кнопки щоб задіяти, на самій мапі напроти кнопки зробіть браш зафарбуйте в common/trigger присвойте йому ентіні func - func_invisible_user натисніть потім N і вбийте ключі Key: cursorhint Value: hint_activate Створіть поряд ентіні target_relay та target_script_trigger. Заселектуйте func_invisible_user та target_relay потім натисність Ctrl+K вони зєднаються стрілочкою до релая. Заселектуйте target_relay та target_script_trigger потім натисність Ctrl+K вони зєднаються стрілочкою до скріпт_тріггера. Виділіть скрипт_тріггер натисніть N вбийте ключі Key: ainame Value: player Key:target Value: knopka01 Тепер ідемо до файла імя_рівня.ai В частині коду гравця створюємо подію trigger knopka01
@shsYoshik
Жыл бұрын
Продовження... trigger move_to_start { trigger move_lift move_to_start } trigger knopka01 { move_lift move_to_destination1 } робимо все те саме для іншої кнопки яка буде вгорі, з різницею що таргет скрипт_тріггера буде вже knopka02 в імя_рівня.ai trigger knopka02 { move_lift move_to_destination2 } відкриваємо тепер імя_рівня.script move_lift { trigger move_to_destination1 { trigger lift move_dest1 } trigger move_to_destination2 { trigger lift move_dest2 } trigger move_to_start { trigger lift move_start } }
Пікірлер: 19