Случайная подборка модов
Dead City Mod v. 4.80
3.7
STCoP Weapon Pack 3.3
4.4
Call of Pripyat Complete
3.7
Время Альянса
2.9
Lost Alpha DC
3.9
Секрет Дианы
2.2
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
⚙ Модострой: Вопросница
Российская Федерация  Wolfstalker
Среда, 24.02.2016, 00:25 | Сообщение # 1
Статус:
Легенда:
Сообщений: 2258
Награды: 15
Регистрация: 05.04.2010

В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга


• Не флудить
• Предварительно просматривайте раздел, ведь ответ на ваш вопрос может быть там
• В своем вопросе указывайте платформу моддинга — Тень Чернобыля, Чистое небо или Зов Припяти




F.A.Q

  Злобная реклама
Среда, 24.02.2016, 00:25
Статус:
Сообщений: 666
Регистрация: 05.04.2010
Российская Федерация  denis2000
Среда, 13.09.2017, 19:41 | Сообщение # 8056
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

Цитата Han_Kostenlo ()
остановить ее, допустим, другой функцией?

level.enable_input()
  Злобная реклама
Среда, 13.09.2017, 19:41
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Российская Федерация  Han_Kostenlo
Пятница, 15.09.2017, 17:16 | Сообщение # 8057
Группа Кровавой Дороги
Статус:
Отмычка:
Сообщений: 96
Награды: 0
Регистрация: 31.05.2017

denis2000, О, спасибо. Вот еще такой вопрос, чтобы никого больше не доставать, не знаешь где можно достать большой сборник функций? Ну, и так, чтобы в один пост, мне нужна еще функция удаления НПС в зоне видения ГГ(типо как в фотографе пропадал наблюдатель, или в ЗШ исчезали монолитовцы).
  Злобная реклама
Пятница, 15.09.2017, 17:16
Статус:
Сообщений: 666
Регистрация: 31.05.2017
Украина  exDeMODER
Пятница, 15.09.2017, 21:24 | Сообщение # 8058
SFZ Project
Статус:
Отмычка:
Сообщений: 746
Награды: 11
Регистрация: 05.07.2014

Han_Kostenlo
Цитата Han_Kostenlo ()
функция удаления НПС в зоне видения ГГ

Всегда так делал:
  Злобная реклама
Пятница, 15.09.2017, 21:24
Статус:
Сообщений: 666
Регистрация: 05.07.2014
Российская Федерация  makdm
Пятница, 15.09.2017, 22:51 | Сообщение # 8059
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата XMODER ()
Всегда так делал

Всё можно сделать "красивее" и без тормозов в игре:

В файл _G.script добавить:

stalkers_by_section = {}
function remove_stalker_by_section(section)
alife():release( stalkers_by_section[section], true )
end

В файле se_stalker.script в метод on_register() добавить:
_G.stalkers_by_section[ self:section_name() ] = self
А в метод on_unregister() добавить:
_G.stalkers_by_section[ self:section_name() ] = nil

Теперь чтобы удалить НПС - сталкера по его секции, достаточно в удобное для вас время вызвать функцию remove_stalker_by_section , например:

remove_stalker_by_section("stalker_sakharov")

Удалили Сахарова.
  Злобная реклама
Пятница, 15.09.2017, 22:51
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  Han_Kostenlo
Суббота, 16.09.2017, 06:27 | Сообщение # 8060
Группа Кровавой Дороги
Статус:
Отмычка:
Сообщений: 96
Награды: 0
Регистрация: 31.05.2017

XMODER, makdm, При использовании обеих функций вылетает, с сылкой в логе на "попытку вызвать поле". Похоже, что подобную функцию не привязать к space restrictor`у. Хотя, может я чего не знаю....

Добавлено (16.09.2017, 06:27)
---------------------------------------------

Цитата Han_Kostenlo ()
При использовании обеих функций вылетает, с сылкой в логе на "попытку вызвать поле". Похоже, что подобную функцию не привязать к space restrictor`у.
Попытался переместить функцию из одного скрипта в xr_effects и, хоть и не вылетает, но функцию не читает. НПС просто стоит там, где стоял, и ничего не происходит.
  Злобная реклама
Суббота, 16.09.2017, 06:27
Статус:
Сообщений: 666
Регистрация: 31.05.2017
Российская Федерация  makdm
Суббота, 16.09.2017, 07:44 | Сообщение # 8061
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата Han_Kostenlo ()
Похоже, что подобную функцию не привязать к space restrictor`у

А чего там привязывать?

В файле xr_effects.script пишите:

function remove_stalker_by_sect(actor, obj, p )
if p and p[1] then
remove_stalker_by_section(p[1])
end
end

Из рестриктора вызываете функцию:

on_info = {-info} %+info =remove_stalker_by_sect(srction)%
  Злобная реклама
Суббота, 16.09.2017, 07:44
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  Overfirst
Суббота, 16.09.2017, 07:58 | Сообщение # 8062
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

Цитата Han_Kostenlo ()
Попытался переместить функцию из одного скрипта в xr_effects и, хоть и не вылетает, но функцию не читает.

В функции скрипта xr_effects, как правило, передаются такие аргументы: actor, npc и p. В actor передается наш ГГ, в npc передается непись, из логики которого вызывают функцию или же любой другой объект. Параметр p — параметр, который задаёт пользователь, он и читается из логики:
Цитата makdm ()
on_info = {-info} %+info =remove_stalker_by_sect(section)%

section передаётся в p и дальше юзается в функции.

Цитата makdm ()
function remove_stalker_by_sect(actor, obj, p )
if p and p[1] then
remove_stalker_by_section(p[1])
end
end

Как видишь, обычные функции приходится чуть переделать, чтобы юзать из логики.
  Злобная реклама
Суббота, 16.09.2017, 07:58
Статус:
Сообщений: 666
Регистрация: 11.06.2015
Российская Федерация  Han_Kostenlo
Суббота, 16.09.2017, 14:16 | Сообщение # 8063
Группа Кровавой Дороги
Статус:
Отмычка:
Сообщений: 96
Награды: 0
Регистрация: 31.05.2017

BoBaH_671, makdm, Секунду... А где в функции, собственно, ссылка на НПС? То есть, я не заметил, где вставлять данные НПС.
  Злобная реклама
Суббота, 16.09.2017, 14:16
Статус:
Сообщений: 666
Регистрация: 31.05.2017
Российская Федерация  Overfirst
Суббота, 16.09.2017, 14:25 | Сообщение # 8064
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

Цитата BoBaH_671 ()
on_info = {-info} %+info =remove_stalker_by_sect(section)%

Где section - секция твоего непися.
  Злобная реклама
Суббота, 16.09.2017, 14:25
Статус:
Сообщений: 666
Регистрация: 11.06.2015
Украина  BozKurt
Суббота, 16.09.2017, 15:04 | Сообщение # 8065
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

А можно вопрос к отвечающим? Как ваши функции помогут в
Цитата Han_Kostenlo ()
удаления НПС в зоне видения ГГ
?
  Злобная реклама
Суббота, 16.09.2017, 15:04
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  makdm
Суббота, 16.09.2017, 16:10 | Сообщение # 8066
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата BozKurt ()
А можно вопрос к отвечающим? Как ваши функции помогут в

А что такое "В зоне видения"?
1. ГГ Видит НПС
2. НПС видит ГГ
3. ГГ видит НПС и НПС видит ГГ
4. НПС в зоне а-лайф.

Когда будет разъяснено, тогда и нарисуем код. Причем легко и непринужденно.
  Злобная реклама
Суббота, 16.09.2017, 16:10
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Украина  BozKurt
Суббота, 16.09.2017, 16:13 | Сообщение # 8067
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Если я правильно помню геометрию, то вот такое решение получит всех НПС попавших в угол обзора (по факту FOV игры), но без учёта прямой видимости:
Код
local actorPosition = db.actor:position();
local vectorToActorDirection = device().cam_dir;
for id = 1, 65534 do
    local npc = level.object_by_id(id);
    local npcPosition = npc:position();
    local vectorToNpcPosition = vector():set(npcPosition.X - actorPosition.X, 0, npcPosition.Z - actorPosition.Z);
    local scalar = (vectorToActorDirection.X * vectorToNpcPosition.X + vectorToActorDirection.Z * vectorToNpcPosition.Z)
    local angleCos = scalar / (math.sqrt(vectorToActorDirection.X^2 + vectorToActorDirection.Z^2) * math.sqrt(vectorToNpcPosition.X^2 + vectorToNpcPosition.Z^2));
    if math.ceil(math.acos(angleCos * 180 / math.pi)) <= device().fov then
  --/ npc попал в угол зрения ГГ, но без учёта прямой видимости. Удаляем если не важно видим ли мы его физически.
    end
end

P.S. Угол (FOV) учитывается только в плоскости земли, если мы перед НПС поднимим камеру вверх, то НПС всё равно будет удалён.
Сообщение отредактировал BozKurt - Суббота, 16.09.2017, 16:16
  Злобная реклама
Суббота, 16.09.2017, 16:13
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  Han_Kostenlo
Суббота, 16.09.2017, 16:30 | Сообщение # 8068
Группа Кровавой Дороги
Статус:
Отмычка:
Сообщений: 96
Награды: 0
Регистрация: 31.05.2017

Цитата makdm ()
А что такое "В зоне видения"?
Я имел ввиду, когда ГГ находиться рядом с НПС. То есть, НПС в зоне а-лайф.
BozKurt, Мне, кстати, не совсем обязательно, чтобы ГГ смотрел прям на него. Если он его не заметил, то он все равно должен быть удален. В любом случае, за помощь спасибо.
Сообщение отредактировал Han_Kostenlo - Суббота, 16.09.2017, 16:42
  Злобная реклама
Суббота, 16.09.2017, 16:30
Статус:
Сообщений: 666
Регистрация: 31.05.2017
Беларусь  sektor_aka
Суббота, 16.09.2017, 18:14 | Сообщение # 8069
Статус:
Опытный:
Сообщений: 1343
Награды: 6
Регистрация: 07.03.2016

Цитата Graff46 ()
Пропадает звук шагов

Писал тут Graff46: http://ap-pro.ru/forum/21-11239-1078433-16-1503835781

Скорее всего дело было в этом: https://www.gameru.net/forum....1623033
Цитата macron ()
связь то ли материала костей, то ли материала в конфиге. В итоге эффекты (звуки/пыль из-под копыт) тоже берутся из gamemtl.xr, но потом дополнительно в конфиге обрабатывается секцией step_params с учетом конкретных анимаций/временнЫх интервалов и вручную прописываемой силы эффекта. Для НПСей, кстати, такая же лабуда. Только недавно заметил, что в нпси OLR бегают бесшумно, пришлось дорабатывать таблицы в [stalker_step_manager].
Сообщение отредактировал sektor_aka - Суббота, 16.09.2017, 18:14
  Злобная реклама
Суббота, 16.09.2017, 18:14
Статус:
Сообщений: 666
Регистрация: 07.03.2016
Российская Федерация  sinaps
Суббота, 16.09.2017, 18:15 | Сообщение # 8070
Статус:
Ветеран:
Сообщений: 4757
Награды: 4
Регистрация: 02.04.2016

Почему 3Ds Max не отображает текстуры и пишет что они missing?

Где он добавляет это второе расширение .dds.dds?
Скрипты эти.
Сообщение отредактировал sinaps - Суббота, 16.09.2017, 19:19
  Злобная реклама
Суббота, 16.09.2017, 18:15
Статус:
Сообщений: 666
Регистрация: 02.04.2016
Поиск: