Akella-96 aka SvD 35 Опубликовано 10 Июля 2012 Поделиться Опубликовано 10 Июля 2012 (изменено) Shredder, эта функция вызывается ТОЛЬКО при начале новой игры. Изменено 10 Июля 2012 пользователем Akella-96 aka SvD Ссылка на комментарий
Shredder 49 Опубликовано 10 Июля 2012 Поделиться Опубликовано 10 Июля 2012 А нужно как? Я так и подумал что при начале новой игры. Ну если нужно при каждом старте, то для такого случая в скрипте _g.script есть функция start_game_callback(), можно в ней прописать вызов своей функции. Да, кстати, твой код тоже будет вызван единажды при старте новой игры, для скачавшего мод геймера. Ссылка на комментарий
Batment 0 Опубликовано 15 Июля 2012 Поделиться Опубликовано 15 Июля 2012 Всем здрасьте, у меня в simulation.ltx когда локации заселял, все сквады были в одной куче, на [start_position_escape], после разделение на каждую локацию ([start_position_имя_уровня)сквады перестали спавнится, кроме тех что были в [start_position_escape]. С чем это связано ? Вот вырезка из simulation.ltx ;;;;;;;;;;;;;;;;;;;;;;;; FINAL_ESCAPE ;;;;;;;;;;;;;;;;;;;;;;;;;;;; [start_position_escape] esc_smart_terrain_2_12_stalker_2_squad_2 = esc_smart_terrain_2_12 esc_smart_terrain_2_12_stalker_2_squad_1 = esc_smart_terrain_2_12 esc_smart_terrain_3_16_military_2_squad_0 = esc_smart_terrain_3_16 esc_smart_terrain_3_16_military_2_squad_1 = esc_smart_terrain_3_16 esc_smart_terrain_3_16_military_2_squad_2 = esc_smart_terrain_3_16 esc_boars_lair_guard_3_10 = esc_smart_terrain_4_10 esc_boars_lair_guard_5_6 = esc_smart_terrain_5_6 esc_smart_terrain_6_8_military_2_squad_1 = esc_smart_terrain_6_8 esc_dogs_lair_guard_5_12 = esc_smart_terrain_5_12 esc_dogs_lair_guard_6_3 = esc_smart_terrain_6_3 esc_smart_terrain_5_7_stalker_2_squad = esc_smart_terrain_5_7 esc_smart_terrain_5_7_stalker_2_squad_2 = esc_smart_terrain_5_7 esc_smart_terrain_atp_bandit_squad_1 = esc_smart_terrain_atp esc_tech_stalkerbase_squad = esc_smart_terrain_2_74 [start_position_garbage] gar_bandit_smart_terrain_3_5_squad_1 = gar_smart_terrain_3_5 gar_bandit_smart_terrain_3_5_squad_2 = gar_smart_terrain_3_5 gar_bandit_smart_terrain_3_5_squad_3 = gar_smart_terrain_3_5 gar_bandit_smart_terrain_3_5_squad_4 = gar_smart_terrain_3_5 gar_bandit_smart_terrain_5_2_squad_1 = gar_smart_terrain_5_2 gar_bandit_smart_terrain_5_2_squad_2 = gar_smart_terrain_5_2 gar_bandit_smart_terrain_8_7_squad_2 = gar_smart_terrain_8_7 gar_bandit_smart_terrain_8_7_squad_1 = gar_smart_terrain_8_7 gar_stalkers_flea_market_squad_1 = gar_smart_terrain_6_3 gar_bandit_smart_terrain_1_5_squad_1 = gar_smart_terrain_1_5 gar_bandit_smart_terrain_5_8_squad_1 = gar_smart_terrain_5_8 gar_bandit_smart_terrain_5_8_squad_1 = gar_smart_terrain_5_8 [start_position_l05_bar] bar_visitors_2_smart_terrain_squad = bar_visitors_2_smart_terrain bar_b2_smart_terrain_squad = bar_b2_smart_terrain bar_dolg_sim_smart_1_squad = bar_dolg_sim_smart_1 bar_visitors_3_smart_terrain_squad = bar_visitors_3_smart_terrain bar_visitors_smart_terrain_squad = bar_visitors_smart_terrain ;;;;;;;;;;;;;;;;;;;;;;;;bar_dolg_okolo_sklada_smart_terrain_squad = bar_dolg_okolo_sklada_smart_terrain ;;;;;;;;;;;;;;;;;;;;;;;;bar_patrol_smart_terrain_squad = bar_patrol_smart_terrain [start_position_yantar] yantar_zombie_squad = yan_smart_terrain_zombie_1 yantar_zombie_squad_2 = yan_smart_terrain_zombie_3 yantar_zombie_squad_3 = yan_smart_terrain_zombie_5 yantar_zombie_squad_4 = yan_smart_terrain_zombie_6 yantar_zombie_squad_5 = yan_smart_terrain_zombie_8 yantar_ecolog_squad_1 = yan_smart_terrain_camp yan_b33_snork_wave = yan_smart_terrain_zombie_3 yan_b34_snork_wave = yan_smart_terrain_zombie_4 [start_position_l11_pripyat] l11_pri_b39_dogs_squad = l11_pri_smart_terrain ;;;;;;;;;;;;;;;;;;;;;;;;--l11_pri_bloodsucker_1 = l11_pri_smart_terrain_bloodsucker ;;;;;;;;;;;;;;;;;;;;;;;;--l11_pri_snork = l11_pri_smart_terrain_snork_1 ;;;;;;;;;;;;;;;;;;;;;;;;--l11_pri_snork_1 = l11_pri_smart_terrain_snork_2 ;;;;;;;;;;;;;;;;;;;;;;;;--l11_pri_pseudodog_1 = l11_pri_smart_terrain_psevdodog_2 l11_pri_smart_terrain_5_7_stalker_1_squad = l11_pri_smart_terrain_5_7 [start_position_l03_agroprom] Название уровней вроде правильное. 2. может ли быть у смарта несколько кемп зон ? Ссылка на комментарий
ZeeK 62 Опубликовано 16 Июля 2012 Поделиться Опубликовано 16 Июля 2012 (изменено) Есть ли в логике какая нибудь проверка на "погиб ли отряд от рук другого отряда"? Что то вроде {=killed_by_actor()}, только наоборот {!killed_by_actor()} - проверяет, что просто не убит НПСя Глав.Героем и все, а мне хотелось бы для квеста, что если убит гг, то одна инфа, а если нпсями - другая Изменено 16 Июля 2012 пользователем ZeeK Ссылка на комментарий
Clayman 104 Опубликовано 16 Июля 2012 Поделиться Опубликовано 16 Июля 2012 ZeeK, так может просто отловить факт смерти сквада в конфиге on_death = %+скваду_кранты%, а если актером - то соответственно проверка, как ты написал. Или тебе нужно от конкретных нпс факт убивства отлавливать? Ссылка на комментарий
Scarabay 98 Опубликовано 16 Июля 2012 Поделиться Опубликовано 16 Июля 2012 ZeeK, есть. -- Проверка того что персонаж был убит кем-то из npc указанных в списке. -- Параметры это story_id персонажей. Можно задавать несколько story_id. {=killed_by(story_id)} Пример: {!killed_by(sidorovich)} Ссылка на комментарий
ZeeK 62 Опубликовано 17 Июля 2012 Поделиться Опубликовано 17 Июля 2012 (изменено) Clayman, Scarabay предполагалось, что гг должен убить НПСя, чтобы выполнить квест, а если НПСя гибнет из за НПСя из симуляции - отмена квеста и высылка сообщения Сейчас схема имеет вид(приведен кусок) [sr_idle2] on_info1 = {=killed_by_actor(zat_giant_for_quest) +zat_giant_for_quest_death} sr_idle3 on_info2 = {!killed_by_actor(zat_giant_for_quest) +zat_giant_for_quest_death} sr_idle@timer %+zat_b52_giant_quest_provalen% Однако сначала выполняется условие 1, и сразу за ним и 2ое. Вот думаю добавить сверху инфорпоршень, чтобы стало так: [sr_idle2] on_info1 = {=killed_by_actor(zat_giant_for_quest) +zat_giant_for_quest_death} sr_idle3 %+zat_b52_giant_quest_go_next% on_info2 = {!killed_by_actor(zat_giant_for_quest) +zat_giant_for_quest_death -zat_b52_giant_quest_go_next} sr_idle@timer %+zat_b52_giant_quest_provalen% Но у меня щас нет возможности проверить логику, поэтому был бы благодарен, если бы дали комментарий - сработает ли такой способ? {=killed_by(story_id)} Не подходит т.к. я описал выше, что замочить цель могут и симуляционные сталкеры, которые не имеют id Изменено 17 Июля 2012 пользователем ZeeK Ссылка на комментарий
Scarabay 98 Опубликовано 17 Июля 2012 Поделиться Опубликовано 17 Июля 2012 (изменено) ZeeK, попробуй так: [sr_idle2] on_info = {=killed_by_actor(zat_giant_for_quest) +zat_giant_for_quest_death} sr_idle3, {!killed_by_actor(zat_giant_for_quest) +zat_giant_for_quest_death} sr_idle@timer %+zat_b52_giant_quest_provalen% Даже вот так можно (и нужно): [sr_idle2] on_info = {=killed_by_actor(zat_giant_for_quest) +zat_giant_for_quest_death} sr_idle3, sr_idle@timer %+zat_b52_giant_quest_provalen% Изменено 17 Июля 2012 пользователем Scarabay Ссылка на комментарий
ZeeK 62 Опубликовано 17 Июля 2012 Поделиться Опубликовано 17 Июля 2012 Scarabay ни [sr_idle2] on_info = {=killed_by_actor(zat_giant_for_quest) +zat_giant_for_quest_death} sr_idle3, sr_idle@timer %+zat_b52_giant_quest_provalen% ни [sr_idle2] on_info = {=killed_by_actor(zat_giant_for_quest) +zat_giant_for_quest_death} sr_idle3, {+zat_giant_for_quest_death} sr_idle@timer %+zat_b52_giant_quest_provalen% не работают, а точнее сначала срабатывает ср_идл3. а потом за ним и таймер заодно с отменой задания) похоже придется "оставить нпся только для убийств ГГ", никакой симуляции Ссылка на комментарий
Clayman 104 Опубликовано 17 Июля 2012 Поделиться Опубликовано 17 Июля 2012 ZeeK, насколько я понял, =killed_by_actor проверяется из логики персонажа, а не рестриктора. Туда не передаются никакие параметры типа sid-а. Посмотрите функцию в xr_condition. Ссылка на комментарий
Akella-96 aka SvD 35 Опубликовано 17 Июля 2012 Поделиться Опубликовано 17 Июля 2012 Ребят, подскажите, кто знает. Как сделать так, чтобы при использовании предмета подряд ( именно подряд, а не сразу ) проигрывались несколько песен. Я смог реализовать только одну. Если пытался делать несколько, то они проигрывались сразу все. Добавлено через 151 мин.: Возник ещё один вопрос : как удалить эффект от присутствия полтергейста (синий экран) ? Ссылка на комментарий
Clayman 104 Опубликовано 17 Июля 2012 Поделиться Опубликовано 17 Июля 2012 Кто-то уже может заметил, что в ЗП в озвучке долга убрали обычные голоса, все конфиги human_01, human_02, human_03 играются голосами в "антигазах", так.как в ЗП нету визуалов долга без масок. В связи с переносом многих визулов из ТЧ, у меня много долговцев, которым нужна обычная озвучка - голоса в противогазах в открытых ртах слушаются глупо. Я вот подумал, а если подменить озвучку долга human_01, human_02 из ЧН (там звуки в порядке), не будет вылетов? Там папки вроде по количеству файлов отличаются от ЗП-шных, но все сравнивать мне что-то лениво... Никто так не делал уже? Или уже для этих визуалов поставить сталкеровскую озвучку? Лишний вес моду звуками тоже накручивать неохото... Ссылка на комментарий
Batment 0 Опубликовано 18 Июля 2012 Поделиться Опубликовано 18 Июля 2012 Вообщем у меня вот такой вылет на подключенной локации "Агропром" 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 : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:950: bad argument #1 to 'gfind' (string expected, got nil) stack trace: Я сразу подумал что что-то не так с логикой, удалил всех нпс что были на локации,вылет не исчез, в спавне оставил всего одну секцию: [0] ; cse_abstract properties section_name = breakable_object name = meshes\brkbl#0.ogf position = 127.544509887695,8.15257263183594,67.6282119750977 direction = 0.00830990821123123,-0.785428702831268,1.5723774433136 version = 124 script_version = 8 ; cse_alife_object properties game_vertex_id = 1205 distance = 0 level_vertex_id = 4 object_flags = 0xffffffba ; cse_visual properties visual_name = meshes\brkbl#0 ; cse_alife_object_breakable properties health = 1 Удалил все сквады спавнящиеся на этой локации, смарт терейны, все ! А вылет не исчез. Локация полностю чистая. Ссылка на комментарий
shahvkit 3741 Опубликовано 19 Июля 2012 Поделиться Опубликовано 19 Июля 2012 Добрый день. Правлю положения оружия в руках в ЗП чтобы потом адаптировать его в ЧН. Вопросы: 1. В ЧН и ЗП угол зрения одинаковый или разный ? 2. Если разный то в какую сторону надо менять положение по шкале "ближе-дальше". В сторону увеличения расстояния от глаз, или в сторону уменьшения. Вообщем надо выставить положение оружия так чтобы оно нормально смотрелось в ЧН в плане расстояния от глаз игрока. Ссылка на комментарий
ZeeK 62 Опубликовано 19 Июля 2012 Поделиться Опубликовано 19 Июля 2012 (изменено) Ребят, подскажите функция хитования гг через скрипт, а то найти правильное написание не могу. И еще кое что: db.actor.radiation = 0.05 - облучение радиацией или ее вывод? Изменено 19 Июля 2012 пользователем ZeeK Ссылка на комментарий
Scarabay 98 Опубликовано 19 Июля 2012 Поделиться Опубликовано 19 Июля 2012 (изменено) ZeeK, function add_radiation_1() local h = hit() h.draftsman = db.actor h.type = hit.radiation -- strike, fire_wound и т.д. h.power = 0.01 h.impulse = 0 h.direction = vector():set(0,0,0) h:bone("bip01_spine") db.actor:hit(h) end db.actor.radiation = 0.05 - установка радиации в 0.05 Изменено 19 Июля 2012 пользователем Scarabay Ссылка на комментарий
_Призрак_ 11 Опубликовано 19 Июля 2012 Поделиться Опубликовано 19 Июля 2012 Scarabay Не правильно. Такой код увеличит радиацию на 0.05. Тоесть если у нас радиация 0.1, то после кода - 0.15 Ссылка на комментарий
Андрей Морозов 1 Опубликовано 20 Июля 2012 Поделиться Опубликовано 20 Июля 2012 Объясните как удалить локации из section4.bin (Файл в all.spawn) в целом они мне не мешают но весят много Ссылка на комментарий
Атом 0 Опубликовано 22 Июля 2012 Поделиться Опубликовано 22 Июля 2012 Помогите!!! Не могу сделать переход между лоациями в ЗП, делаю через all.spawn если делаю в виде box то переход растягивает на всю локацию, а виде sphere я делать не умею, подскажите как правильно делать переход в виде sphere Ссылка на комментарий
karonbaron 2 Опубликовано 2 Августа 2012 Поделиться Опубликовано 2 Августа 2012 Ребята, возникла проблема. Кто может, помогите советом! Суть дела вот в чем. Заселяю новую локу, создаю торговца (модель Борова из ЧН) с [logic] active = camper level_spot = trader trade = misc\trade\trade_mil_freedom_trader.ltx trader_flags = 0 inv_max_weight = 10000 meet = meet [camper] path_walk = mil_freedom_trader_walk path_look = mil_freedom_trader_look [meet] close_snd_hello = gar_bandit_barman_meet close_snd_bye = gar_bandit_barman_meet_bye close_snd_distance = 3 При этом звуки в нужную папку закинуты, также их зарегистрировал в файле script_sound_military.ltx с [list_script_sound_military] gar_bandit_barman_meet gar_bandit_barman_meet_bye [gar_bandit_barman_meet] type = npc path = scenario\military\gar_bandit_barman_meet_greet_ shuffle = rnd play_always = true idle = 0,0,100 [gar_bandit_barman_meet_bye] type = npc path = scenario\military\gar_bandit_barman_meet_bye_ shuffle = rnd idle = 1,1,100 Сам файл script_sound_military.ltx зарегистрировал в script_sounds.ltx. Когда подхожу к торговцу на расстояние ближе 3 метров, ловлю Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....r. - cop shoker\gamedata\scripts\sound_theme.script:256: bad argument #2 to 'random' (interval is empty) В чем проблема может быть? Я не все зарегистрировал, или логика не до конца прописана? На всякий случай, кусок кода с 256 строкой из скрипта sound_theme Кусок кода из sound_theme function npc_sound:select_next_sound(npc_id) local npc_data = self.npc[npc_id] if self.shuffle == "rnd" then if npc_data.max == 0 then return 0 end if self.played_id ~= nil then local played_id = math.random(0,npc_data.max - 1) -- 256-я строка if played_id >= self.played_id then return played_id + 1 end return played_id end return math.random(0,npc_data.max) end Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти