AKKK1 6 Опубликовано 5 Июля 2009 Что и где нужно прописать у НПС чтобы он находясь под гулагом в определенное время переключился на [smart_terrain] none = true и наоборот ???? Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 5 Июля 2009 gruber Это не совсем то что хотелось Нужно чтоб НПС находясь под гулагом любым в определенное время отправился по своим делам тоесть в none = true а погуляв некоторое время стал снова доступен смартгулагам любым верней тем которым подходит Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 6 Июля 2009 Kostya V Спасибо но наскольло я понимаю невозможно создать смартгул на всю локу ? или можно ? Как заставить непися для начала просто в определенное время покинуть гулаг перейти под свою логику но не в другой гулаг если он конечно не на всю локу допустим начало игры новички у костра в 5.20 один из них должен уйти в [smartterain] none = true а в 12.00 вернутся обратно или к любому другому camp НПС находится под каким-нибудь гулагом. Затем по инфопоршину он покидает этот гулаг и идет в гулаг, который ты создал о можноли создать на локе штук 30 гулагов и чтоб НПС по инфопоршу выбирал их рандомно Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 6 Июля 2009 Спасибо если нельзя выдрать непись из гулага то можноли использовать логику гулага для НПС Тоесть если НПС прописать например это с определенными условиями конечно сидящие днём у костра [logic@esc_lager_kamp1] active = kamp1@esc_lager [kamp1@esc_lager] center_point = camp_center path_walk = camp_center_task soundgroup = esc_lager meet = meet@lager пойдет он k костру в лагере новичков ? и если пойдет то ниче что он четвертым будет ? Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 4 Августа 2009 Как прописать что бы непись появился сразу в начале игры, а не после диалога? С редактированием алл.спавна Если я правильно понял то так создаем секцию и алл спавне [не использумое число] ; cse_abstract properties section_name = stalker ----------- обязательно name = -------------------------- имя position = -225.604339599609,-20.221607208252,-147.097625732422 ------- координаты direction = 0.0623090341687202,0.00229393295012414,0.0141186164692044 ----- ореентир можно (0,0,0) ; cse_alife_trader_abstract properties money = 5000 -------------- ну тут понятно character_profile = esc_stalker_novice ------------ ; cse_alife_object properties game_vertex_id = 47 distance = 3.5 level_vertex_id = 29123 object_flags = 0xffffffbf custom_data = <<END [smart_terrains] esc_lager = true ----------- имя смарта если под своей логикой то none = true END ; cse_visual properties visual_name = actors\novice\green_stalker_2 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 1 g_group = 5 health = 1 dynamic_out_restrictions = dynamic_in_restrictions = upd:health = 1 upd:timestamp = 0xef20e0ec upd:creature_flags = 0xe5 upd:position = -225.604339599609,-20.221607208252,-147.097625732422 upd:o_model = 0 upd:o_torso = 0.00229393295012414,0.0623090341687202,0 upd:g_team = 0 upd:g_squad = 1 upd:g_group = 5 ; cse_alife_monster_abstract properties upd:next_game_vertex_id = 65535 upd:prev_game_vertex_id = 65535 upd:distance_from_point = 0 upd:distance_to_point = 0 ; cse_alife_human_abstract properties predicate5 = 2,2,0,1,0 predicate4 = 2,1,2,1 ; cse_ph_skeleton properties upd:start_dialog = ; se_stalker properties Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 6 Августа 2009 У кого получилось выставте пожалста архив с папкой gamedata Вот несовсем этот пример но может поможет разобратся спаунится бандит за бункером сидора после разговора с ним о звезде в начале игры АМК 1.4.1 http://ifolder.ru/13431710 Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 10 Августа 2009 AKKK1, А ты мог бы в своих файлах выделить те строчки, которые заменил? В смысле заменил ? Есть файл ak_spawn в нем функция function bandit_create() local a = vector() a.x = -254.9029 a.y = -18.0704 a.z = -116.2938 obj = alife():create("esc_bandit_respawn_1", a, 8190, 8,65535) end Eсли речь о файле dialogs_escepe.XML то вызов здесь можно быстро найти используя поиском в тексте по имени функции bandit_create <text>escape_trader_start_dialog_331111</text> <give_info>kvest_art_started</give_info> <action>amk_mod.spawn_star</action> <action>ak_spawn.bandit_create</action> это добавленно <action>escape_dialog.give_weapon_from_trader</action> <next>3311111</next> Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 11 Октября 2009 (изменено) Выделенное <!---------------------------------------esc_unik_npc-----------------------------------------------------> <specific_character id="esc_unik_npc" team_default = "1"> <name>Батя</name> <icon>ui_npc_u_stalker_bandit_3</icon> <bio>esc_wolf_bio</bio> <class>esc_otbrosi_1</class> <community>dolg</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>367</rank> <reputation>60</reputation> <money min="600" max="2000" infinitive="1"/> <character id="esc_unik_npc"> <class>esc_unik_npc</class> <specific_character>esc_unik_npc</specific_character> </character> [esc_unik_npc]:stalker $spawn = "respawn\esc_unik_npc" Ты веть не создавал респаун с таким именем ? или создавал character_profile = esc_unik_npc spec_rank = regular community = stalker custom_data = scripts\esc_unik_npc.ltx Да и откуда у тебя происходит вызов функции function esc_unik_npc () Зы лучше если вылеты будут понятно что, что то работает хоть и не правильно Изменено 11 Октября 2009 пользователем AKKK1 Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 12 Октября 2009 (изменено) Пример здесь http://ifolder.ru/14454490 Один НПС заспауница с началом игры а второй(точно такой) после разговора с Сидором о звезде Координаты рядом с бункером Оба пойдут в лагерь и усядутся у костра Использованны файлы ak_spawn.script (функция спавна ) function bandit_create() local a = vector() a.x = -254.9029 a.y = -18.0704 a.z = -116.2938 obj = alife():create("esc_unik_npc", a, 8190, 8,65535) end в файл spawn.sections.ltx добавленно ; -------- esc_unik_npc ----------------------- [esc_unik_npc]:stalker $spawn = "respawn\esc_unik_npc" character_profile = esc_unik_npc spec_rank = regular community = dolg custom_data = scripts\esc_unik_npc.ltx указание на файл логики в файл character_desc_escape <!---------------------------esc_unik_npc-----------------------> <specific_character id="esc_unik_npc" team_default = "1"> <name>GENERATE_NAME_bandit</name> <icon>ui_npc_u_green_stalker_2</icon> <bio>ui_npc_u_stalker_bandit_3</bio> <class>esc_unik_npc</class> <community>dolg</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>140</rank> <reputation>12</reputation> <money min="200" max="600" infinitive="0"/> <snd_config>characters_voice\human_01\monolith\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\bandit\stalker_bandit_3</visual> <supplies> [spawn] \n wpn_groza \n ammo_9x39_pab9 \n wpn_bm16 \n ammo_12x70_buck \n #include "gameplay\character_items.xml" \n #include "gameplay\character_food.xml" </supplies> #include "gameplay\character_criticals_3.xml" <start_dialog>hello_dialog</start_dialog> #include "gameplay\character_dialogs.xml" </specific_character> в файл npc_profile <character id="esc_unik_npc"> <class>esc_unik_npc</class> </character> вызов функции спавна при старте иры добавлен в файл info_portions <game_information_portions> <info_portion id="storyline_actor_start"> <task>storyline_eliminate_gunslinger</task> <action>ak_spawn.bandit_create</action> (имя файла_имя функции) вызов функции спавна при разговоре о звезде файл dialogs_escape<phrase id="331111"> <text>escape_trader_start_dialog_331111</text> <give_info>kvest_art_started</give_info> <action>amk_mod.spawn_star</action> <action>ak_spawn.bandit_create</action>(имя файла_имя функции) <action>escape_dialog.give_weapon_from_trader</action> <next>3311111</next> </phrase> Ну и файл логики esc_unik_npc [smart_terrains] none = true Чтоб не захватывался гулагами [logic] active = kamp схема сидеть у костра [kamp] center_point = esc_lager_camp_center полные названия точек (координат) path_walk = esc_lager_camp_center_task soundgroup = esc_lager meet = meet@lager вместо этой логики можете писать любую другую Еще раз проверил все работает AMK 1.4.1 + 2 патча распаковать архив найти папку гейм дата в которой папки конфиг и скрипс и скопировать согласившись на замену файлов Изменено 16 Октября 2009 пользователем AKKK1 Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 7 Апреля 2010 (изменено) а можно както зделать логику что например от 6:00 до 20:00 сталкер например сидит за костром, а с 20:01 до 5:59 спит???????? ДА функция в хr_кондишн function имя_имя1() if level.get_time_hours() >= 6 and level.get_time_hours() < 20 then return true else return false end end function имя_имя2() if level.get_time_hours() >= 20 and level.get_time_hours() < 24 then return true else return false end end function имя_имя3() if level.get_time_hours() >= 0 and level.get_time_hours() < 6 then return true else return false end end логика [logic] active = kamp [kamp] on_info = {=имя_имя2} sleeper если больше равно 20 и меньше 24 спим on_info2 = {=имя_имя3} sleeper если больше 0 но меньше 6 спим center_point = координаты верней назиания секции в файле way_уровень path_walk = координаты верней назиания секции в файле way_уровень [sleeper] on_info = {=имя_имя1} kamp если больше 6 меньше 20 сидим у костра path_main = координаты верней назиания секции в файле way_уровень Изменено 9 Апреля 2010 пользователем AKKK1 Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 15 Апреля 2010 (изменено) Да.Все сделано правильно,но логику в студию Ты писал ему логику ? Изменено 15 Апреля 2010 пользователем AKKK1 Поделиться этим сообщением Ссылка на сообщение
AKKK1 6 Опубликовано 28 Апреля 2010 raf100 Вот встал вопрос: заспавнил через оллспавн 6 нпс. в разных местах. Задал каждому свой путь. Попутно создал еще 6 и заставил их стоять. Те кто должен стоять стоят а путепроходци идит в одну точку(причем далеко идут) и вертятся в ней по кругу. Как исправить эту карусель? в последней точке нужна сылка на первую (или любую другую) [esc_lager_reid1] points = p0,p1,p2,p3,p4,p5 p0:name = wp00 p0:position = -8.943,-13.336,-148.609 p0:game_vertex_id = 108 p0:level_vertex_id = 267549 p0:links = p1(1) p1:name = wp01 p1:position = -19.6868887329102,4.10310536956787,36.844128295898 p1:game_vertex_id = 82 p1:level_vertex_id = 257553 p1:links = p2(1) p2:name = wp02 p2:position = -84.155615112305,11.521396697998,130.523866210938 p2:game_vertex_id = 84 p2:level_vertex_id = 182907 p2:links = p3(1) p3:name = wp03 p3:position = -153.528093994141,2.2575981140137,18.302373291016 p3:game_vertex_id = 80 p3:level_vertex_id = 96857 p3:links = p4(1) p4:name = wp04 p4:position = -192.871530517578,-2.9981938781738,-67.598228881836 p4:game_vertex_id = 68 p4:level_vertex_id = 58669 p4:links = p5(1) p5:name = wp00 p5:position = -33.743641113281,2.4169506835938,68.040124755859 p5:game_vertex_id = 86 p5:level_vertex_id = 244276 p5:links = p0(1) Поделиться этим сообщением Ссылка на сообщение