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

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

level_prefix_lights_hanging_lamp

 

Может должен быть какой то дополнительный параметр типа

 

level_prefix_physic_object0023

 

ну и по анологии

 

level_prefix_lights_hanging_lampномер ?

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

Ну как бы когда в игре через скрипт спавнится предмет, то ему добавляется индекс, типа bread4235, тобишь он по счёту 4235.

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

TREWKO, у тебя в функции в качестве аргумента стоит id, а id - это номер, а не строка. То есть ты вбиваешь неправильный аргумент. Даже в луа_хелп написано

function object_by_id(number) -- number - номер, т.е число.

 

По статистике, 98% системных ошибок находится в полуметре от монитора

«- Александр Григорьевич, доколе же вы будете президентом?

- До Коли, до Коли...»

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

может не по счету а по номеру ?

 

иначе как опредилить конкретный обьект

вот секция алл спавн

 

[3441]

; cse_abstract properties

section_name = inventory_box

name = level_prefix_inventory_box

position = 36.921272277832,-2.95341014862061e-005,130.78678894043

direction = 1.84774387435027e-006,1.76154971122742,7.45058628126571e-008

 

; cse_alife_object properties

game_vertex_id = 1308

distance = 0

level_vertex_id = 67569

object_flags = 0xffffff3b

custom_data = <<END

[logic]

cfg = scripts\treasure_inventory_box.ltx

END

story_id = 5455

 

; cse_visual properties

visual_name = physics\equipment_cache\equipment_rucksack_01_case

 

 

[3442]

; cse_abstract properties

section_name = inventory_box

name = level_prefix_inventory_box_0000

position = 10.4646062850952,-0.00433962652459741,147.542205810547

direction = 0.160875856876373,0,0

 

; cse_alife_object properties

game_vertex_id = 1308

distance = 0

level_vertex_id = 67569

object_flags = 0xffffff3b

custom_data = <<END

[logic]

cfg = scripts\treasure_inventory_box.ltx

END

story_id = 5456

 

; cse_visual properties

visual_name = physics\equipment_cache\equipment_cross_2_case

 

 

[3443]

; cse_abstract properties

section_name = inventory_box

name = level_prefix_inventory_box_0001

position = 11.5783624649048,0.215898931026459,144.25813293457

direction = -0.0601445436477661,-1.88714861869812,0.0161435827612877

 

; cse_alife_object properties

game_vertex_id = 1308

distance = 0

level_vertex_id = 67569

object_flags = 0xffffff3b

 

; cse_visual properties

visual_name = physics\equipment_cache\equipment_instrument_case_01_case

 

 

[3444]

; cse_abstract properties

section_name = inventory_box

name = level_prefix_inventory_box_0002

position = -84.5407104492188,0.158000752329826,160.422470092773

direction = 0.000516280590090901,-1.74563145637512,-0.00292284996248782

 

; cse_alife_object properties

game_vertex_id = 1308

distance = 0

level_vertex_id = 67569

object_flags = 0xffffff3b

custom_data = <<END

[logic]

cfg = scripts\treasure_inventory_box.ltx

END

story_id = 5457

 

; cse_visual properties

visual_name = physics\equipment_cache\equipment_box_02_case

 

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

А как всё таки отследить номер?

Может сначала отследить все объекты с именем ***, а уже от них плясать?

Только вот объект то он один...

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

Ну вот что нашел. Не проверял.

function turn_lamp_off(id)
    local obj = level.object_by_id(id)
    if obj ~= nil then
        local hl = obj:get_hanging_lamp()
        if hl ~= nil then
            hl:turn_off()
        end
    end
end

local lamp_id = test_utils.get_object_id("level_prefix_lights_hanging_lamp")

turn_lamp_off(lamp_id)
-- Если нету файла test_utils, вот нужная функция

-- Get object id
function get_object_id(name)
    if is_object_online(name) then
        return level.debug_object(name):id()
    else 
        return alife():object(name).id
    end
end

Если что - обращайся в ICQ.

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

По статистике, 98% системных ошибок находится в полуметре от монитора

«- Александр Григорьевич, доколе же вы будете президентом?

- До Коли, до Коли...»

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

Строгое предупреждение от модератора n6260
12... Так же запрещено вставлять в сообщения изображения крупнее 320х240...

Че это? И с чем его хавают? (в смысле ошибка в чём)

:russian_ru:

 

И ишо така проблема прописал в скрипте смарт террайна логику для перса и создал файл с логикой - при загрузке вылет с логом

! cannot open config file scripts/escape/most_1.ltx

! Unknown command: dump_infos

stack trace:

 

0023:045DED03 xrGame.dll, CDialogHolder::IgnorePause()

0023:045DFF7D xrGame.dll, CDialogHolder::IgnorePause()

0023:00DA2EA3 lua.JIT.1.1.4.dll, luaopen_io()

Че делать -файл ведь есть и всё в нем прописано? :russian_ru:

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

Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу.

 

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

А как прописать логику walker в смарте для определенного перса?


Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу.

 

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

В перечне работ для гулага поставить условие,что работу может выполнять только определенный профиль НПС

t = { section = "logic@esc_blockpost_commander_day",

idle = 0,

prior = 100, state = {0,2},

position_threshold = 100,

-- online = true,

in_rest = "", out_rest = "escape_blockpost_zone",

predicate = function(obj_info)

return obj_info.name == "esc_blokpost_commander"-----вот в этом месте указывается что на эту работу берется НПС с профилем esc_blokpost_commander

end

 

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

Товарищи! Это опять я)))

Вобщем опять нужны помощь:

Надо сделать таймер(без функций АМК), что бы засунуть его в апдейтер актора, и что бы он каждый час запускал функцию.

Просто сделал динамическую погоду, и теперь надо сделать выполнение функции каждый час, каждая погода по 1 часу.

В нет пакет думаю сохраню параметры нужные. Ну и потом загрузить.

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

TREWKO

А нафиг здесь таймер? В данном случае куда проще к часам привязаться. Схема простая:

if level.get_time_hours() == hh then
    <установить погоду>
    hh = hh +1 (либо level.get_time_factor(), а то и просто значение тайм фактора, если нужно в реальных часах вместо игровых, тайм фактор обычно целое число, проблем быть не должно)
    if hh > 23 then
        hh = hh - 24 -- в полночь получим 0
    end
end

 

В синтаксисе до конца не уверен, но смысл такой. Сохранять нужно будет только текущую погоду, hh инициализируешь при запуске текущим либо предыдущим часом, смотря как у тебя схема сделана.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

Как то так наверно можно

 

function имя_имя()

local tbl = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 (или 0 незнаю как правильно)}

for k,v in ipairs( tbl ) do

if level.get_time_hours() == v then

return true

end

end

return false

end

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

Пытаюсь прописать по образу и подобию логику в смарт террайне в ЗП для определённого перса но при каждой попытке подключить логику следует влет:

stack trace:

 

0023:045CED03 xrGame.dll, CDialogHolder::IgnorePause()

0023:045CFF7D xrGame.dll, CDialogHolder::IgnorePause()

0023:00C72EA3 lua.JIT.1.1.4.dll, luaopen_io()

И все.... :russian_ru: Никакой инфы. В чём может быть проблема?

И как настроить смарт террайн на выдачу инфо поршня когда кто либо в него попадает?

:russian_ru:


Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу.

 

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

Вообщем:

local text_dxs_consoles = "Первый текст \\n Второй текст"

function ui_dxs_console_text_dev_show()
local ltx = system_ini()
local ui_dxs_console_text_dev_show_check = ltx:r_float("DiXaresVolumes","DiXaresXrConsoles")
if ui_dxs_console_text_dev_show_check == 1 then
    local hud = get_hud()
    local cs = hud:GetCustomStatic("ui_dxs_console_text")
    if cs == nil then
        hud:AddCustomStatic("ui_dxs_console_text", true)
        cs = hud:GetCustomStatic("ui_dxs_console_text")
    end
    local ui_console_text_t = current_enemy
    local ui_console_text_n = text_dxs_consoles
    local msg
    if ui_console_text_t == current_enemy then
        msg = ui_console_text_n
    else
        msg = ui_console_text_n
    end
    if cs ~= nil then cs:wnd():SetText(msg) end
end
end

Как от сюда видно, функция для отображения текста на экране.

Мне надо сделать так, что бы текст: "Первый текст \\n Второй текст", нормально отображался, то есть с переносом строки, а он его не переносит, вообще не отображает. Как только убираю: \\n, то текст отображается, но нет переноса. Как разобраться дальше?

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

Точно не знаю - попробуй: "текст" \n "текст" или "текст \n текст" :russian_ru:


Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу.

 

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

TREWKO, по-моему так

local text_dxs_consoles = string.format("текст_1 %d\\n","текст_2")

function ui_dxs_console_text_dev_show()
local ltx = system_ini()
local ui_dxs_console_text_dev_show_check = ltx:r_float("DiXaresVolumes","DiXaresXrConsoles")
if ui_dxs_console_text_dev_show_check == 1 then
    local hud = get_hud()
    local cs = hud:GetCustomStatic("ui_dxs_console_text")
    if cs == nil then
        hud:AddCustomStatic("ui_dxs_console_text", true)
        cs = hud:GetCustomStatic("ui_dxs_console_text")
    end
    local ui_console_text_t = current_enemy
    local ui_console_text_n = text_dxs_consoles
    local msg
    if ui_console_text_t == current_enemy then
        msg = ui_console_text_n
    else
        msg = ui_console_text_n
    end
    if cs ~= nil then cs:wnd():SetText(msg) end
end
end

function ui_dxs_console_text_dev_show()
local ltx = system_ini()
local ui_dxs_console_text_dev_show_check = ltx:r_float("DiXaresVolumes","DiXaresXrConsoles")
if ui_dxs_console_text_dev_show_check == 1 then
    local hud = get_hud()
    local cs = hud:GetCustomStatic("ui_dxs_console_text")
    if cs == nil then
        hud:AddCustomStatic("ui_dxs_console_text", true)
        cs = hud:GetCustomStatic("ui_dxs_console_text")
    end
    local ui_console_text_t = current_enemy
    local ui_console_text_n = text_dxs_consoles
    local msg
    if ui_console_text_t == current_enemy then
        msg = ui_console_text_n
    else
        msg = ui_console_text_n
    end
    if cs ~= nil then cs:wnd():SetText(msg) end
end
end

По статистике, 98% системных ошибок находится в полуметре от монитора

«- Александр Григорьевич, доколе же вы будете президентом?

- До Коли, до Коли...»

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

Не, не работает. Надо сделать что то на подобии консоли(~).

Что бы туда текст засовывать. Я так думаю засовывать текст можно так?:

local text = {}

text = text + "Дополнительный текст"

 

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

:russian_ru: Люди подскажите - как скриптово выдать инфо поршн гг в начале игры (в смысле начал игру и сразу получил инфо поршн)

И как удалить смарт террайн после того как в нем заспавница сквад?

Речь идет о Зове Припяти.

Зарание спасибо.


Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу.

 

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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