ХОВАН 3 Опубликовано 6 Марта 2012 Поделиться Опубликовано 6 Марта 2012 Но теперь при переходе во время выброса в warlab актор тут-же гибнет. Могу посоветовать попробовать поставить в варлаб, в место level_changer-а, поставить укрытие от выброса. Ибо, как ты уже заметил, в surge_manager.script идет две проверки на левел: В первом месте проверяется уровень, и если он совпадает, то он мгновенно завершает выброс (end_surge) и убивает всех неспрятавшихся (kill_all_unhided, это из end_surge), в том числе, и ГГ. Это нужно, чтобы завершить выброс начавшийся во время перехода А вторая проверка, пропускает выброс на локации (skip_surge). Это, чтобы не запускался выброс Смущает меня только один факт: укрытия в подземке и лаборатории в surge_manager.ltx не были зарегистрированы, ну или были, но под другими именами... Если поможет, отпишись в ЛС, самому интересно, да тестить некогда... Ссылка на комментарий
Clayman 104 Опубликовано 6 Марта 2012 Поделиться Опубликовано 6 Марта 2012 ХОВАН, в том-то и дело, что оригинальные подземки ЗП не зарегены в surge_manager.ltx и укрытий на них никаких нету (смотрел уровни в СДК). А проверить этот механизм в игре в оригинале пока нету возможности, поэтому вопрос остается открытым... Akella-96 aka SvD, с опозданием, но выкладываю - Сидр от камрада nuklia - http://narod.ru/disk/42958465001.1435e5896...(sidr).rar.html Ссылка на комментарий
tankist 4 Опубликовано 7 Марта 2012 Поделиться Опубликовано 7 Марта 2012 Извиняюсь если вопрос уже задавали, но не нашёл. Нужно убрать НПС(не убит чтоб он валялся мешком, а именно исчезнуть) Как это сделать? какой функцией? И ещё мне нужно знать как перевести время т.е в середине игры нужно изменить start_date на другое. Сюжетное продолжение чистого небаЗона обр.2010г.S.T.A.L.K.E.R.-Расширение территорий Ссылка на комментарий
malish 0 Опубликовано 7 Марта 2012 Поделиться Опубликовано 7 Марта 2012 Как запаковать gamedata обратно - дело в том, что распаковать смог все запакованные, а запаковать обратно все, кроме нужной мне( с файлом se_respawn.script) - для упаковки использовал dbpacker, file_pack, которые в конце работы выдают ошибку (хотя при распаковке нет ошибок). И это даже ничего не меняя в файлах и папках. Может кто нибудь сталкивался с чем-то подобным? Ссылка на комментарий
Lagos 688 Опубликовано 7 Марта 2012 Поделиться Опубликовано 7 Марта 2012 (изменено) Добрый вечер. Наверняка, всем известно, что есть в ТЧ и ЧН схема sr_silence(укрытие амбиент-звуков и фоновой музыки). Есть эта схема и в ЗП. Но не работает почему-то...Подскаэите пожалуйста, есть ли альтернатива этой схме, или может можно её как-нибудь "оживить"? Заранее спасибо за ответ. Изменено 7 Марта 2012 пользователем ColR_iT Перенёс. Официальный сайт . Ссылка на комментарий
malish 0 Опубликовано 7 Марта 2012 Поделиться Опубликовано 7 Марта 2012 (изменено) у меня были вылеты после смс с молнией( взятие оружия , после разговора с черномором) - вылеты-зависания. у кого такое же - рекрмендую сделать примерно так: распаковать gamedata.dbf(это было в моём слдучае),добавить сточку:get_console():execute("load ~ Spawn now ["..tostring(self:name()).."] -> ["..obj:name().."]") перед amk.on_REspawn(obj,self) - это надо сделать в файле : se_respawn в gamedata.dbf многое об этом говорилось - но ни где ни слова,о том, что этих файлов se_respawn.script будет несколько - а тот нужный файл надо взять, исправить, и закинуть в scripts ( в gamedata),потому-что обратно эта gamedata.dbf не упаковывается. Пиши грамотно, с использованием заглавных букв. Соблюдение правил форму о грамотном написании вопросов/ответов - касается всех! И, довольно глупо писать в топике, ориентированном на чистую игру (CoP)? о своих мытарствах с неким модом и некими "своими" *.dbf ... --/Artos Изменено 7 Марта 2012 пользователем Artos Ссылка на комментарий
Artos 99 Опубликовано 7 Марта 2012 Поделиться Опубликовано 7 Марта 2012 (изменено) tankist, malish, если файлы конфигов/скриптов НЕ имеют ошибок (с точки зрения файловой системы) и не заняты другими программами (не открыты на запись) - упаковка в *db* не представляет ни какого труда и/или затруднений. Имеете затруднения - учимся элементарным правилам работы на компьютере. zoidberg123456789, во-первых, в ТЧ этой схемы нет. Во-вторых, это собственно и не схема и не имеет отношение к амбиент-звукам иль фоновым. Это (sr_silence) всего лишь по сути, простенький вариант занесения в некую табличку (silence_zone_table) помеченных в логике рестрикторов, в которых не должна отыгрываться динамическая озвучка боевок (см. xrs_dyn_music.script). Работает ли эта "схема" в ЗП, а точнее обрабатывает ли табличку xrs_dyn_music.script? Не уверен, но все условия для этого имеются, хотя в xrs_dyn_music.script есть отличия по сравнению с ЧН. То, что у тебя не работает - возможно ты как раз и не задал нужным тебе рестрикторам в логике эту "схему". В оригинальной ЗП помечен только один рестриктор. (в дальнейшем задавай подобный вопрос в топике именно той версии игры, которая имеет отношение к вопросу) P.S. На последующее: zoidberg123456789: Мне нужно как-то зону без фоновой музыки и внешнего амбиента создать... Возможно ли это как-то сделать? Амбиент и фоновые звуки НЕ управляются "штатными" скриптами. Установки и пр. делаются в SDK. В скриптах можно только через консольные команды управлять громкостью ... но готовых скриптов "на все случаи жизни" конечно же нет. В _g.script имеются глобальные переменные amb_vol, управляя ими типа (см. ui_sleep_dialog.script): _G.mus_vol = get_console():get_float("snd_volume_music") --/ запомнили текущую громкость музыки _G.amb_vol = get_console():get_float("snd_volume_eff") --/ запомнили текущую громкость амбиента get_console():execute("snd_volume_music 0") --/ выключили громкость музыки get_console():execute("snd_volume_eff 0") --/ выключили громкость амбиента - ты можешь отключать или включать/изменять громкость ... Для восстановление громкости можно воспользоваться запмненными значениями. Изменено 7 Марта 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Sery 13 Опубликовано 8 Марта 2012 Поделиться Опубликовано 8 Марта 2012 Здраствуйте. Возможно ли как то включить размытие заднего фона при перезарядке оружия, как в ЧН. Если возможно, подскажите как... Поиск Ссылка на комментарий
strelok200 0 Опубликовано 8 Марта 2012 Поделиться Опубликовано 8 Марта 2012 (изменено) Такой вопрос: почему НПС не смотрят куда надо изменил правильно direction и look point, а они все равно смотрят на стену? Значит изменил НЕ правильно. Ну а что неправильно - гадай по своим кодам сам, местные кашпировские в отгуле ... Изменено 8 Марта 2012 пользователем ColR_iT Переместил. Создаю глобальный мод с новыми локациямЭ Ссылка на комментарий
break 40 Опубликовано 8 Марта 2012 Поделиться Опубликовано 8 Марта 2012 Нельзя, необходимые функции исключили из движка. Ссылка на комментарий
Clayman 104 Опубликовано 8 Марта 2012 Поделиться Опубликовано 8 Марта 2012 Artos, спасибо за подсказку с эмбиентом! Т.е. такая схема будет работать?: [logic] active = sr_idle@wait [sr_idle@wait] on_actor_inside = sr_idle@off %=amb_stop% [sr_idle@off] on_actor_outside = sr_idle@wait %=amb_start% И функции в xr_effects.script: function amb_start() _G.mus_vol = get_console():get_float("snd_volume_music") _G.amb_vol = get_console():get_float("snd_volume_eff") get_console():execute("snd_volume_music 0") get_console():execute("snd_volume_eff 0") end function amb_stop() get_console():execute("snd_volume_music "..tostring(_G.mus_vol)) get_console():execute("snd_volume_eff "..tostring(_G.amb_vol)) _G.amb_vol = 0 _G.mus_vol = 0 end У меня просто сейчас нету возможности потестить, лока компилируется. Ссылка на комментарий
Artos 99 Опубликовано 8 Марта 2012 Поделиться Опубликовано 8 Марта 2012 (изменено) Clayman, ты куда-то спешишь? Докомпилируешь и проверишь ... :-) "Пара" замечаний; 1. Т.к. логика рестрикторов может проверяться до активизации алайфа, то консоль может быть еще недоступной. Можно заметить, что разработчики игры нередко используют предварительную проверку на получение доступа к консоли: local console = get_console() if console then ... Так что далеко не лишним будет и в xr_effects.script. Для сна ГГ это не обязательно, т.к. без ГГ нет и сна. 2. И зачем называть маловнятными/двусмысленными названиями wait/start/stop? Ждем входа/выхода? Старт проигрыша иль выключения? Если уж о звуке - то и использовать однозначное: on|off, как это сделал для [sr_idle@off]. 3. Учитывая, что включение/отключение у тебя уже производится не только в одном месте, а из двух, и никак не связанных между собою - стОит озаботиться какой-то доп.проверкой, дабы отключив звук в одном месте кодов и запомнив значения для обратного включения, не оказалось бы при повторном (например, заснул твой ГГ в твоем безмолвном рестрикторе) отключении - затирались бы значения для восстановления звука ... или хотя бы восстанавливались некие дефолтные ... Изменено 8 Марта 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Lagos 688 Опубликовано 8 Марта 2012 Поделиться Опубликовано 8 Марта 2012 (изменено) Artos, я попробовал сделать как Вы сказали. Ну результат немного плачевный В игре остались только два звука в рабочем состоянии(т.е. громкость у них не убрана). Глав.меню и фоновая музыка. Остальные звуки не звучат. Никакие(не встрелы, ни амбиент, ни вступительный ролик, ничего...)... При входе в зону "беззучия" фоновая музыка затухает. При выходе не начинает играть вновь. Только при выходе в глав.меню. и обратно в игру музыка начинает играть вновь. Может я чего-то не так сделал, может игре что-то не нравиться, но описал я всё в точности. Изменено 8 Марта 2012 пользователем zoidberg123456789 Официальный сайт . Ссылка на комментарий
Clayman 104 Опубликовано 8 Марта 2012 Поделиться Опубликовано 8 Марта 2012 Artos, я никуда не спешу Просто zoidberg123456789, задал интересную тему, вот и спросил. 2. И зачем называть маловнятными/двусмысленными названиями wait/start/stop? Ждем входа/выхода? Старт проигрыша иль выключения? Всегда делаю по аналогии с оригинальными логическими конструкциями ЗП, не люблю изобретать велосипед. Да и вообще... Если есть готовое решение, напиши плз, с нас подарок Ссылка на комментарий
Artos 99 Опубликовано 8 Марта 2012 Поделиться Опубликовано 8 Марта 2012 (изменено) zoidberg123456789, удивляют фразы: "Может я чего-то не так сделал, может игре что-то не нравиться, но описал я всё в точности." Ты нам предоставляешь гадать на кофейной гуще чего ты там может быть где-то ка-то недоделал иль игра не той может быть версии? ;-) Во-первых, не нужно воспринимать мною сказанное за "как нужно сделать". Мною всего лишь дан совет/способ как из скриптов управлять громкостю фоновой музыки и амбиента. Подходит ли это тебе иль чего-то не хватает - исходных данных в твоем вопросе, как говорится: "кот наплакал". При чем тут музыка главного меню? Это никак к собственно игре не относится. Как тобою восстанавливаются отключенные громкости - ты не показываешь. Управление громкостью фоновой музыки сделано аналогично указанному мною способом во всех трех играх и работает как и задумано разработчиками (в ТЧ это динамич.музыка by xStream). Во-вторых, хотя компьютер и "вумная машина", но он все же "дурак" и не делает того, что ему не указали. Выход в главное меню - по сути прерывание/приостанов игры и, если реакция должна быть иная, то и описать в скриптах/алгоритме это нужно. Если нужно, то при выходе в главное меню восстанавлявать звук, а по возвращению - вновь включать иль отключать его. Ну раз уверен что правильно сделал управление из консоли и результат не тот, который ожидаешь - ну значит не судьба воспользоваться данным способом ... Возвращайся к исходной формулировке своего вопроса: "нужно как-то зону без фоновой музыки и внешнего амбиента создать..." - вот и создавай ее в SDK без ненужных озвучек. Добавлено через 8 мин.: Clayman, использовать стандарты - дело хорошее, но ... использовать все же нужно и по смыслу. Семантика в названиях позволяет самому не запутаться в своих "обзывалках". Если уж отключаешь звук, то чем vol_start не велосипедестее чем vol_off? :-) 1. Готовое решение возможно только тогда, когда описаны цели/задачи и исходные условия, а не просто обобщенные похачушки. Тот же ui_sleep_dialog.script иль xrs_dyn_music.script - чем тебе не готовые решения? Остается их использовать в твоих конкретных целях и условиях. 2. Если бы имел доступ к движку форума - выкинул бы все "подарки" ... Не мальчик уже ... и не дама, подаркам радоваться ... Изменено 8 Марта 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Lagos 688 Опубликовано 8 Марта 2012 Поделиться Опубликовано 8 Марта 2012 Artos, вот Вы говорите, что я не показываю, какие я манипуляции делал, чтобы в определённый момент и в определённом месте убрать фоновую музыку и амбиент, затем вернуть. Пожалуйста: Сделал, как предположил товарищ Clayman: "Логика рестриктора" [logic] active = sr_idle@off [sr_idle@off] on_actor_inside = sr_idle@on %=amb_stop% [sr_idle@on] on_actor_outside = sr_idle@off %=amb_start% И функции в xr_effects.script: "По аналогии с ui_sleep_dialog.script" function amb_start() _G.mus_vol = get_console():get_float("snd_volume_music") _G.amb_vol = get_console():get_float("snd_volume_eff") get_console():execute("snd_volume_music 0") get_console():execute("snd_volume_eff 0") end function amb_stop() get_console():execute("snd_volume_music "..tostring(_G.mus_vol)) get_console():execute("snd_volume_eff "..tostring(_G.amb_vol)) _G.amb_vol = 0 _G.mus_vol = 0 end Вроде ничего не упустил. То, что получилось в игре, я уже описывал выше. P.S.: CoP, 1.6.02. Если что-то забыл написать поправьте пожалуйста. P.S.S.: Совет я Ваш принял, и попытался использовать в правильном напрвлении. Получилось, но не совсем так, как хотелось бы. Используй тег код, а не цитату. И спойлер. Cyclone Официальный сайт . Ссылка на комментарий
Artos 99 Опубликовано 9 Марта 2012 Поделиться Опубликовано 9 Марта 2012 (изменено) zoidberg123456789, скорее всего моя ремарка о том, что нужно бы давать имена понятные для использования - как раз и причина твоих заморочек. Решил портратить чуток времени и перепроверить теорию на практике. Единственное сделал это на кодах SHoC, но для данного вопроса это абсолютно не важно (кто против - пусть бросит камень): 1. Пишем логику рестриктора: [logic] active = sr_idle@inside [sr_idle@inside];--/ ждем входа актора в зону on_actor_inside = sr_idle@outside %=snd_vol_off%;--/ при входе -> откл.звук [sr_idle@outside];--/ ждем выхода актора из зоны on_actor_outside = sr_idle@inside %=snd_vol_on%;--/ при выходе -> вкл.звук 2. Пишем обработчики логики, управляющие громкостью озвучки: function snd_vol_on(actor, obj) --/ включаем громкость local console = get_console() if console and (_G.amb_vol ~= 0 or _G.mus_vol ~= 0) then --/ подстраховка --log("%s:snd_vol_on:mus/amb_vol=[%s/%s]:[%s]", sModule, _G.mus_vol, _G.amb_vol, "i") --/#~# console:execute("snd_volume_music "..tostring(_G.mus_vol)) --/ каманда: восстановить громкость console:execute("snd_volume_eff "..tostring(_G.amb_vol)) _G.amb_vol = 0 --/ сброс запомненной громкости _G.mus_vol = 0 end end function snd_vol_off(actor, obj) --/ отключаем громкость local console = get_console() if console then --/ подстраховка _G.mus_vol = console:get_float("snd_volume_music") --/ запоминаем текущую громкость _G.amb_vol = console:get_float("snd_volume_eff") console:execute("snd_volume_music 0") --/ каманда: выключить громкость console:execute("snd_volume_eff 0") --log("%s:snd_vol_off:mus/amb_vol=[%s/%s]:[%s]", sModule, _G.mus_vol, _G.amb_vol, "i") --/#~# end end 3. Спавним на Кордоне в деревеньке на дороге (у костра, где как раз распевают песни и травят анекдоты) рестриктор: local pos, lvid, gvid = vector():set(-205.0,-20.3,-147.2), 1, 0 --/ задаем координаты спавна local soObj = alife():create("space_restrictor", pos, lvid, gvid) --/ спавн спейс-рестриктора local pk = get_netpk(soObj,1) --/ запрос нет-пакета (only 'state') if pk:isOk() then local data = pk:get() --/ запрос данных из нет-пакета заспавненного рестриктора data.custom_data:setString("[logic]\ncfg = scripts\\snd_restrictor.ltx") --/ задаем путь к файлу с логикой data.shapes:addSphere(3) --/ задаем сферический тип с радиусом 3м data.restrictor_type = 3 --/< задаем тип: RestrictorTypeNone pk:set(data) --/< запись в нет-пакет end Заходим в игру и идем к костру. При входе в рестриктор все звуки (шум ветра/дождя/...) и музыка/анекдоты/... замолкают. Выходим - звуки восстанавливаются. Смотрим лог (соотв. строки были раскомментированы): * Info: xr_effects:snd_vol_off:mus/amb_vol=[0.10000000149012/0.20000000298023]:[i] * Info: xr_effects:snd_vol_on:mus/amb_vol=[0.10000000149012/0.20000000298023]:[i] * Info: xr_effects:snd_vol_off:mus/amb_vol=[0.10000000149012/0.20000000298023]:[i] * Info: xr_effects:snd_vol_on:mus/amb_vol=[0.10000000149012/0.20000000298023]:[i] * Info: xr_effects:snd_vol_off:mus/amb_vol=[0.10000000149012/0.20000000298023]:[i] * Info: xr_effects:snd_vol_on:mus/amb_vol=[0.10000000149012/0.20000000298023]:[i] Все как и должно быть, что запоминали - то и восстанавливалось. Перед 3-им заходом и внутри рестриктора на 3-ем заходе открывал главное меню - звук меню проигрывал всегда, по выходу из рестриктора - восстановился. Ну что еще нужно для доказательств того, что способ полностью работоспособен и не вызывает затруднений? В варианте Clayman'а по сути тоже самое, кроме указаний что же за рестриктор был использован, хотя и это практически не важно (если есть радиус/объем). А вот логика, которая на входе вызывает amb_stop и функция которой как раз командует в консоль "восстановить" громкости (а начальные то 0!) - похоже и портит вам картину. Аналогично и на выходе, вызывается amb_start, которая запоминает громкости и задает выключенную громкость. В общем, либо вы фазы перепутали, либо не разобрались что же и когда в консольной команде писать, либо ... ищите именно в ваших кодах свои заморочки. Изменено 9 Марта 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Lagos 688 Опубликовано 9 Марта 2012 Поделиться Опубликовано 9 Марта 2012 (изменено) Artos, большое спасибо за объяснени и потраченное на нас время:-). Но мы оказывается не допоняли друг друга. Рестриктор глушит все(!!!) звуки, а надо только фоновую музыку и амбиент!:-). Вот в чём наша проблема. Это возможно? Artos, вот Вы мне объяснили всё, и я сразу всё понял. Сделал так: при входе в рестриктор затухает фоновая музыка(snd_volume_music) А snd_volume_eff как я понял это все остальные звуки. Возможно ли как-то вынести внешний амбиент на отдельную переменную(допустим snd_volume_amb)? Или это только движок редактировать? Или новый скрипт писать? Или уже есть какой-то другой способ, чтобы убрать только(!) внешний амбмент, а все остальные звуки оставить? Изменено 11 Марта 2012 пользователем ColR_iT Официальный сайт . Ссылка на комментарий
Artos 99 Опубликовано 9 Марта 2012 Поделиться Опубликовано 9 Марта 2012 (изменено) zoidberg123456789, пока ты будешь изъясняться на своем жаргоне и говорить о неких тобою понимаемых частностях, а не о общепонятных понятиях/цели - взаимопонимание вряд ли получится. Ну что такое "внешний амбиент"? Э́мбиент (англ. ambient — окружающий) - т.е. в игре это относится ко всем окружающим игрока звукам: шум ветра, дождя, шаги, удары, лай, реплики, ... О каком тут НЕ внешнем можно толковать? Или ты "звон в ушах" под внутренним понимаешь? Зайди в главном меню в опции извка - там есть 2 (два!) ползунка - это и есть snd_volume_eff и snd_volume_music, т.е. то, что в игре принято за окружиющие звуки и музыкальное сопровождение. Названия переменным даны разработчиками и именно по ним ты из командной строки иль из интерфейса меню можешь управлять их значениями. Если тебе как то хочется по иному обозвать и свои имена использовать - ну так и обзывай ... Собственно те же _G.amb_vol и _G.mus_vol - и есть иные названия для сохраняемых значений этих параметров. Но конечно же только 'твои' скрипты их и понимать будут. А вот если тебе хочется разделить окружающие звуки на различные части (типа: природные, звуки монстров, голоса людей, ...) и управлять их громкостями по-отдельности - то это уже совершенно иное и из скриптов невозможно. Так что, или я опять не понял твою похотелку или сие невозможно на уровне скриптов. Изменено 10 Марта 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Vano_Santuri 33 Опубликовано 10 Марта 2012 Поделиться Опубликовано 10 Марта 2012 (изменено) Ребят помогите. На руках имеет obj - убийцы и убитого, нет клбэка на хит, имеем obj оружия . Нужно определить, что убийство было совершено из подствольника. Определить что подствол одет - уменя получилось oWeapon:weapon_is_grenadelauncher() -- идет проверка на установленность дивайса, но не на его активность. есть ли метод , который определяет, что подствольник активирован или же как ожно определить, что мерть произошла из подствольника не имея колбека на хит. Заранее всем спасибо. Artos, Ясно, значит уберем это. А для чего - честно не знаю. Просто когда писал код, мысль пошла, я и давай развивать. Изменено 10 Марта 2012 пользователем Vano_Santuri Что-то кончается, что-то начинается... Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти