Akella-96 aka SvD 35 Опубликовано 10 Июля 2012 Поделиться Опубликовано 10 Июля 2012 (изменено) Shredder, эта функция вызывается ТОЛЬКО при начале новой игры. Изменено 10 Июля 2012 пользователем Akella-96 aka SvD AWRP : Re - Load 0.2 © Ссылка на комментарий
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 57 Опубликовано 16 Июля 2012 Поделиться Опубликовано 16 Июля 2012 (изменено) Есть ли в логике какая нибудь проверка на "погиб ли отряд от рук другого отряда"? Что то вроде {=killed_by_actor()}, только наоборот {!killed_by_actor()} - проверяет, что просто не убит НПСя Глав.Героем и все, а мне хотелось бы для квеста, что если убит гг, то одна инфа, а если нпсями - другая Изменено 16 Июля 2012 пользователем ZeeK Не соответствует. N6260 Ссылка на комментарий
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)} Мой YouTube-канал Ссылка на комментарий
ZeeK 57 Опубликовано 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 Не соответствует. N6260 Ссылка на комментарий
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 Мой YouTube-канал Ссылка на комментарий
ZeeK 57 Опубликовано 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. а потом за ним и таймер заодно с отменой задания) похоже придется "оставить нпся только для убийств ГГ", никакой симуляции Не соответствует. N6260 Ссылка на комментарий
Clayman 104 Опубликовано 17 Июля 2012 Поделиться Опубликовано 17 Июля 2012 ZeeK, насколько я понял, =killed_by_actor проверяется из логики персонажа, а не рестриктора. Туда не передаются никакие параметры типа sid-а. Посмотрите функцию в xr_condition. Ссылка на комментарий
Akella-96 aka SvD 35 Опубликовано 17 Июля 2012 Поделиться Опубликовано 17 Июля 2012 Ребят, подскажите, кто знает. Как сделать так, чтобы при использовании предмета подряд ( именно подряд, а не сразу ) проигрывались несколько песен. Я смог реализовать только одну. Если пытался делать несколько, то они проигрывались сразу все. Добавлено через 151 мин.: Возник ещё один вопрос : как удалить эффект от присутствия полтергейста (синий экран) ? AWRP : Re - Load 0.2 © Ссылка на комментарий
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 3 541 Опубликовано 19 Июля 2012 Поделиться Опубликовано 19 Июля 2012 Добрый день. Правлю положения оружия в руках в ЗП чтобы потом адаптировать его в ЧН. Вопросы: 1. В ЧН и ЗП угол зрения одинаковый или разный ? 2. Если разный то в какую сторону надо менять положение по шкале "ближе-дальше". В сторону увеличения расстояния от глаз, или в сторону уменьшения. Вообщем надо выставить положение оружия так чтобы оно нормально смотрелось в ЧН в плане расстояния от глаз игрока. Ссылка на комментарий
ZeeK 57 Опубликовано 19 Июля 2012 Поделиться Опубликовано 19 Июля 2012 (изменено) Ребят, подскажите функция хитования гг через скрипт, а то найти правильное написание не могу. И еще кое что: db.actor.radiation = 0.05 - облучение радиацией или ее вывод? Изменено 19 Июля 2012 пользователем ZeeK Не соответствует. N6260 Ссылка на комментарий
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 Мой YouTube-канал Ссылка на комментарий
_Призрак_ 11 Опубликовано 19 Июля 2012 Поделиться Опубликовано 19 Июля 2012 Scarabay Не правильно. Такой код увеличит радиацию на 0.05. Тоесть если у нас радиация 0.1, то после кода - 0.15 Freedom Ссылка на комментарий
Андрей Морозов 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 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти