ShteiN 0 Опубликовано 16 Мая 2009 Поделиться Опубликовано 16 Мая 2009 (изменено) Объясните, пожалуйста, как работают скрипты БТРов на Кордоне из АМК мода, хочу по их принципу сделать пулеметы на станке у этих же вояк. Тоесть как в ЧН Изменено 16 Мая 2009 пользователем ShteiN Ссылка на комментарий
sasha47007 3 Опубликовано 27 Мая 2009 Поделиться Опубликовано 27 Мая 2009 Как сделать логику вертолёту чтоб он летел за ГГ и атаковал его? Помогите пожалуйста)) Ссылка на комментарий
ClearSky 0 Опубликовано 7 Июня 2009 Поделиться Опубликовано 7 Июня 2009 (изменено) sasha47007, Легче простого!!!! Позволяет летать вертолёту по патрульному пути, регулировать скорость, зависать, стрелять по различным целям. Для схемы должен быть задан path_move – путь, по которому будет летать вертолёт. Он может содержать одну вершину, если нужно, чтоб вертолёт висел на месте. Можно (но не обязательно) задать path_look – путь, в вершины которого вертолет может смотреть. Вершины этих путей могут быть поставлены где угодно в пределах ограничивающего бокса уровня. Они не зависят от ai-nodes. По пути вертолёт летает без учёта связей между вершинами. Он летает от вершины к вершине в порядке возрастания их номера (т.е. в порядке, в котором их поставили на уровень). Вертолёт старается летать точно по вершинам пути. При желании можно сделать ювелирный пролёт под мостом. Вертолёт старается летать как можно быстрее. Пояснение: если ему задать, что в следующей вершине пути он должен иметь скорость 10 м/с, а его максимальная скорость установлена в 30 м/с, то он не станет сразу лететь 10 м/с. Он сначала будет разгоняться вплоть до 30 м/с и только на подлёте к целевой вершине начнёт тормозить с расчётом прибыть в неё имея 10 м/с. Если в вершине пути path_move задан набор флажков, то вертолёт будет смотреть в любую из вершин path_look, в которых задан такой же набор флажков. Поворачиваться к этой точке вертолёт начнёт с предыдущей вершины пути. На данном этапе вертолет не может, зависнув в одном месте, смотреть поочередно в несколько точек path_look Настройки: * engine_sound = true/false (по умолчанию true) Вкл/выкл звук двигателя вертолёта. * invulnerable = true/false (по умолчанию false) Неуязвимость. Если true, вертолёт игнорирует все хиты. * immortal = true/false (по умолчанию false) Бессмертие. Если true, вертолёт получает повреждения, но не умирает. * mute = true/false (по умолчанию false) Отключает универсальные реплики пилотов вертолета. * rocket_delay = msec (время в миллисекундах реального времени) Задержака между пусками ракет. По дефолту берется из ltx (сейчас 1250 мсек) * default_velocity = m/sec (скорость с которой летает вертолет, если не заданы другие параметры) Параметры, задаваемые в именах вершин пути path_move: «e» – (сокр. от enemy) задание врага (цели). Стрелять по этой цели вертолёт начнёт уже в предыдущей вершине. Если значение не задано, то будет стрелять в точку из path_look, которая соответствует данной вершине. Если задано «e=actor» (можно сокращённо «e=a»), то огонь будет вестись по актёру. Если задано «e=число», стрелять будет по объекту со story id равным числу. «w» – (сокр. от weapon) каким оружием стрелять. Возможные значения: w=1 – стрелять только пулемётом; w=2 – стрелять только ракетами. По умолчанию стреляет из всего. «v» - (сокр. от velocity) задание максимальной скорости (в м/с) на участке пути от данной вершины до следующей. Если этот параметр не задан, то умолчание берётся из файла helicopter.ltx. «dv» - (сокр. от destination velocity) задание скорости (в м/с), которую вертолёт должен иметь в момент прибытия в данную вершину. «die» - убить вертолёт. «flame» - начать дымить (как будто подбили). Параметры, задаваемые в именах вершин пути path_look: «e» - работает так же как и в path_move. Разница в том, что стрелять по указанной цели вертолёт начнёт лишь тогда, когда прибудет в вершину пути path_move, которая соответствует данной вершине path_look. «w» – см. такой же параметр для пути path_move. «t» - (сокр. от time) длительность времени (в мс реального времени), на протяжении которого вертолёт будет смотреть в данную точку. Если этот параметр не задан, то вертолёт пронесётся без остановки, но постарается на ходу развернуться к этой вершине. Если заинтересовало, спрашивай у меня где то полная была Изменено 17 Сентября 2011 пользователем ColR_iT Ссылка на комментарий
IQDDD 5 Опубликовано 7 Июня 2009 Поделиться Опубликовано 7 Июня 2009 (изменено) ClearSky, а как делать принадлежность вертолёта к группировке? как спавнить вертолёт (скриптом и через ACDC)? Kirag, а сила аномалии разве не в zone_.ltx прописывается?и (параметр max_power_start) Изменено 17 Сентября 2011 пользователем ColR_iT Ссылка на комментарий
Влад 9 Опубликовано 8 Июня 2009 Поделиться Опубликовано 8 Июня 2009 Люди,а как заспавнить зомби через АСДС? сколько пробывал,а так и не допёрло Мои работы Не бойтесь совершенства. Вам его не достичь. C. Дали Ссылка на комментарий
Kirag 39 Опубликовано 8 Июня 2009 Поделиться Опубликовано 8 Июня 2009 Kirag, а сила аномалии разве не в zone_.ltx прописывается?и (параметр max_power_start) Там прописано непонятно что, во всяком случае у меня аномалии на изменение этого параметра не реагируют. Увеличиваю на порядок-другой, а как било еле-еле, так и дальше бьет. Другое дело выставить силу скриптом при спавне, или set_anomaly_power. Эффект зависит от типа аномалии, но в любом случае он ярко выраженный. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
IQDDD 5 Опубликовано 9 Июня 2009 Поделиться Опубликовано 9 Июня 2009 (изменено) Влад, раскапывать ACDC'ом all.spawn умеешь? Да? Тогда в конце файла типа "alife_l07_[локация]" прописываешь: [[номер объекта. ВАЖНО: одинаковых номеров на одной локации быть не должно]] ; cse_abstract properties section_name = stalker_zombied name = yan_zombie_20 position = [i][координаты. например: 217.8,-54.4,32.0][/i] direction = 0,0,0 ; cse_alife_trader_abstract properties money = 5000 character_profile = [секция одного из профилей одного из файлов character_desc_[локация].xml] ; cse_alife_object properties game_vertex_id = [i][gvi][/i] distance = 79.0999984741211 level_vertex_id = [i][lvi][/i] object_flags = 0xffffffbf custom_data = <<END [можно прописать доп. параметры] END ; cse_visual properties visual_name = actors\stalker_zombied\stalker_zombied_4 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 0 g_group = 0 health = 1 dynamic_out_restrictions = dynamic_in_restrictions = upd:health = 1 upd:timestamp = 0 upd:creature_flags = 0 upd:position = -4.18019390106201,-0.0927719995379448,-130.002517700195 upd:o_model = 0 upd:o_torso = 0,0,0 upd:g_team = 0 upd:g_squad = 0 upd:g_group = 0 ; 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,2,0,0 predicate4 = 0,1,2,0 ; cse_ph_skeleton properties upd:start_dialog = ; se_stalker properties Добавлено через 12 мин.: Kirag, рассмотрим конфиг аномалии: [zone_field_psychic]:zone_base GroupControlSection = spawn_group_zone $spawn = "zones\base\field_psychic" $def_sphere = 15 ;$prefetch = 16 class = Z_RADIO hit_impulse_scale = .01 effective_radius = 1.00;размер радиуса в процентах от оригинального, где действует зона sound =;zone_mosquito_bald postprocess = postprocess_psychic dof_enabled = true ef_anomaly_type = 3 ef_weapon_type = 15 artefacts = BirthProbability = 0 ;----------- Anomaly settings ----------------------- max_start_power = 0 attenuation = 0.5 period = 1 idle_particles =;zones\zone_electra_idle ;blowout_particles = ;hit_small_particles = damage_fx\burn_creatures ;hit_big_particles = damage_fx\burn_creatures00 ;idle_small_particles = damage_fx\burn_creatures ;idle_big_particles = damage_fx\burn_creatures00 idle_particles_dont_stop = true; ;idle_sound = ambient\fire2;iinoiyiiue caoe ;blowout_sound = anomaly\zhar_blow;ai a?aiy aua?ina(oaa?a) a oaio?a aiiiaeee ;hit_sound = ambient\zhar;ia ia?niia?a, eiaaa oio iieo?aao oeo ;entrance_sound = ambient\zhar;i?e iiiaaaiee iauaeoa a aiiiaee? hit_type = telepatic disable_time = -1;время игнорирования неживого объекта в зоне (-1 если не нужно) disable_time_small = -1;время игнорирования маленького неживого объекта в зоне (-1 если не нужно) disable_idle_time = -1;время отключения idle партиклов ignore_nonalive = true; ignore_small = false; ignore_artefacts = true blowout_light = off idle_light = off awaking_time = 100 blowout_time = 100 accamulate_time = 500 visible_by_detector = on blowout_wind = off shape_transp_color = 200, 200, 0, 60 shape_edge_color = 32, 32, 32, 255 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;рождение артефактов во время срабатывания spawn_blowout_artefacts = off [zone_field_psychic_weak]:zone_field_psychic $spawn = "zones\field_psychic_weak" awaking_time = 100 blowout_time = 100 accamulate_time = 100 ;----------- Anomaly settings ----------------------- max_start_power = 0.064 [zone_field_psychic_average]:zone_field_psychic $spawn = "zones\field_psychic_average" awaking_time = 100 blowout_time = 100 accamulate_time = 100 ;----------- Anomaly settings ----------------------- max_start_power = 0.115 [zone_field_psychic_strong]:zone_field_psychic $spawn = "zones\field_psychic_strong" awaking_time = 100 blowout_time = 100 accamulate_time = 100 ;----------- Anomaly settings ----------------------- max_start_power = 0.166 теперь рассмотрите, чем отличаются секции _weak, _average, _strong теперь возьмите любой другой конфиг. проверьте, что max_start_power в любой аномалии возрастает по лестнице: _weak, _average, _strong теперь откроем acdc: в параметрах любой аномалии есть такая вот штука: max_power = 0 которая наталкивает на мысль, что ранее сила аномалии указывалась в all.spawn, однако потом это изменили. изменять значение на какое-либо другое не пробовал, т.к. пока не до этого. зы: заодно рассмотрим вот это: ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 1.5 есть ещё другие типы шейпов. я видел. но как каждый из них описывать? например, как значит это: shapes = shape0 shape0:type = box shape0:axis_x = 1,0,0 shape0:axis_y = 0,1,0 shape0:axis_z = 0,0,1 shape0:offset = 0,0,0 и что за параметр: offset. ------------------------------ АГА!!! всё понял. offset позволяет смещать шейп. т.о. можно сделать следующее: входишь в арку церкви на болотах. а там тебе как жарка ******, причём зажгутся сразу все аномалии, расставленные по периметру забора. зы1: а как сделать пси-излучение, подобное янтарскому, на другой локации. например, на складах. я понимаю, что можно сделать слабую-слабую zone_field_psychic_very_weak с огромным радиусом. но ведь на янтаре не так. Изменено 17 Сентября 2011 пользователем ColR_iT Ссылка на комментарий
Kostya V 31 Опубликовано 9 Июня 2009 Поделиться Опубликовано 9 Июня 2009 и что за параметр: offset. ------------------------------ АГА!!! всё понял. offset позволяет смещать шейп. т.о. можно сделать следующее: входишь в арку церкви на болотах. а там тебе как жарка ******, причём зажгутся сразу все аномалии, расставленные по периметру забора. Объясни, пожалуйста, подробней. Что значит "позволяет смещать шейп" и от чего аномалии срабатывают все сразу? Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет! Ссылка на комментарий
Nazgool 250 Опубликовано 9 Июня 2009 Поделиться Опубликовано 9 Июня 2009 IQDDD на Янтаре поставлен обычный рестриктор с share box и логикой [sr_psy_antenna]. Почитай "Настройка логики", там понятно написано. Добавлено через 7 мин.: Параметр offset отвечает за смещение координат относительно осей. Например если задан shape box, то offset отвечает за поворот этого прямоугольника по осям(соответственно)х,y,z. Ссылка на комментарий
Влад 9 Опубликовано 9 Июня 2009 Поделиться Опубликовано 9 Июня 2009 (изменено) IQDDD СПС. ато научился НПЦ норм спавнить,а вот зомби неврубил как. Влад, так вроде технология одна и та же. Странно. section_name = stalker_zombied name = yan_zombie_20 character_profile = [секция одного из профилей одного из файлов character_desc_[локация].xml] Изменено 9 Июня 2009 пользователем Влад Мои работы Не бойтесь совершенства. Вам его не достичь. C. Дали Ссылка на комментарий
IQDDD 5 Опубликовано 9 Июня 2009 Поделиться Опубликовано 9 Июня 2009 (изменено) Kostya V, короче так: Допустим, что на карте есть две аномалии: одна аномалия с координатами: 215.7,0.4,-45.4, другая - с координтами: 212.7,0.4,-45.4. Мы знаем, что аномалия срабатывает тогда, когда актор попадает в шейп (англ. shape - фигура). Например, ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 1.5 указывает шейп, представленный сферой в центре аномалии в радиусом 1.5. При попадании в эту сферу аномалия активируется. Если мы хотим, чтобы центр сферы был не в центре аномалии, а, например, чуть правее по оси x, то используем offset: ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = -4,0,0 shape0:radius = 1.5 Итак, нам необходимо, чтобы при попадании в аномалию №1 активировалась и аномалия №2. Центр первой аномалии оставляем без изменений, а второй смещаем на 3 единице вправо по оси x. Добавлено через 7 мин.: Влад, так вроде технология одна и та же. Странно. Изменено 9 Июня 2009 пользователем IQDDD Ссылка на комментарий
IQDDD 5 Опубликовано 10 Июня 2009 Поделиться Опубликовано 10 Июня 2009 (изменено) Вопрос по скриптам: Есть Функция: local b local obj[20] local num local pos = vector () local i local community1 local community2 community1 = "sim_default_duty_"..math.random (0,4) community2 = "sim_default_freedom_"..math.random (0,4) b = 7 + math.random (-3,3) for i=1, b do pos = db.actor:position() pos.x = pos.x + 18 + math.random (-4,4) pos.y = pos.y + 2 pos.z = pos.z + math.random(-8,8) obj[i] = alife():create(community1,pos,db.actor:level_vertex_id(),db.actor:game_vertex_id()) end num = b b = 7 + math.random (-3,3) for i=1, b do pos = db.actor:position() pos.x = pos.x - 18 - math.random (-4,4) pos.y = pos.y + 2 pos.z = pos.z + math.random(-8,8) obj [num + i] = alife():create(community2,pos,db.actor:level_vertex_id(),db.actor:game_vertex_id()) end num = num + b Как видим, здесь спавниться отряд чуваков из разных группировок. Созданные объекты запоминаются в obj[]. Их кол-во - в переменную num. Как сделать так, чтобы после 90 секунд вызывалась определённая функция, убивающая всех этих неписей. Изменено 10 Июня 2009 пользователем IQDDD Ссылка на комментарий
Отшель[НИК] 2 Опубликовано 12 Июня 2009 Поделиться Опубликовано 12 Июня 2009 (изменено) Как сделать рандомный (желательно, но не обязательно) спавн НПС за спиной ГГ после какого-либо действия? Изменено 12 Июня 2009 пользователем Отшель[НИК] 1 Ссылка на комментарий
IQDDD 5 Опубликовано 16 Июня 2009 Поделиться Опубликовано 16 Июня 2009 (изменено) Отшель[НИК] function SpawnAfterHead(long,prob,section) if math.random (1,100) < prob then local ArLong = { [0] = 2.5, [1] = 3.5, [2] = 4.5, [3] = 9 } obj = db.actor local dir = vector() local pos = vector() pos = obj:position() dir = obj:direction() pos.x = pos.x - dir.x * ArLong[long] pos.z = pos.z - dir.z * ArLong[long] alife():create(section,pos,db.actor:level_vertex_id(),db.actor:game_vertex_id()) end end prob - вероятность спавна в процентах long - как далеко от спины актора будет спавниться непись (0 - близко, 3 - далеко, 1 и 2 - средне) section - секция непися, который спаунится Изменено 16 Июня 2009 пользователем IQDDD 1 Ссылка на комментарий
зомба 2008 0 Опубликовано 20 Июня 2009 Поделиться Опубликовано 20 Июня 2009 Скажите пожалуйста, за что отвечает функция "separator"? Поиск не помог. Ссылка на комментарий
Push85 4 Опубликовано 20 Июня 2009 Поделиться Опубликовано 20 Июня 2009 зомба 2008, а ты где ее нашел? Ни в ЧН ни ТЧ такой функции нет. Возможно всё, ну или почти всё. Ссылка на комментарий
зомба 2008 0 Опубликовано 20 Июня 2009 Поделиться Опубликовано 20 Июня 2009 (изменено) 8push5, Просто при совмещении Weapon mod v.2.3 и баланса для АМК 1.4.1, выдал лог с вылетом, в котором было написано, что не найдена функция "separator". Вот я и решил спросить. Вот этот лог: FATAL ERROR [error]Expression : fatal error [error]Function : CInifile::r_section [error]File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp [error]Line : 342 [error]Description : <no expression> [error]Arguments : Can't open section 'separator' Изменено 20 Июня 2009 пользователем зомба 2008 Ссылка на комментарий
Kirag 39 Опубликовано 20 Июня 2009 Поделиться Опубликовано 20 Июня 2009 Не функция, а секция, это совершенно разные вещи. Проверь конфиги, где-то в них ошибка, что-то прописать забыл. 1 Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
andrewrap 1 Опубликовано 30 Июня 2009 Поделиться Опубликовано 30 Июня 2009 Здраствуйте сталкеры-ветераны! Подскажите пожалуйста новичку, как создать нового нпс и заспаунить его с помощью программы ACDC! Я уж пытался создать но у меня были вылеты...можете пожалуйста поподробнее мне разжевать что делать) заранее спасибо Разработка Andrew's Pack Mod V0.5.. Ссылка на комментарий
gruber 2 481 Опубликовано 30 Июня 2009 Поделиться Опубликовано 30 Июня 2009 это все обсуждалось в тнеме не раз и не в одной -ну ладно заспавнить нпс несложно -но сначала нужно решить с какой целью для начала нужно узнать координаты спавна ,позишн информер-хорошо ,но у него есть маленький недостаток -он не показывает наличие АИ сетки надежнее координатным скриптом затем распаковыываешь алл спавн(для каждой версии игры и модификаций нужен свой АСДС) и в папке алайф -название уровня добавляешь своего нпс самое простое -копируешь любой существующий профиль,ставишь в конец и меняешь номер на следующий за последним-меняешь координаты на свои-координаты там прописаны дважды меняешь наме на свое (потом этому имени нужно дать описание в файлах -конфиг/гемплей/характер дек-описание персонажа(смотри по аналогии с существующими а вообще это отдельная тема и к примеру файл нпс амк-сдесь класс персонажа) после костом дата прописывается логика нпс -это или пренадлежность к гулагу и его название или ссылка на файл скрипт в конфигах где тоже прописывается логика нпс если он в гулаг не входит если персонаж экслюзивный ему можно дать личный номер ИД,еще в конце профиля можно указать здоровье нпс Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти