BFG 7 582 Опубликовано 16 Ноября 2017 @dsh в том то и дело, что ЭТОТ вариант не работает при оживлении Мухи в Госпитале. Я проверил уже ВСЕ рестры и экшены. Я проверил уже ВСЕ поршни и координаты. на текущей Соли по сравнению с Солью 2010. Не работает. Иначе я бы не задавал этого вопроса. Я не понимаю, в следствии каких причин вдруг Муха перестала оживлятся. Надо кинуть арт в определённую точку. Но ведь такого никогда не было. Поэтому надо поменять условия оживления. Надо просто кинуть арт в рестр и выдать поршень. БЕЗ всякой варки. А уж остальное я в экшенах пропишу как надо. Мне главное отследить чтобы определённый арт упал в определённый рестр и выдался поршень. p.s. я НЕ понимаю почему так происходит, что у 99% юзеров возникают проблемы с оживлением Мухи. Поэтому надо измениь и условия и действие и сделать всё проще. Какая-то неведомая мне правка мешает. А поскольку Людмила (lsclon)покинула моддинг навсегда, а кроме неё никто не знает, то я прошу помощи у форума. "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 17 Ноября 2017 9 минут назад, Dennis_Chikin сказал: что делают info в файлах level.spawn Это info которые прописаны в кастом дате НПСов. Ну например на Кордоне в трупе бандита на элеваторе. Обыскал труп - выдался поршень. И файл level.spawn не используется игрой вообще. Он используется только для СДК. 1 "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 19 Ноября 2017 Вопрос такой: - как удалить артефакт, который ГГ выкинул из рюкзака ? Имя его известно - af_kamen_udachy и арт такой в игре один единственный. Функция function del_art() del_obj_by_name("af_kamen_udachy") end не работает. Артефакт продолжает оставаться на земле. Спасибо. "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 19 Ноября 2017 @abramcumner Ну это имя арта в конфиге. Мы получаем его в процессе варки и берём с собой. Никакой олспавн не задействован. [af_kamen_udachy]:af_base $spawn = "artifacts\af_kamen_udachy" $npc = on visual = physics\anomaly\artefact_kamenudachi.ogf description = artifact_af_kamen_udachy и так далее, стандартный конфиг артефакта со свойствами. Функция вызывается из логики рестра [sr_idle@one] on_info = {+spawn_muha_live} %=arhara_dialog.del_art% Я не знаю что такое понятие "коллбек". "ИД" это видимо story_id ? Его нет у этого арта, не назначался, потому что я могу назначить СИД только итему в оллспавне, а в конфигах это невозможно сделать. "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 23 Ноября 2017 @ComradE_AleX Бинокль использует 4 слот. Тебе придётся переназначать слоты и потом ещё в АИ-схеме поведения НПС сделать так, чтоб НПС не начал стрелять из Бинокля ))) Потому что НПС выбирает лучший ствол в зависимости от расстояния до цели и ещё каких-то там параметров боя и опасности. Поэтому он может принять решение что в какой-то момент бинокль для него лучше и попробует из него пальнуть. Всё это может потянуть за собой такое... что лучше забыть про эту идею. "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 24 Ноября 2017 @S.T.W.A.L.K.E.R. Любой xml- файл легко проверяется в браузере Хром если мышой перетащить его в новую вкладку. Не нужны никакие сторонние программы. Вот твой файл Строка с ошибкой указана. 2 5 "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 24 Ноября 2017 Очередной вопрос. Имеем стандартную функцию оригинала ТЧ по нанесению хита по обжекту Скрытый текст 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 В оригинале параметры в неё передаются через рестр, например по бочкам на дороге к Выжигателю, которые падают с горы на ГГ. Как не используя логику рестра и передачу параметров вбить туда свои данные напрямую, чтобы вызвать функцию например из диалога. Пробовал сделать вот так (обжект прописан в оллспавне и имеет свой сид. Тип хита - выстрел) Скрытый текст function hit_mon() local h = hit() local obj = level_object_by_sid(14200) local sid = nil if not obj then -- abort("HIT_OBJ [%s]. Target object does not exist", npc:name()) return end h:bone("link") h.power = 1 h.impulse = 1500 if p[5] then sid = tonumber(p[5]) if sid then sid = level_object_by_sid(14200) 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 Но ничего не происходит и лог ругается на строку h.direction = vector():sub(npc:position(), obj:position()) пишет что - _attempt_to_index_global_'npc'_(a_nil_value) Может быть есть иные функции с прямыми параметрами, чтобы разрушить итем с СИДом ? Или чего-то не хватает в стандартной функции ? Спасибо. "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 24 Ноября 2017 @naxac Попробовал. Вроде и сработала функция, но итем не разрушился. Возможно маловаты значения мощности и импульса, тогда какие цифры ставить. Хочу разрушить стандартный монолитовский генератор, в которые мы стреляем в бункере где О-Сознанец. Такие цилиндры с синими партиклами. У него в модели путь к разрушению config\models\objects\monolith_generator.ltx Там прописано fire_wound_immunity = 0.15 Может у меня цифирьки маловаты выставлены для такой пулестойкости ? Не взрывается он...собака такая.. "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 24 Ноября 2017 @naxac Нет, увы не разрушается зараза. Поставил уже h.power = 10000 и ничего не происходит. А 4 пульки из ПКМа спокойно грохают его. Может что не так с функцией ? "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 24 Ноября 2017 @abramcumner Да, так и есть. Андрей (Charsi) уже в скайпе подсказал такой же тип хита. Щас всё работает прекрасно. Монолитовский генератор взорвался. Текущая функция если кому пригодится по нанесению хита на итем с СИДом: function hit_mon() local h = hit() local obj = level_object_by_sid(14200) if not obj then return end h:bone("link") h.power = 10 h.impulse = 1500 h.direction = vector():set(0,0,0) h.draftsman = obj h.type = hit.fire_wound obj:hit(h) end Всем спасибо кто помогал. 1 2 "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 2 Декабря 2017 (изменено) Очередной вопрос : - есть ничем не примечательный, обычный НПС, в профиле котрого прописан ствол и патроны, пускай это будь ружжо и жекан. [spawn] \n wpn_saiga12c = 1 \n ammo_12x76_zhekan = 1 \n Но почему-то изначально все дробовики заряжены дробью, и лишь отстреляв по врагу первую зарядку, он начнёт заряжать жекан. Что за скрипт\конфиг отвечает за дефолтное наполнение ствола боеприпасом ? Как сделать так, чтобы по дефолту у НПСа были в стволе именно те патроны (сразу !), которые ему добавлены в профиль ? Спасибо. Изменено 2 Декабря 2017 пользователем BFG "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 2 Декабря 2017 (изменено) @nasar75 @shahvkit Хммм, но если я первым поставлю жекан, то у всех новичков-НПСов с обрезами и дробью - будет заряжен жекан. А мне хотелось бы этого избежать. Однако засада. Спасибо. Аааа... Стоп. Конфиг ствола. Понял. Изменено 2 Декабря 2017 пользователем BFG 1 "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 10 Января 2018 В 19.12.2017 в 16:05, Pir@t@s сказал: И по этому поводу у меня вопрос: логику и пути НПС на новых локациях как прописывать? Создавать файл «way_lxx_unknown.ltx» по аналогии с другими или это можно делать в других файлах, например: «way_aver.ltx». Насколько помню, не надо ничего создавать. Прописывай пути в любом файле. АСДС через который ты работаешь, при компиле сам, по гейм_вертексам, всё соберёт как надо. 1 1 "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 31 Января 2018 Очередной нубский вопрос. =============== Если я спавню любой итем, пусть например ящик, через оллспавн, то там помимо строки position = x, y, z есть и строка direction = .... Если я использую скриптовый спавн, типа alife():create("item",vector():set(x,y,z),lv,gv), то существует ли способ, каким-то образом указать и здесь direction = .... ? Спасибо. "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 1 Февраля 2018 2 часа назад, ed_rez сказал: в сами файлы описания персонажей, по типу character_desc_.....xml. Вот точно не туда. Уж не знаю как сделано в Солянке, но пересмотрел в своё время кучу профилей НПСов по тем или иным причинам. Ни в одном не прописан ПДА. А они между тем с трупов как-то выпадают. Какой-то скрипт их туда доспавнивает с определённой степенью вероятности. Типа death_manager.script или что-то подобное. Денис может появится и прояснит. @AndrewMor Не правь пока профили НПСов, не делай лишнюю работу. 1 1 "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 18 Февраля 2018 Подскажите пожалуйста готовую функцию, чтобы группировка (на выбор) мгновенно стала врагом для ГГ несмотря на все его прошлые заслуги, даже если все были "зелёными" друзьями. Поиском только правка game_relation находится, но это не то. Спасибо. "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 12 Марта 2018 @_Val_ Гарик. name = bar_bar_guard character_profile = bar_barman_guard object_flags = 0xffffffff custom_data = <<END [smart_terrains] none = true [logic] cfg = scripts\garik.ltx END visual_name = actors\neytral\stalker_bar_security garik.ltx Секции [hit@garik] и [death@garik] это Соляночные. В оригинале их нет. 2 "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 19 Марта 2018 @Mutantt В логике прописано: Смотри секцию [remark2] anim = guard_rac и дальше ещё в ремарке3 esc_wolf.ltx "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 20 Марта 2018 3 часа назад, Mutantt сказал: А изменения в данном файле игра почует только после новой игры, или в любой момент? Данный файл взят из НС2016, где логика Волка вынесена в отдельный файл. ==================================== В чистом ТЧ, тебе надо смотреть файл gulag_escape.script, там гулаг новичков в ДН прописан и оттуда попадаем в gulag_escape.ltx в секцию Волка section = "logic@esc_lager_volk", там менять анимку. Все изменения логики вступают в силу ДО спавна НПСа\моба. Если он спавнится с НИ - значит нужна НИ. ===================== Что касается удаления всех обжектов - это тебе поиском надо по "Школе Моддинга" пройтись. Были примеры такой функции. "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение
BFG 7 582 Опубликовано 4 Апреля 2018 Нашёл на Вики-Сталкер в " Разбор скрипта xr_effects" такую штуку: ================== play_particle_on_path Проигрывает партикл на waypoint'е %=play_particle_on_path(<имя партикла>:<waypoint>)% xr_effects.play_particle_on_path(nil, nil, {"<имя партикла>","<waypoint>"}) ================= В скрипте у себя вижу такую функцию Скрытый текст function play_particle_on_path(actor, npc, p) local name = p[1] local path = p[2] local point_prob = p[3] if name == nil or path == nil then return end if point_prob == nil then point_prob = 100 end local path = patrol(path) local count = path:count() for a = 0,count-1,1 do local particle = particles_object(name) if math.random(100) <= point_prob then particle:play_at_pos(path:point(a)) end end end =================== Как мне сделать например чтоб партикл "explosions\\explosion_fuelcan" проигрался в координатах (123,456,789),23444,123 Каким образом имя партикла и цифры вписать в функцию ? Вызывать буду через логику рестра. Спасибо. p.s. и можно ли вообще на ТЧ проиграть партикл скриптом по координате локации, а не привязанным к НПСу или кости итема, как пишут на Вики ? А то может зря и вопрос-то задал. "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение