Интересный способ рандомной привязки визуалов к профилям НПС — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(Новая страница: «== Теория == В этой заметке я расскажу о том, как назначить нескольким профилям неписей разн...») |
(→Важная информация) |
||
(не показаны 5 промежуточные версии 4 участников) | |||
Строка 1: | Строка 1: | ||
+ | == Важная информация == | ||
+ | Не знаю, как в ЧН и ЗП, но пробовал этот способ на ТЧ, и убедился, что он не работает. При попытке использовать рандомную привязку визуалов, вылет: не может найти указанную модель. | ||
+ | |||
+ | Ну, в таком случае спасибо тебе за урок, который вызывает вылет! Это потрясающе! Для чего всё это здесь тобой написано? | ||
+ | Fаgot. | ||
+ | |||
== Теория == | == Теория == | ||
В этой заметке я расскажу о том, как назначить нескольким профилям неписей разные визуалы, которые рандомно распределяться для каждого профиля. | В этой заметке я расскажу о том, как назначить нескольким профилям неписей разные визуалы, которые рандомно распределяться для каждого профиля. | ||
− | Для примера возьмём деревню новичков из ТЧ. Находим в файле '''gamedata/config/gameplay/character_desc_escape. | + | Для примера возьмём деревню новичков из ТЧ. Находим в файле '''gamedata/config/gameplay/character_desc_escape.xml''' профили новичков обитающих в деревне возле бункера Сидоровича:<xml><!-- - - - - - - - STALKER NOVICE - - - - - - - --> |
<specific_character id="esc_stalker_novice_default1" team_default = "1"> | <specific_character id="esc_stalker_novice_default1" team_default = "1"> | ||
Строка 247: | Строка 253: | ||
<start_dialog>hello_dialog</start_dialog> | <start_dialog>hello_dialog</start_dialog> | ||
#include "gameplay\character_dialogs.xml" | #include "gameplay\character_dialogs.xml" | ||
− | </specific_character></ | + | </specific_character></xml> |
Нас интересуют теги ''<visual> </visual>'' - в них указывается название профиля. Как видно из представленных выше профилей, каждому отдельному профилю строго присвоен свой визуал. Всегда ли уместна такая точность? | Нас интересуют теги ''<visual> </visual>'' - в них указывается название профиля. Как видно из представленных выше профилей, каждому отдельному профилю строго присвоен свой визуал. Всегда ли уместна такая точность? | ||
У нас есть группа профилей НПС и несколько визуалов подходящих этой группе профилей, можно предположить, что не важно какому именно НПС присвоеться определённый визуал. Проще говоря, в игре, все новички в деревне одинаковые, только куртки разные у них и нам не важно какая именно куртка будет на том или ином мужике. | У нас есть группа профилей НПС и несколько визуалов подходящих этой группе профилей, можно предположить, что не важно какому именно НПС присвоеться определённый визуал. Проще говоря, в игре, все новички в деревне одинаковые, только куртки разные у них и нам не важно какая именно куртка будет на том или ином мужике. | ||
Мы выбираем нужные нам визуалы для какой то группы НПС ''(из gamedata/meshes/actors)'' даём визуалам любое '''одинаковое''' имя, после имени ставим знак подчёркивания и цифру или число. Пример: | Мы выбираем нужные нам визуалы для какой то группы НПС ''(из gamedata/meshes/actors)'' даём визуалам любое '''одинаковое''' имя, после имени ставим знак подчёркивания и цифру или число. Пример: | ||
− | name_1.ogf | + | <pre> name_1.ogf |
name_2.ogf | name_2.ogf | ||
− | mame_24.ogf | + | mame_24.ogf</pre> |
Затем в нужных профилях НПС в тегах ''<visual> </visual>'' пишем имя которое задавали нашим визуалам. В примере выше, имя визуалов было ''name'' , в этом случае теги заполняются примерно так: ''<visual>actors\novice\name</visual>''. | Затем в нужных профилях НПС в тегах ''<visual> </visual>'' пишем имя которое задавали нашим визуалам. В примере выше, имя визуалов было ''name'' , в этом случае теги заполняются примерно так: ''<visual>actors\novice\name</visual>''. | ||
Таким образом визуалы рандомно распределятся по каждому профилю. | Таким образом визуалы рандомно распределятся по каждому профилю. | ||
Строка 260: | Строка 266: | ||
== Отработанный пример на деревне новичков. == | == Отработанный пример на деревне новичков. == | ||
− | Находим профили новичков в файле '''gamedata/config/gameplay/character_desc_escape. | + | Находим профили новичков в файле '''gamedata/config/gameplay/character_desc_escape.xml''', (их профили были вынесены, в этом уроке выше). И мы, например, скачали 5 новых визуалов которые привяжем к новичкам. Нам бы пришлось каждый раз прописывать отдельный визуал в каждом профиле, но мы поступим по другому, для начала мы переименуем скаченные визуалы таким образом: |
− | esc_novichok_1.ogf | + | <pre> esc_novichok_1.ogf |
esc_novichok_2.ogf | esc_novichok_2.ogf | ||
esc_novichok_3.ogf | esc_novichok_3.ogf | ||
esc_novichok_4.ogf | esc_novichok_4.ogf | ||
− | esc_novichok_5.ogf | + | esc_novichok_5.ogf</pre> |
Закидываем эти визуалы, например сюда: '''gamedata\meshes\actors\novice''' | Закидываем эти визуалы, например сюда: '''gamedata\meshes\actors\novice''' | ||
Прописываем '''во всех профилях''' новичков визуал таким образом: ''<visual>actors\novice\esc_novichok</visual>'' сохраняем, начинаем новую игру, приходим в деревню, видим наших новичков в новых визуалах. | Прописываем '''во всех профилях''' новичков визуал таким образом: ''<visual>actors\novice\esc_novichok</visual>'' сохраняем, начинаем новую игру, приходим в деревню, видим наших новичков в новых визуалах. | ||
+ | |||
== Несколько слов == | == Несколько слов == | ||
Возможно кто то создавал подобную статью, я не видел даже похожего, если что сильно не ругайте. | Возможно кто то создавал подобную статью, я не видел даже похожего, если что сильно не ругайте. | ||
Строка 273: | Строка 280: | ||
Такое явление я проверял в ТЧ в других аддонах не гарантирую работу. | Такое явление я проверял в ТЧ в других аддонах не гарантирую работу. | ||
В будущем возможно проверю такой эффект на именах предметов, оружия и тд. | В будущем возможно проверю такой эффект на именах предметов, оружия и тд. | ||
+ | [[Категория:Конфигурационные файлы]] |
Текущая версия на 00:55, 23 сентября 2016
Важная информация
Не знаю, как в ЧН и ЗП, но пробовал этот способ на ТЧ, и убедился, что он не работает. При попытке использовать рандомную привязку визуалов, вылет: не может найти указанную модель.
Ну, в таком случае спасибо тебе за урок, который вызывает вылет! Это потрясающе! Для чего всё это здесь тобой написано? Fаgot.
Теория
В этой заметке я расскажу о том, как назначить нескольким профилям неписей разные визуалы, которые рандомно распределяться для каждого профиля.
Для примера возьмём деревню новичков из ТЧ. Находим в файле gamedata/config/gameplay/character_desc_escape.xml профили новичков обитающих в деревне возле бункера Сидоровича:<!-- - - - - - - - STALKER NOVICE - - - - - - - --> <specific_character id="esc_stalker_novice_default1" team_default = "1"> <name>GENERATE_NAME_stalker</name> <icon>ui_npc_u_green_stalker_2</icon> <bio>esc_stalker_novice_bio</bio> <class>esc_stalker_novice</class> <community>stalker</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\newbie\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\novice\green_stalker_2</visual> <supplies> [spawn] \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> <!-- - - - - - - - - - - - - - - --> <specific_character id="esc_stalker_novice_default2" team_default = "1"> <name>GENERATE_NAME_stalker</name> <icon>ui_npc_u_green_stalker_2</icon> <bio>esc_stalker_novice_bio</bio> <class>esc_stalker_novice</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>127</rank> <reputation>-8</reputation> <money min="200" max="600" infinitive="0"/> <snd_config>characters_voice\human_01\newbie\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\novice\green_stalker_2</visual> <supplies> [spawn] \n wpn_pm \n ammo_9x18_fmj = 1 \n device_torch \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> <!-- - - - - - - - - - - - - - - --> <specific_character id="esc_stalker_novice_default3" team_default = "1"> <name>GENERATE_NAME_stalker</name> <icon>ui_npc_u_green_stalker_3</icon> <bio>esc_stalker_novice_bio</bio> <class>esc_stalker_novice</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>214</rank> <reputation>9</reputation> <money min="200" max="600" infinitive="0"/> <snd_config>characters_voice\human_01\stalker\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\novice\green_stalker_3</visual> <supplies> [spawn] \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> <!-- - - - - - - - - - - - - - - --> <specific_character id="esc_stalker_novice_default4" team_default = "1"> <name>GENERATE_NAME_stalker</name> <icon>ui_npc_u_green_stalker_3</icon> <bio>esc_stalker_novice_bio</bio> <class>esc_stalker_novice</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>175</rank> <reputation>8</reputation> <money min="200" max="600" infinitive="0"/> <snd_config>characters_voice\human_01\stalker\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\novice\green_stalker_3</visual> <supplies> [spawn] \n wpn_pm \n ammo_9x18_fmj = 1 \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> <!-- - - - - - - - - - - - - - - --> <specific_character id="esc_stalker_novice_default5" team_default = "1"> <name>GENERATE_NAME_stalker</name> <icon>ui_npc_u_green_stalker_4</icon> <bio>esc_stalker_novice_bio</bio> <class>esc_stalker_novice</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>268</rank> <reputation>-10</reputation> <money min="200" max="600" infinitive="0"/> <snd_config>characters_voice\human_02\newbie\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\novice\green_stalker_4</visual> <supplies> [spawn] \n wpn_bm16 \n ammo_12x70_buck \n device_torch \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> <!-- - - - - - - - - - - - - - - --> <specific_character id="esc_stalker_novice_default6" team_default = "1"> <name>GENERATE_NAME_stalker</name> <icon>ui_npc_u_green_stalker_4</icon> <bio>esc_stalker_novice_bio</bio> <class>esc_stalker_novice</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>133</rank> <reputation>6</reputation> <money min="200" max="600" infinitive="0"/> <snd_config>characters_voice\human_02\newbie\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\novice\green_stalker_4</visual> <supplies> [spawn] \n wpn_bm16 \n ammo_12x70_buck \n #include "gameplay\character_items.xml" \n #include "gameplay\character_drugs.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> <!-- - - - - - - - - - - - - - - --> <specific_character id="esc_stalker_novice_default9" team_default = "1"> <name>GENERATE_NAME_stalker</name> <icon>ui_npc_u_green_stalker_5</icon> <bio>esc_stalker_novice_bio</bio> <class>esc_stalker_novice</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>224</rank> <reputation>18</reputation> <money min="200" max="600" infinitive="0"/> <snd_config>characters_voice\human_02\stalker\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\novice\green_stalker_5</visual> <supplies> [spawn] \n wpn_pm \n ammo_9x18_fmj = 1 \n #include "gameplay\character_items.xml" \n #include "gameplay\character_drugs.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> <!-- - - - - - - - - - - - - - - --> <specific_character id="esc_stalker_novice_default10" team_default = "1"> <name>GENERATE_NAME_stalker</name> <icon>ui_npc_u_green_stalker_5</icon> <bio>esc_stalker_novice_bio</bio> <class>esc_stalker_novice</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>58</rank> <reputation>-2</reputation> <money min="200" max="600" infinitive="0"/> <snd_config>characters_voice\human_02\stalker\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\novice\green_stalker_5</visual> <supplies> [spawn] \n wpn_pm \n ammo_9x18_fmj = 1 \n device_torch \n #include "gameplay\character_items.xml" \n #include "gameplay\character_drugs.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>
Нас интересуют теги <visual> </visual> - в них указывается название профиля. Как видно из представленных выше профилей, каждому отдельному профилю строго присвоен свой визуал. Всегда ли уместна такая точность? У нас есть группа профилей НПС и несколько визуалов подходящих этой группе профилей, можно предположить, что не важно какому именно НПС присвоеться определённый визуал. Проще говоря, в игре, все новички в деревне одинаковые, только куртки разные у них и нам не важно какая именно куртка будет на том или ином мужике. Мы выбираем нужные нам визуалы для какой то группы НПС (из gamedata/meshes/actors) даём визуалам любое одинаковое имя, после имени ставим знак подчёркивания и цифру или число. Пример:
name_1.ogf name_2.ogf mame_24.ogf
Затем в нужных профилях НПС в тегах <visual> </visual> пишем имя которое задавали нашим визуалам. В примере выше, имя визуалов было name , в этом случае теги заполняются примерно так: <visual>actors\novice\name</visual>. Таким образом визуалы рандомно распределятся по каждому профилю.
Отработанный пример на деревне новичков.
Находим профили новичков в файле gamedata/config/gameplay/character_desc_escape.xml, (их профили были вынесены, в этом уроке выше). И мы, например, скачали 5 новых визуалов которые привяжем к новичкам. Нам бы пришлось каждый раз прописывать отдельный визуал в каждом профиле, но мы поступим по другому, для начала мы переименуем скаченные визуалы таким образом:
esc_novichok_1.ogf esc_novichok_2.ogf esc_novichok_3.ogf esc_novichok_4.ogf esc_novichok_5.ogf
Закидываем эти визуалы, например сюда: gamedata\meshes\actors\novice Прописываем во всех профилях новичков визуал таким образом: <visual>actors\novice\esc_novichok</visual> сохраняем, начинаем новую игру, приходим в деревню, видим наших новичков в новых визуалах.
Несколько слов
Возможно кто то создавал подобную статью, я не видел даже похожего, если что сильно не ругайте. Таким образом возможно задавать несколько визуалов не только группе, но и одному НПС, факт в том что распределение визуалов рандомно и при начале новой игры НПС скорее всего поменяют визуал. Это может пригодиться для сюжетных модов которые имеют разветвлённый сюжет и рассчитаны не на одно прохождение, проходя такой мод второй раз с начала, игрок не только узнаёт альтернативную ветку развития сюжета но и встречает знакомых НПС в других визуалах, что усиливает ощущения альтернативности - фактически играет в новый мод. Такое явление я проверял в ТЧ в других аддонах не гарантирую работу. В будущем возможно проверю такой эффект на именах предметов, оружия и тд.