IQDDD 5 Опубликовано 1 Июня 2009 Поделиться Опубликовано 1 Июня 2009 (изменено) Bip-Bip, экспериментально подтверждено, что для того, чтобы в террейне спаунились сквады, ему нужно в all.spawn прописать: respawn_section = [группировка] Можно с прекондишеном. Точек респуна может быть несколько. Их активность регулируется прекондишенами. Могут ли быть одновременно активными две точки, не знаю. (по крайней мере, у монсетров может. У гуманов - не знаю) Изменено 1 Июня 2009 пользователем IQDDD Ссылка на комментарий
IQDDD 5 Опубликовано 2 Июня 2009 Поделиться Опубликовано 2 Июня 2009 (изменено) вот такой вопросец возник: 1. Как засечь приближение актора к определённой точке? При приближении актора выдать инфопоршень. Короче просто: при приближении выполнить такую-то функцию? 2. Если в all.spawn создать НПС и поставить оставаться до определённого момента в оффлайне, то он будет перемещаться в оффлайне, или же останется на месте, указанном в all.spawn? Изменено 2 Июня 2009 пользователем IQDDD Ссылка на комментарий
garand2k 5 Опубликовано 2 Июня 2009 Поделиться Опубликовано 2 Июня 2009 1.Спэйс рестрикторы нужны.Ищи про них информацию. 2.Останется на месте. Мой Full Realism Mod для STCS. Ссылка на комментарий
IQDDD 5 Опубликовано 2 Июня 2009 Поделиться Опубликовано 2 Июня 2009 garand2k, продолжим по второму пункту: 2. А если взять не НПС, а, скажем, аномалию? Может ли аномалия быть в оффлайне и появляться после взятия инфопошеня? Я всё чему виду: Хочу сделать так, чтобы если актор в рестрикторе, то аномалии появлялись. Если не в рестрикторе, то обратно прятались. Как скриптом проверить, находится ли актор в рестрикторе. (Повешу прекондишен: [spawner] cond = {=[функция на проверку наличия актора в рестрикторе]} ) Ссылка на комментарий
IQDDD 5 Опубликовано 3 Июня 2009 Поделиться Опубликовано 3 Июня 2009 (изменено) как я понял, когда актор заходит внутрь рестриктора, то вы активируется логика (так всё ясно). А вот засечь момент выхода актора из рестриктора, как я понимаю, можно так: {=distance_to_obj_ge(306:30)} Но две цифры не очень понятны: вторая - это контрольная дистанция. а первая? Добавлено через 23 мин.: и ещё: в связи с экспериментальным способом открытий игру приходится часто начинать заново, и каждый раз смотреть скриптовый ролик начинает надоедать. Как его выключить? Добавлено через 70 мин.: попробовал осуществить выше указанное с аномалиями. результат: аномалия в оффлайн не идёт. чё делать? запасной вариант: как спавнить аномалию скриптом? -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Итак, объединю мои вопросы воедино: 1. Как спавнить аномалию скриптом? 2. Как выключить начальный скриптовый ролик? Какой скрипт за него отвечает? зы: разобрался, что означает первая цифра. В общем виде функцию выглядит так: distance_to_obj_le[ge] ([sid объекта, от которого считаеют дистанцию]:[контрольная дистанция]) Изменено 3 Июня 2009 пользователем IQDDD Ссылка на комментарий
IQDDD 5 Опубликовано 4 Июня 2009 Поделиться Опубликовано 4 Июня 2009 (изменено) Со вторым вопросом разобрался. Но остались ещё - как послать аномалию в оффлайн и переводить её в онлайн при выдаче инфопоршня? Как спавнить аномалию скриптом? Добавлено через 26 мин.: Вот ещё интересный вопрос: можно ли редактировать ЧНовские партиклы предыдущим партиклэдито. Добавлено через 3 мин.: Вот ещё вопрос: можно ли редактировать ЧНовские партиклы предыдущим партиклэдито? Если нет, то где взять конвертор? Изменено 4 Июня 2009 пользователем IQDDD Ссылка на комментарий
IQDDD 5 Опубликовано 7 Июня 2009 Поделиться Опубликовано 7 Июня 2009 Повторю свои вопросы: 1. Как перевести аномалию в оффлайн? 2. Как спавнить аномалию скриптом? BenTech, в чистом небе нет textures.ltx. Текстуры, как я понимаю, прописаны в файле external.ltx Ссылка на комментарий
BenTech 0 Опубликовано 7 Июня 2009 Поделиться Опубликовано 7 Июня 2009 (изменено) в чистом небе нет textures.ltx. Текстуры, как я понимаю, прописаны в файле external.ltx хм... это плохо. Просто я хочу викинуть bump текстуры по аналогии с SoC. В этом файле есть такие строчки(для примера) prop\prop_musor_01 prop\prop_musor_01_bump prop\prop_musor_01_bump# первая - это decail текстура вторая - это bump а третья - это что? И можете еще можете добавить, в какой директории лежит этот файл "gamedata\config\...."? Изменено 7 Июня 2009 пользователем BenTech Ссылка на комментарий
IQDDD 5 Опубликовано 12 Июня 2009 Поделиться Опубликовано 12 Июня 2009 (изменено) Тутор по системе апгрейдов Начнём от простого к сложному. 1. Как редактировать уже существующие апгрейды 2. Создание новых апгрейдов. 3. Некоторые тонкости. Для редактирования уже существующих апгрейдов на примере АК74 нам обязательно понадобятся файлы: 1. configs\weapons\upgrades\w_ak74_up.ltx 2. configs\text\rus\st_items_weapons_upgrades.xml 3. configs\weapons\upgrades_properties.ltx 4. configs\weapons\w_ak74.ltx 5. configs\ui\textures_descr\ui_ingame2_common.xml Итак, начнём, открыв файл №1. Видим уже привычную нам параметро-секционную структуру файла: [секция1] параметр1 = значение1 параметр2 = значение2 параметр3 = значение3 ... [секция2] параметр1 = значение1 параметр2 = значение2 ... Все секции в файле №1 можно разбить на три типа: 1. Показывающие стоимость, изменения и значения описаний при апгрейде. Эти секции - не главные, на них идёт ссылка с секций вторых типов. Рассмотрим параметры на примере секции: [up_sect_c_ak74] cost = 1600 value = -30 cam_dispersion = -0.21;0.7 cam_dispersion_inc = -0.21;0.7 cam_step_angle_horz = -0.21;0.7 zoom_cam_dispersion = -0.2;0.6 zoom_cam_dispersion_inc = -0.2;0.6 zoom_cam_step_angle_horz = -0.2;0.6 Параметр cost означает цену, которую должен заплатить игрок для осуществления апгрейда. Параметр value. Мы знаем, что во множестве апгрейдов есть такие, описания которых сводится к типу: [характеристика] [+ или -] [значение]%. Например: "Отдача -30%". Значение, которое показывается в данном случае берётся из параметра value (остальные случаи, в которых описание не подходит под эту схему, например, "не стреляет дробью" рассмотрим потом). ВНИМАНИЕ: это значение является словесным описанием и никак не влияет на характеристики оружия". Т.е. можно в нашей секции поставить value = -10000. Суть апгрейда не изменется, изменется только его описание. Параметры изменения характеристик. Далее следуют изменения характеристик оружия. В значениях параметров указывается изменение, относительное по отношению к старым характеристикам. Допустим, перед апгрейдом было: cam_dispersion = 0.7 Указав в параметрах в файле №1: cam_dispersion = -0.21 в результате получаем: cam_dispersion = 0.49 2. Главные секции апгрейда. Опять рассмотрим параметры: [up_c_ak74] scheme_index = 0, 2 known = 1 effects = up_gr_ac_ak74 section = up_sect_c_ak74 property = prop_recoil precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = true effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here ; ui prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = up_c_ak74 name = st_upg_porsh_recoil description = st_upg_porsh_recoil_descr icon = ui_wp_upgrade_41 Параметр scheme_index указывает положение иконки апгрейда в дереве апгрейдов (оно появляется при нажатии кнопки "улучшить") Подробнее на этом параметре остановимся во втором спойлере. Параметр effects. Всем хорошо известно, что ап №1 во втором столбце дерева апов можно получить только тогда, когда проведены апы №1 и №3 в первом столбце. Для открытия апов после проведения других и служит параметр effects, включающий другие апгрейды. Он даёт ссылку на секцию №3. Подробнее на них остановимся чуть ниже. Параметр section указывает ссылку на секцию №1. От этого значения зависит изменения при апе. Параметр property указывает тип проводимого апа. Типы апов можно взять в начале файла №3. Подробнее об этом параметре в спойлере №3. Типы апов: prop_weight;; Вес prop_silencer;; Глушитель prop_underbarrel_slot;; Крепление подствольника prop_reliability;; Надежность prop_bullet_speed;; Настильность prop_recoil;; Отдача prop_ammo_size;; Патроны prop_grenade_launcher;; Подствольник prop_scope_4x;; Прицел 4 prop_scope_1.6x;; Прицел 1.6 prop_rpm;; Скорострельность prop_calibre;; калибр (9x18, 5x45) prop_dispersion;; Точность prop_inertion;; Удобство prop_armor;;Броня prop_damage;;Повреждение prop_durability;;Износостойкость (прочность) prop_restore_bleeding;;Уменьшение кровотечения prop_restore_health;;Восстанавление здоровья prop_night_vision;;Прибор ночного виденья prop_power;;Вост стамины prop_tonnage;;Переноимый вес prop_radio_chem;;Радио-хим защита prop_thermo_electro;;Термо-электро защита prop_psy;;Пси защита prop_artefact;;Слот для артефактов Параметр prereq_params. В значении параметра указывайте секцию, в которой находится параметр. Нужно для скриптовых целей. Параметр name содержит ссылку на текстовый блок из файла №2. В нашем случае: name = st_upg_porsh_recoil <string id="st_upg_porsh_recoil"> <text>Модификация газового поршня</text> </string> Параметр description похож на параметр name, но касается описания апгрейда. Здесь: description = st_upg_porsh_recoil_descr <string id="st_upg_porsh_recoil_descr"> <text>Установка компенсатора газового поршня позволяет уменьшить отдачу</text> </string> Параметр icon содержит указатель на описание иконок в файле №5. Вот структура файла: <texture id="[указатель на иконку]" x="[координата x верхнего левого пикселя иконки]" y="[координата y верхнего левого пикселя иконки]" width="[ширина иконки]" height="[высота]" /> В нашем случае: <texture id="ui_wp_upgrade_41" x="420" y="944" width="70" height="40" /> 3. Секции, объединяющие апгрейды в группы апгрейдов. (в единственном параметре elements указываются апгрейды, входящие в группу, т.е. ссылки на секции вторых типов) Из группы апгрейдов может быть проведён только один апгрейд (в первом столбце может быть проведён только один из апгрейдов - №1 или №2). При включении группы апгрейдов включаются все апгрейды, входящие в группу. Для включения группы необходимо, чтобы все апгрейды с эффектом включения этой группы были проведены. (Для открытия группы апгрейдов up_gr_ac_ak74 необходимо, чтобы были проведены апгрейды up_gr_a_ak74 и up_gr_c_ak74. Названия тут ни при чём: в главных секциях (тип секции №2) этих двух апгрейдов параметр effects принимает значение up_gr_ac_ak74) Таким образом, каждый апгрейд: 1. Имеет какие-то характеристики. 2. Имеет какое-то описание. 3. Принадлежит к какой-то группе апгрейдов. Теперь несколько важных замечаний: 1. В файле №4 (конфиг самого АК74 и его уникальных модификаций) присутствует несколько параметров: Параметр upgrades. В его значениях перечисляются группы апгрейдов, апгрейды которых могут быть проведены на чистом АК74. Перечисление идёт через запятую. После последней группы апгрейдов запятая не нужна. Параметр installed_upgrades указывает апгрейды, которые уже проведены в этом оружии. Здесь указываются не группы апгрейдов, а сами апгрейды, т.е. секции второго типа. Нам необходимо иметь 7 файлов: 1. configs\weapons\upgrades\w_ak74_up.ltx 2. configs\text\rus\st_items_weapons_upgrades.xml 3. configs\weapons\upgrades_properties.ltx 4. configs\ui\inventory_upgrade_16.xml (для широкоформатных) 5. configs\weapons\w_ak74.ltx 6. configs\ui\textures_descr\ui_ingame2_common.xml 7. scripts\inventory_upgrades.script Перед прочтением текста ниже рекомендуется прочитать содержание первого спойлера. Итак, начнём по порядку: 1. Создадим главную секцию (секцию типа №2) нового апгрейда, скопировав любую другую и поменяв параметры и само название секции: [up_pack_A_ak74] scheme_index = 3, 0 known = 1 effects = section = up_sect_pack_a_ak74 property = prop_pack precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = true effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here ; ui prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = up_pack_a_ak74 name = st_upg_pack_a_ak74 description = st_upg_pack_a_ak74_descr icon = ui_wp_upgrade_30 Как видим, в параметре property "prop_pack", мы указали не сущствующий тип. Мы его создадим самостоятельно чуть позже. 2. Теперь создадим секцию типа №1, которую мы указали в параметре section "up_sect_pack_A_ak74": [up_sect_pack_a_ak74] cost = 5120 value = desc_value_pack_A rpm = 100 cam_dispersion = -0.21;0.7 cam_dispersion_inc = -0.21;0.7 cam_step_angle_horz = -0.21;0.7 zoom_cam_dispersion = -0.2;0.6 zoom_cam_dispersion_inc = -0.2;0.6 zoom_cam_step_angle_horz = -0.2;0.6 grenade_launcher_status = 2 grenade_launcher_name = wpn_addon_grenade_launcher grenade_launcher_x = 126 grenade_launcher_y = 24 control_inertion_factor = -0.2 inv_weight = -0.3 PDM_disp_vel_factor = -0.3;1.7 PDM_disp_accel_factor = -0.3;1.7 Здесь я собрал все улучшения четырёх апгрейдов, суммировав цену и делая скидку 20% (1600*4*0.8 = 5120) Отсюда и название апгрейда - st_upg_pack_A_ak74. В значении value я поставил "desc_value_pack_A". В данном случае в value присутствует ссылка на текстовый блок, а не кол-во процентов. 3. Теперь вернёмся в главную секцию. Т.к. апгрейд является пакетом апгрейдов up_sect_a_ak74,up_sect_c_ak74,up_sect_e_ak74,up_sect_g_ak74, то после проведения нашего апгрейда, четыре выше упомянутые должны выключиться. Для этого запишем наш апгрейд одновременно в несколько секций типов №3: [up_gr_ab_ak74] elements = up_a_ak74, up_b_ak74, up_pack_A_ak74 [up_gr_cd_ak74] elements = up_c_ak74, up_d_ak74, up_pack_A_ak74 [up_gr_ef_ak74] elements = up_e_ak74, up_f_ak74, up_pack_A_ak74 [up_gr_gh_ak74] elements = up_g_ak74, up_h_ak74, up_pack_A_ak74 Т.к. из одной группы апгрейдов можно провести только один, то при проведении нашего апгрейда остальные "соседи" по группе апгрейдов выключатся. 4. Теперь, пользуясь файлом №2 запишем текстовые блоки, упомянутые в секциях типов №1 и №2. <string id="st_upg_pack_a_ak74"> <text>Пакет апгрейдов №1</text> </string> <string id="st_upg_pack_a_ak74_descr"> <text>Пакет апгрейдов №1, включающий в себя увеличение темпа стрельбы, уменьшение отдачи, установку крепежа для подствольного гранатомёта, уменьшение веса оружия</text> </string> <string id="st_upg_pack_a_ak74"> <text>Пакет апгрейдов №1 Убийца</text> </string> 5. Теперь создадим ui для нашего апгрейда для того, чтобы кнопка апгрейда была видна в дереве апгрейдов. В парамре scheme_index мы указали "3,0". Это значит, что в дереве апгрейдов этот апгрейд будет в 3-ем столбце и 0-ой строке. К каждому оружию предлагается своя схема дерева апгрейдов. Чтобы узнать схему АК74 откроем его конфиг (файл №5) и найдём параметр upgrade_scheme. Его значение - upgrade_scheme_u17b. Откроем файл №4 со схемами апгрейдов. Вот его общая структура: <template name="[название схемы]"> [нулевой столбец]<column> [нулевая строка нулевого столбца. [b]Соответствует индексу 0,0[/b]]<cell x="[координата x]" y="[координата y]" /> [первая строка нулевого столбца. [b]Соответствует индексу 0,1[/b]]<cell x="[координата x]" y="[координата y]" /> ... [конец нулевого столбца]</column> [начало первого столбца]<column> [нулевая строка первого столбца. [b]Соответствует индексу 1,0[/b]]<cell x="[координата x]" y="[координата y]" /> ... [конец первого столбца]</column> ... [конец схемы]</template> Найдём интересующую нас схему и добавим столбец и строку: <template name="upgrade_scheme_u17b"> <column> <cell x="17" y="5" /> <cell x="17" y="50" /> <cell x="17" y="100" /> <cell x="17" y="145" /> <cell x="17" y="195" /> <cell x="17" y="240" /> <cell x="17" y="290" /> <cell x="17" y="335" /> <cell x="17" y="385" /> </column> <column> <cell x="100" y="50" /> <cell x="100" y="100" /> <cell x="100" y="240" /> <cell x="100" y="290" /> <cell x="100" y="385" /> </column> <column> <cell x="183" y="145" /> <cell x="183" y="195" /> <cell x="183" y="385" /> </column> <column> <cell x="183" y="5" /> </column> </template> 6. Создадим новый тип апгрейдов: prop_pack. Для этого воспользуемся файлом №3. Для начала добавим наш тип в начало файла: [upgrades_properties] prop_pack prop_weight ;; Вес prop_silencer ;; Глушитель prop_underbarrel_slot ;; Крепление подствольника ... Теперь создадим новую секцию: [prop_pack] name = st_prop_weight icon = ui_wp_propery_11 functor = inventory_upgrades.property_functor_d params = hit_power, rpm, cost В нашем случае важен только один параметр: functor = inventory_upgrades.property_functor_d Он указывает, какая скриптовая функция будет составлять описание. Вы можете сами рассмотреть остальные параметры: name - название типа апгрейда (даётся ссылка на текстовый блок), icon - ссылка на указатель иконок из файла №6. 7. Составим функцию описания апгрейда inventory_upgrades.property_functor_d. Для этого откроем файл №7 и впишем туда маленькую функцию: function property_functor_d( param1, name ) local prorerty_name = char_ini:r_string(name, "name") local value_table = utils.parse_names(param1) local section = value_table[1] if section then local value = char_ini:r_string(section, "value") if value then return game.translate_string(value) end end return game.translate_string(prorerty_name) end Изменено 19 Июня 2009 пользователем IQDDD Ссылка на комментарий
OLmeR 0 Опубликовано 16 Июня 2009 Поделиться Опубликовано 16 Июня 2009 Извините за глупый вопрос, но как менять параметры костюмов? Хочу чтобы в экзе Свободы было 5 слотов под арты и можно бегать? Плиз очень надо. Ссылка на комментарий
Солдат Удачи 0 Опубликовано 17 Июня 2009 Поделиться Опубликовано 17 Июня 2009 (изменено) В настройках костюмов (outfit.ltx) находишь sprint. Изменяешь false на true. Со слотами под арты чуть посложнее. Надо в upgrade_outfit.ltx изменять ветки. Ориентируйся на ветку с Севой, так как только у неё 5 возможных слотов под арты. И помни, что твои пожелание - читерство чистой воды. В игре соблюдён баланс костюмов, а ты его нарушаешь. Ведь многим не нравится эксзоскелет (при всех его достоинствах) тем, что в нём нельзя бегать. Добавлено через 7 мин.: Друзья, такой вопросы возникли: в ЧН нет голода ГГ. В принципе, где его менять я нашёл. Но как я буду узнавать, что ГГ голоден? Иконки, как в ТЧ, нет. И может кто помнит, какие уставки были выставлены по голоду в ТЧ? Второй вопрос: немного раздражает меткость НПС. Какая меткость была выставлена в ТЧ? Она меня вполне устраивает. Ну и если кто по памяти сразу вспомнит, где её изменять? Изменено 17 Июня 2009 пользователем Pxan удалил цитату. Pxan Ссылка на комментарий
OLmeR 0 Опубликовано 17 Июня 2009 Поделиться Опубликовано 17 Июня 2009 sprint_alloved? Не получается Ссылка на комментарий
Taroz 0 Опубликовано 17 Июня 2009 Поделиться Опубликовано 17 Июня 2009 Модеры это у меня глюки, или вы за разделом не следите? Строгое предупреждение от администратора _And_ 17. Запрещается публичное обсуждение действий Администрации. Ещё вопросы есть? Ссылка на комментарий
КиК 0 Опубликовано 19 Июня 2009 Поделиться Опубликовано 19 Июня 2009 Товарищи!Объясните неучу какой параметр отвечает за точность стволов? Ссылка на комментарий
Stalkeroff 0 Опубликовано 19 Июня 2009 Поделиться Опубликовано 19 Июня 2009 Подскажите пожалуйста с помощью какой проги можно окрыть section2.bin? А то для создания квеста нужно прописать новую секцию в этом файле и никак не могу найти софтину, с помощью которой можно сделать. Ссылка на комментарий
Halford 21 Опубликовано 19 Июня 2009 Автор Поделиться Опубликовано 19 Июня 2009 Stalkeroff, если я не ошибаюсь, то этот файл то, чего не смог расшифровать ACDC. Открыть его можно HEX-редактором, но вряд ли там чего-нить ясного есть.... Ссылка на комментарий
Stalkeroff 0 Опубликовано 19 Июня 2009 Поделиться Опубликовано 19 Июня 2009 WinHEX-ом пробовал - не помогает. Надо знать какой софтиной был создан .bin А может какой другой HEX-редактор есть? Ссылка на комментарий
Khorn 0 Опубликовано 20 Июня 2009 Поделиться Опубликовано 20 Июня 2009 Товарищи не подскажите, как вырубить интерфейс в игре? P.S. Я не задавал бы такого глупого вопроса, если бы (-) на доп. клавиатуре дал хоть какой-нибудь результат. Ссылка на комментарий
monah 0 Опубликовано 21 Июня 2009 Поделиться Опубликовано 21 Июня 2009 Извините, может где то и было, но не нашел. У меня два вопроса. 1 Как получить список всех аномалий на локации? 2 Как можно перехватить момент попадания чего то в аномалию? Только большая просьба. не писать ответы в стиле "Смотри в АМК" или другом моде. так как искал, но по неопытности не нашел. Хотябы укажите функцию которая это реализвывает. Большое спасибо. Ссылка на комментарий
Jesh 3 Опубликовано 21 Июня 2009 Поделиться Опубликовано 21 Июня 2009 Khorn в консоли: hud_info 0 И сидели бы сейчас вышеозначенные любители больших подписей в маленьких файлах, в байт-коде ковырялись, если не в машинном... Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти