Контент Kirgudu - Страница 13 - AMK Team
Перейти к контенту

Kirgudu

Жители
  • Число публикаций

    1 671
  • Регистрация

  • Последнее посещение

  • Дней в топе

    37
  • AMKoin

    19,223 [Подарить AMKoin]

Весь контент пользователя Kirgudu

  1. Kirgudu

    Скриптование

    Потому что срабатывает как "and (not q_name) == 36", а не "and not (q_name == 36)", вестимо.
  2. Kirgudu

    Скриптование

    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)
  3. Тут извини, игры под рукой нет, да и вообще я с телефона сейчас. Тебе просто надо перед последней строкой (которая log(...)) вставить ещё одну. Какую? Не помню, выводят ли штатные функции ЧН хоть что-нибудь в файл лога. Но ты поищи на форуме, тут масса примеров, как пользоваться для этого консолью. ЕМНИП: local console = get_console() console:execute("load ~~~ "..reason)
  4. @Волосатые ноги Channel, ты изменил именно ту строчку, которая провоцирует принудительный вылет в случае критической ошибки. Естественно, игра пошла дальше, но ошибка никуда не делась, а стала всего лишь отложенной. Оставь последнюю строчку как в оригинале, а переменную reason выведи в лог дополнительно, вставив соотв. код до последней строки функции.
  5. Kirgudu

    STALKER CS: Final stroke 0.9

    Конкретно это был баг, который сейчас исправлен; исправление @monk, возможно, включит в будущее обновление. Теперь герой будет высыпаться ровно настолько, сколько успел поспать. Что же касается автовытрезвления и мешка для оного же процесса, тут согласен с автором мода. Если разрешить использовать спальник выпимши, игрок сможет принять на грудь аккурат перед упомянутым контролёром в подземке Агропрома и тут же прикорнуть (не важно, самостоятельно или нет), контролёр же будет терпеливо ждать пробуждения. Бред. И это всего лишь один из возможных примеров.
  6. Действительно. Можно пойти и дальше - ввести в действие чернокожее население, как то предлагает одна британка. Один из источников Главное, чтобы вели себя правильно.
  7. Kirgudu

    STALKER CS: Final stroke 0.9

    @Eugenymv, отвечу так, как я это понимаю. Любые рекомендации и антирекомендации в данном топике делаются от имени его автора. Поскольку @monk не является обладателем steam- и gog-версий игры (говорю только об альтернативных лицензионных версиях, всяческие же репаки даже не рассматриваю), в случае возникновения какой-либо ошибки у игрока, играющего как раз на такой версии, он не может полностью повторить все условия возникновения этой ошибки. Да, конечно, скорее всего её причины лежат в другой области, и не связаны с версией игры. Но может так статься, что как раз связаны - и зачастую проверить это, отделить зёрна от плевел, бывает затруднительно. Отсюда рекомендация в шапке. Конечно, это не полный запрет, просто в случае проблем помощь по описанным выше причинам лучше искать в другом месте. Несмотря на вышесказанное, могу поделиться личным опытом, своего рода ИМХО. Мод в связке со steam-версией игры вполне работоспособен, проходится от и до. Проверено в очередной раз месяц назад. Единственное ограничение, которое мне пришлось сделать - не использовать высший видео-режим (кажется, DirectX 11 или динамический он же). Про gog ничего не скажу, но, думаю, там примерно то же самое.
  8. Kirgudu

    STALKER CS: Final stroke 0.9

    Можно, почему нет? Pstor одну переменную легко потянет.
  9. Kirgudu

    SCS REDUX

    В своё время, переводя OGSM Fixes на 64-битное время и современные таймеры, я постарался максимально обезопасить мод от такого. Да и тот же прекрасно работающий скриптовый сон сделан на основе увеличения таймфактора на определённый промежуток времени. В общем, если перематывать будете таймфактором, полное отсутствие проблем гарантировать, не зная ваши методы, не могу, но скорее всего их не будет.
  10. Kirgudu

    STALKER CS: Final stroke 0.9

    Всем привет. Для начала соглашусь с Алексом - данная фича должна быть исключительно по желанию и никак иначе. Мне, например, она не нужна. Я хочу, предположим, иметь возможность выложить временно какой-либо ствол в сундук заряженным и забрать его оттуда позже в таком же виде - чего с правкой не будет, так как отработает колбэк на drop. Или не хочу, собирая оружие исключительно на продажу, множить сущности в своём инвентаре. А теперь "смотрю и тычу носом".
  11. Kirgudu

    Скриптование

    @Norman Eisenherz, разных способов можно придумать. Например: Кроме того, существует перегрузка метода: level.client_spawn_manager ():add(spawn.id, -1, spawn_callback, arg) где arg - дополнительный аргумент, в который можно передать что угодно, в том числе произвольную таблицу, как совершенно справедливо заметил @AndreySol. Тогда колбэк будет выглядеть так: function spawn_callback(arg, id, obj) -- переданный дополнительный аргумент идёт первым end
  12. Kirgudu

    Скриптование

    @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 предмета, дождаться выхода в онлайн обоих, после чего что-то сделать с их клиентскими объектами), но тогда опиши человеческим языком, что именно.
  13. Kirgudu

    STALKER CS: Final stroke 0.9

    https://yadi.sk/d/RpgBMj_SEG4Fcw Доработана блокировка диалога о редких товарах: периодическая проверка на враждебность теперь должна происходить только после первого показа этого диалога у соответствующего торговца. Таким образом, пока вы первый раз не поговорите с Зубом, тёрки между Чистым Небом и Ренегатами не должны повредить будущим отношениям Зуба и Шрама. Проверяйте, кому интересно. НИ является обязательной - дополнена сохраняемая в сейвах информация.
  14. Kirgudu

    STALKER CS: Final stroke 0.9

    Обновление списка отключается насегда вместе с диалогом. Какой смысл обновлять то, что никогда не будет больше использовано штатным образом? Говорю же, ждите. Включение только диалога не поможет.
  15. Kirgudu

    Скриптование

    Потому что соотв. флаг присутствует. Может ли он отсутствовать - понятия не имею, никогда этим не интересовался. Но потенциально твой код допускает ошибку (если, конечно, считать, что код Артоса верен). Ладно, дальше сам, мне тут сложно теоретизировать без игры.
  16. Kirgudu

    Скриптование

    Хм, ну ты ж не написал, что у тебя вылет не при чтении пакета, а при записи в лог. Я тут, кстати, скачал 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' ... Сначала из первой группы свойств, а затем, на основании флагов, из второй и третьей. Ты же в своей переработке все свойства читаешь всегда. Не приведёт ли это к ошибке в один прекрасный момент? Я б всё-таки попробовал исправить конструктор класса для ЧН/ЗП и проверить чтение нет-пакета актора самим модулем...
  17. Kirgudu

    Скриптование

    Вообще, в 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-часть)
  18. Kirgudu

    Скриптование

    @Graff46, не всё взял, если не ошибаюсь, вот и появились неверные значения. Например, после spawn_story_id должно быть, емнип, чтение визуала (net_cse_alife_dynamic_object_visual).
  19. Kirgudu

    STALKER CS: Final stroke 0.9

    Это непредвиденный побочный эффект от запрета торговых взаимоотношений между продавцом и Шрамом, если первый успел побывать врагом (или вступить в соотв. группировку) второму. Поскольку данный запрет прописывается (при необходимости) во время очередного обновления товаров у конкретного торговца, Зуб и сейчас будет торговать со Шрамом в том случае, если успеть закончить войну на Болотах и выйти из состава ЧН до того, как у Зуба сменится ассортимент - это от двух до четырёх суток, как повезёт. Пишу так, для информации. Исправить, конечно, знаю как, но поскольку за компом буду только после праздников, отложим этот вопрос, как уже написал @monk, до их окончания.
  20. Kirgudu

    Скриптование

    @Heymon, WinMerge.
  21. Kirgudu

    Скриптование

    @dPlayer, ну конечно. Вот сюда: actor_binder:on_item_take (obj). А дальше через секцию объекта или по другим нужным критериям. Возможно, метод @Charsi более оптимален, но это я подтвердить или опровергнуть не могу.
  22. Kirgudu

    Скриптование

    @dPlayer, как вариант - событие on_item_take, дальнейший анализ взятого и выдача инфопорции при необходимости.
  23. Kirgudu

    Скриптование

    @Fenrir02, был такой Dynamic campfire mod от kstn. Посмотри, как там реализовано, и переработай под свои нужды.
  24. Kirgudu

    Скриптование

    @Norman Eisenherz, и при чём же тут логическая цепочка? Когда мы пишем "for k, v in pairs(...)", на каждой итерации в переменную k попадает ключ (в нашем случае, например, "good"), а в переменную v - значение (в нашем случае {["price"] = 25*k, ["id"] = 912}), остаётся только сравнить. Возможно, имеет смысл почитать какую-либо литературу по Lua.
  25. Kirgudu

    Скриптование

    @Overfirst, твой пример можно сделать ещё проще, без повторного поиска в массиве: --... if v.id == choice then --... А про табуляции отпиши в "вопросы и предложения", сюда админы могут и не заходить.
×
×
  • Создать...