Хумель 0 Опубликовано 23 Августа 2010 Поделиться Опубликовано 23 Августа 2010 проблемы бы не было , если бы я хоть немного разбирался что где как. я то вообще дуб дубом. мне бы кто то пожевал бы . вроде в каком то файле нужно где то строчку изменить или прописать. видимо не судьба ((. Ссылка на комментарий
_Призрак_ 11 Опубликовано 23 Августа 2010 Поделиться Опубликовано 23 Августа 2010 А можно ли в ЗП сделать так: после выполнения опр логики, сталкер получал новую логику? Тоесть например сталкер ваня сделал полностью logic@bla-bla-bla и после этого получил логику logic@v_dva_raza_bolshe_bla Ссылка на комментарий
Malandrinus 615 Опубликовано 23 Августа 2010 Поделиться Опубликовано 23 Августа 2010 _Призрак_, А можно ли в ЗП сделать так: после выполнения опр логики, сталкер получал новую логику? Тоесть например сталкер ваня сделал полностью logic@bla-bla-bla и после этого получил логику logic@v_dva_raza_bolshe_bla Не совсем понятна задача. То, что вы описали, похоже на штатное переключение секций. Там ведь так и заложено, что выполнение какой-то секции приводит к переключению на другую секцию. Зачем здесь всю логику менять? Ссылка на комментарий
PavelSnork 3 Опубликовано 24 Августа 2010 Поделиться Опубликовано 24 Августа 2010 (изменено) Здраствуйте. Я пытался вытянуть из Сигероус мода схему поведения "телохранители" для чистой игры. Зарегестрировал модель поведения в modules.script, закинул скрипт самой модели поведения с примыкающими к ней файлами, также записал в _g.script, написал логику для НПСа. Где я ошибся? Какие файлы нужны для полной работы новой модели поведения? FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ... - Зов Припяти\gamedata\scripts\smart_terrain.script:512: attempt to index field 'alife_task' (a nil value) stack trace: Изменено 24 Августа 2010 пользователем PavelSnork Ссылка на комментарий
Гость Greh921 Опубликовано 24 Августа 2010 Поделиться Опубликовано 24 Августа 2010 Помогите! В ЗП не работает sr_sound в space_restrictor-ах Чем заменить или как восстановить эту функцию? Хочу сделать так: active = sr_sound [sr_sound] snd = characters_voice\human_02\stalker\alife\defence\request_help_vs_mutant_1_pda Ссылка на комментарий
Phantom1305 0 Опубликовано 24 Августа 2010 Поделиться Опубликовано 24 Августа 2010 про [logic] не забыл??? А то что то не вижу его в твоем коде Ссылка на комментарий
Гость Greh921 Опубликовано 24 Августа 2010 Поделиться Опубликовано 24 Августа 2010 (изменено) Phantom1305, нет не забыл, я просто показал саму логику. Правда писал в алл.спавн, хотя собака зарыта в отсутствии sr_sound.script Добавлено через 31 мин.: Ладно, проблему почти решил - прописал sr_sound.script в modules.script, как это сделал PavelSnork, и получил тоже вылет как и он: Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....e.r. - Зов Припяти\gamedata\scripts\sr_sound.script:201: attempt to call field 'get_safe_sound_object' (a nil value) И у меня почти такие же требования и вопросы как и у него. Добавлено через 17 мин.: В завершение. Добавил следующий код в конец файла xr_sound.script --' Соунд обжект --' Таблица для хранения созданных саунд обжектов. sound_object_by_theme = {} --' type = [random|seq|looped] function get_sound_object(theme, t_type) if sound_theme.ph_snd_themes[theme] == nil then abort("ph_snd_themes for theme %s", tostring(theme)) return end if sound_object_by_theme[theme] == nil then sound_object_by_theme[theme] = {} end if t_type == nil then t_type = "random" end --' Выбор следующего айдишника local play_id = -1 local table_size = table.getn(sound_theme.ph_snd_themes[theme]) if sound_object_by_theme[theme].last_id == nil then if t_type == "random" then if table_size >= 2 then play_id = math.random(1, table_size) else play_id = 1 end else play_id = 1 end else if t_type == "random" then if table_size >= 2 then play_id = math.random(1, table_size - 1) if play_id >= sound_object_by_theme[theme].last_id then play_id = play_id + 1 end else play_id = 1 end else if sound_object_by_theme[theme].last_id < table_size then play_id = sound_object_by_theme[theme].last_id + 1 else if type == "looped" then play_id = 1 end end end end printf("SOUND_OBJECT: selected id [%s] for theme [%s], type [%s], size [%s]", tostring(play_id), tostring(theme), tostring(type), table_size) if play_id == -1 then return end --' Проверяем создан ли у нас соответствующий саунд обжект или его надо создать if sound_object_by_theme[theme][play_id] == nil then if type(sound_theme.ph_snd_themes[theme][play_id]) == "table" then sound_object_by_theme[theme][play_id.."_r"] = get_safe_sound_object(sound_theme.ph_snd_themes[theme][play_id][1].."_r") sound_object_by_theme[theme][play_id.."_l"] = get_safe_sound_object(sound_theme.ph_snd_themes[theme][play_id][1].."_l") else sound_object_by_theme[theme][play_id] = get_safe_sound_object(sound_theme.ph_snd_themes[theme][play_id]) end end sound_object_by_theme[theme].last_id = play_id --' Возвращаем саунд обжект if type(sound_theme.ph_snd_themes[theme][play_id]) == "table" then return sound_object_by_theme[theme][play_id.."_r"], sound_object_by_theme[theme][play_id.."_l"] else return sound_object_by_theme[theme][play_id] end end local sound_object_by_path = {} --' Обертка вокруг функции, возвращающий звуковой объект. function get_safe_sound_object(path) if sound_object_by_path[path] == nil then sound_object_by_path[path] = sound_object(path) end return sound_object_by_path[path] end function stop_all_sound_object() for k,v in pairs(sound_object_by_path) do if v:playing() then v:stop() end end end function clear_all_sound_object() sound_object_by_theme = {} end Добавлено: И всё заработало!!! Добавлено через 4 мин.: PavelSnork, я посмотрел файл, на который ссылается икс-рей. Получил следующее: v.game_vertex_id = v.alife_task:game_vertex_id() v.level_id = game_graph():vertex(v.game_vertex_id):level_id() v.position = v.alife_task:position() Суди сам, что ты намудрил, но, как видишь, это кусочек функции позиции: гаме вертекс, левел вертекс и позитион. Изменено 24 Августа 2010 пользователем Greh921 Ссылка на комментарий
PavelSnork 3 Опубликовано 24 Августа 2010 Поделиться Опубликовано 24 Августа 2010 (изменено) Greh921, я уже решил ету проблему. Убрал строку № 512 и 514. Пока все работает. Хотя кто знает какие после етого проблемы в игре будут... Изменено 24 Августа 2010 пользователем PavelSnork Ссылка на комментарий
TimeShift 0 Опубликовано 25 Августа 2010 Поделиться Опубликовано 25 Августа 2010 Как сделать чтобы артефакт давал прыжок в 50 м Ссылка на комментарий
DiXares 1 Опубликовано 25 Августа 2010 Поделиться Опубликовано 25 Августа 2010 gamedata\config\misc\artefacts.ltx: В секции нужного артефакта ищем: jump_height = .5 Заменяем на: jump_height = 50 Усё... Ссылка на комментарий
Malandrinus 615 Опубликовано 25 Августа 2010 Поделиться Опубликовано 25 Августа 2010 TREWKO, этот параметр работает только для Грави. И если не ошибаюсь, то это задаёт подпрыгивание самого артефакта, а, как мне показалось, TimeShift хотел для ГГ. Изменить динамически высоту прыгания ГГ вроде как нельзя. Ссылка на комментарий
Гость Greh921 Опубликовано 26 Августа 2010 Поделиться Опубликовано 26 Августа 2010 (изменено) Срочно! Не могу получить инфопоршень с спейс_регитр-а на новой локации для старта квеста [logic] active = sr_idle [sr_idle] on_actor_inside = nil %=give_task(+escape_stalker_help)% [escape_stalker_help] icon = ui_inGame2_V_poiskah_Soroki prior = 112 storyline = true title = {-escape_stalker_help} escape_stalker_help descr = {-escape_stalker_help} escape_stalker_help_text target = {+escape_stalker_help} esc_kwest ;reward_money = 3000 condlist_0 = {+escape_stalker_help_done} complete ;condlist_1 = {+jup_b220_trapper_zaton_chimera_hunted_told} complete [20506] ; cse_abstract properties section_name = space_restrictor name = esc_tips_fox position = 287.200012207031,16.6319103240967,275.321502685547 direction = -0.104504659771919,0.517827808856964,-0.0501847825944424 ; cse_alife_object properties game_vertex_id = 934 distance = 0 level_vertex_id = 594270 object_flags = 0xffffff3e custom_data = <<END cfg = scripts\esc_tips_fox.ltx END ; cse_shape properties shapes = shape0,shape1,shape2,shape3,shape4,shape5 shape0:type = box shape0:axis_x = 71.6746063232422,0,0 shape0:axis_y = 0,18.0631980895996,0 shape0:axis_z = 0,0,7.15800046920776 shape0:offset = 0,0,0 shape1:type = box shape1:axis_x = 71.6746063232422,2.67008715582051e-007,-2.13606972465641e-006 shape1:axis_y = 0,18.063196182251,1.34581313204762e-007 shape1:axis_z = 0,2.66656297043255e-008,7.15800046920776 shape1:offset = -70.810791015625,3.28049087524414,0.246719360351563 shape2:type = box shape2:axis_x = 70.5857162475586,-5.34017431164102e-007,-12.4460964202881 shape2:axis_y = 6.72906566023812e-008,18.063196182251,-6.72906566023812e-008 shape2:axis_z = 1.24296712875366,1.06662518817302e-007,7.04925537109375 shape2:offset = -139.549942016602,6.66907978057861,6.34806823730469 shape3:type = box shape3:axis_x = 64.9593124389648,-1.00128272606526e-006,-30.2908554077148 shape3:axis_y = 3.81672322191662e-007,25.6135959625244,1.90836161095831e-007 shape3:axis_z = 3.0250871181488,0,6.48735809326172 shape3:offset = -203.898208618164,6.86461544036865,27.2836456298828 shape4:type = box shape4:axis_x = 64.9593124389648,-1.00128272606526e-006,-30.2908554077148 shape4:axis_y = 3.81672322191662e-007,25.6135959625244,1.90836161095831e-007 shape4:axis_z = 3.0250871181488,0,6.48735809326172 shape4:offset = -260.097442626953,7.74838256835938,53.8768310546875 shape5:type = box shape5:axis_x = 65.4553070068359,4.65114135295153e-006,-45.8319931030273 shape5:axis_y = -1.67716643773019e-006,26.4829940795898,9.86568466032622e-007 shape5:axis_z = 6.40486860275269,3.32790563106755e-007,9.14716148376465 shape5:offset = -318.800598144531,12.4033985137939,88.3407592773438 ; cse_alife_space_restrictor properties restrictor_type = 3 Помогите! Плиз! Изменено 26 Августа 2010 пользователем Greh921 Ссылка на комментарий
_Призрак_ 11 Опубликовано 26 Августа 2010 Поделиться Опубликовано 26 Августа 2010 Подскажите почему у меня не бежит непись? [zaton_lox_trup_walk1] points = p0 p0:name = wp00|a=run|sig=path_end p0:flags = 0x1 p0:position = -53.8860282897949,-2.06345987319946,-206.42658996582 p0:game_vertex_id = 1186 p0:level_vertex_id = 139608 до точки доходит но не бежит. Нужно что-бы непись спавнился, добегал до точки и помирал Ссылка на комментарий
nuklia 0 Опубликовано 27 Августа 2010 Поделиться Опубликовано 27 Августа 2010 (изменено) Greh921, give_task(...) - это выдача задания, а не инфы, попробуй так [logic] active = sr_idle@help [sr_idle@help] on_actor_inside = sr_idle@test %=give_task(escape_stalker_help) +escape_stalker_help% [sr_idle@test] on_info = {+escape_stalker_help} sr_idle@nil %=run_cam_effector_global(scenario_cam\zaton\zat_b14_robbery)% [sr_idle@nil] Вторая секция логики - проверка на месте выдачи инфо, потом переключишь у себя на [sr_idle@nil] . _Призрак_, так выдь точка пути одинарная - он и не побежит, делай двойной путь с первой точкой на месте спавна (или там откуда он должен бежать), а вторую уже в конце пути, где у тебя по замыслу он помрет. А что-бы быстрей бежал a=sprint . [zaton_lox_trup_walk1] points = p0,p1 p0:name = wp00|a=run|sig=path_end p0:flags = 0x1 p0:position = откуда должен бежать p0:game_vertex_id = откуда должен бежать p0:level_vertex_id = откуда должен бежать p0:links = p1(1) p1:name = wp01 p1:flags = 0x1 p1:position = -53.8860282897949,-2.06345987319946,-206.42658996582 p1:game_vertex_id = 1186 p1:level_vertex_id = 139608 Изменено 27 Августа 2010 пользователем nuklia Ссылка на комментарий
Мертвец 44 Опубликовано 27 Августа 2010 Поделиться Опубликовано 27 Августа 2010 Прошу прощения если вопрос уже задавали, но я не нашел на него ответа: можно ли сделать так, чтобы обрез и детектор можно было взять в руки одновременно? Ссылка на комментарий
nuklia 0 Опубликовано 27 Августа 2010 Поделиться Опубликовано 27 Августа 2010 В файле configs/weapons/w_bm16.ltx найди строку slot = 2 , исправь на = 1 . Ссылка на комментарий
Мертвец 44 Опубликовано 27 Августа 2010 Поделиться Опубликовано 27 Августа 2010 (изменено) Неработает - достает с детектором нож. Может быть "animation_slot = 3" поменять? За что отвечает "hand_dependence = 1"? Изменено 27 Августа 2010 пользователем Мертвец Ссылка на комментарий
nuklia 0 Опубликовано 27 Августа 2010 Поделиться Опубликовано 27 Августа 2010 Нет, именно стр.99 , и обрез в игре в пистолетный слот перемести. Скрин http://yfrog.com/n1bm161j Ссылка на комментарий
Серый Волк 841 Опубликовано 27 Августа 2010 Поделиться Опубликовано 27 Августа 2010 (изменено) В файле character_desc_general в самом начале есть строки: <name>st_actor_name</name> <icon>ui_inGame2_Hero</icon> насколько я понял, 1 - имя, 2 - фото. Но вот его-то я и не могу нигде найти. Может я ошибаюсь? Подскажите, где найти файл с иконками персонажей которые в главном меню отображаются. Всю папку перебрал - не нашел. Ковыряю: SGM 1.6 + апдейт ЗЫ: Если кто может, но хочет прилюдно обсуждать - подскажите в личку. Я волшебное слово знаю - "Пожалуйста". Изменено 27 Августа 2010 пользователем Серый Волк Ссылка на комментарий
alexwew 0 Опубликовано 27 Августа 2010 Поделиться Опубликовано 27 Августа 2010 ui_actor_portrets.dds -здесь гг ui_iconstotal.dds - тут все остальное. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти