Это популярное сообщение. Malandrinus 615 Опубликовано 8 Июля 2009 Это популярное сообщение. Поделиться Опубликовано 8 Июля 2009 (изменено) В данной теме собраны сведения по скриптовой модели сталкера: функции и классы, методы и свойства, взаимосвязь классов и последовательность работы с ними, связь работы классов и файлов конфигураций. К наполнению темы приглашаются все желающие. В наполнении темы непосредственно участвовали и существенно мне помогли: @Monnoroch, @Kolmogor, @Unnamed Black Wolf, @меченый(стрелок), @IQDDD, @Kirag, @Taroz, @dan, @7.9, @Garry_Galler, @AKKK1, @Bak и много других людей. Скрытый текст Скрытый текст класс alife_simulator. Базовые операции с серверными объектами. Пространства имён. Глобальные функции для большого числа задач. "Создание своего класса" и "Наследование от экспортированных классов". Базовые сведения об объектно-ориентированном программировании для сталкера. Необходимо прочитать, для понимания темы про биндер и некоторых других. В одном посте: Общие слова об архитектуре и скриптовой модели сталкера "Класс object_binder" расширение онлайновых объектов, колбеки, сохранение состояния. "Класс net_packet" Регистрация скриптовых классов с помощью object_factory Серверные классы. Часть 1 Иерархия серверных классов, описание не закончено. Серверные классы. Часть 2 Картинка структуры наследования и несколько заключительных слов Клиентские классы Скрытый текст Класс game_object Интерфейс ко всем онлайновым (клиентским объектам) Класс hit для нанесения урона скриптом и другая информация (IQDDD) Некоторая информация по управлению путями патрулирования здесь (Kirag) и здесь (Taroz) Неполная информация по управлению памятью неписей с примером здесь (Bak) Физическая оболочка объектов (Garry_Galler) Пост о выборе (подборе) оружия НПС и стрельбы (*Shoker*) Скрытый текст Управление заданиями Класс CGameTask и другие вспомогательные классы и функции. Управление инфопорциями Функции, колбеки, форматы файлов Список специальных системных инфопорций (Unnamed Black Wolf) Система профилей и алгоритм генерации имён. Форматы файлов, функции Дополнительная информация по параметрам профилей terrain_sect (Kolmogor) Диалоги. Часть 1 Форматы файлов, базовые сведения Диалоги. Часть 2 Скриптовые диалоги Диалоги. Часть 3 Тематическая подборка функций управления диалогами Скрытый текст Функции времени Тематическая подборка функций, связанных с управлением игровым временем. Класс CTime Вспомогательный класс для управления игровым временем Полезная скриптовая функция с использованием CTime (Garry_Galler) Скрытый текст class ini_file (меченый(стрелок)) Класс FS и CSavedGameWrapper Бинарный доступ к файлам, в том числе в игровых архивах, управление сохранёнными играми. Скрипт уровня. Забытая фишка с колбеком на заход на уровень Класс vector Некоторая полезная информация о разных вещах (меченый(стрелок)) "Класс render_device" Направление и положение камеры, характеристики экрана, программная пауза игры и др. Некоторая информация о различиях между ТЧ и ЗП в системе оконных классов и колбеков. (lekzd) Неплохо бы развить эту тему! Некоторая полезная информация о скриптовых функциях из модуля _g.script. (lekzd) Также требует развития! Полезные функции для работы с графом игры (Garry_Galler) В одном посте: Класс profile_timer Отладочные измерения скорости работы фрагментов программы Класс client_spawn_manager Колбек на выход в онлайн без использования биндера. Работа с консолью. Класс CConsole Анимации цвета. Класс color_animator Всякие моргающие элементы в окнах и пр. Управление постэффектами. Скриптовые постэффекты. Класс effector Класс sound_object. Проигрывание звуков в игре в произвольном месте, от произвольного объекта, в голове актора. (Shadows) Пост удалён автором (прим. Kirgudu) Скрытый текст Оконные классы Некоторая общая информация о создании окон Список методов, XML-тегов и событий для оконных классов (ТЧ/ЧН/ЗП) (Norman Eisenherz) Представление материала в моих статьях оптимизировано для онлайнового просмотра. Если кому не хочется лазить по спойлерам, а нужно просмотреть текст какого-либо поста "потоком", то могу рекомендовать просмотр в режиме "текстовая версия". В этом же режиме удобно сохранять содержимое темы на диск. (прим. Malandrinus) Изменено 30 Июля пользователем Kirgudu 5 5 16 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
abramcumner 1 145 Опубликовано 31 Июля 2016 Поделиться Опубликовано 31 Июля 2016 (изменено) @Карлан, то есть тебе неизвестно помогает или нет, так как ты пользуешься своим механизмом сохранения Изменено 31 Июля 2016 пользователем abramcumner Ссылка на комментарий
Карлан 1 049 Опубликовано 31 Июля 2016 Поделиться Опубликовано 31 Июля 2016 @abramcumner, не в пакетах дело, да и я их никуда не пишу, хоть это и тоже возможно, речь шла о данных биндера (а точнее о неработе с ними) и очищении client_data, если я правильно понял. Если так, то и код движка, и мой опыт говорит о том, что все в порядке, и сам я ничего не сохраняю . Ссылка на комментарий
abramcumner 1 145 Опубликовано 31 Июля 2016 Поделиться Опубликовано 31 Июля 2016 (изменено) @Карлан, в коде движка прямо прописана очистка данных биндера при выходе в онлайн - с ним не может быть все в порядке. Может быть модифицированный движок? Кстати как ты проверяешь, что все в порядке? Изменено 31 Июля 2016 пользователем abramcumner Ссылка на комментарий
Карлан 1 049 Опубликовано 31 Июля 2016 Поделиться Опубликовано 31 Июля 2016 Карлан, то есть тебе неизвестно помогает или нет, так как ты пользуешься своим механизмом сохранения Еще раз, речь шла не о пакетах, речь шла о данных биндера. Факт сохранения данных на лицо, что ты упираешься? Карлан, в коде движка прямо прописана очистка данных биндера при выходе в онлайн - с ним не может быть все в порядке. Может быть модифицированный движок? Да нет же, взгляни сам . Данные чистятся если их там нет. Кстати как ты проверяешь, что все в порядке? Возьми же наконец в толк, что абсолютно без разницы как ты это проверяешь, это скриптовый объект, например у меня там пакетов вообще в принципе нет, но колбек работает и вылета по концу пакета нет, следовательно движковые данные сохраняются и загружаются корректно (если бы их не было, колбек бы не срабатывал, если бы данные загружались некорректно, был бы вылет). Я упомянул про пакеты лишь к тому, что я на них не тестировал и основываться на них не имею права. Этот колбек на сервере не дает сохранятся, если нечему сохранятся то и нечему загружаться, разумеется в этом случае данные очищаются, это логично. Все классы идут от одного предка, и там нет никакого разграничения монстр то, или "не только у монстров"(с). Тоже самое с выходом в онлайн, данные постоянно чистятся, чтобы не захломлять память, возможно тогда это было оправданно, сейчас не думаю. В который раз повторю, речь изначально не про пакеты, совершенно без разницы какой способ, данные можно и у себя в голове хранить. В любом случае у меня все работает (перечитай выше, я тестирую уже несколько недель, иными словами уверенность какая-никакая уже есть). Может у кого-то дойдут руки протестировать и пакеты, мне, честно говоря, недосуг с ними копаться. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 31 Июля 2016 Поделиться Опубликовано 31 Июля 2016 Еле нашел, об чем речь. Беда в том, что колбэк на сохранение дергается тогда, когда есть сохранение. Если объект ушел в офлайн - ни каких колбэков уже нет. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
FonSwong 33 Опубликовано 28 Декабря 2016 Поделиться Опубликовано 28 Декабря 2016 (изменено) Класс sound_object. Проигрывание звуков в игре в произвольном месте, от произвольного объекта, в голове актора. (Shadows) Ссылка битая в шапке Изменено 28 Декабря 2016 пользователем FonSwong Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 24 Января 2017 Поделиться Опубликовано 24 Января 2017 (изменено) На сколько неправильно я понимаю, что именно npc:set_path_type( game_object.patrol_path ) означает "игнорировать рестрикторы" и, возможно, игнорировать что-то еще ? Такое, что не позволяет построить путь в случае npc:set_path_type( game_object.level_path ) ? Изменено 24 Января 2017 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
dsh 3 824 Опубликовано 24 Января 2017 Поделиться Опубликовано 24 Января 2017 что именно npc:set_path_type( game_object.patrol_path ) означает "игнорировать рестрикторы" Разглядывая исходники, у меня сложилось именно такое впечатление. При patrol_path рестрикции не обрабатываются. И это очень плохо с точки зрения обхода аномалий. Неписи их перестают обходить. Костыль, который есть в move_mgr, удаляющий аномалии, если они находятся на пути, не помогает в случае, если путь задан малым кол-вом точек, одной например, конечной. Там проверяются аномалии, находящиеся в радиусе X от любой из точек. На самом деле, там вообще только первая точка проверяется, в Солянке, к примеру. Такое, что не позволяет построить путь в случае npc:set_path_type( game_object.level_path ) ? Здесь вероятно вместо "Такое" должно быть "Тогда"? Если так, то при level_path не используется сам путь. Такое у меня впечатление сложилось, после разглядывания исходников. Могу ошибаться, т.к. экспериментов не проводил. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 24 Января 2017 Поделиться Опубликовано 24 Января 2017 Под "такое" понималось "что-то еще". Черт его знает, что там может быть. Например, game_graph():accessible( gvid, false ) - это я просто написал, что первое в голову пришло. Под "построить путь" - это именно последовательность level vertex, позволяющих попасть в искомый. С обходом аномалий именно сейчас и бьюсь. Тут move_manager в общем-то не при чем. Предполагается, что между точками ни каких аномалий нет, и быть не может. Динамические аномалии появились в амк, и там же появилась, но была недоделана, схема их обхода. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
dsh 3 824 Опубликовано 24 Января 2017 Поделиться Опубликовано 24 Января 2017 @Dennis_Chikin, мне трудно угнаться за твоей мыслью. Ты сформулируй свою проблему, как-нибудь по-четче, что ли. А то строить догадки, что же именно ты имеешь ввиду, как-то плохо получается. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 24 Января 2017 Поделиться Опубликовано 24 Января 2017 npc:set_path_type( game_object.patrol_path ) npc:set_dest_level_vertex_id( lvid ) - работает npc:set_path_type( game_object.level_path ) npc:set_dest_level_vertex_id( lvid ) - расстояние 50 метров до точки - работает - расстояние 200+ метров - то работает, то не работает. Не работает, например, в случае, если на пути, по которому идем в случае npc:set_path_type( game_object.patrol_path ) - есть аномалия. Но как я заметил, именно аномалии может и не быть, но все равно не работает. Как-то так. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
dsh 3 824 Опубликовано 25 Января 2017 Поделиться Опубликовано 25 Января 2017 Не работает, например, в случае, если на пути, по которому идем в случае npc:set_path_type( game_object.patrol_path ) - есть аномалия. А что в этом случае происходит? Как оно не работает? dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 25 Января 2017 Поделиться Опубликовано 25 Января 2017 Стоят на месте. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Graff46 598 Опубликовано 15 Февраля 2017 Поделиться Опубликовано 15 Февраля 2017 Класс sound_object. - ссылка испортилась Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 17 Февраля 2017 Поделиться Опубликовано 17 Февраля 2017 Что-то я забыл: у актора callback.hit не работает ? Совсем-совсем ? И как тогда ? Есть же подсветка, с какой стооны ему прилетает, или оно целиком внутрях движка ? Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Kondr48 314 Опубликовано 17 Февраля 2017 Поделиться Опубликовано 17 Февраля 2017 (изменено) у актора callback.hit не работает ? Совсем-совсем ? В оригинале не работает. Движковыми правками восстанавливалось, причем даже под 4 патч по-моему, ну и, разумеется под 6 Изменено 17 Февраля 2017 пользователем Kondr48 Ссылка на комментарий
Zagolski 74 Опубликовано 14 Июля 2017 Поделиться Опубликовано 14 Июля 2017 (изменено) Решил написать в этой теме, потому как может еще кому пригодится. Касается это оконных классов. А вообще я хотел бы посоветоваться. Не буду подробно описывать что да как, кто знает, тот поймет. Так вот, нужно выбрать между UI из ЧН и ЗП, а также всем остальным с ними связанным (даже включая конфиги и скрипты завязанные на UI, и текстуры интерфейса в том числе), какой из них лучше? ЧН-овский пофункциональнее в целом, как по мне, но в то же время ЗП-шный получше сделан и лучше оптимизирован. Суть в том, что возникла дилемма, какой из этих двух UI оставлять в движке - зп-шный или чн-овский. И тот в чем-то хорош и этот. Сначала UI был переделан на ЧН, затем на ЗП, вроде все хорошо, но никак не отпускает мысль вернуться к первому. Вот, возникла необходимость посоветоваться со знающими людьми. Изменено 14 Июля 2017 пользователем Zagolski Ссылка на комментарий
vampirnik77 121 Опубликовано 14 Июля 2017 Поделиться Опубликовано 14 Июля 2017 Файл xr_s.script, работает ли ф-ция register_callback и все остальные что с ней связанны? Официальная страница проекта Neof-One Crew Ссылка на комментарий
UnLoaded 313 Опубликовано 15 Июля 2017 Поделиться Опубликовано 15 Июля 2017 В 25.01.2017 в 01:54, Dennis_Chikin сказал: - расстояние 200+ метров - то работает, то не работает. В 25.01.2017 в 03:29, Dennis_Chikin сказал: Стоят на месте. Вроде как по стандарту расстояние а-лайфа в конфиге - 150м. Если для непися выставлены флаги разрешающие ему он\офф "переключаться" - может в этом проблема ? Ссылка на комментарий
НаноБот 736 Опубликовано 8 Августа 2017 Поделиться Опубликовано 8 Августа 2017 (изменено) Есть ли подробная инфо по методам для управления сталкера, типа set_item и другим методами? Изменено 8 Августа 2017 пользователем НаноБот ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти