Старлей 88 Опубликовано 21 Февраля 2013 alex5773 На толике не проверяй, у него логика валяться раненым. Для проверки лучше сделай так: выстави в game_relations отношение сталкеров к себе 5000, чтобы они на тебя никогда не обижались, и сам с ПМ делай их ранеными и уже смотри что работает, а что нет. Uyman358 Скинь 848 строку скрипта smart_terrain.script Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 22 Февраля 2013 ColR_iT Ах, да ты прав, я сейчас посмотрел в all.spawn у него просто 0,31 здоровья стоит, логики у него нет(кроме смарт терраина). Я просто недавно столкнулся с такой логикой раненого, что он даже при 100 хп будет раненым, но у него стоит также параметр not_for_help = true. И все же ну зачем на толике проверять? Вот примечание: Схема раненного. Определяет поведение NPC в состоянии "раненный".Примечание: не рекомендуется задавать схему в качестве активной. А у нас получается, как раз что для Толика активной схемой будет [wounded] - но это всего лишь мое предположение Uyman358 Если у тебя вылетает именно из заголовка функции, значит чего-то начудили с самим классом смарта. P.S. У меня была похожая проблема на ЧН: я прописал работу на смарте на Янтаре, однако как только сквад регистрировался в смарте происходил безлоговый выелет - как вылечил? Да никак. В твоем случае незнаю, переполнение смарта по идее невозможно - просто выкинет из смарта лишних НПС, может быть ты что-то изменил в настройке смарта, из-за чего вообще происходит вылет, какие твои действия? *Сейчас, посмотрел скрипт оригинала, функция вызывается один раз - при раздаче работы, и выталкивание НПС из ГУЛАГа Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 23 Февраля 2013 antregА ты какой функцией спавнишь? Из АИ вертолетов или нет? Если нет, попробуй такую функцию: function heli(section,posx,posy,posz,lvid,gvid,logic) local obj = alife():create(section,vector():set(posx,posy,posz),lvid,gvid) local packet = net_packet() obj:STATE_Write(packet) -- свойства cse_alife_object local game_vertex_id = packet:r_u16() local cse_alife_object__unk1_f32 = packet:r_float() local cse_alife_object__unk2_s32 = packet:r_s32() local level_vertex_id = packet:r_s32() local object_flags = packet:r_s32() local custom_data = packet:r_stringZ() local story_id = packet:r_s32() local cse_alife_object__unk3_s32 = packet:r_s32() -- свойства cse_visual local model_visual = packet:r_stringZ() local cse_visual__unk1_u8 = packet:r_u8() -- свойства cse_motion local motion_name = packet:r_stringZ() -- свойства cse_ph_skeleton local skeleton_name = packet:r_stringZ() local cse_ph_skeleton__unk1_u8 = packet:r_u8() local cse_ph_skeleton__unk2_u16 = packet:r_u16() -- свойства cse_alife_helicopter local cse_alife_helicopter__unk1_sz = packet:r_stringZ() local engine_sound = packet:r_stringZ() --устанавливаем логику custom_data = "[logic]\ncfg = scripts\\heli\\"..logic..".ltx" -- теперь заполняем нужные параметры -- свойства cse_alife_object packet:w_begin(game_vertex_id) packet:w_float(cse_alife_object__unk1_f32) packet:w_s32(cse_alife_object__unk2_s32) packet:w_s32(level_vertex_id) object_flags = bit_not(5) -- ~5 = 0xfffffffa packet:w_s32(object_flags) packet:w_stringZ(custom_data) packet:w_s32(-1) packet:w_s32(cse_alife_object__unk3_s32) -- свойства cse_visual packet:w_stringZ(model_visual) packet:w_u8(cse_visual__unk1_u8) -- свойства cse_motion packet:w_stringZ(motion_name) -- свойства cse_ph_skeleton skeleton_name = "idle" packet:w_stringZ(skeleton_name) packet:w_u8(cse_ph_skeleton__unk1_u8) packet:w_u16(cse_ph_skeleton__unk2_u16) -- свойства cse_alife_helicopter cse_alife_helicopter__unk1_sz = "idle" engine_sound = "alexmx\\helicopter" packet:w_stringZ(cse_alife_helicopter__unk1_sz) packet:w_stringZ(engine_sound) -- считываем скорректированные параметры packet:r_seek(0) obj:STATE_Read(packet, packet:w_tell()) return obj end Здесь и логика формируется. Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 23 Февраля 2013 antreg Тогда вообще без понятия, в ACDC файлах и скриптах сталкера вообще ничего про collide или Ignore_static, только в файле lua_help.script есть два параметра: const object_collide = 512; const world_object_collide = 134218240; Это все что нашел, может не там искал... Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 25 Марта 2013 Uyman358Много я делал НПСов, и механиков и торгашей, и обычных, и ни разу не использовал секцию [danger_condition]. Вот зачем она тебе нужна, если у тебя стоит combat_ignore_cond = always, то есть у тебя НПС и так игнорирует опасность, а ты еще и это прописываешь. Это уже солянка. Лично я использую [danger_condition] либо для скриптовых сцен, либо для точечной подгонки логики непися. Так что просто удали эту секцию. Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 26 Марта 2013 riddik121Нет, просто ты не сможешь купить эти вещи у торговцев и сталкеров. Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 28 Марта 2013 (изменено) Боягуз попробуй так: [walker] path_walk = stoyu path_look = smotryu def_state_standing = hide danger = danger_condition [danger_condition] ignore_distance = 100 ignore_distance_sound = 100 То есть свыше 100 метров, НПС будет пофигу на врагов и звуки стрельбы. Теги никто не отменял! ColR_iT Изменено 28 Марта 2013 пользователем ColR_iT Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 29 Марта 2013 (изменено) Боягуз Да, при загрузке сейва много чего происходит... Тогда попробуй сделать рестриктор на АТП(к примеру параллелепипед внутри которого всё АТП), и пропиши им вдобавок в схеме walker: out_restr = имя_рестриктораP.S. Если danger не помог, может быть у тебя есть какие-нибудь A-Life моды? И поэтому они срываются к своим товарищам. Хотя может все дело и в перезагрузке. По идее out_restr должен помочь. Интересно, и чем же поможет наличие данной строки в схеме walker? Тем, что будет просто присутствовать? Воздержись от комментария, если не знаешь ответа. ColR_iT Изменено 29 Марта 2013 пользователем ColR_iT Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 29 Марта 2013 2ColR_iT, Может я и правда не то сказал , но на stalkerin'е я про out_restr вот что нашел: out_restr = sr_poimali_1 — при боевой схеме держится за этим рестриктором. И если, как я уже писал dander не помогает, тут 2 варианта: 1. НПС все-равно оказывается в комбате. 2. Что-то еще его заставляет идти за тридевять земель - например A-Life мод какой-нибудь. Если 2 пункт, я вообще без понятия что делать, а вот на 1 как раз либо danger, либо out_restr. Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 30 Марта 2013 Earth2SpaceВ .ltx >> ;текст В .script >> --текст В .xml >> <!-- текст --> 1 Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 25 Июня 2013 PostScriptum В файле dialogs.xml Вот он: <dialog id="dm_help_wounded_medkit_dialog" priority="10"> <init_func>dialog_manager.init_help_wounded_medkit_dialog</init_func> <precondition>dialogs.allow_wounded_dialog</precondition> <precondition>dialogs.is_opp_wounded</precondition> <precondition>dialogs.actor_have_medkit</precondition> </dialog> Думаю у тебя вызовет вопрос init_func, поэтому настоятельно рекомендую прочесть статью от malandrinus'a про диалоги, и эту про скриптовые диалоги. Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 15 Июля 2013 Artics Лучше всего поставить AI-вертолетов, еще как вариант можно попробовать нанести хит вертолету от нпс в xr_effects.script есть функция: function hit_obj(actor, npc, p) local h = hit() local obj = level_object_by_sid(p[1]) local sid = nil if not obj then -- abort("HIT_OBJ [%s]. Target object does not exist", npc:name()) return end h:bone(p[2]) h.power = p[3] h.impulse = p[4] if p[5] then sid = tonumber(p[5]) if sid then sid = level_object_by_sid(sid) if sid then h.direction = vector():sub(sid:position(), obj:position()) end end if not sid then h.direction = vector():sub(patrol(p[5]):point(0), obj:position()) end else h.direction = vector():sub(npc:position(), obj:position()) end h.draftsman = sid or npc h.type = hit.wound obj:hit(h) end Поидее можешь вызвать из логики нпс, тогда надо будет вписать имя объекта, и параметры хита, или отдельной функцией из скрипта, тогда придется еще указать обидчика. Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 30 Августа 2013 BrokenEarth, я встречал этот вылет, когда делал летающую аномалию, ведь в СДК указывается анимация для камеры - файл gamedata\anims\. И при создание катсцены было подобное, вообщем проверь нет ли в папке anims файлов с русскими именами, вдруг из-за этого.P.S. у меня в логе было "Can't find motion file file.anm", а у тебя даже формата нет Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 31 Августа 2013 Подскажите название анимации Круглова на Янтаре, когда он делает замеры и у него в руках детектор.(P.S. Или киньте файл его логики) Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 11 Сентября 2013 JohnWaineВ профиле сталкера допиши: <hit_probability_factor>1</hit_probability_factor> hit_probability_factor - фактор "меткости" сталкера. При нуле будет мазать стопроцентно. Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 25 Октября 2013 Хемуль36рус Если тебя интересует как сделать это из функции, то да: -- Функции для работы с отношениями function actor_friend(actor, npc) npc:set_relation(game_object.friend, actor) end function actor_neutral(actor, npc) npc:set_relation(game_object.neutral, actor) end function actor_enemy(actor, npc) npc:set_relation(game_object.enemy, actor) end Как видишь здесь точно так же, как ты и написал. Это функции из xr_effects.script, так что можешь вызвать их из логики, если надо. Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 27 Октября 2013 losiaraА при чем тут проверка на инфу? Если ее нет, то функция должна выполняться по идее каждый раз при заходе на уровень. VVV32768, _Val_А вы попробуйте в конец _g.script добавить это: prefetch("rrr_spawn") Под rrr_spawn подразумевается имя которые вы указали в level_script'e. 1 Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 3 Ноября 2013 AndreySol Движок запускает не сам ролик, а так называемый tutorial, во время которого игра ставится на "Паузу" и запускается видео. То есть, чтобы отключить показ ролика, нужно удалить его из туториала. Как? ColR_iT тебе уже ответил. Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 3 Ноября 2013 AndreySol Не знаю откуда ты это взял, я не теоретик, но вот что тебе скажу. Передо мной была задача изменить начало игры в моем моде. Вот видео, начал записывать сразу после "Начать новую игру", смотри с 4 минуты. Так вот как я это сделал: 1. Подменим стандартную секцию intro_game в файле ui_movies.xml на эту: <intro_game> <global_wnd x="0" y="0" width="1024" height="768"> <auto_static x="0" y="0" width="1024" height="768" stretch="1"> <texture>intro\intro_back</texture> </auto_static> </global_wnd> <item type="video"> <sound>$no_sound.ogg</sound> <delay>0</delay> <pause_state>off</pause_state> <function_on_stop>xr_effects.darkness</function_on_stop> <video_wnd x="0" y="0" width="1024" height="768" stretch="1"> <texture x="0" y="1" width="1280" height="954">intro\intro_back</texture> </video_wnd> </item> </intro_game> Теперь при начале новой игры не будет ничего, затем... но ты поставил вопрос "как отключить" думаю что я на него ответил. P.S. А это наверное для красоты: чет я сильно сомневаюсь .... <pause_state>on</pause_state> Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение
Старлей 88 Опубликовано 4 Ноября 2013 zxc Да кто ж его знает? Скинь последние строки из лог-файла. А в деревне новичков не вылетает? Там же у волка АКСУ тоже. Ray Of Hope - кооператив сталкера OldStory Поделиться этим сообщением Ссылка на сообщение