Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Это популярное сообщение. BFG 7 582 Опубликовано 24 Ноября 2017 Это популярное сообщение. Поделиться Опубликовано 24 Ноября 2017 @S.T.W.A.L.K.E.R. Любой xml- файл легко проверяется в браузере Хром если мышой перетащить его в новую вкладку. Не нужны никакие сторонние программы. Вот твой файл Строка с ошибкой указана. 2 5 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
BFG 7 582 Опубликовано 24 Ноября 2017 Поделиться Опубликовано 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) Может быть есть иные функции с прямыми параметрами, чтобы разрушить итем с СИДом ? Или чего-то не хватает в стандартной функции ? Спасибо. "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
naxac 2 441 Опубликовано 24 Ноября 2017 Поделиться Опубликовано 24 Ноября 2017 @BFG , npc в этой строчке - это объект, из логики которого вызывается функция - его позиция используется для задания направления хита. Еще в функции для этого может быть использован любой другой объект со story_id, либо путь - параметр p[5]. Если направление не важно, то тут можно поставить пустой вектор. function hit_mon() local h = hit() local obj = level_object_by_sid(14200) if not obj then return end h:bone("link") h.power = 1 h.impulse = 1500 h.direction = vector():set(0,0,0) h.draftsman = obj -- тут объект, от которого прилетело, можно поставить актера или, лучше, самого себя, если не имеет значения h.type = hit.wound obj:hit(h) end 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
BFG 7 582 Опубликовано 24 Ноября 2017 Поделиться Опубликовано 24 Ноября 2017 @naxac Попробовал. Вроде и сработала функция, но итем не разрушился. Возможно маловаты значения мощности и импульса, тогда какие цифры ставить. Хочу разрушить стандартный монолитовский генератор, в которые мы стреляем в бункере где О-Сознанец. Такие цилиндры с синими партиклами. У него в модели путь к разрушению config\models\objects\monolith_generator.ltx Там прописано fire_wound_immunity = 0.15 Может у меня цифирьки маловаты выставлены для такой пулестойкости ? Не взрывается он...собака такая.. "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
naxac 2 441 Опубликовано 24 Ноября 2017 Поделиться Опубликовано 24 Ноября 2017 (изменено) @BFG , надо силу хита увеличить, единицы, видимо, мало. Изменено 24 Ноября 2017 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
BFG 7 582 Опубликовано 24 Ноября 2017 Поделиться Опубликовано 24 Ноября 2017 @naxac Нет, увы не разрушается зараза. Поставил уже h.power = 10000 и ничего не происходит. А 4 пульки из ПКМа спокойно грохают его. Может что не так с функцией ? "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
abramcumner 1 141 Опубликовано 24 Ноября 2017 Поделиться Опубликовано 24 Ноября 2017 (изменено) 2 часа назад, naxac сказал: h.type = hit.wound Может тип хита поменять на: h.type = hit.fire_wound ? Изменено 24 Ноября 2017 пользователем abramcumner 1 3 Ссылка на комментарий
BFG 7 582 Опубликовано 24 Ноября 2017 Поделиться Опубликовано 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 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
DJ.Orb.Warpal 40 Опубликовано 25 Ноября 2017 Поделиться Опубликовано 25 Ноября 2017 Всем привет. Очень нужна ваша помощь. Подскажите пожалуйста, как прописать звуки дыхания в одетых противогазах(мод Dynamic Hud для ТЧ)? Буду признателен если поможете. Спасибо. Ссылка на комментарий
Marafon6540 757 Опубликовано 25 Ноября 2017 Поделиться Опубликовано 25 Ноября 2017 @DJ.Orb.Warpal у меня так сделано: Скрытый текст local suitfirstrun = "yes" local breathing_sound function set_my_suit_hud(hudtype) if hudtype == nil then local wchud = get_hud():GetCustomStatic(mycurrent_suithud) if wchud ~= nil then get_hud():RemoveCustomStatic(mycurrent_suithud) end --================= звук дыхания ==================== if breathing_sound and breathing_sound:playing() then breathing_sound:stop() breathing_sound = nil end --================= звук дыхания ==================== mycurrent_suithud = nil suitfirstrun = "yes" return end if hudtype ~= mycurrent_suithud then if mycurrent_suithud then get_hud():RemoveCustomStatic(mycurrent_suithud) end if hudtype then get_hud():AddCustomStatic(hudtype) my.hidden_static() --================= звук дыхания ==================== if db.actor.power > 0.18 then if not (breathing_sound and breathing_sound:playing()) then breathing_sound = xr_sound.get_safe_sound_object([[actor\gasmask_idle_]]..math.random(2)) breathing_sound:play_at_pos(db.actor, vector(), 0, sound_object.s2d + sound_object.looped) end end --================= звук дыхания ==================== if string.find(hudtype, wotsuittype) then if suitfirstrun == "no" and suit_condition ~= "green" and suit_condition ~= "blue" then local snd_obj = sound_object("actor\\gasmask_on_fast") if snd_obj then snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 9.0) end end if suitfirstrun == "yes" then suitfirstrun = "no" end end end end mycurrent_suithud = hudtype end Трилогия Апокалипсис. Упавшая звезда. Честь наемника. v. 1.2 УЗЧН v.1.3 + ОГСРх64 Последний сталкер v. 1.2 ПС v. 1.3 + ОГСРх64 Ссылка на комментарий
DJ.Orb.Warpal 40 Опубликовано 25 Ноября 2017 Поделиться Опубликовано 25 Ноября 2017 А куда прописывать? Ссылка на комментарий
Купер 2 803 Опубликовано 25 Ноября 2017 Поделиться Опубликовано 25 Ноября 2017 Подскажите неофиту, кому не лень, или носом ткните, на ходу без НИ можно менять _way, _look в all.spawn? Ссылка на комментарий
AndrewMor 527 Опубликовано 25 Ноября 2017 Поделиться Опубликовано 25 Ноября 2017 22 минуты назад, Купер сказал: Подскажите неофиту, кому не лень, или носом ткните, на ходу без НИ можно менять _way, _look в all.spawn? Можно. Пути читаются при загрузке игры. НИ не нужна. 1 1 Сталкер - наше всё! Ссылка на комментарий
AndrewMor 527 Опубликовано 26 Ноября 2017 Поделиться Опубликовано 26 Ноября 2017 (изменено) Други, напомните. вроде как-то обсуждали, почему например, бандит в куртке держит очередь из АК в живот и не умирает, а солдатик в комбезе с одной пули труп. В каком направлении копать? И если в damages.ltx, то за что отвечают эти коэффициенты: [body_kurtka_damage] bip01_pelvis = 1.0, 0.15 bip01_spine = 1.0, 0.15 bip01_spine1 = 1.0, 0.15 bip01_spine2 = 1.0, 0.15 Еще бы неплохо знать, какая косточка как называется. Может, есть где такая инфа? upd: названия косточек нашел. И вроде чем выше второй коэффициент, тем сложнее убить НПС. Так ли это и каково его максимальное значение? Единица? Изменено 26 Ноября 2017 пользователем AndrewMor Сталкер - наше всё! Ссылка на комментарий
dsh 3 824 Опубликовано 26 Ноября 2017 Поделиться Опубликовано 26 Ноября 2017 @AndrewMor я все время забываю подробности, но попробую вспомнить. Второй параметр - это не коэффициент. Это величина хита, от которого защищена эта кость. Моб получит наибольший хит из следующих вариантов: hit_fraction * хит или хит минус эта величина. Что окажется больше. И не нужно забывать о иммунитетах в секции моба. Как иммунитетах по костям, так и по типу хита. А ещё health_ hit_part или как там его. А ещё скорость восстановления здоровья. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
AndrewMor 527 Опубликовано 26 Ноября 2017 Поделиться Опубликовано 26 Ноября 2017 (изменено) 2 часа назад, dsh сказал: Второй параметр - это не коэффициент. Но в общем и целом увеличение второго параметра делает конкретную кость менее чувствительнее к хиту, так? И еще вопрос к знающим. Как могло на конкретной локации получиться два солнца? Понимаю, что в секции погоды нужно копать, а все-таки? Или еще какие конфиги задействованы? Параметр sun_dir в погодном конфиге такой, как и у дефолтной. Но в дефолтной погоде второго солнца не наблюдается. Изменено 26 Ноября 2017 пользователем AndrewMor Сталкер - наше всё! Ссылка на комментарий
dsh 3 824 Опубликовано 26 Ноября 2017 Поделиться Опубликовано 26 Ноября 2017 2 hours ago, AndrewMor said: увеличение второго параметра делает конкретную кость менее чувствительнее к хиту, так? Да, увеличение этого параметра увеличивает защиту этой кости. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
_Sk8_AsTeR_ 117 Опубликовано 28 Ноября 2017 Поделиться Опубликовано 28 Ноября 2017 Господа, ковырялся я тут в файлах звуковых Очень много интересных вещей. Есть много звуков, которые в игре не используется. Например, в soc я заставил НПС здороваться со мной при встрече. Но так и не смог заставить их как в ЧН произносить фразы типа "язык проглотил, че молчишь" и тд, когда с нами поздоровались, а мы бездействуем. Так же есть звуки прощания НПС с нами и тд. Никто подобным не занимался? Не пробовали вырезанную озвучку подключать? Ссылка на комментарий
_Val_ 2 225 Опубликовано 28 Ноября 2017 Поделиться Опубликовано 28 Ноября 2017 Если есть звуки, то чего бы их и не подключить..Ну если надо конечно))) Ссылка на комментарий
_Sk8_AsTeR_ 117 Опубликовано 28 Ноября 2017 Поделиться Опубликовано 28 Ноября 2017 2 минуты назад, _Val_ сказал: Если есть звуки, то чего бы их и не подключить..Ну если надо конечно))) никак не пойму как это сделать. Они вроде и включены, и пути верно прописаны до звуковых файлов. А не проигрываются Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти