Wlad777 24 Опубликовано 17 Ноября 2015 Поделиться Опубликовано 17 Ноября 2015 Если стоит xray-extensions, можно попробовать получить текущий стейт аномалии, он хранится в m_eZoneState класса CCustomZone. Если аномалия выключена, стейт будет равен eZoneStateDisabled. Стоит ОГСЕ-движок. Там есть, не в курсе? --------------------------------- www.amk-zone.de Ссылка на комментарий
RayTwitty 492 Опубликовано 17 Ноября 2015 Поделиться Опубликовано 17 Ноября 2015 Там есть, не в курсе?Там есть. Можешь спокойно использовать. Ссылка на комментарий
Старлей 88 Опубликовано 18 Ноября 2015 Поделиться Опубликовано 18 Ноября 2015 Добрый вечер, форумчане. Вопрос: level_vertex это какой-то конкретный node АИ-сетки? 1 Ray Of Hope - кооператив сталкера OldStory Ссылка на комментарий
Zander_driver 10 333 Опубликовано 18 Ноября 2015 Поделиться Опубликовано 18 Ноября 2015 Да... 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 Господа присяжные заседатели, вчера, в соседней палате, лед - тронулся ! То есть, а скажите мне: ни кому ни разу не приходило в голову, что конструкция entity_action( entity_action() ) - несколько странна ? Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
HellRatz 2 850 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 (изменено) Здравствуйте. Подскажите, пожалуйста, есть ли идеи, как загнать несколько community (dog, dog_two, dog_three к clsid.dog_s и т.п) под один класс в эту таблицу (Из скрипта smart_terrain.script? -- заполняет таблицу monster_classes -- TODO: заменить на глобальный функционал function se_smart_terrain:fill_monster_classes() if not monster_classes then monster_classes = { [clsid.bloodsucker_s ] = "bloodsucker", [clsid.boar_s ] = "boar", [clsid.burer_s ] = "burer", [clsid.cat_s ] = "cat", [clsid.chimera_s ] = "chimera", [clsid.controller_s ] = "controller", [clsid.pseudodog_s ] = "pseudodog", [clsid.psy_dog_s ] = "psy_dog", [clsid.dog_s ] = "dog", [clsid.flesh_s ] = "flesh", [clsid.fracture_s ] = "fracture", [clsid.poltergeist_s ] = "poltergeist", [clsid.gigant_s ] = "pseudo_gigant", [clsid.snork_s ] = "snork", [clsid.tushkano_s ] = "rat", [clsid.zombie_s ] = "zombie" } end end Дело в том, что новосозданные животины не берутся под гулаги, пока не пропишешь сюда в таблицу их коммунити. Т.е у меня, допустим, 2 собаки на 1 классе (С обязательно [!] разным коммунити), пока новую сюда не впишешь, она не будет бегать под гулагом. Такие вот заморочки. Изменено 19 Ноября 2015 пользователем HellRatz GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
dsh 3 824 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 @HellRatz, т.е. у тебя собаки, имеющие один и тот-же clsid, имеют разные community? Тогда ты ничего не сделаешь, не меняя smart_terrains.script. Он расчитан на то, что один clsid будет иметь одно community. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
HellRatz 2 850 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 @dsh, все правильно, собаки, имеющие один и тот-же clsid, имеют разные community. Тогда ты ничего не сделаешь, не меняя smart_terrains.script. Да это-то понятно. Это, конечно, печально, но я думаю решаемо (Уж какие скрипты только не делали). По этому и пишу сюда, может у кого какие есть идеи и/или предложения. Потому что прям вообще труба иначе. GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
dsh 3 824 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 (изменено) чтобы гулаги брали на работу моих собак с новым коммунити, иначе он берет только то, что прописано в этой таблице Данный код не интересует коммунити твоих собак. Грубо говоря, если у тебя в смарте указано communities = dog и в smart_terrains.script [clsid.dog_s ] = "dog", то в этот смарт будет принят любой мутант с clsid == dog_s. По сути, смарт принимает к себе не по коммунити, которое указано в секции моба, а по clsid. Тот код, он просто для человекочитаемого вида. Я предполагаю, что ты используешь generic_lair. Иначе, ко всему этому, еще действуют правила конкретного гулага. generic_lair примет всех, кого примет смарт. Изменено 19 Ноября 2015 пользователем dsh dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
HellRatz 2 850 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 (изменено) то в этот смарт будет принят любой мутант с clsid == dog_s. Вот и я так думал, а на деле оказалось иначе. Пока не прописал заместо "dog" свою community, моя новая собака не бралась в работу гулага. И вряд ли это совпадение, потому что до этого я пробовал всяко, запускал десятки раз, а результат получился только сейчас, сменив группировку для класса. При чем это не только с собаками, но и с другими старыми/новыми животными. ----------- И да, я еще раз перепроверил - все дело именно в таблице monster_classes и прописанных в нее community. Если в нее не вписана новая community для нового зверька, то его (нового зверька) не подхватит гулаг, хоть как ты его, гулаг этот, настраивай. По этому, дабы далее не продолжать флуд, предлагаю, если есть у кого идеи - писать чисто по делу. Изменено 19 Ноября 2015 пользователем HellRatz Добавлено Dennis_Chikin, 19 Ноября 2015 Собственно, кроме приведеного выше, и еще проверки по presets, где так же используется алиас вместо цифры, ни каких проверок по какому-то специальному коммунити монстра... гм, ну, можно еще в предикате, конечно, задать. Но, если иного ни где не прописано - это - все. Смотри код. GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
dsh 3 824 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 Вот и я так думал, а на деле оказалось иначе. Пока не прописал заместо "dog" свою community, моя новая собака не бралась в работу гулага. Конечно, ты же в смарте написал "dog_two", а в таблице "dog". Это таблица используется для перевода clsid в человекочитаемый формат, что бы значение потом сравнивать с тем, что указано в описании смарта. В твоем случае, т.к. ты хочешь более сложных правил, а именно, что бы указанный смарт принимал не всякую собаку, а только ту, у которой в секции указано "community = dog_two", нужно уже свою логику добавлять. Например вот так: function se_smart_terrain:get_obj_community( obj ) local cls = obj:clsid() if cls == clsid.script_stalker then return obj:community(), true else local comm = get_string( obj:section_name(), "community" ) if comm == "dog_two" then return comm, false else return monster_classes[ cls ], false end end end Или вообще вот так function se_smart_terrain:get_obj_community( obj ) local cls = obj:clsid() if cls == clsid.script_stalker then return obj:community(), true else return get_string( obj:section_name(), "community", monster_classes[ cls ] ), false end end Решать тебе. А может еще как-то более замороченно. Результат get_obj_community просто сравнивается со значениями из communities смарта и если совпадает с одним из этих значений, моб принимается в смарт, если другие условия тоже совпадают. Т.ч. никакой магии, возвращай из get_obj_community все, что тебе нужно и так, как тебе нужно. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
HellRatz 2 850 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 @dsh, сделал по второму варианту, все заработало, новые звери идут под гулаг без редактирования и шаманства с таблицей. Спасибо за решение вопроса. Добавлено Dennis_Chikin, 20 Ноября 2015 Когда пользуетесь движком от ОГСЕ - просьба это указывать. GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
dsh 3 824 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 сделал по второму варианту, все заработало это более общий вариант, поэтому, что бы ничего работающего не сломать, убедиcь, что у всех мутантов прописано правильное community. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Serge! 127 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 конструкция entity_action( entity_action() ) - несколько странна ? С точки зрения Lua в ней нет ничего ни странного, ни криминального, если вспомнить, что параметры вычисляются до вызова функции. Тут всё зависит не от конструкции вызова, а от содержания самой функции. Например, вот такая функция: function entity_action(f) a = f and '2' or '1'; print('--> '..a); return true end отработает вполне корректно и выдаст предсказуемый результат. entity_action(entity_action()) --> 1 --> 2 Так что здесь вопрос скорее не в форме, а в содержании. Так то так. Ссылка на комментарий
Charsi 440 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 Вообще это две разные функции - конструктор без параметров и конструктор копирования класса CScriptEntityAction. Содержание у них конечно разное. Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 19 Ноября 2015 Поделиться Опубликовано 19 Ноября 2015 "и конструктор копирования" - и на кой он, в такой вот конкретно форме ? Или даже a = entity_action(); a:set_action( v ); return entity_action( a ) ? Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Zander_driver 10 333 Опубликовано 20 Ноября 2015 Поделиться Опубликовано 20 Ноября 2015 и на кой он Ну это у автора кода лучше спрашивать =) сама по себе форма - не криминальна как бы. и вполне имеет право на существование, если оно зачем-то потребовалось. Разве что одинаковые названия разных на самом деле сущностей могут запутывать того кто будет чужой код читать. кто-то в свое время вообще заявил "я не понимаю таких конструкций" говоря о конструкции flist[func](obj) Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Malandrinus 615 Опубликовано 20 Ноября 2015 Поделиться Опубликовано 20 Ноября 2015 две разные функции - конструктор без параметров и конструктор копирования класса А разве в Lua есть перегрузка функций? По моему вызов функции, как и обращение к чему угодно другому по имени, - это просто выбор из таблицы по ключу, а значит и функция будет вызвана одна и та же, просто с разным списком аргументов. Или я не понял мысли? Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Desertir 202 Опубликовано 20 Ноября 2015 Поделиться Опубликовано 20 Ноября 2015 А разве в Lua есть перегрузка функций?Нет, но я так понимаю, LuaBind это может. Цитата из method_rep.hpp contains information about a method. It contains a list of all overloads of the function. В коде я не разбирался. ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 20 Ноября 2015 Поделиться Опубликовано 20 Ноября 2015 (изменено) Не, ну а по смыслу если ? Применительно к конкретному ТЧ ? Без всяких дополнений/расширений ? Там entity_action() - функция не абстрактная, а делает вполне конкретные вещи. Что-то принимает, и что-то возвращает. Так вот надо ли ее вызывать, чтобы в итоге вернуть результат, если аргумент ранее был получен такой же entity_action() без аргумента, или таки return entity_action():set_action( v ) - более чем достаточно ? Изменено 20 Ноября 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти