Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Jekyll 92 Опубликовано 18 Мая 2016 Поделиться Опубликовано 18 Мая 2016 снять координаты полёта на нужной тебе высоте. Может, я не совсем корректно выразился? Мне не нужно привязывать полтера к определенному маршруту (пусть летает себе, где хочет). Нужно изменить высоту его перемещения, которая при этом заметно колеблется - монстр при движении то опускается, то поднимается. Из вышесказанного тобой выходит, что в конфигах монстра искомого параметра нет? New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор Русификатор для игры Vendetta: Curse of Raven's Cry Ссылка на комментарий
PTB 8 Опубликовано 18 Мая 2016 Поделиться Опубликовано 18 Мая 2016 Здравствуйте, прошу помощи. Склепал из разных скриптов вот такую фу-ию. local level_name = { ["l01_escape"] = "Кордон", ["l02_garbage"] = "Свалка", ["l03_agroprom"] = "Агропром", --и т.д. } local killers = { monster_classes = { [clsid.bloodsucker_s] = "Кровосос", [clsid.boar_s] = "Кабан", [clsid.dog_s] = "Собака", --и т.д. } } local weapon_classes = { weapon_ognestrel = { ["wpn_pm"] = "Огнестрельное ранение (пистолет)", ["wpn_pb"] = "Огнестрельное ранение (пистолет)", ["wpn_fort1"] = "Огнестрельное ранение (пистолет)", --и т.д. }, weapon_blowing ={ ["wpn_rpg7"] = "Взрыв (ракетница)", ["wpn_rg-6"] = "Взрыв (гранатомет)", ["wpn_rg6_m1"] = "Взрыв (гранатомет)", ["wpn_grenade_launcher"] = "Взрыв (граната)", ["wpn_grenade_f1"] = "Взрыв (граната)", ["wpn_grenade_rgd5"] = "Взрыв (граната)" }, weapon_knife = { ["wpn_knife"] = "Ножевое ранение" } } function news_of_npc_kill(victim) if victim and IsStalker(victim) then local dead_news ="\\n%c[255,160,160,160]Погиб сталкер: %c[default]"..victim:character_name().."%c[255,160,160,160] Место смерти: %c[default]"..level_name[level.name()].."\\n%c[255,160,160,160]Причина смерти: %c[default]" or "" db.actor:give_game_news(dead_news, "ui\\ui_iconstotal", Frect():set(0,752,83,47), 1000, 6000) news_sound() end end function news_sound() local snd_obj snd_obj = xr_sound.get_safe_sound_object([[device\pda\pda_tip]]) -- путь до звукового файла snd_obj:play_no_feedback(db.actor, sound_object.s2d, 1, vector(), 1.0) end Вопрос: Как определить причину смерти? В жизни много плохих моментов. Пытайся избавляться от них ! Ссылка на комментарий
Fagot. 400 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 выходит, что в конфигах монстра искомого параметра нет?Выходит, да... С.Т.А.Л.К.Е.Р. - Равновесие-2 Проект виртуальной реконструкции г.Припять. Ссылка на комментарий
Struck 61 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 Как определить причину смерти? Дропнуть тип хита в коллбеки повсеместно, я уже писал пару раз, без этого достоверно определить причину (в некоторых случаях) невозможно. Примеров пока нет, а вот как НЕправильно - смотри амк, симбион и иже с ними. Добавлено BFG, 19 Мая 2016 Вечный бан. п.2.0. Ссылка на комментарий
Это популярное сообщение. Zander_driver 10 333 Опубликовано 19 Мая 2016 Это популярное сообщение. Поделиться Опубликовано 19 Мая 2016 Кто знает, как изменить высоту полета полтергейста? От массы неправильных ответов становится нехорошо... неужели у нас народ настолько плохо понимает как вообще устроен сталкер, что в такие дебри ударяются из-за простого и очевидного в целом, вопроса. В начале таки про оффтоп. Если при создании локации в СДК не делалось нечто _очень_ странное, то все lv и gv на ней в любом случае будут на поверхности террейна или что-то около того. Их нету в воздухе на произвольной высоте над землей, так что если (для любых целей) таки требуется проложить путь/снять координаты в воздухе - достаточно снять эти координаты на земле и прибавить желаемую высоту по оси y (это в сталкере вертикаль), оставляя lv и gv неизменными. И кстати по теме полтергейста это таки лютый оффтоп от слова совсем. Теперь про полтергейста. Он с точки зрения игры не летает, а ходит по земле, так же как и все прочие нпс/монстры. А почему же он над землей виден? Причин две. 1) "анимация ходьбы" у него такая. 2) визуал живого полтергейста состоит из партиклов - а у них в свою очередь имеется кость привязки (на модели полтергейста), и координаты возпроизведения относительно этой кости... партиклы вовсе не обязаны показываться строго там же, где и сам объект к которым они привязаны. (В качестве примера, например, аномалии "Корона" из "Судьбы Зоны" - электрические кольца висят в воздухе над землей, но объект аномалии в действительности находится на поверхности земли, под этим кольцом.) В конфиг полтергейста лазить конечно незачем - нет там никакой высоты полета, т.к. и полета как такового на самом деле нет. Действовать можно двумя путями. 1. Если достаточно изменить видимое положение полтергейста - можно изменить свойства его партиклов, поменяв у них высоту воспроизведения относительно "объекта привязки". 2. Если надо в то же время изменить и положение тела полтергейста, в которое могут попадать пули например, то тут уже надо копаться в его визуале, менять его модель и анимацию ходьбы. И то и другое вполне реально при наличии определенных навыков. P.S. Меня в этой истории дико удивляет один факт. Почему я, не моделлер и не специалист по партиклам, это знаю, а вышеотписавшиеся товарищи, пардон, занимались гаданиями на кофейной гуще. P.P.S. BFG - Большое Спасибо. 2 2 3 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Kober(BRUC) 99 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 (изменено) Доброго времени суток. Не знаю в ту тему ли я пишу. Но все же.Есть на локации пару объектов. Например два ящика. Как мне узнать их "игровое" имя?Кто не понял. Например: esc_box_lager_123 Изменено 19 Мая 2016 пользователем BFG Ссылка на комментарий
BFG 7 582 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 (изменено) @Kober(BRUC), Может эти способы и не совсем правильные, но других не знаю. - если ящики сделаны геометрией, то никак, у них просто нет имени. - если ящики сидят в оллспавне, то найти все их в секции локации, поставить ГГ на ящик, глянуть координаты места и найти похожие. Это и будет искомый ящик. - положить в каждый ящик разные итемы, скомпилить оллспавн, начать НИ, пробежаться по ящикам и узнать по предметам, какой тебе нужен. Изменено 19 Мая 2016 пользователем BFG 1 1 1 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
Expropriator 2 118 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 @BFG, @Kober(BRUC), еще вариант с СДК - это наиболее правильный вариант. Конвертором Бардака - по-моему, так называется. 1 Ссылка на комментарий
BFG 7 582 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 @Дизель, Есть такой вариант. Но не стал про него упоминать, ибо это уже сложно. Неизвестно какой мод, неизвестно какие локации, неизвестно сможет ли человек настроить свою папку с конфигами для СДК. А это реально непростой процесс. Например папку с конфигами НС, чтоб её корректно видел СДК я настраивал наверно месяц. И то после того как её уже на половину настроил другой человек, я постоянно задавая нубские вопросы в теме по СДК. Но настроил таки, хотя не уверен что прям на 100%, но локи компилятся и СДК не ругается. Так что этот вариант самый крайний и сложный. 1 2 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 (изменено) Вылетает с таким рестриктором. Спавнить нормально, но стоит из него выйти или рядом походить - вылет. Поршни и функция прописаны, ругань на формат, но я не вижу ошибок... [2971]; cse_abstract propertiessection_name = space_restrictorname = bandit_assault_triggerposition = 50.1554756164551, -0.174215316772461, 140.720397949219direction = -1.90009188827389e-007, -0.0872660875320435, -1.66235665233216e-008id = 65535version = 118script_version = 6spawn_id = 1491; cse_alife_object propertiesgame_vertex_id = 1247level_vertex_id = 23949object_flags = 0xffffff3ecustom_data = <<END[logic]active = sr_idle@check1[sr_idle@check1]on_actor_outside = nil %+pass_false =bandit_sms%END; cse_shape propertiesshapes = 1shape_0:type = sphereshape_0:offset = 0,0,0shape_0:radius = 61.47998046875; cse_alife_space_restrictor propertiesrestrictor_type = 3 Изменено 19 Мая 2016 пользователем CRAZY_STALKER666 Не соответствует правилам. Ссылка на комментарий
Expropriator 2 118 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 @CRAZY_STALKER666, это неполная картина. Тебе ни кто не скажет причину. Надо видеть желательно лог. Какой формат - ругань? Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 @Дизель, [error]Expression : fatal error [error]Function : CScriptEngine::lua_error[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp[error]Line : 73[error]Description : [error]Arguments : LUA error: ....r. - shadow of chernobyl\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value) Вылетает, когда выхожу из рестриктора, т.е срабатывает on_actor_outside и вылетает!?! Не могу понять в чем дело! Не соответствует правилам. Ссылка на комментарий
Expropriator 2 118 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 %+pass_false =bandit_sms% Только это может вести на вылет. Логика прекращается событием. Удали попробуй событие %+pass_false =bandit_sms% либо всё, либо по очереди, и выяснишь и скажешь. Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 19 Мая 2016 Поделиться Опубликовано 19 Мая 2016 @Дизель, есл ставить on_actor_inside это всё работает( поршня и функции прописаны) Сейчас гляну с сторону ведомых НПЦ Проблема была в ведомых НПЦ - всё, заработало) Не соответствует правилам. Ссылка на комментарий
Kober(BRUC) 99 Опубликовано 20 Мая 2016 Поделиться Опубликовано 20 Мая 2016 Здравствуйте. Есть у меня новый предмет(допустим bread_hj). Который находится просто на полу/столе/ и т.п. И нужно что бы при подборе данного предмета вызывалась определенная функция. Проблема в том, что функция должна срабатывать сразу же. А не после определенного действия. Например открытие инвентаря. Ссылка на комментарий
=VENOM= 50 Опубликовано 20 Мая 2016 Поделиться Опубликовано 20 Мая 2016 @Kober(BRUC), ваш вопрос из тех, что всплывают здесь с завидной регулярностью. Решение тоже стандартное: найдите файл bind_stalker.script, откройте его. Найдите в нём функцию, указанную ниже, и вставьте в неё свой обработчик на взятие вашего уникального предмета в инвентарь игрока: function actor_binder:on_item_take (obj) level_tasks.proceed(self.object) --game_stats.update_take_item (obj, self.object) -- НАПРИМЕР, ВОТ СЮДА МОЖНО ВСТАВИТЬ СВОЙ ОБРАБОТЧИК НА ВЗЯТИЕ ПРЕДМЕТА В ИНВЕНТАРЬ АКТЁРА end P.S. Наверное, подобный вопрос лучше было бы задать в теме "скриптование". P.P.S. А если предмет квестовый, то ещё правильнее будет сделать отдельную функцию-обработчик подзадачи квеста на взятие предмета в инвентарь - и не надо будет лезть в биндер актёра. 1 Ссылка на комментарий
Expropriator 2 118 Опубликовано 20 Мая 2016 Поделиться Опубликовано 20 Мая 2016 (изменено) @=VENOM=, а в ТЧ работает логика такая?: [logic]active = sr_idle@start[sr_idle@start]on_info = { =actor_has_item(wpn_pkm) } sr_idle@time %% Изменено 20 Мая 2016 пользователем Дизель Ссылка на комментарий
BFG 7 582 Опубликовано 20 Мая 2016 Поделиться Опубликовано 20 Мая 2016 (изменено) И нужно что бы при подборе данного предмета вызывалась определенная функция. Дополню пост @=VENOM=, ставь в то место например new_hmm.checking_use_item(obj) Затем в new_hmm.script пишешь такую функцию function checking_use_item(obj) local ln = level.name() local actor = db.actor local sec = obj:section() if ln=="имя_локации" and sec=="имя_итема" then actor:give_info_portion("имя_поршня") скрипт.имя_функции() ..... ..... end end Можешь убрать выдачу поршня по взятию итема и оставить только активацию функции. Строк может быть несколько. Пример взят из Народной Солянки 3.09.2010. Если она у тебя есть, открой braad_test.script и посмотри там как сделано отслеживание по взятию предмета или отслеживание по выдаче поршня. Изменено 21 Мая 2016 пользователем BFG 1 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
Kober(BRUC) 99 Опубликовано 20 Мая 2016 Поделиться Опубликовано 20 Мая 2016 (изменено) А если я хочу что бы у меня активировалось две функции, мне надо после "скрипт.имя_функции" написать "and", а потом еще раз "скрипт.имя_функции"? Тоесть: .... скрипт.имя_функции and скрипт.имя_функции .... .... end end Изменено 20 Мая 2016 пользователем BFG Ссылка на комментарий
Expropriator 2 118 Опубликовано 20 Мая 2016 Поделиться Опубликовано 20 Мая 2016 (изменено) @Kober(BRUC), не надо and - перечисление подключения подобных функций без всяких and пишется. Только () не забудь в конце каждого перечисления поставить. Изменено 20 Мая 2016 пользователем Дизель 1 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти