-
Число публикаций
1 671 -
Регистрация
-
Последнее посещение
-
Дней в топе
37 -
AMKoin
19,223 [Подарить AMKoin]
Весь контент пользователя Kirgudu
-
Потому что срабатывает как "and (not q_name) == 36", а не "and not (q_name == 36)", вестимо.
-
local timer, delta = 0, 10000 local function check_and_execute() if timer < time_global() then timer = time_global() + delta return action_func() end return false end function action_func() -- что-то делаем -- при необходимости прервать цикл добавляем: -- return true end -- запуск level.add_call(check_and_execute, function() end)
-
Тут извини, игры под рукой нет, да и вообще я с телефона сейчас. Тебе просто надо перед последней строкой (которая log(...)) вставить ещё одну. Какую? Не помню, выводят ли штатные функции ЧН хоть что-нибудь в файл лога. Но ты поищи на форуме, тут масса примеров, как пользоваться для этого консолью. ЕМНИП: local console = get_console() console:execute("load ~~~ "..reason)
-
@Волосатые ноги Channel, ты изменил именно ту строчку, которая провоцирует принудительный вылет в случае критической ошибки. Естественно, игра пошла дальше, но ошибка никуда не делась, а стала всего лишь отложенной. Оставь последнюю строчку как в оригинале, а переменную reason выведи в лог дополнительно, вставив соотв. код до последней строки функции.
-
Конкретно это был баг, который сейчас исправлен; исправление @monk, возможно, включит в будущее обновление. Теперь герой будет высыпаться ровно настолько, сколько успел поспать. Что же касается автовытрезвления и мешка для оного же процесса, тут согласен с автором мода. Если разрешить использовать спальник выпимши, игрок сможет принять на грудь аккурат перед упомянутым контролёром в подземке Агропрома и тут же прикорнуть (не важно, самостоятельно или нет), контролёр же будет терпеливо ждать пробуждения. Бред. И это всего лишь один из возможных примеров.
-
Чернобыль / Chernobyl (2019)
Kirgudu ответил на тему форума автора Keych в Кино, видео, телепередачи
Действительно. Можно пойти и дальше - ввести в действие чернокожее население, как то предлагает одна британка. Один из источников Главное, чтобы вели себя правильно. -
@Eugenymv, отвечу так, как я это понимаю. Любые рекомендации и антирекомендации в данном топике делаются от имени его автора. Поскольку @monk не является обладателем steam- и gog-версий игры (говорю только об альтернативных лицензионных версиях, всяческие же репаки даже не рассматриваю), в случае возникновения какой-либо ошибки у игрока, играющего как раз на такой версии, он не может полностью повторить все условия возникновения этой ошибки. Да, конечно, скорее всего её причины лежат в другой области, и не связаны с версией игры. Но может так статься, что как раз связаны - и зачастую проверить это, отделить зёрна от плевел, бывает затруднительно. Отсюда рекомендация в шапке. Конечно, это не полный запрет, просто в случае проблем помощь по описанным выше причинам лучше искать в другом месте. Несмотря на вышесказанное, могу поделиться личным опытом, своего рода ИМХО. Мод в связке со steam-версией игры вполне работоспособен, проходится от и до. Проверено в очередной раз месяц назад. Единственное ограничение, которое мне пришлось сделать - не использовать высший видео-режим (кажется, DirectX 11 или динамический он же). Про gog ничего не скажу, но, думаю, там примерно то же самое.
-
Можно, почему нет? Pstor одну переменную легко потянет.
-
В своё время, переводя OGSM Fixes на 64-битное время и современные таймеры, я постарался максимально обезопасить мод от такого. Да и тот же прекрасно работающий скриптовый сон сделан на основе увеличения таймфактора на определённый промежуток времени. В общем, если перематывать будете таймфактором, полное отсутствие проблем гарантировать, не зная ваши методы, не могу, но скорее всего их не будет.
-
Всем привет. Для начала соглашусь с Алексом - данная фича должна быть исключительно по желанию и никак иначе. Мне, например, она не нужна. Я хочу, предположим, иметь возможность выложить временно какой-либо ствол в сундук заряженным и забрать его оттуда позже в таком же виде - чего с правкой не будет, так как отработает колбэк на drop. Или не хочу, собирая оружие исключительно на продажу, множить сущности в своём инвентаре. А теперь "смотрю и тычу носом".
-
@Norman Eisenherz, разных способов можно придумать. Например: Кроме того, существует перегрузка метода: level.client_spawn_manager ():add(spawn.id, -1, spawn_callback, arg) где arg - дополнительный аргумент, в который можно передать что угодно, в том числе произвольную таблицу, как совершенно справедливо заметил @AndreySol. Тогда колбэк будет выглядеть так: function spawn_callback(arg, id, obj) -- переданный дополнительный аргумент идёт первым end
-
@Norman Eisenherz, у тебя id заспавненных предметов есть уже сразу после спавна. Зачем корячить ещё и какой-то поиск по десяткам тысяч объектов? local spawn1 = alife():create( "box_ex", vector():set( (act_pos.x + 1), (act_pos.y), (act_pos.z) ), act:level_vertex_id(), act:game_vertex_id() ) local spawn2 = alife():create( "box_eq", vector():set( (act_pos.x), (act_pos.y), (act_pos.z + 1) ), act:level_vertex_id(), act:game_vertex_id() ) local box_1_id = spawn1.id local box_2_id = spawn2.id Возможно, требуется сделать что-то другое, кроме как получить id предметов (например: заспавнить 2 предмета, дождаться выхода в онлайн обоих, после чего что-то сделать с их клиентскими объектами), но тогда опиши человеческим языком, что именно.
-
https://yadi.sk/d/RpgBMj_SEG4Fcw Доработана блокировка диалога о редких товарах: периодическая проверка на враждебность теперь должна происходить только после первого показа этого диалога у соответствующего торговца. Таким образом, пока вы первый раз не поговорите с Зубом, тёрки между Чистым Небом и Ренегатами не должны повредить будущим отношениям Зуба и Шрама. Проверяйте, кому интересно. НИ является обязательной - дополнена сохраняемая в сейвах информация.
-
Обновление списка отключается насегда вместе с диалогом. Какой смысл обновлять то, что никогда не будет больше использовано штатным образом? Говорю же, ждите. Включение только диалога не поможет.
-
Потому что соотв. флаг присутствует. Может ли он отсутствовать - понятия не имею, никогда этим не интересовался. Но потенциально твой код допускает ошибку (если, конечно, считать, что код Артоса верен). Ладно, дальше сам, мне тут сложно теоретизировать без игры.
-
Хм, ну ты ж не написал, что у тебя вылет не при чтении пакета, а при записи в лог. Я тут, кстати, скачал m_netpk и посмотрел код. Обрати внимание, как читаются свойства в классе "net_cse_ph_skeleton": for _,prop in ipairs(self.st_props) do ret[prop.name] = this["_r_"..prop.type](pk) end --/ hooks 'bones' if bit_and(ret.skeleton_flags, 4) ~= 0 then --/ check 'skeleton' ... Сначала из первой группы свойств, а затем, на основании флагов, из второй и третьей. Ты же в своей переработке все свойства читаешь всегда. Не приведёт ли это к ошибке в один прекрасный момент? Я б всё-таки попробовал исправить конструктор класса для ЧН/ЗП и проверить чтение нет-пакета актора самим модулем...
-
Вообще, в m_netpk и у меня были связанные с актором непонятки. В этом модуле существуют два класса актора: "net_cse_alife_creature_actor" для ТЧ и "net_se_actor" для ЧН/ЗП. И если с первым классом всё, в принципе, понятно, то, как я обнаружил года полтора назад, для класса "net_se_actor" прописан конструктор от первого класса, "net_cse_alife_creature_actor". Насколько это правомерно с точки зрения языка Lua - сказать не могу, тут нужна помощь специалистов. Собственно, из-за неуверенности и невозможности в то время всё проверить я и не стал ничего править в модуле самостоятельно, хотя стоило, наверное, задать вопрос здесь. @Graff46, по конкретному наполнению нет-пакета актора и смещениям не подскажу - нет сейчас возможности порыться в коде. Но если моё предположение верное, и единственное, почему модуль валится - неверный конструктор, тогда стоит попробовать это исправить и посмотреть, что будет. Ведь что даёт запись двух одинаковых функций "function net_cse_alife_creature_actor:__init(...)" подряд? А то, что первая перезатирается второй, и при инициализации класса для ТЧ начинает вызываться конструктор для ЧН/ЗП. Update: Нет, тут CTime в виде таблицы, всё правильно. А вот дальше должны быть update-свойства, разве нет? Не помню. (вспомнил: конечно не должны. тут только state-часть)
-
@Graff46, не всё взял, если не ошибаюсь, вот и появились неверные значения. Например, после spawn_story_id должно быть, емнип, чтение визуала (net_cse_alife_dynamic_object_visual).
-
Это непредвиденный побочный эффект от запрета торговых взаимоотношений между продавцом и Шрамом, если первый успел побывать врагом (или вступить в соотв. группировку) второму. Поскольку данный запрет прописывается (при необходимости) во время очередного обновления товаров у конкретного торговца, Зуб и сейчас будет торговать со Шрамом в том случае, если успеть закончить войну на Болотах и выйти из состава ЧН до того, как у Зуба сменится ассортимент - это от двух до четырёх суток, как повезёт. Пишу так, для информации. Исправить, конечно, знаю как, но поскольку за компом буду только после праздников, отложим этот вопрос, как уже написал @monk, до их окончания.
-
@Heymon, WinMerge.
-
@dPlayer, ну конечно. Вот сюда: actor_binder:on_item_take (obj). А дальше через секцию объекта или по другим нужным критериям. Возможно, метод @Charsi более оптимален, но это я подтвердить или опровергнуть не могу.
-
@dPlayer, как вариант - событие on_item_take, дальнейший анализ взятого и выдача инфопорции при необходимости.
-
@Fenrir02, был такой Dynamic campfire mod от kstn. Посмотри, как там реализовано, и переработай под свои нужды.
-
@Norman Eisenherz, и при чём же тут логическая цепочка? Когда мы пишем "for k, v in pairs(...)", на каждой итерации в переменную k попадает ключ (в нашем случае, например, "good"), а в переменную v - значение (в нашем случае {["price"] = 25*k, ["id"] = 912}), остаётся только сравнить. Возможно, имеет смысл почитать какую-либо литературу по Lua.
-
@Overfirst, твой пример можно сделать ещё проще, без повторного поиска в массиве: --... if v.id == choice then --... А про табуляции отпиши в "вопросы и предложения", сюда админы могут и не заходить.
УЧИМСЯ МОДДИНГУ
ИГРАЕМ В МОДЫ НА ТЧ
ИГРАЕМ В МОДЫ НА ЧН И ЗП
- [ЧН] 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
- ...и другие моды
ПОЛЕЗНОЕ И РАЗНОЕ
monk