Skyloker, Естественно скриптом. В файле gamedata\scripts\bind_stalker.script есть каллбек
Code
function actor_binder:use_inventory_item(obj)
На который и подвешана проверка анабиотика и, если это он, запускаются эффекты. Вот и смотри как это реализовано. Только тебе надо вызов делать не при юзании предмета, а при старте игры.
Callisto, меня тоже интересует вопрос с появлением анимацией при старте игры, и у меня вопрос, какой файл отвечает за действия происходящие при старте игры, или нужно просто изменить функцию в скрипте и анимация появиться сама?
#include "gameplay\character_criticals_4.xml" </specific_character> И открываем npc_profile После строчки добавляем Code <character id="my_stalker"> <class>my_stalker</class> </character> А теперь создадим логику для него D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\configs\scripts тут создаем папку new а там файл my_stalker_npc_logic И пишим там Если ты хочешь бесмертного то Code [logic] active = remark1 danger = danger_ignore invulnerable = true
[remark@hello] no_move = true invulnerable = false meet = meet_guide on_actor_dist_le = 10| remark1 Открываем D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\scripts И создаем скрипт sniper_add.script И пишим там (открываем с помощью блокнота) Code function start_add_spawn()--\\ --\\ -- spawn_sniper_one() end
function spawn_sniper_one() local x= 111.75521087646 local y= -3.9362425804138 local z= 185.2212677022 local level_vertex= 1158851 local game_vertex_id= 316 alife():create("my_stalker",vector():set(x,y,z),level_vertex,game_vertex_id) end
function save_variable(variable_name, value) xr_logic.pstor_store(db.actor, variable_name, value) end function load_variable(variable_name, value_if_not_found) return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found) end И открываем скрипт тут же bind_stalker.script
Ищим строку
Code function actor_binder:update(delta) object_binder.update(self, delta)
if string.find(command_line(), "-designer") then return end
И после неё пишим это Code if sniper_add.load_variable("spawn_sniper",false)==false then sniper_add.start_add_spawn() sniper_add.save_variable("spawn_sniper",true) end Всё, мы сделали нпс, он появится около сыча слева от стойки. Удачи!
Но НПС не заспавнился, я его не нашел ни на указанном в инструкции месте ни вообще на Скадовске. Кто нибудь может дать нормальную инструкцию P.S. меня напрягло вот что
Code
И открываем npc_profile После строчки добавляем Code <character id="my_stalker"> <class>my_stalker</class> </character>
После какой строчки непонятно, поэтому я написал в конце перед </xml>, может поэтому НПС не заспавнился?
pirat09, Старт игры можно отловить несколькими способами. А конкретно с эфектами при старте, то лучше использовать логику рестриктора gamedata\configs\scripts\zaton\zat_b101_logic.ltx и оттуда сделать вызов.
Quote (_Мороз)
меня напрягло вот что
Абсолютно не важно, где будет размещена секция твоего НПС, лишь бы синтаксис не был на рушен, но обычно это приводит к вылету.
Какой-то витиеватый урок, можешь дать ссылку на него, хочу ознакомиться с первоисточником. И почему именно через скрипт спавнишь? Чем тебе вариант разрабов не нравиться?
Репутация: 2844
Регистрация: 08.11.2011
Город: Воронежская обл.
Callisto, вот первоисточник, находил и на других сайтах, но везде инструкция одинакова. Спавню через скрипт т.к. говорят что одиночных НПС легче спавнить через скрипт, да и не нашел урока спавна через all.spawn
Думаю, что спавн через all.spawn в ЗП мало чем отличается от ТЧ (хотя сама лично не проверяла, надо будет поэксперементировать ) В ЗП разрабы отошли от спавна НПС через all.spawn, почитай CoP: Спавн НПС через smart terrain А приведенный тобою урок вполне рабочий, правда есть косяк с диалогом, но НПС спавнится на "Скадовске" около Сыча. Т.ч. что-то ты сделал не так
Quote (Skyloker)
хоть убей
Выбирай оружие Если через рестриктор zat_b101, то создай секцию своего нового постпроцеса в файле postprocess.ltx и вызывай из логики рестриктора =run_postprocess и отключай =stop_postprocess Если через скрипт, то используй:
Добавлено (17.10.2012, 20:44:44) --------------------------------------------- Очередной вопрос)))) Как изменить траву?) я распаковал gamedata- level - zaton там лежит файл с травой, а как мне его изменить что бы сделать траву больше, и выше?
Помогите пожалуйсто с night vision и тепловизором. А именно как создать новый эфект nightvision и как сделать так что бы тепловизор захватывал цели автоматически подсветлял (показывал рамку) вокруг всех NPC как биноколь а не только вокруг врагов. Буду очень благодарен.
Сообщение отредактировал Laser - Пятница, 19.10.2012, 02:31:31
Серый22, задаешь название экрана согласно тому как зарегистрирована эта локация. Размещаешь их в gamedata\textures\intro\. К примеру имя файла интро заставки intro_l15u_pripyat_und_1.dds. Название локации l15u_pripyat_und_1. Движек сам считает нужный файл по имени.
Смерти вопреки участие в Sigerous Mod 2.2 (несюжетные квесты) автор мода Geonezis Addon for SGM 1.7 автор уроков квестостроения на X-Ray 1.6
Skyloker, Скачай какой-нибудь мод, где увеличена высота травы, и посмотри как это реализованно. Сейчас у меня нет возможности качать моды, чтобы разобраться.
Создал нпс, все хорошо, научился мнять логику и тд., но возникла одна проблемка, нпс не разговаривает, прописывал ему диалоги, ни чего не получалось, когда подходишь к нпс он говорит чтобы ты поговорил со старшим, я так понял нужно сделать так чтобы он был главным. Как это сделать? Я так понял дело не влогике?
pirat09, Хотть бы рассказал, как спавнил. Гадать не буду, поэтому отвечу стандартно. В ЗП нет одиночных сталкеров, вместо них используются сквады с одним НПС, в файлах gamedata\configs\misc\squad_descr_локация.ltx, в секциях сквадов есть строка npc = , в которой и задаются НПС для сквада, первый указанный НПС и будет лидером отряда. Соответственно если НПС задан один, то он и будет лидером.
Callisto Спасибо посмотрим. А бинокль, прицел работают та одинаково, это я понял а вот где лежат конфинги к ним, точнее строчки которые отвечают за автозахват целей никак не могу разобраться. У тактического шлема есть такая же ф-цыя вроде-бы. Вот только где скрипты? Только началь капаться в файлах игры. Возможные глупые вопросы
Laser, У шлема другая функция, он отабражает врагов на миникарте. Конфиги лежат gamedata\configs\weapons\ Биноколь - w_bm16.ltx Прицел - weapons.ltx
Строки
Code
vis_frame_speed = 4 ; скорость, с которой наводится рамка на цель vis_frame_color = 0.7,0.7,0.7,1.0 ; цвет рамки RGBA (A) Не учитывается found_snd = detectors\DA-2_beep1 catch_snd = detectors\DA-2_beep1
Это единственные параметры которые доступны, остальное зашито в движок
Callisto спасибо, а как тогда дать шлему возможность автозахвата? Есть же апгрейд прицела, как шлему задать точно такой же апгрейд. Я знаю что схемы стандарные и надо создовать свою ветку апгрейдов, только как правильно это сделать? Можешь дать ссылку на руководство? P.S. Не вижу твой первый ответ с ссылкой на инфу о редактировании *.ppe файлов.