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

[SoC] Ковыряемся в файлах


Рекомендуемые сообщения

Вопрос хороший и грамотный на самом деле.

 

delta прилетает извне. Сколько прошло с предыдущего вызова. Для практического применения не очень чтобы пригодно, ибо значения неудобны и весьма неравномерны.

 

watchdog - где-то в другом месте проверяется, и по результату что-то делается. Обычно любой скрипт во время апдейта пишет туда что-то свое, а если все закончил благополучно - 0. Если при проверке оказался не 0 - значит, предыдущий скрипт повис.

Это все нужно для отладки.

 

По ссылке - туда пишется строчка, которую передал скрипт при своей инициализации. Вместо amk.oau_watchdog можно было бы писать _G.watchdog, или завести отдельный пустой скрипт watchdog.script и писать watchdog.my_KeeWl_watchdog - без разницы. Главное, чтобы потом проверять его же.

 

В амк/солянке скорее не работает, чем работает, поскольку крайне неудачно выбрано место, где производится проверка.

 

 

По "Но все упирается в то, что очень часто мы просто не знаем (а очень хочется сделать...)" - нет. Проблема в подходе. Я вот, честно, тоже не знаю, как это организовать нормально.

  • Полезно 1
Ссылка на комментарий

Ребят , извените за оффтоп, просто незнаю куда писать : Скачал скрипт для показа координат , при команде demo_record , при перемещиние камеры , координаты не меняются , ребят как можно это переделать , чтобы координать показывались не с точки actor , а с точки камеры.

Ссылка на комментарий

 

 

"Еле совместил скрипты Солянки со своим модом."

Легкий оффтоп.

Не спорю, правда, я не скриптер. Скрипты надо учиться писать с легких, с нуля, тогда и самому будет нетрудно написать. А вот убивать на это обучение время - иногда просто жаль.

 

А вот еще вопросик: можно на этот самый рюкзак заспавненный метку на карте повесить? Дома покопаюсь, конечно, думаю, нетрудно это...

Сталкер - наше всё!

Ссылка на комментарий

@AndrewMor, примерно так:

local obj = alife():create(...) --/ твой спавн рюкзака-ящика
level.map_add_object_spot_ser(obj.id, "my_treasure", "%c[255,255,255,255]Мой тайник")
где "my_treasure" - название элемента метки в конфиге меток (в ЧН это gamedata\configs\ui\map_spots.xml, в ТЧ должно быть что-то аналогичное), которое можно заменить на название любой из существующих меток. Но советую добавить свою, чтобы её легко можно было обнаружить на карте. Изменено пользователем Kirgudu

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

Ссылка на комментарий

Всем привет ребята. Интересует вот такой вопрос : Какая функция отвечает за медленное движение ГГ и звук одышки, когда здоровье ГГ меньше 0.2 (примерно) ? 

Буду очень благодарен.

Ссылка на комментарий

Вопрос по логике НПС:

У меня активный чувак с работами:

[walker1]

[walker2]

[walker3]

Допустим, он выполнил [walker1], и пока он ждет инфопорции walker_2_start для переключения в [walker2], я хочу отправить его в [remark].

В таком случае, после выполнения [walker2] уже не получится воспользоваться этой же схемой [remark], пока он ждет [walker3]. Инфопорция walker_2_start в [remark]постоянно будет включать секцию [walker2], так?

Я вижу только возможность создания еще схемы [remark1], или есть еще варианты?

Может я не совсем правильно понимаю работу [remark] и переключение между основными секциями происходит как-то еще?

Ссылка на комментарий

Зарегистрируй и\п walker_3_start, и преключайся из [remark] в [walker3]:

[walker1]
 

[remark]

on_info = {+walker_2_start} walker2
on_info2 = {+walker_3_start} walker3

 

[walker2]

отсюда по какому-то условию возвращаемся в [remark], перед этим дисаблим walker_2_start

[walker3]

Изменено пользователем AndreySol
  • Спасибо 1
Ссылка на комментарий

А конструкция в логике вида:

on_info = {+ info1 or + info2} walker@next - будет работать или непременно нужна функция, которая будет проверять наличие хотя бы одного из инфопоршней?

Ссылка на комментарий

луа-операторы в логике напрямую не прокатывают(хотя могу и не в курсе быть), делай обертку в виде ф-ции. Хотя можно и проще:

on_info = {+ info1} walker@next

on_info2 = {+ info2} walker@next

какой первее будет выдан - тот и переключит логику...

  • Спасибо 1
Ссылка на комментарий

Проще так:

on_info = {+info1} walker@next, {+info2} walker@next
  • Спасибо 1

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

Ссылка на комментарий

 

 

А это по тому, что весь модострой идет по какому-то очень странному и загадочному пути. Выдрать что попало откуда-нибудь, и прилепить как-нибудь к чему-попало. Причем все строго в подполье с редкими выкриками на форумах, уткнувшись во что-то элементарное, но малознакомое.

Добавлю, по моим наблюдениям модострой уже на протяжении многих лет происходит практически только такими методами. Исключения есть, но редки. Есть на этот счет одна мысль - может быть просто ни у кого нет желания, чтобы что-то происходило иначе?

 

 

Изменено пользователем Zander_driver
  • Согласен 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.

Ссылка на комментарий

Что-то запутался в апгрейде данной функции:

npc:set_relation (game_object.friend, db.actor)

хочу завязать ее на изменение отношения группы НПС к ГГ, при наличии уникальных id. Поспрашивал неделю назад на одном из форумов (об изменении отношения к ГГ группы неписей без уникальных idшников - тогда это было важнее) - ответ вроде получил, читать правда времени не было. Позже, пост стерли, то-ли автор посчитал предложенный метод недействительным, то-ли еще чего... Кто знает, подскажите как прикрутить установку изменения отношения к ГГ для нескольких НПС с уникальными id, вызов скорее всего будет идти через диалог, хотя подумываю над вызовом через инфопоршень. 

Изменено пользователем Stalker_AleX333

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

если все они в одном гулаге, то :



function название()
local actor = db.actor
  if actor and actor:alive() then
xr_gulag.setGulagEnemy("имя_гулага", actor)
end
end


если нет, то :



function название()
    local t = {sid_1, ... , sid_N} -- story_id каждого НПС
    local actor = db.actor
    if actor and actor:alive() then
        for i = 1, #t do
            local npc = level_object_by_sid(t[i])
            if npc and npc:alive() then
                npc:set_relation(game_object.enemy, actor)
            end
        end
    end
end

Изменено пользователем Nazgool
Ссылка на комментарий

Известен ли способ без применения СДК заспавнить (хоть скриптом, хоть через all.spawn) отыгрываемые партиклы огня, точнее, газовой горелки?

amk_particle.script, правда, он с ошибками. Так что смотреть сам принцип. dc

Изменено пользователем Dennis_Chikin

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

Здравствуйте, хочу заставить проигрывать звук кушающей хавки у ГГ, кто может помочь с этим? Имеется ввиду - колбаса, хлеб, консервы, а из питья - энергетик и водка.

Ссылка на комментарий

@Ахмед

Сначала инициализируем необходимый звук, как-то так:

local snd_eat = xr_sound.get_safe_sound_object(".................")

Затем в use_collback проверяем, что съели нужный хавчик и проигрываем ранее заготовленный звук:

snd_eat:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)

Ссылка на комментарий

@Ахмед@AndreySol, проще так: В конфиге предмета писать use_sound = ...\...\....ogg. Так и проще, и звук не будет отигрыватся тысячу раз при неоднократном сьедании предмета, а будет глушится старый звук и по новому проигрыватся.

Ссылка на комментарий

 

 

проще так: В конфиге предмета писать use_sound = ...\...\....ogg

попробовал для колбасы:

так - use_sound = "interface\inv_detach_addon.ogg"

и так - use_sound = interface\inv_detach_addon.ogg

в обоих случаях прописанный звук не проигрывается. Чет не так написал ?

Ссылка на комментарий

Как запретить конкретному неписю переодеваться (менять визуал)?

 

1. Найти скрипт, который это делает. Обычно - xrs_armor.

2. Посмотреть, где у него прописаны исключения. Добавить.

Телепаты - в отпуске. dc

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

@AndreySol, Пиши так: use_sound = interface\inv_detach_addon я просто указал формат файла, его писать не надо, а ковычки тем более.

Изменено пользователем Anonim
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...