Перейти к контенту

Kirgudu

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

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

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

  • Дней в топе

    18
  • AMKoin

    10,073 [Подарить AMKoin]

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

  1. Kirgudu

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

    @Баба ЯГА, полегче, полегче. Красным цветом и прописными буквами пиши в другом месте. Надо разжевать и в рот положить, да? Извини, не по адресу обратился. Предпочитаю дать пищу для самостоятельных размышлений, хотя бы минимальных. Например, модифицировать функцию так, чтобы сразу искала единственный гейм-вертекс, находящийся на минимальном расстоянии от твоих координат, а не все вертексы в радиусе 9 метров.
  2. Kirgudu

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

    В пределах локации можно и проще, по координатам - npc:set_dest_level_vertex_id(lvid) Для перемещения же на другие локации вроде надо работать с привязкой НПС к смартам. Что-то подобное обсуждали давно здесь. @Баба ЯГА, я-то всё прекрасно понял, а тебе все необходимые подсказки уже дали. У тебя есть level-вертекс и его координаты. Для поиска game-вертекса можно воспользоваться перебором, аналогичным тому, который предложил @naxac для level-вертексов. Например:
  3. Kirgudu

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

    @Баба ЯГА, навскидку на ум приходит только перебор вертексов вокруг твоих координат и определение вертекса с минимальным расстоянием. См. комментарии выше и lua_helper. И прекрати флудить, задавая те же вопросы другими словами.
  4. Kirgudu

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

    @Баба ЯГА, initial, upd: никак, можно, не будет. upd2: сам же спрашивал и уже получал ответ здесь. upd3: только на объект.
  5. Kirgudu

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

    @Баба ЯГА, обрати внимание на модуль lua_helper. В нём есть уже готовые функции как для поиска минимальных и максимальных game- и level-вертексов на локации, так и для определения ближайшего вертекса к заданным координатам ( а также куча других полезных функций). Если нет желания интегрировать весь модуль в свой мод, можно как минимум изучить реализацию.
  6. Kirgudu

    Old Good Stalker Mod - Clear Sky

    Для любознательных объясню, в чём там нюанс. DEXXX, делая сборку v1.8.2 от 01.08.12, действительно включил в неё обязательный фикс, однако изменил в нём одну функцию, ответственную за выдачу торговцем пакета с продуктами главному герою в соответствующем квесте. Если каким-то образом игроку удастся одновременно получить два (и более) одинаковых квеста с получением продуктов от Сидоровича - вариант от DEXXX выдаст только один пакет и преждевременно прервёт работу. Если же в игре возможно получить только один активный квест этого типа, оба варианта отработают одинаково, но вариант из шапки будет работать дольше (правда, неощутимо для игрока) в силу отсутствия прерывания после выдачи пакета. При этом оба варианта работоспособны, а других отличий нет. Я слишком давно играл лично, поэтому не могу сказать, какова ситуация с квестом на доставку продуктов на самом деле. Использовать или нет фикс из шапки - решайте самостоятельно. Сильно на игру это не повлияет. P.S. Вышесказанное касается только сборки, взятой на оф. сайте.
  7. Kirgudu

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

    Всё там есть. level.start_stop_menu(wnd, true|false) - показывает|скрывает переданное в первом аргументе окно level.main_input_receiver() - возвращает открытое в настоящий момент окно (диалог, инвентарь и т. д.)
  8. Kirgudu

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

    @_Sk8_AsTeR_, примерно так: local sum = 10 -- здесь кол-во денег, котрое хотим отнять local pk = get_netpk(sobj) if pk and pk:isOk() then local data = pk:get() if data.money and data.money > sum then data.money = data.money - sum else data.money = 0 -- отнимаем сколько есть, если не хватает end pk:set(data) end
  9. Kirgudu

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

    Можно, но если выборка из таблицы будет значительно отнесена по времени от её заполнения, реальное кол-во денег будет уже другим. Тогда либо клиентский объект, либо снова считывать нет-пакет.
  10. Kirgudu

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

    @Баба ЯГА, local pso = so:play(db.actor, 0, sound_object.s2d) if pso:playing() then pso:stop() end
  11. Kirgudu

    The Long Road (CoP)

    А вот эти два события я бы разделил, потому как нет логических причин запрещать часть тела при убийстве аномалией. Разве что оно произошло достаточно давно и кто-то уже успел обработать труп - на этот случай можно предусмотреть ещё одну вилку по вероятности.
  12. Kirgudu

    Ищу файлы / моды / аддоны

    Всем привет. Коллеги, скиньте, пожалуйста, кто-нибудь inventory.script (НС или ОП, а может и АМК - не знаю точно) посовременнее.
  13. Kirgudu

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

    @Full Noob, level.client_spawn_manager():add(l_i_mod_repairkit.id, -1, mod_set_newkit_condition)
  14. @Keeper, по собственному, но без разрывания тельняшек - исключительно трезвый расчёт. Меня реально стало не хватать на всё с учётом семьи и работы. В первую очередь морально.
  15. Kirgudu

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

    @Norman Eisenherz, См. раздел "logical operators": http://lua-users.org/wiki/OperatorsTutorial В переменной q_name находится число. Выражение (not q_name), срабатывающее первым, даёт результат false. Сравнение false с числом 36 также даёт результат false (т. к. ложь не равна тридцати шести). Таким образом, всё, что идёт после "and", имеет результат false, а следовательно, общее условие не срабатывает. Настоятельно рекомендую подучить азы языка, чтобы не плавать в простейших вопросах. Шапка темы "Язык Lua. Общие вопросы программирования", вторая ссылка. Wiki по ссылке в начале моего поста также содержит немало полезных сведений.
  16. Kirgudu

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

    @Norman Eisenherz, с чего бы это? Выражение «not число» тоже имеет свой результат в Lua (false), который вполне можно сравнить с другим числом. И они естественно не равны друг другу.
  17. Kirgudu

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

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

    STALKER CS: Final stroke 0.9

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

    STALKER CS: Final stroke 0.9

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

    STALKER CS: Final stroke 0.9

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

AMK-Team.ru

×
×
  • Создать...