Перейти к содержанию

Рекомендуемые сообщения

 
 
9 часов назад, Pastalker56 сказал:

ui_mm_opt

ui_mm_opt_16.xml должен читать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

StrawFlux Эта функция выдаёт отношения между группировками.

Плюс можно получить отношение самой группировки конкретно к игроку:

local goodwill = relation_registry.community_goodwill ("dolg", db.actor:id ())

Но это только два слагаемых, из которых складывается отношение конкретного нпс к актеру. Получить же полное значение (как было в случае с клиентским объектом), я так понял, не возможно. Но спасибо и на этом.

  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, av661194 сказал:

Получить же полное значение (как было в случае с клиентским объектом), я так понял, не возможно

у серверного объекта нет такого метода, и это логично, потому что все изменения отношения к игроку происходят онлайн, оффлайн неожиданно никто не станет врагом или другом) все изменения происходят онлайн с клиентским объектом, а потом записываются видимо как обычно нет-пакетом в серверный и сохраняются в сейв, потому при загрузке берутся уже из сейва, только как этот параметр называется , который передаётся через нет-пакет я не знаю, но теоретически если его знать, то можно попробовать перехватить его и вывести значение ,только такой вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

del


Дополнено 9 минуты спустя

av661194 Если говорить о прям оригинальном ТЧ без движковых изменений, то не знаю, может и есть способ. Но в оригинальном движке есть методы, позволяющие узнать и изменить отношение НПС к игроку или другому НПС вне зависимости, НПС в офлайне или в онлайне. Эти методы просто не экспортированы, чтобы их можно было использовать из скриптов. Если вы не против внесения изменений в движок, то это очень легко сделать. Я ради интереса попробовал и сделал на основе движка огср, вроде в сети были исходники и оригинального движка, по идее и на нём должно работать. Там буквально внести изменения в один файл и собрать движок.

Изменено пользователем Gnomi123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

CiberZold Я тоже думал про нет-пакет. Только (в отличие от  character_name, money и т.д.) напрямую эти данные там не записываются. Если распечатать нет-пакет, то в конце будет куча значений типа u8, u16 - как показали эксперименты,  там это всё и лежит. Вот только в расшифровке этого салата возникают очень большие (а, может, и непреодолимые) трудности.

Gnomi123 Да, хотелось реализовать на оригинальном движке. Но, видимо, не судьба - придётся вносить правки в xrGame. У меня есть установленная 2013 студия, оригинальные движки на ней собираются без проблем. Буду признателен, если подскажете, как экспортировать в скрипты эти методы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
27 минут назад, av661194 сказал:

CiberZold Я тоже думал про нет-пакет. Только (в отличие от  character_name, money и т.д.) напрямую эти данные там не записываются. Если распечатать нет-пакет, то в конце будет куча значений типа u8, u16 - как показали эксперименты,  там это всё и лежит. Вот только в расшифровке этого салата возникают очень большие (а, может, и непреодолимые) трудности.

Проще функцию вывести в движке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

народ, такой вопрос

Спойлер

[smart_terrain]
type = general_lager
capacity = 4
communities = stalker
cond = {=is_day}
stay = medium
groups = 1

лагерь активируется с наступлением дня, и деактивируется ночью. Можно ли прописать в логике лагеря, чтобы с наступлением дня он активировался с 50% шансом (хочу таким образом добавить больше рандома)

в логиках респавнов встречал вот такую строку: conditions = {+yan_find_scientist_done} 100, 0. Я так понял числа 100, 0 это вероятность срабатывания респавна. Применим ли данный параметр к гулагам?

 

и ещё вопрос - иногда в лагерях прописываются 2 группировки (яркий пример - гулаг мерков и бандосов на Дикой Территории, который постоянно штурмуют долговцы и одиночки). Можно ли прописать так, чтобы при каждой активации приоритет полностью отдавался одной из двух группировок?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

av661194 
Так, нужен файл level_script.cpp
Нужно найти:

void g_change_community_goodwill(LPCSTR _community, int _entity_id, int val)
{
	 CHARACTER_COMMUNITY	c;
	 c.set					(_community);
	RELATION_REGISTRY().ChangeCommunityGoodwill(c.index(), u16(_entity_id), val);
}

После этой функции вставить так:

void g_change_community_goodwill(LPCSTR _community, int _entity_id, int val)
{
	 CHARACTER_COMMUNITY	c;
	 c.set					(_community);
	RELATION_REGISTRY().ChangeCommunityGoodwill(c.index(), u16(_entity_id), val);
}

int g_get_personal_goodwill(int _who_id, int _to_whom_id) { return RELATION_REGISTRY().GetGoodwill(u16(_who_id), u16(_to_whom_id)); }
void g_set_personal_goodwill(int _who_id, int _to_whom_id, int _amount) { RELATION_REGISTRY().SetGoodwill(u16(_who_id), u16(_to_whom_id), _amount); }
void g_change_personal_goodwill(int _who_id, int _to_whom_id, int _amount)
{
	CHARACTER_GOODWILL gw = RELATION_REGISTRY().GetGoodwill(u16(_who_id), u16(_to_whom_id));
	RELATION_REGISTRY().SetGoodwill(u16(_who_id), u16(_to_whom_id), gw + _amount);
}

Это сами функции. get возвращает числовое значение личного отношения, set позволяет установить числовое значение личного отношения, change изменить на _amount.
Потом нужно экспортировать эти функции для использования в скриптах.
Находим:
 

module(L,"relation_registry")
	[
		def("community_goodwill",				&g_community_goodwill),
		def("set_community_goodwill",			&g_set_community_goodwill),
		def("change_community_goodwill",		&g_change_community_goodwill)
	];

Добавляем наши функции:
 

module(L,"relation_registry")
	[
		def("community_goodwill",				&g_community_goodwill),
		def("set_community_goodwill",			&g_set_community_goodwill),
		def("change_community_goodwill",		&g_change_community_goodwill),
		def("get_personal_goodwill", &g_get_personal_goodwill),
		def("set_personal_goodwill", &g_set_personal_goodwill),
		def("change_personal_goodwill", &g_change_personal_goodwill)
	];

Собираем движок.
Теперь можно вызывать эти функции через

relation_registry.get_personal_goodwill (who, to_who)
relation_registry.set_personal_goodwill (who, to_who, number)
relation_registry.change_personal_goodwill (who, to_who, number)
Должно работать.

Изменено пользователем Gnomi123
  • Жму руку 1
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

@Gnomi123, мне было лень разжёвыввать такую очевидную херню. 😁

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Приветствую, где в файлах можно найти строчку, которая отвечает за отображение версии игры в меню?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет. Решил сделать кат-сцену, но почему-то у меня не отображается путь самой камеры, да и сама камера не хочет через выстроенный маршрут проходить. Кто может сказать почему и как это можно исправить?

Спойлер

image.thumb.png.b6337472ad443c27b14b7ea15b717cf6.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

RicoNRT в SDK камерой не занимался. Читал вроде из ЗП SDK в ТЧ SDK желательно объект камеры переносить. Еще есть прога anm2ltx для работы вне sdk, но я-диск ее на вирю подозревает, короче сами решайте:

https://disk.yandex.ru/d/V9ygPfsf9e5KQQ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

RicoNRT Здарова. Секция называется device_torch.

Sikorskyi приветствую. Как вариант, можно попробовать сделать там хороших размеров рестриктор, и запретить Максу и другим - входить в него. Как пример, можно посмотреть рестрикторы костров. Возможно, Макс будет его обходить. Но это в теории. 

Paracetamol Доброго времени суток.
Нужно в параметре ammo_elapsed = 0 - выставить ноль, и на всяк случай и тут ammo_current = 0

Hunter здравствуйте. Файлы ui_main_menu.script и ui_mp_main.script
Строка: _ver:SetText                    ("ver. " .. mm:GetGSVer())

  • Смущение 1

Внимание! Ищу любые фиксы/исправления для оригинального ТЧ.

Спойлер

Или людей, которые желают помочь с этим делом.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

oleg19966 здравствуй, у меня по твоей функции нет цифр 1.0006, чисто так написано, как ты говоришь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Hunter у скриптового окна main_menu есть метод движковый метод GetGSVer(), который и вызывается в ui_main_menu.script, откуда он и берёт это значение версии игры (скорее всего тоже из каких-то бинарных файлов типа xrGame.dll, но по сути это строчка, вместо неё можно подставить любую другую написав её в кавычках "".

  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

oleg19966 какой ещё девайс торч? Я про катсцену спрашиваю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
15 часов назад, RicoNRT сказал:

oleg19966 какой ещё девайс торч? Я про катсцену спрашиваю

В 20.10.2024 в 12:41, RicoNRT сказал:

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

В 20.10.2024 в 13:07, RicoNRT сказал:

Pastalker56 как? и как у них секция называется

device_torch

upd: видимо, я зря полез умничать. Больше не буду. :u1F609:


Внимание! Ищу любые фиксы/исправления для оригинального ТЧ.

Спойлер

Или людей, которые желают помочь с этим делом.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

oleg19966 туфу! Так это месяц назад было, я во первых давно уже эту проблему решил, во вторых и забыл уже про этот вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

RicoNRT не смотрел на даты, просто, как обычно, пролистал последние 3 страницы. Не думал, что тут всё так затихло.

  • Лайк 1

Внимание! Ищу любые фиксы/исправления для оригинального ТЧ.

Спойлер

Или людей, которые желают помочь с этим делом.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

oleg19966 Не мудрено, щас все на трилогию забили, пошли сталкер 2 на перегонки играть)

1 минуту назад, oleg19966 сказал:

Не думал, что тут всё так затихло.

 

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как удалять объекты, у которых сломаны патрульные пути?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу