Apple Norris

+1723
с 2019
7 подписчиков
56 подписок

Собственно, скрипт из Обливиона. Квест Хермеуса Моры на убийство представителей десяти рас.
Заклинание накладывается на одно существо, затем проверяет на кого наложилось и при смерти того, на кого наложено, засчитывает расу в счётчик.
Буквально наследование по ООП.

Самое ироничное в том, что всё, что нужно для правильной работы игры - в Криейшене давно есть. Причём зачастую даже лучше, чем в том же анрыле.
Проблема в Беседке, которые буквально никогда не делали доделанных игр. Вон, как пример можно взять Эндерал, который фанаты смастерили за два года. Или The Forgotten City, который сперва вышел как мод, отполированный настолько, что весь концепт полностью перешёл в полноразмерную игру.

Как и принимать то, что сам движок не говно, по причине того, что как ты говоришь, в нём "модельки в модельки заходят". Что есть буквально везде, где никто не прорабатывал мелочи. А Беседки и проработка мелочей - нечто довольно невообразимое.

Таки проверки на самого себя и на то, надевает ли предмет игрок - есть. И даже может заставить актёра player получить урон.
По сути, это зачаточное ООП, как оно есть.
На сколько я помню, эта система сильно расширилась уже в Обливионе, потому что там уже можно было выбирать актёра по ID, но самого Обливиона с редактором под рукой нет, чтобы проверить.
Многопоточность есть в том плане, что есть worker thread, где всё обрабатывается, есть тред под отрисовку графики, есть тред под звуки, есть тред под скрипты и так далее. Чисто технически, да, они отвечают все в один worker, да и работают только на одном ядре, но по сути это всё было задатком для того, чтобы уже в Обливионе игра начала работать с двумя ядрами процессора.

А, даже в просто Морровинде есть пример такого взаимодействия в скриптах вампиризма, оказывается.

Ну, смотри, видишь объект? Видишь, что к нему привязан скрипт, который действует на объект? Видишь, в редакторе, что есть скрипт, который может взаимодействовать с другими скриптами и комплексно влиять на другие объекты вокруг (например в таверне, когда ты запустил официальный плагин для игры на инструментах и привлёк внимание всех вокруг, затем получил определённую сумму септимов)? Это разве не объектно-ориентированное, если судить по тому, что выше написала нейронка?

Персистентность да, это проблема, но этот флажок не обязателен, если ты знаешь, что делаешь - объекты можно не просто делать "вечными", а переключать их состояние. Не исключаю того, что в будущем это стало гораздо легче, но даже в старом движке это можно сделать.
Нельзя навесить десяток скриптов на, допустим, дверь? Ок, пишем скрипт, который будет получать данные от скрипта 1, от скрипта а, от скрипта 8, от скрипта в и так далее. Вешаем эти скрипты в магические эффекты, чтобы они обновлялись каждые 0.33 секунды, накладываем их на скрытого непися под названием "Дверь". Да, это не отменяет того, что нужно работать ручками, но ведь работает.
Динамическое создание объектов - тебе передаёт привет Солстхейм. Там буквально был пример как это сделать. Ну или Башня, которую игрок себе может воздвигнуть в основной игре. Ну или я не понял, что там нейронка имеет в виду.

Лолчто. Ага. Не объектно-ориентированный. Скрипты не пишутся в базовом синтаксе в блокноте. Понял, принял. Поржал.

Ой, да ладно, Папирус - такая же смена названия, что и Construction Set -> Creation Kit. Сам принцип языка не сменился, как был объектно-ориентированным, так и остался. Даже синтаксис не сильно другой.

SSE Display Tweaks. Вот, теперь ты более подкован в том, что делают моды "под ковром".