Strel_ock, То что написал FaLcon function name() local npc = level_object_by_sid(006) npc:set_character_community("имя группировки", 0, 0) end Прописываешь в task_manager. level_object_by_sid это id НПС, пиши своего.
Как добавить энциклопедию Зоны в КПК для Зова Припяти? Как использовать программу map_dragger? В каком формате, с каким названием и куда сохранять полученные фаилы? Тоже для Зова Припяти
Краткое руководство по использованию программы Map dragger, предназначенной для компоновки локаций на глобальной карте и расчета их координат. Предварительная настройка В качестве глобальной карты по умолчанию используется ui_global_map_cs_zp2.jpg. При работе с другой картой необходимо поправить файл game_maps_single_css_my.js: var global_map = { texture: "map/ui_global_map_cszp2.jpg", bound_rect : {x1: 0.0, y1: 0.0, x2: 1024, y2: 3658.0} } var levels = {};Путь к изображению и его разрешение задаются во второй и третьей строках скрипта соответственно.
Получение global_rect Запускаем index.html в браузере и расставляем карты как душе угодно. Для получения координат карт отдельных локаций на глобальной нажимаем кнопку GetLtx и копируем полученные значения в gamedata\configs\game_maps_single.ltx.
Получение bound_rect 1. Запускаем игру, вводим в консоли команду demo_record 1 2. Нажимаем F11 3. Идём в папку с настройками игры (по умолчанию C:\Users\Public\DOCUME~1\STALKE~1.-\), в папке screenshots вы найдете изображение в формате .tga, в названии которого и будет bound_rect. В ЧН/ЗП bound_rect пишется в gamedata\levels\%levelname%\level.ltx при построении (Compile -> Build) уровня в СДК (при отсутствии исходников воспользуйтесь converter.exe).
article id - внутреннее имя статьи, именно на него ссылаются в файлах игры name - имя статьи, отображаемое в игре, подгружается из строкового массива texture - картинка и её позиция в статье, в данном случае мы использовали обычный белый шум text - текст статьи, отображаемый в игре, подгружается из строкового массива Добавим в, например, config\gameplay\info_l01escape.xml (инфопорции уровня "Кордон") ссылку на получение статьи - скажем, к трупу у туннеля, при обыске которого выдается информация о аномалиях в туннеле (вы его обнаруживаете, проходя второе спецзадание от Сидоровича). Найдем эти строки и дополним их: Код: Код <!-- труп у аномалии --> <info_portion id="esc_tutorial_dead_novice"> <article>tutorial_moving_anomaly</article> '''<article>zone_anomalies_activation_basic</article>''' </info_portion>
Главное - никогда не путайте article id, name и text статьи. Я в данном примере это сделать легко. Лучше называйте их непохожими друг на друга названиями.
Так как в статье у нас есть такое поле:
Код <text>enc_zone_anomalies_activation_basic</text>
Да и название тоже не написано прямо, а ссылается на определенную строку, то добавим этот самый text в config\text\rus\string_table_enc_zone.xml, в нашем случае:
Код: Код <string id="enc_zone_anomalies_activation-basic"> <text>Активация - базис</text> </string> <string id="enc_zone_anomalies_activation_basic"> <text>С артефактами связана, помимо всего прочего, ''(ну, и так далее, там большой текст)''...</text> </string>
Дополнительно Чтобы статья добавлялась при получении определенного задания, в ..._task.xml (вместо ... стоит название уровня) нужно прописать конструкцию вида:
Код: Код <article>название_задания_descr</article>
Strel_ock, можешь так как сказал костя , а можешь сделать вызов функции из диалога например когда ты сдашь задание брому или кому там после определенной строчки поставь <text>название строчки диалога</text> <give_info>escape_brom_ak74u_done</give_info> инфа о завершении после выдачи этого инфопроршня срабатывает <action>new_life.give_brom_ak74u</action
give_brom_ak74u это название функции из файла new_life
Сообщение отредактировал FaLcon - Четверг, 19.07.2012, 13:41
Если подойдёт,то вместо стори_ид Волка напиши Брома.Файл task_manager.script
function reward_by_task(task) local npc = level_object_by_sid(006) if npc and IsStalker(npc) then npc:set_character_community("dolg", 0, 0) get_random_task():task_reward_storyline(task) else get_random_task():task_reward_storyline(task) end end
Сообщение отредактировал Arist - Четверг, 19.07.2012, 15:10
написал скрипт function have_repair_kit(first_speaker, second_speaker) return first_speaker:object("repair_kit") ~= nil навазние файла где прописана функця.spawn_monsters() end
function spawn_monsters() -- вот эта alife():create("zombie_weak",vector():set(-103.4186401372,-30.584886550903,-396.23031616211),157046,16) end
функция возвращает true/false и на этом выполнение функции закончено, поэтому функция spawn_monsters() не вызывается. Можно так сделать:
Code
function have_repair_kit(first_speaker, second_speaker) if first_speaker:object("repair_kit") ~= nil then this.spawn_monsters() return true end return false end
function spawn_monsters() alife():create("zombie_weak",vector():set(-103.4186401372,-30.584886550903,-396.23031616211),157046,16) end
Сообщение отредактировал Stalk15 - Четверг, 19.07.2012, 19:02
ins33, Дополню Stalk15, смысла создавать новую функцию из-за одной команды нету, лучше эту самую команду прописать в основную функцию have_repair_kit:
Code
if first_speaker:object("repair_kit") ~= nil then alife():create("zombie_weak",vector():set(-103.4186401372,-30.584886550903,-396.23031616211),157046,16) return true end
Как в повелителе зоны,например вот в тень чернобыле есть модель военого в бериле, противогазе, как добавить его в повелитель зоны? для тч.Ну короче немного по понятнее скажу можна ли добавить другие модели нпс или монстром в повелитель? или заменить?
Сообщение отредактировал Stenli - Четверг, 19.07.2012, 22:18