Перейти к контенту

[SoC] Ковыряемся в файлах


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

Кто подскажет? вот вывод сообщения смертей сталкеров

function kill_npc(victim, who)

if victim and IsStalker(victim) then
-- определяется какая группировка у убитого, его имя, локация
local dead_news = "%c[230,255,128,64]"..level_name[level.name()].."\\n%c[230,255,128,64]"..victim:character_name().."%c[230,255,128,64] killed by zone"
db.actor:give_game_news(dead_news, "ui\\ui_icons_mod",Frect():set(0,0,64,64), 1000, 4000)
end
end

 

 

как сделать так что бы выводилась информация от кого или от чего погиб наш сталкер?

Ссылка на комментарий

Всем привет. Подскажите пожалуйста, как добавить такой же визуал телепорта (своему спаунящемуся неписю), как у появляющихся трех мастеров монолита, когда ГГ первый раз появляется на ЧАЭС-2 ( перед прыганьем в первый телепорт).

 

 

 

Ссылка на комментарий

 

 

как сделать так что бы выводилась информация от кого или от чего погиб наш сталкер?

Для начала - попробовать перевести на русский названия параметров вышеозначенной ф-ции. А дальше по аналогии с victim:character_name().

Ссылка на комментарий

Если никто не подскажет по поводу xr_kamp - то может кто ,пожалуйста, поделиться инфой о том каким образом можно переключить активную схему у НПС? xr_logic.try_switch_to_another_section не подходит.

Благодарю за любую информацию!

Ссылка на комментарий

@Winsor, у кашпировских каникулы. Где ты писал по поводу кампов? Активную схему тебе надо переключить откуда? Она из файла логики обычно переключается, а универсальные схемы по эвалуаторам, tertium non datur. 


try_switch_to_another_section вообще мимо кассы, почему ты ее решил взять?

Ссылка на комментарий

По поводу кампов - извините, ссылка не вставилась. вот.

активную схему необходимо переключить из action:execute, либо action:initialize дабы избежать борьбы схем. по эвалуаторам - не переключается, вернее переключается, но постоянно друг между другом, в посте про xr_kamp я описал что именно происходит.

 

p.s. в связи с тем что я не очень в них разбираюсь - не могу дать полностью всю информацию. Спасибо что хотя бы задаете вопросы.

Ссылка на комментарий

Привет. Ребят, можно ли изменить цвет текста названий предметов, которые валяются на земле, с белого на более яркий, заметный? Это когда идёшь с зажатой кнопкой F и обнаруживаешь валяющиеся в траве предметы, оружие в основном. игра ТЧ 10006. Думаю, что нужно просто в каком то файле изменить цвет текста стандартный белый на другой из списка, но вот где менять найти не могу ни как. 

%c[255,0,255,0] - зеленый шрифт
%c[255,255,128,128] - розовый
%c[255,227,114,12] - оранжевый
%c[255,255,1,1] - красный
%c[255,243,174,29] - желтый
%c[255,1,255,255] - бирюзово-голубой
%c[default] - основной белый, если дописываешь после опр. цвета
Подскажите пожалуйста, если кто в курсе.
Ссылка на комментарий

@Сергей 1982, этот цвет жестко задан в движке игры и не читается из каких-либо конфигов.

Ссылка на комментарий

Доброго времени суток, подскажите пожалуйста, в чём проблема безлогового вылета при нажатии в ПДА в раздел контакты после изменения конфигов в character_desc_simulation.xml.

Давно спрашивал уже, но никто тогда не ответил, может сейчас найдётся кто сообразит.

 

Суть проблемы такая, решил переделать обычных нпс по типу ЧН и ЗП (например теперь у меня несколько вариантов мастеров ДОЛГа, один из них в экзоскелете с ПКМ).

 

Так выглядит отрывок из моего

 
<!------------------------------- "ДОЛГ", Мастера ---------------------------->
 
<!------------------------------------- 1 ------------------------------------>
 
<specific_character id="sim_dolg_master_default1" team_default = "1">
<bio>sim_dolg_master_bio</bio>
<class>sim_dolg_master</class>
<community>dolg</community>
<terrain_sect>stalker_dolg_terrain</terrain_sect>
#include "gameplay\НПС\Долг\Мастера\Мастер №1.xml
 
<!------------------------------------- 2 ------------------------------------>
 
<specific_character id="sim_dolg_master_default2" team_default = "1">
<bio>sim_dolg_master_bio</bio>
<class>sim_dolg_master</class>
<community>dolg</community>
<terrain_sect>stalker_dolg_terrain</terrain_sect>
#include "gameplay\НПС\Долг\Мастера\Мастер №2.xml
 
<!------------------------------------- 3 ------------------------------------>
 
<specific_character id="sim_dolg_master_default3" team_default = "1">
<bio>sim_dolg_master_bio</bio>
<class>sim_dolg_master</class>
<community>dolg</community>
<terrain_sect>stalker_dolg_terrain</terrain_sect>
#include "gameplay\НПС\Долг\Мастера\Мастер №3.xml
 
<!------------------------------------- 4 ------------------------------------>
 
<specific_character id="sim_dolg_master_default4" team_default = "1">
<bio>sim_dolg_master_bio</bio>
<class>sim_dolg_master</class>
<community>dolg</community>
<terrain_sect>stalker_dolg_terrain</terrain_sect>
#include "gameplay\НПС\Долг\Мастера\Мастер №4.xml
 

 

 

Инклуд прописан правильно, русские буквы значения не имеют, папку НПС сделал чтобы было проще редактировать сразу всех, а не менять в каждом character_desc_..., да и работать удобнее намного, тем более ловил вылет что так, что когда всё было в 1 файле.

gameplay\НПС\Долг\Мастера\

 

<name>GENERATE_NAME_stalker</name>
<icon>иконка_Долг_5</icon>
<map_icon x="1" y="0"></map_icon>
 
<rank>910</rank>
<reputation>0</reputation>
<money min="5000" max="10000" infinitive="0"/>
 
<visual>actors\dolg\stalker_do_exoskeleton</visual>
 
<snd_config>characters_voice\human_03\dolg\</snd_config>
<crouch_type>0</crouch_type>
 
<supplies>
[spawn] \n
wpn_pm \n
ammo_9x18_fmj = 1 \n
wpn_pkm \n
ammo_pkm_100 = 1 \n
grenade_f1 = 1 \n
#include "gameplay\Предметы.xml"
</supplies>
 
#include "gameplay\character_criticals_4.xml"
 
<start_dialog>hello_dialog</start_dialog>
<actor_dialog>dm_help_wounded_medkit_dialog</actor_dialog>
#include "gameplay\character_dialogs.xml"
 
</specific_character>

 

 

 

Теоретически всё прописано правильно, тестировал несколько раз, например менял имена (GENERATE_NAME_stalker менял на тест_1, тест_2 и т.д.) чтобы было проще определять.

К примеру поменял всех сталкеров новичков и опытных, те что заспавнились изначально (типа деревни новичков на кордоне, в баре, на ферме в тёмной долине и т.д.) бегали с именами тест_1, тест_2, в контактах отображались без вылетов, иконка, имя, группировка, репутация, всё отображалось без проблем.

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

 

Ещё кто-то мне скидывал файл чтоб отслеживать лог полностью, ставил, при вылете лог ругался на скрипт ПДА.

 

Такая вот проблема(

NFSNeedForSpirt.gif

Ссылка на комментарий

@NFSNeedForSpirt, Если мне склероз не изменяет, то я где-то читал, что проблема - в одинаковых идентификаторах в файле-описателе персов. Вроде так.

Если ошибся - старожилы, поправьте, плиз...

Шаман - СисАдмин

Всяко-разно: для ЧН

Ссылка на комментарий

Добрый всем вечер. Ковыряюсь в гулагах первый раз, gulag_escape.script:

idle = 0,
prior = 16, state = {0,1},
in_rest = "", out_rest = "",
predicate = function(obj_info)

Что означают эти строки? Что за числа и откуда они берутся?

Добавлено Kirgudu,

Перенесено из скриптования в более, к.м.к., подходящую тему.

Ранее был известен под ником BoBaH_671.

Ссылка на комментарий

@BoBaH_671,

Это параметры очередной добавляемой к гулагу работы.

idle - период времени, в течение которого работа недоступна, после того как нпс занимавший ее, по каким-то (любым) причинам ее покинул.

prior - приоритет работы.

state - список состояний гулага, в которых доступна данная работа.

in_rest, out_rest - рестрикторы где быть, куда не заходить. Возможно наоборот) никогда ими не пользовался так что могу ошибаться.

predicate - функция проверяющая, пригоден ли данный предлагаемый нпс, на эту работу. в функцию передается таблица obj_info, хранящая в себе параметры непися. Обычно в предикатах сравнивают профиль нпс с чем-то конкретным, или выясняют является ли он снайпером. Чего-то более необычного в оригинале - не видел.

  • Спасибо 2

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

@Romz, В смысле одинаковые идентификаторы? у каждого нпс в character_desc_simulation.xml должна быть своя отдельная иконка чтоб не вылетать?

Забыл уточнить что с нпс из-за которого вылет в контактах можно разговаривать и шмотать труп без проблем, иконка, ранг, группировка отображаются как я ставил.

 

 

Ещё кстати вопрос, где найти скрипт который выдаёт гг оружие на арене? хотел убрать в 7м бою 4 гранаты чтоб только действительно был нож против фн2000, только не пойму где это задаётся, ни в all.spawn, ни в bar_dialogs.script не нашёл, смотрел конфиги, скрипты, так и не нашёл.

Может кто-нибудь подсказать где искать?

NFSNeedForSpirt.gif

Ссылка на комментарий

e1dda970bf3fc4754da113d4baab815f5f204522

Может кто подсказать, та текстурка называется та что КООПТОРГ. Вообще-то это больше на спорт зал похоже, чем на магазин.

Изменено пользователем Хемуль36рус

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

Ссылка на комментарий

@Хемуль36рус, текстура, используемая на вывеске "КООПТОРГ" называется: crete_walls_gr13

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

 

 

Не подскажете, как можно заспавнить оружие через alife():create, но только без патронов?
local unload_magazine = function(id, obj) obj:unload_magazine() end

local sobj = alife():create("секция_оружия", vector(), 0, 0, db.actor:id())
if sobj then
  level.client_spawn_manager():add(sobj.id, db.actor:id(), unload_magazine)
end
  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

@BoBaH_671, есть еще замечательный и неповторимый position_treshold, в общем его задавай в рамках радиуса работы, или не задавай вообще.

 

 

 

Чего-то более необычного в оригинале - не видел.

Наверное потому, что в ТЧ это не было нужно, гляди смарткаверы следующих частей ;).

Ссылка на комментарий
local unload_magazine = function(id, obj) obj:unload_magazine() end

local sobj = alife():create("секция_оружия", vector(), 0, 0, db.actor:id())
if sobj then
  level.client_spawn_manager():add(sobj.id, db.actor:id(), unload_magazine)
end

Если не составит труда, можете помочь с пониманием? Я так понимаю:

obj:unload_magazine() - то, что заставляет оружие появиться без патронов.

if sobj then - если идет спавн оружия, то далее идет функция:

level.client_spawn_manager():add(sobj.id, db.actor:id(), unload_magazine) с ссылкой на unload_magazine, которая обезоруживает?

Поправьте, если я не так понимаю :-)

 

Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   1 пользователь

×
×
  • Создать...