Pihan13 9 Опубликовано 21 Мая 2009 (изменено) Всё наш НПС будет стоять на месте своего спауна. Едем дальше. Нам надо активировать нашего персоонажа. для этого мы должны вставить строку: <action>esc_unik_npc.esc_unik_npc</action> Либо в диалог, либо в какой-нибудь квест. Давайте вставим строку в файл info_portions.xml (gamedata/gameplay) под Код: <game_information_portions> <info_portion id="storyline_actor_start"> <task>storyline_eliminate_gunslinger</task> Выглядеть это будет так: <game_information_portions> <info_portion id="storyline_actor_start"> <task>storyline_eliminate_gunslinger</task> <action>esc_unik_npc.esc_unik_npc</action> </info_portion> как я понял storyline_eliminate_gunslinger это в ТЧ. А каким квестом активировать в ЧН? чтоб в любой момент он уже соспавнился. P.S. основные квесты на кордоне я прошёл (это те которые связаны с вояками и хабаром Сидора) Изменено 21 Мая 2009 пользователем Pihan13 Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 5 Июля 2009 Здравствуйте великие умы форума АМК! Можете сделать урок по созданию НПС в ЧН. Я пробовал а ничего не получается. Объясните всё по крупиночкам языком ламеров что из себя представляет конфиг НПС в игре. (какие файлы за это отвечают + ещё подробная теория) Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 28 Июля 2009 pastor, необязательно если его нет и не вылетела правильно. Допустим ты в пути к визуалу допустил ошибку или впихнул ему такой предмет, которого нет в игре, либо допустил ошибку в его логике. Игра не вылетет, но в момент его спавна (экшеном из диалога например) игра вылетет проверено на собственном опыте! Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 4 Августа 2009 (изменено) Моя инструкция по спавну NPC через скрипт в ЧН (опишу всё довольно понятно) Чтож приступим для начала берём файл: gamedata\configs\gameplay\character_desc_***.xml (*** - имя локации, но это не важно т.к. например прописали мы нашего нпс в character_desc_escape.xml, его спокойно можно будет спавнить через скрипт скажем на болотах.) в этот файл в самом конце есть тэг <xml> и теперь ПЕРЕД НИМ вставляем "основу": <specific_character id="esc_nash_npc" team_default = "1"> <name>esc_nash</name> <icon>ui_npc_vlad</icon> <map_icon x="1" y="0"></map_icon> <bio>Новичок.</bio> <class>esc_nash_npc</class> <community>freedom</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_02\freedom\</snd_config> <rank>50</rank> <reputation>13</reputation> <money min="0" max="1400" infinitive="0"/> <visual>actors\stalker_monolith\stalker_monolith_2</visual> <supplies> [spawn] \n device_torch \n wpn_pb \n ammo_9x18_fmj = 2 \n </supplies> </specific_character> <specific_character id="esc_nash_npc" team_default = "1"> <name>esc_nash</name> - имя можно указать GENERATE_NAME_stalker, GENERATE_NAME_bandit... тогда будет генериться случайное имя, но у нас есть определённое имя - esc_nash. куда с ним дальше объясню позднее <icon>ui_npc_vlad</icon> иконка нашего при обыске и шмоне трупа (объясню позднее) <map_icon x="1" y="0"></map_icon> - хз что такое, по походу иконка на карте <bio>Новичок.</bio> - абсолютно нигде не учавствует (в билде 1935 это можно было читать по ПДА) <class>esc_nash_npc</class> - класс (объясню и создадим позднее) <community>freedom</community> - группировка к которой принадлежит наш НПС (можно указать stalker, freedom, monolith ect.) <terrain_sect>stalker_terrain</terrain_sect> - smart-terrain (так и указывать stalker_terrain) <snd_config>characters_voice\human_02\freedom\</snd_config> (голосовой конфиг. распакуйте файл Localization\xrussian.db. ВНИМАНИЕ!!! если указать конфиг вояк и наш НПС будет другом, то будут вылеты - у вояк какогото там звука нету) <rank>50</rank> - ранг (от 0 до 1000) вроде распределяется как новичок, опытный, мастер, ветеран,... <reputation>13</reputation> - репутация (от 0 до 1000) репутация как на форуме АМК - у кого больше тот главнее (шутка). От неё зависит ВРОДЕ за сколько мы будем сдавать ему хабар и он нам.(т.е. если у него выше, то мы ему дёшево будем, а он нам дорого) <money min="0" max="1400" infinitive="0"/> - шальные наличные. min="0" самый минимум который может у него быть, max="1400" и так понятно. поставив infinitive="1" у него будут бесконечные (например у торговцев ---) <visual>actors\stalker_monolith\stalker_monolith_2</visual> - путь до модели "визуала" - любой файл в папке GAMEDATA\meshes\actors ну и соотв в подпапках. <supplies> - открывает "снабжение" [spawn] \n - это не трогаем device_torch \n \\\\ сюда можно добавлять свое к примеру чтоб выдать НПС АК74, пишем ему строку wpn_ak74 \n wpn_pb \n ammo_9x18_fmj = 2 \n </supplies> - закрывает"снабжение" </specific_character> Далее: открываем gamedata\configs\creatures\spawn_sections_***.ltx (*** - имя локи. как и в предидущем случае неважно) добавляем: ;наш персонаж [esc_nash_npc]:stalker; Здесь esc_nash_npc - что вместо этого напишем, то и пропишем для спавна. или это сам класс нпс (в профиле его <class>esc_nash_npc</class>) $spawn = "respawn\esc_nash_npc" character_profile = esc_nash_npc; то, что мы прописали в character_desc_*** (<specific_character id="esc_nash_npc"...) spec_rank = veteran;ранг. на этот раз не цыфрами а словами (master, veteran...) community = freedom;опять группировка. хотя если вы в профиле указали скажем freedom, а тут stalker, то вылета не будет custom_data = scripts\escape\esc_nash_npc.ltx; custom data (в будующем кастомдата) путь до ltx - файла логики Логика! создаём файл esc_nash_npc.ltx (или как там у вас) в папке gamedata\configs\scripts\escape (имя локации опять чтобы не путаться) пишем туда стандартную логику - стой на месте, нифига не делай: [logic] active = walker@stay_at_position danger = danger_ignore [danger_ignore] ignore_distance = 5 [walker@stay_at_position] path_walk = walker_stay_at_position_walk path_look = walker_stay_at_position_look Точки пути прописываем в файле way_имя_локации.ltx декомпилированного all.spawn. Новую игру начинать не нужно. вот по логике чуток: http://stalkerin.gameru.net/wiki/index.php...1%D1%82%D1%8C_1 Едем далее: Имя: в файле gamedata\configs\text\rus\st_characters.xml в самый конец ПЕРЕД ТЭГОМ </string_table> добавляем: <string id="esc_nash"> <text>Индюк "Опаленный"</text> </string> Иконка: стандартные в файле: gamedata\configs\ui\textures_descr\ui_npc_unique.xml структура файла: <file name="ui\ui_npc_unique"> - файл из которого брать иконки <texture id="ui_npc_u_nebo_2_face_1" x="0" y="0" width="165" height="108" /> иконка с именем ui_npc_u_nebo_2_face_1 размером 165 х 108 от начала координат (0,0) ui_npc_u_nebo_2_face_1 - то что в профиле вставляется в тэг icon Далее создаём скрипт ваше_название.script в папке gamedata\scripts. в него пишем function esc_spawn_nash_nepic () alife():create("esc_nash_npc",vector():set(-233.62,-20.04,-152.72),23680,570) end esc_nash_npc - Имя из spawn_cections_*** (-233.62,-20.04,-152.72),23680,570) позиция (x, y, z, gw, lw,) (-233.62,-20.04,-152.72),23680,570) - это в 1ом доме от сидорыча на кордоне теперь добавляем строку <action>ваше_название.esc_spawn_nash_nepic</action> в любой диалог Изменено 4 Июля 2012 пользователем ColR_iT Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 5 Августа 2009 (изменено) Помогите. сделал персонажа. когда тыкаю на диалог чтоб он заспавнится, вылетает FATAL ERROR [error]Expression : fatal error [error]Function : CInifile::Load [error]File : E:\priquel\sources\engine\xrCore\Xr_ini.cpp [error]Line : 332 [error]Description : <no expression> [error]Arguments : Duplicate section 'game_info' found. что означает? Всё, разобрался - в логике не то написал Изменено 5 Августа 2009 пользователем Pihan13 Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 7 Августа 2009 Помогите, как сделать game_story_id для моего НПС? Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 11 Августа 2009 (изменено) Killer-44, Не сочтите за оверквотинг: [spoiler=Цитаты из темы "Создание NPC "привязанного к точке" без редактирования all.spawn"] Как бессмертным сделать NPC? поставить ему базовый клас сахарова RvP, это в character_desc_*** персонажу прописать <class>yan_stalker_sakharov</class> ? Pihan13, почти. название класа другое RvP, какое? я про ЧН Pihan13, за ЧН не знаю,но в ТЧ стоит yan_general_ecolog Изменено 11 Августа 2009 пользователем Pihan13 Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 19 Августа 2009 Writer, если ты пользуешься notepad++, то найти ошибку просто. Редактор подсвечивает xml - синтаксис. тыкай на тэги. если какойто не выделился фиолетовым, значит он не закрыт. Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 29 Августа 2009 andrewrap, в логику ему вгони строку no_move = true Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 31 Августа 2009 andrewrap, надо чтобы это было сделано до того как он у тебя заспаунился! Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 6 Ноября 2009 (изменено) Чужий, может добавить в логику: meet = no_meet А что собсно у тебя получилось? Изменено 6 Ноября 2009 пользователем Pihan13 Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 13 Марта 2010 (изменено) alexwew, ц-ц-ц не написал секцию [logic] а также активацию из неё нужной схемы, поэтому все ниже стоящие секции логики - Филькина грамота. [logic] active = walker trade = misc\trade\trade_zat_a2_barmen.ltx prior = 200 can_select_weapon = false level_spot = trader inv_max_weight = 10000 [walker] path_walk = trader_ross_walk path_look = trader_ross_look meet = meet combat_ignore = combat_ignore [meet] use = true use_wpn = true meet_talk_enabled = true [combat_ignore] Изменено 13 Марта 2010 пользователем Pihan13 Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение
Pihan13 9 Опубликовано 17 Марта 2010 raf100, не найден профиль ГГ. он как я помню в файле character_desc_general Локация "Жилище Картографа" Хелп по созданию смарт террейнов Поделиться этим сообщением Ссылка на сообщение