AKKK1 6 Опубликовано 12 Апреля 2010 Поделиться Опубликовано 12 Апреля 2010 level_prefix_lights_hanging_lamp Может должен быть какой то дополнительный параметр типа level_prefix_physic_object0023 ну и по анологии level_prefix_lights_hanging_lampномер ? Ссылка на комментарий
DiXares 1 Опубликовано 12 Апреля 2010 Поделиться Опубликовано 12 Апреля 2010 Ну как бы когда в игре через скрипт спавнится предмет, то ему добавляется индекс, типа bread4235, тобишь он по счёту 4235. Ссылка на комментарий
barmidrol 0 Опубликовано 12 Апреля 2010 Поделиться Опубликовано 12 Апреля 2010 TREWKO, у тебя в функции в качестве аргумента стоит id, а id - это номер, а не строка. То есть ты вбиваешь неправильный аргумент. Даже в луа_хелп написано function object_by_id(number) -- number - номер, т.е число. По статистике, 98% системных ошибок находится в полуметре от монитора «- Александр Григорьевич, доколе же вы будете президентом? - До Коли, до Коли...» Ссылка на комментарий
AKKK1 6 Опубликовано 12 Апреля 2010 Поделиться Опубликовано 12 Апреля 2010 может не по счету а по номеру ? иначе как опредилить конкретный обьект вот секция алл спавн [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 Ссылка на комментарий
DiXares 1 Опубликовано 12 Апреля 2010 Поделиться Опубликовано 12 Апреля 2010 А как всё таки отследить номер? Может сначала отследить все объекты с именем ***, а уже от них плясать? Только вот объект то он один... Ссылка на комментарий
barmidrol 0 Опубликовано 12 Апреля 2010 Поделиться Опубликовано 12 Апреля 2010 (изменено) Ну вот что нашел. Не проверял. 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. Изменено 12 Апреля 2010 пользователем barmidrol По статистике, 98% системных ошибок находится в полуметре от монитора «- Александр Григорьевич, доколе же вы будете президентом? - До Коли, до Коли...» Ссылка на комментарий
Gektor 0 Опубликовано 13 Апреля 2010 Поделиться Опубликовано 13 Апреля 2010 (изменено) Строгое предупреждение от модератора n6260 12... Так же запрещено вставлять в сообщения изображения крупнее 320х240... Че это? И с чем его хавают? (в смысле ошибка в чём) И ишо така проблема прописал в скрипте смарт террайна логику для перса и создал файл с логикой - при загрузке вылет с логом ! 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() Че делать -файл ведь есть и всё в нем прописано? Изменено 13 Апреля 2010 пользователем n6260 Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу. Ссылка на комментарий
raf100 0 Опубликовано 13 Апреля 2010 Поделиться Опубликовано 13 Апреля 2010 он не понял твою команду в логике. Она с ошибкой Дедушка Ленин. Ссылка на комментарий
Gektor 0 Опубликовано 13 Апреля 2010 Поделиться Опубликовано 13 Апреля 2010 А как прописать логику walker в смарте для определенного перса? Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу. Ссылка на комментарий
gruber 2 481 Опубликовано 13 Апреля 2010 Поделиться Опубликовано 13 Апреля 2010 В перечне работ для гулага поставить условие,что работу может выполнять только определенный профиль НПС 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 Ссылка на комментарий
DiXares 1 Опубликовано 14 Апреля 2010 Поделиться Опубликовано 14 Апреля 2010 Товарищи! Это опять я))) Вобщем опять нужны помощь: Надо сделать таймер(без функций АМК), что бы засунуть его в апдейтер актора, и что бы он каждый час запускал функцию. Просто сделал динамическую погоду, и теперь надо сделать выполнение функции каждый час, каждая погода по 1 часу. В нет пакет думаю сохраню параметры нужные. Ну и потом загрузить. Ссылка на комментарий
Kirag 39 Опубликовано 14 Апреля 2010 Поделиться Опубликовано 14 Апреля 2010 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 Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
AKKK1 6 Опубликовано 15 Апреля 2010 Поделиться Опубликовано 15 Апреля 2010 (изменено) Как то так наверно можно 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 Изменено 15 Апреля 2010 пользователем AKKK1 Ссылка на комментарий
Gektor 0 Опубликовано 15 Апреля 2010 Поделиться Опубликовано 15 Апреля 2010 Пытаюсь прописать по образу и подобию логику в смарт террайне в ЗП для определённого перса но при каждой попытке подключить логику следует влет: stack trace: 0023:045CED03 xrGame.dll, CDialogHolder::IgnorePause() 0023:045CFF7D xrGame.dll, CDialogHolder::IgnorePause() 0023:00C72EA3 lua.JIT.1.1.4.dll, luaopen_io() И все.... Никакой инфы. В чём может быть проблема? И как настроить смарт террайн на выдачу инфо поршня когда кто либо в него попадает? Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу. Ссылка на комментарий
DiXares 1 Опубликовано 15 Апреля 2010 Поделиться Опубликовано 15 Апреля 2010 Вообщем: 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, то текст отображается, но нет переноса. Как разобраться дальше? Ссылка на комментарий
Gektor 0 Опубликовано 15 Апреля 2010 Поделиться Опубликовано 15 Апреля 2010 Точно не знаю - попробуй: "текст" \n "текст" или "текст \n текст" Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу. Ссылка на комментарий
barmidrol 0 Опубликовано 15 Апреля 2010 Поделиться Опубликовано 15 Апреля 2010 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% системных ошибок находится в полуметре от монитора «- Александр Григорьевич, доколе же вы будете президентом? - До Коли, до Коли...» Ссылка на комментарий
Atempad 2 Опубликовано 15 Апреля 2010 Поделиться Опубликовано 15 Апреля 2010 TREWKO Попробуй параметры ui_dxs_console_text покрутить, например width or height увеличить. Suum cuique… Ссылка на комментарий
DiXares 1 Опубликовано 15 Апреля 2010 Поделиться Опубликовано 15 Апреля 2010 Не, не работает. Надо сделать что то на подобии консоли(~). Что бы туда текст засовывать. Я так думаю засовывать текст можно так?: local text = {} text = text + "Дополнительный текст" Ссылка на комментарий
Gektor 0 Опубликовано 15 Апреля 2010 Поделиться Опубликовано 15 Апреля 2010 Люди подскажите - как скриптово выдать инфо поршн гг в начале игры (в смысле начал игру и сразу получил инфо поршн) И как удалить смарт террайн после того как в нем заспавница сквад? Речь идет о Зове Припяти. Зарание спасибо. Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти