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

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


Svoboда

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

Здравствуйте.
Возможно ли заспавнить через скрипт разрушаемый физический объект, то есть ящик, с определенным community по типу small_box_generic ?
Просто разрушение обычного box_wood_01 не спавнит ничего.
Если кратко, есть ли возможность заспавнить ящик через скрипт, при разрушении которой спавнятся различные предметы?

  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение

Здравстуйте. Пытаюсь привязать объектам, чьи визуалы box_wood_01, box_paper и box_metall_01 хоть какие-нибудь метки на ПДА и миникарте.

Вот последний код, который я пытался использовать:

local is_box = { 
    ["dynamics\\box\\box_wood_01"] = true,
    ["dynamics\\box\\box_metall_01"] = true,
    ["dynamics\\box\\box_paper"] = true,
}

function show_boxes()
    local sim = alife()
    for i=1,65534 do
        local obj = id and db.storage[id] and db.storage[id].object
        if (obj and is_box[obj:get_visual_name()]) then
            level.map_add_object_spot_ser(obj.id, "название_метки")
        end
    end
end

До этого были ещё и другие. Сейчас и не вспомню. Второй день сижу, пытаюсь.

Поделиться этим сообщением


Ссылка на сообщение
14.08.2020 в 00:52, Zander_driver сказал:

И чему тут будет равен obj ?

Вот ещё вариант:
 

local is_box = { 
    ["dynamics\\box\\box_wood_01"] = true,
    ["dynamics\\box\\box_metall_01"] = true,
    ["dynamics\\box\\box_paper"] = true,
}

function show_boxes()
    local sim = alife()
    for i=1,65534 do
        local se_obj = sim:object(i)
        if (se_obj and is_box[se_obj:get_visual_name()]) then
            level.map_add_object_spot_ser(se_obj.id, "название_метки")
        end
    end
end

 

Лог вылета:
 

FATAL ERROR
 
[error]Expression    : <no expression>
[error]Function      : CScriptEngine::lua_error
[error]File          : ..\xrServerEntities\script_engine.cpp
[error]Line          : 189
[error]Description   : fatal error
[error]Arguments     : LUA error: d:\stalker\gamedata\scripts\xr_show_box.script:11: attempt to call method 'get_visual_name' (a nil value)
 

stack trace:

0023:00773DCC xrCore.dll, xrDebug::fatal()
0023:054CEC1F xrGame.dll, CDialogHolder::UseIndicators()
0023:00453F6E xrEngine.exe, CInput::OnFrame()
0023:0040F2DA xrEngine.exe, CRenderDevice::message_loop()

Поделиться этим сообщением


Ссылка на сообщение
14.08.2020 в 03:51, WinCap сказал:

@DibokDibokin, попробуй так:

 

local s_obj = alife():object(i)
if s_obj ~= nil then
    local c_obj = level.object_by_id(s_obj.id)

    if (c_obj and is_box[c_obj:get_visual_name()]) then

Не помогло. При активации функции не появляются метки на мини-карте, а ПДА не открывается.
Лечится только перезагрузкой сейва.

Поделиться этим сообщением


Ссылка на сообщение

@WinCap, тоже не сработало.

function show_boxes()
    local s_obj = alife():object(i)
    if s_obj ~= nil then
        local c_obj = level.object_by_id(s_obj.id)
        if (c_obj and is_box[c_obj:get_visual_name()]) then
            level.map_add_object_spot_ser(c_obj.id, "warfare_stalker_spot", "box")
        end
    end
end

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Здравствуйте.
Я опять насчёт меток на ящиках.
Способ по визуалу работает, но частично. В Кордоне например, метки не ставятся, в лог пишет "alife():object(id) ! invalid id specified". Но в Баре всё работает, в лог выводится:

box object [physic_destroyable_object:1063] detected. visual=dynamics\box\box_metall_01

С способом по логике drop_box получше. Отображаются везде, но есть две мини-проблемы:
1) Если нажать ЛКМ или подвигаться, то метки пропадают.
2) После уничтожения ящика, метка всё еще остается. Исчезают после перезагрузки сейва.

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

Поделиться этим сообщением


Ссылка на сообщение

Здравствуйте. Есть ли способ держать принудительно в онлайне нпс с указанными story_id и нпс, которые находятся в указанном смарт_террейне?

Поделиться этим сообщением


Ссылка на сообщение

Здравствуйте. Подскажите, как можно "телепортировать" определенные вещи, например, под ноги ГГ?
Речь про артефакты, не хочется их удалять. Есть ли способы?

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

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

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

Поделиться этим сообщением


Ссылка на сообщение

Здравствуйте. Можно ли менять направление полёта ворон скриптово? Надо чтобы до выброса (около 1 минуты) вороны начинали летать строго на юг.

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Здравствуйте. Я опять со своими воронами. Получилось сделать их спавн до выброса и сделать траекторию движения на юг.
Заготовил функции проигрывания звуков (изначально они проигрывались с определённым интервалом до начала выброса, но как только появились реальные вороны - это уже выглядит не так хорошо, банально вороны могут сперва пролететь над игроком, а звуки спустя время начнут проигрываться или наоборот). Теперь вопрос - как можно отследить дистанцию (примерно 100-150 метров) от ГГ до ближайшего ворона (секция "m_presurge_crow") чтобы начать запуск звуков?

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

Поделиться этим сообщением


Ссылка на сообщение
7 минут назад, Zander_driver сказал(а):

игровой объект

Да, за основу взята секция обычной вороны, "m_crow".
И тех ворон много, около 150 штук, я вот и пытаюсь сделать проверку на расстояние между ГГ и ближайшим вороном этим.
 

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
7 минут назад, Zander_driver сказал(а):

воспроизводить из координат ворона

В этом есть смысл. Просто у меня есть звуки трёх типов, far, medium и close. Они разные по звучанию и по громкости.
Тип я хотел чтобы сначала играли с типом far (среднее расстояние около 100-150 метров), потом medium(50-75 метров), а за ним close (около 25 метров). А дальше наоборот, после  close воспроизводятся тип medium и far.

 

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

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

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