Правила сайта FAQ Мини-чат
Для добавления необходима авторизация!
12.08.2026, Среда, 06:29


Разборочная комната ТЧ
Сообщение #1
Вы задаёте интересующий вас вопрос и тот, кто может вам на него ответить, пишет свой ответ. Правила темы:

1. Прежде чем задать вопрос, желательно прочитать все предыдущие страницы темы. Даже если вы не найдете там нужного ответа - я уверен, вы узнаете много нового. Второй вариант - воспользоваться поиском по ключевому слову.

2. Вы можете задавать вопросы, только непосредственно касающиеся создания модификаций и редактирования файлов игры

3. Личные вопросы не допускаются

4. Отвечать на вопросы желательно достаточно развернуто, задевая все аспекты касающиеся конкретного вопроса

5. Отвечать вы можете только в том случае если уверены в правильности ответа, если не знаете - просто не отвечайте. Авторы неправильных, вводящих в заблуждение ответов будут наказываться.

6.Соблюдайте грамотность и правильность построения вопросов и ответов, во избежание их удаления. "Спасибо / пожалуйста / не знаю" и прочие односложные и
не несущие смысловой нагрузки сообщения, будут удаляться немедленно, а их авторы - наказываться.

Основная цель темы - помочь новичкам-модостроителям, второстепенная - свести на нет тенденцию создания новых тем по каждому интересующему новичков вопросу.

Уважение: 133
Награды: 32
Сообщение #621
Какой ф-цией можно проверить отношение нпс к актору(друг, нейтрал или враг)?

Уважение: 4
Награды: 0
Облучение: 0%
Сообщение #622
Цитата (BlackStalker1991)
в "Шраме" да, а в "G.L.A.D.I.A.T.O.R. II Время Альянса" где, я то как раз их и не нашел ?

BlackStalker1991, извиняюсь, немного ошибся, это же на ЗП мод... Дело в том, что в папке "геймдата" Гладиатора нет ни модели, ни текстур этого оружия. Следовательно они не менялись в моде. Вывод? Нужно искать в "родных" файлах ЗП. Значит надо распаковать архивы ЗП и по пути gamedata\meshes\dynamics\weapons\wpn_desert_eagle найти файл wpn_desert_eagle.ogf. Открываем его блокнотом, и йщем там путь к текстурам. Ну а дальше - дело техники.
ЗЫ... Может быть у кого-то есть распакованные архивы ЗП, то подскажут точный путь.
Веселый Роджер
Уважение: 968
Награды: 114
Сообщение #623
Подскажите пожалуйста системное имя (для вызова) ppe-эффекта потемнения экрана (зрения актёра) на несколько секунд, такой есть эффект вроде, когда появляешься в ТЧ при новой игре.

Уважение: 4
Награды: 0
Облучение: 0%
Сообщение #624
Цитата (Graff46)
Подскажите пожалуйста системное имя (для вызова) ppe-эффекта потемнения экрана

Вот, возьмите для "коллекции", сам тестировал и описывал, как мог, хотя на подобие этого в инете хватает.

Сообщение отредактировал Korpus - Пятница, 28.06.2013, 02:37


Уважение: 169
Награды: 31
Облучение: 0%
Сообщение #625
Цитата (Graff46)
Вот, возьмите для "коллекции", сам тестировал и описывал, как мог,

Спасибо большое!
Вот еще вопрос:
Можно ли в скриптовых функциях (ТЧ) реализовать временную задержку между действиями?
Пример:
Код

function most ()
           level.add_pp_effector("agr_u_fade.ppe", 0, false)<-- сначало это
    -- Тут нужна задержка, а дальше, что ниже
       local a = vector()
       a.x = 52.310333251953
       a.y = -0.6053409576416
       a.z = 121.97222900391
       db.actor:set_actor_position(a)
end
- только не говорите через логику, это крайне не желательно.

Сообщение отредактировал Graff46 - Воскресенье, 30.06.2013, 00:37


Уважение: 4
Награды: 0
Облучение: 0%
Сообщение #626
Graff46, Осваивайте таймеры. Пример:
Код
local time_1000, time_5000

function any_update()
     local time = time_global() --/ текущее время
     if not time_1000 then --/ предустановка таймеров
      time_1000 = time + 1000
      time_5000 = time + 5000 + time_1000/2
     end
     if time_1000 < time then
       time_100 = time + 1000
       --- Действия, которые надо производить с частотой раз в 1 сек
     end
     if time_5000 < time then
       time_5000 = time + 5000
       --- Действия, которые надо производить с частотой раз в 5 сек
     end
end


Вам остается только разделить свою функцию и поставить ее на "отложенный" апдейт.
Время можно изменить как заблагорассудится.

Если вызываете из диалога и т.д то есть загвоздка - ф-ия срабатывает 1 раз всего, ставить туда таймер - бессмысленно, нужен постоянный апдейт. Как решение - проверять в функции и выдавать поршень в таймере, после чего он будеет срабатывать.

Уважение: 670
Награды: 98
Облучение: 0%
Сообщение #627
volazar, volazar, как этот таймер ставить? Его нужно в функцию втулить дополнительно или апдейтить как отдельную. Если второе то где указывать нужное действие?

Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #628
KADAR, Это отдельная ф-ия, any_update() поставить на апдейт в bind_stalker.
В any_update() уже пихать свои ф-ии, которые надо обновлять раз в 1/5 сек (там подписано куда). Пихаешь вызов и все.

Уважение: 670
Награды: 98
Облучение: 0%
Сообщение #629
Хочу при низком уровне здоровья сделать оповещение звуковое "Опасность". Раз в секунду.

function nano_sound()
if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "nano_suit" then
if db.actor.health < 0.15 then
local snd_obj = xr_sound.get_safe_sound_object([[nano_sounds\ЗВУК]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
end
end
end

Добавлено (02.07.2013, 13:19)
---------------------------------------------
local time_1000, time_5000

function any_update()
local time = time_global() --/ текущее время
if not time_1000 then --/ предустановка таймеров
time_1000 = time + 1000
end
if time_1000 < time then
time_100 = time + 1000
function nano_sound()
if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "nano_suit" then
if db.actor.health < 0.15 then
local snd_obj = xr_sound.get_safe_sound_object([[nano_sounds\armor]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
end
end

Так?


Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #630
KADAR, Не совсем так, вложение ф-ии в ф-ию не надо делать. Удобнее, ф-ию в отдельный файл, либо вне этой ф-ии.
И вместо:
Код
--- Действия, которые надо производить с частотой раз в 1 сек

Вызов nano_sound() и все.
Сам таймер лучше не трогать, как я его дал - так и записать.
У тебя я смотрю не хватает кучи end-ов.

Уважение: 670
Награды: 98
Облучение: 0%
Сообщение #631
volazar, все таймер работает...

Все вроде правильно сделал


просто как будто его и нет таймера

Сообщение отредактировал KADAR - Четверг, 04.07.2013, 13:23


Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #632
KADAR, Ну а any_update() поставил на апдейт в actor_binder:update(delta) ?

Уважение: 670
Награды: 98
Облучение: 0%
Сообщение #633
Цитата (volazar)
Ну а any_update() поставил на апдейт в actor_binder:update(delta) ?

само собой

Уважение: 15
Награды: 1
Облучение: 0%
Сообщение #634
Привет всем! Установил нанокостюм в одоптации volazar на ОП,и даже при куче артов на выносливость,спринт очень на маленькие дистанции приводит к потере выносливости,как сделать выносливость как для стального крыса?
Сообщение отредактировал alexabakan0 - Воскресенье, 14.07.2013, 18:57


Уважение: 20
Награды: 2
Облучение: 0%
Сообщение #635
Подскажите пожалуйста расположение функции которая вызывает эффект камеры (облёт), когда в первый раз приходишь на агропром в ТЧ.

Уважение: 4
Награды: 0
Облучение: 0%
Сообщение #636
Graff46, Это не функция, а рестриктор - при попадании в который, начинается облет.
Если пойти не так, как задумано авторами игры - никакого облета не будет (до той поры, пока ты не вляпаешься в этот рестриктор).
Сделай поиск в alife_l03_agroprom.ltx по слову agroprom_demo.anm (это файл самой камеры) и найдешь нужный рестриктор.

Уважение: 670
Награды: 98
Облучение: 0%
Сообщение #637
Цитата (Graff46)
Это не функция, а рестриктор
Спасибо за подсказку, я всё нашёл (оказывается логика рестриктора была в аллСпавне сразу, а не вынесена в "*.ltx-шник" как я думал.) Но я кое чего понаделал на агропроме, а именно поменял всех военных на долговцев, а сталкеров на наёмников (id'ы профилей в чаракдер деск агропром не менял, редактировал поля: коммьюнити, визуал, спавн и сндКонфиг(голос) логику нпсов не трогал вообще). Теперь когда заходишь на агропром (уже рестриктор вызывающий облёт камеры удалён), проходишь до развилки дорог, летят вертолёты и пошёл звук "выстрелы в далеке" на этом вылет без лога, и еще удален таск из инфопоршня который выдавал задание "помоч сталкерам отбиться от военных". Прошу помочь найти причину вылета...

Добавлено (16.07.2013, 23:58)
---------------------------------------------
Вспомнил, что в момент моего вылета, в оригинальной игре актору приходила смска от сталкеров и звук, что то вроде этого: "Нас зажали военные на фабрике, все кто меня слышит, просим о помощи, мы долго не продержимся"

Сообщение отредактировал Graff46 - Среда, 17.07.2013, 00:02


Уважение: 4
Награды: 0
Облучение: 0%
Сообщение #638
Цитата (Graff46)
(оказывается логика рестриктора была в аллСпавне сразу, а не вынесена в "*.ltx-шник" как я думал.

Это "сплошь и рядом" в чистом ТЧ. Там есть чего подсмотреть, чего нет в *.ltx
Цитата (Graff46)
id'ы профилей в чаракдер деск агропром не менял, редактировал поля: коммьюнити, визуал, спавн и сндКонфиг(голос) логику нпсов не трогал вообще)

Вот с этого момента для "гарантии", т.е. отсеивания ошибок, на всякий случай, уменьшите радиус switch_distance в alife.ltx и проследите, хотя бы "зону" с которой начинаются глюки с вылетом - мож, какой "кривой" нпс попался, т.к. все "подмены и замены" достаточно часто сопровождаются ошибками из-за "человеческого фактора" (пальчик не ту кнопку нажал, глазик чё-то недоглядел")
Цитата (Graff46)
проходишь до развилки дорог, летят вертолёты и пошёл звук "выстрелы в далеке" на этом вылет без лога,

Как понятно из текста, по рестриктору включается "поток" функций-поршней с включением сопровождения сценария - по логике рестриктора надо отслеживать. Трудно судить без конкретного "примера исправлений" И настройки чистого _g.script не всегда дают информацию о причине вылета, потому и получаются безлоговые отчёты.

Сообщение отредактировал Korpus - Среда, 17.07.2013, 03:08


Уважение: 169
Награды: 31
Облучение: 0%
Сообщение #639
Цитата (Korpus)
(пальчик не ту кнопку нажал, глазик чё-то недоглядел")
Три раза смотрел ошибок не нашёл

Уважение: 4
Награды: 0
Облучение: 0%
Сообщение #640
Я не великий спец и подсказать точно не могу причину вылета, единственно, что сразу в глаза бросается - иконки будут не совпадать с персами (профиль изменён, а иконки от "прототипов") и в строках
community <бла-бла-бла>...
community не совпадает с указанными в terrain_sect (так по всем профилям).



Такой как есть
Уважение: 621
Награды: 70
Поиск: