-
Число публикаций
5 952 -
Регистрация
-
Последнее посещение
-
Дней в топе
230 -
AMKoin
109,226 [Подарить AMKoin]
Весь контент пользователя Zander_driver
-
[SoC] Ковыряемся в файлах
Zander_driver ответил на тему форума автора Halford в Скрипты / конфиги / движок
Не знаю в эту ли тему такое писать... и не знаю подскажут ли мне что то дельное. Но может таки да, подскажут. Короче ситуация: на локации где-то с десяток гулагов. гулаги примерно по 15-20 неписей каждый, все нормально работало, проблем не вызывало. Что я сделал: для пары гулагов добавил еще по паре десятков работ, с разными допустимыми состояниями гулага. т.е. у этих гулагов 5 возможных состояний и в разных состояниях у них разные наборы доступных работ, но, во всех состояниях этих работ достаточно чтоб вместить население этих гулагов. Повторюсь, пока у всех гулагов были только состояния 0 и 1, и работы предназначенные только для них, все работало. А когда состояний 5, то получаем вылет -
Язык Lua. Общие вопросы программирования
Zander_driver ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
а разве return без аргумента - не то же самое что return nil ? -
Применительно к скриптово-сгенерированным работам, я так понимаю я могу заспавнить просто объект space_restrictor, через нет-пакет указать ему шейп желаемых размеров, и его айди вписать сюда? к самому рестриктору каких либо требований не предъявляется? (ТЧ)
-
Вопрос по функциям класса game_object
-
Судьба Зоны (предрелизная тема)
Zander_driver ответил на тему форума автора Zander_driver в Судьба Зоны
Это, между прочим, цитата из шапки темы. Ожидающих мод, могу обрадовать. Скоро период затворнической работы в подполье, у нашей команды завершится. И мы выложим на ваше обозрение первые материалы. В основном это будут видео. Так же советую позаботиться о железе. Увы и ах, по этой части мод никак нельзя назвать скромным. Тех кто будет играть на слабых машинах, могут ожидать серьезные проблемы. -
[SoC] Ковыряемся в файлах
Zander_driver ответил на тему форума автора Halford в Скрипты / конфиги / движок
При таком варианте, все нпс так же освобождаются со всех работ. Хотя некоторые из них допускают состояние 2. В каком направлении искать причину? Так же нубский вопрос в догонку. Есть некоторая деревня, довольно обширная, в ней 9 гулагов одного и того же комьюнити. расстояния примерно такие - если ГГ сидит у костра на одном конце деревни, то противоположный край только-только зашел в онлайн. Делал 9 гулагов специально для того чтоб они всей большой деревней не поднимали панику из-за какой то собачки. Но тем не менее так и происходит - стоит где то на окраине деревни появиться какому то раздражителю в виде зверья, так тут же все 9 гулагов дружно переходят в тревожное состояние, неписи ходят-выцеливают врага, по всей деревне. Как это исправить? мне нужно чтоб каждый гулаг сам по себе был, реагируя только на те опасности которые на его территории возникают. -
Очередной экзотический вылет
-
[SoC] Ковыряемся в файлах
Zander_driver ответил на тему форума автора Halford в Скрипты / конфиги / движок
Причина этих исключений. Где это задается/чем обусловлено -
[SoC] Ковыряемся в файлах
Zander_driver ответил на тему форума автора Halford в Скрипты / конфиги / движок
Второй. Я просто думал что не обязательно писать всю простыню, если ее предваряет элементарное return 2, отсекающее все последующие действия. -
[SoC] Ковыряемся в файлах
Zander_driver ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Dennis_Chikin, Окей, вот функция полностью в оригинале, мои правки закомментированы. -
[SoC] Ковыряемся в файлах
Zander_driver ответил на тему форума автора Halford в Скрипты / конфиги / движок
@NHOK, В таких случаях каких советов вы ждете? Перечитать еще раз, как-то по другому может быть. Вопрос к знающим людям, я вот оказался не знающий, и пытаться разобраться в происходящем, включив вывод в лог всего на свете, это немного тяжко. Так вот собственно вопрос. Разъясните кто знает, принципы функционирования смарттеррейнов и гулагов. В плане того, что в какой последовательности активируется и вызывается. класс smart_terrain, описанный в файле smart_terrain.script - это собственно объект смарта, тот объект который спавнится через алл.спавн к примеру. в файле bind_smart_terrain.script лежит его биндер, который отслеживает нет_спавн и нет_дестрой, а так же занимается апдейтом. А класс gulag из файла xr_gulag.script - это что? вообще хотелось бы понять разделение целей и задач gulag и smart_terrain, четко разграничить для чего один и для чего другой. Это все риторика, мотивированная тем что мне хочется наконец таки понять как это все работает. А в частности есть еще практический вопрос - как извне, принудительно переключить состояние гулага/смарта. И как этими состояниями правильно пользоваться. Неудачный пример: -
[SoC] Ковыряемся в файлах
Zander_driver ответил на тему форума автора Halford в Скрипты / конфиги / движок
А почему посты о глобальной переделке игры считаются оффтопиком для данной темы? И кстати ткните носом, куда дели "замечательный текст" о котором идет речь. Любопытно стало. Здесь про потроха. И, кстати, "общие рассуждения", а тем более юморески про горнопроходческий комбайн и способы изведения тушканов здесь вряд-ли кто найдет. В литтворчестве и разговорах о модах шансов больше. Вообще тема про неприличное слово в разделе была бы уместна, но ее здесь не захотели. 8( И, пожалуй, какой-то общей готовности к конструктиву по ней нет. Увы, опять же. dc -
Нашел причину. Зависание произошло в actor_binder:load. причем по дурацкой причине - читались всякие данные из конфига, ltx:r_string(section, line). в качестве section оказался nil. И процесс завис. actor_binder:net_spawn после этого вообще не вызвался. когда устранил зависание, оказалось что actor_binder:net_spawn вызывается сразу после actor_binder:load.
-
а мог он так зависнуть что другие колбеки актора работают? У меня actor_binder:on_item_take срабатывает, и там обнаруживается что актора нет.
-
Да, о том что уже сделано. Если прочитать весь мой пост, становится ясно почему я назвал это "попыткой". @svarog2741, Все данные вам ответы, как мои так и Dennis_Chikin-a, относятся к Оригинальной игре. При достаточном желании и навыках работы с скриптами, реализовать чтобы именно так все выглядело для игрока - не сложно. Но метод непрост, и новичку маловероятно его осилить.
-
Ну для этого надо 3 вещи. 1. отловить факт того, что предмет попытались использовать (use_collback, тут все просто) 2. проверить наличие другого предмета. тоже все просто. if db.actor:object("ваш_консервный_нож") ~= nil then и так далее. 3. если второго предмета нет, то спавнить первый обратно. а если есть, то выполнять то, что должно свершиться от применения первого. И выполнять скриптово, потому что первый объект на самом деле был безвозвратно съеден в первом пункте и на этот факт никак не повлиять.
-
[SoC] Ковыряемся в файлах
Zander_driver ответил на тему форума автора Halford в Скрипты / конфиги / движок
-
, У инвентарных предметов нет пстора, насколько я помню. для них удобнее пользоваться кастом-датой их нет-пакета. см. модуль Артоса для работы с нет-пакетами, хотя ему вроде есть и другие аналоги.
-
Учитывая что в моем моде клсиды добавляются так же и через скрипты, и, разработка еще в процессе - могут и еще новые классы добавиться. А числовые значения при этом смещаются. И да, экспериментальным путем выяснилось, что то, что мы добавляем в class_registrator-e, добавляется вовсе не в конец списка clsid. Я так понимаю добавленные следуют за своими родителями. А все последующие в списке - смещаются. И потому даже числовые значения классов, прописанных в движке, уже не соответствуют "имеющимся табличкам".
-
Ну в моем конкретном случае составлять соответствие числовых значений - уже лишнее. Мне собственно требовалось написать аналог функций IsStalker, IsWeapon, ... etc из _g.script. и для тех объектов, которые мне нужны, надо было найти как их звать по клсиду) В случае скриптово-добавленных клсидов их можно просто в class_registrator-e посмотреть.
-
-
Есть ли способ получить актуальный список имен clsid ? Имеется в виду вот этот список из lua_help
-
Раз уж пошла речь про скорость, и дабы мне не изобретать велосипед в очередной раз (а вдруг его кто-то изобрел уже?) Задам такой вопрос: А занимался ли кто оптимизацией массового входа неписей в онлайн? т.е. ситуация: подходит игрок/гг к некому гулагу, в котором живет толпа неписей. И в какой то момент они всей толпой вваливаются в онлайн... создавая то, что даже словом "тормоза" назвать как то неудобно. Взять да перекинуть выполняемые при нет-спавне неписей действия в динамический список вроде того что упомянут несколькими постами выше. Как мне представляется, это могло бы решить проблему, но возможно возникновение других проблем из-за "отложенного" (запоздалого) выполнения действий, которые, быть может, движок ожидает сразу же. Это все лишь мои теоретические размышления. Занимался ли кто-нибудь данным вопросом на практике?
-
Добавлю в копилку. при неаккуратном пользовании методами класса ini_file, например что то в таком духе:
-
Судьба Зоны (предрелизная тема)
Zander_driver ответил на тему форума автора Zander_driver в Судьба Зоны
Мы именно это и делаем. В моде, если что, 41 локация.
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды