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

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

 
 
4 минуты назад, OP_artovod сказал:

а почему может не спавнится квестовый предмет в трупе? предмет рабочий, в характер_деск прописан

 

 

Функцию, которую ты использовал, напиши здесь. Напиши что правил. Информации очень мало, а ясновидящих в сталкерском комьюнити нет. Возможно, вы не прописали его в таблицу уникальных предметов ([keep_items] в death_generic.ltx)

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

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


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

OP_artovod нужно добавить этот предмет в секцию keep_items, в файле death_generic.ltx

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


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

понял пасиба

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


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

Какие файлы отвечают за количество и расположение на локации кустов, деревьев и прочего?

Есть возможность деревья от Cromm Cruac'a запихнуть в стороннюю локацию?

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


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

Misery это такая же статическая геометрия локации, как здания и т.п

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


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

Какие файлы отвечают за количество и расположение на локации кустов, деревьев и прочего?

Файлы локации отвечают, а конкретно level.geom level.geomx...

2 часа назад, Misery сказал:

Есть возможность деревья от Cromm Cruac'a запихнуть в стороннюю локацию?

Да. Берете SDK, берете исходники сторонней локации, берете модели деревьев в формате *.object, расставляете на локации и компилируете отредактированную локацию.

Изменено пользователем denis2000
  • Мастер! 1
  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Как зафиксировать нажатие на InitCheck, а потом, после того как GUI будет скрыт, задать ему определённый статус (true, false - или проще говоря, если он до скрытия GUI был включён, то когда GUI будет показан опять, включить InitCheck).
Попробовал сделать - почему-то не получается. Наверное из-за того, что InitCheck не подходит callback BUTTON_CLICKED

Спойлер

class "mod_opt_dlg" (CUIScriptWnd)

function mod_opt_dlg:__init() super()
self:InitControls()
self:InitCallBacks()
end

function mod_opt_dlg:__finalize()
end

function mod_opt_dlg:InitControls()
    self:SetWndRect(Frect():set(0,0,1024,768))
    
    local oCXml = CScriptXmlInit()
    oCXml:ParseFile("ui_mm_main.xml")
    
    self.opt_1_status = flags.ui_mm_opt_1_status

    self.dMenu     = oCXml:InitStatic("mod_menu", self)
            
    self.oBtnQuit     = oCXml:Init3tButton("mod_menu:btn_quit", self.dMenu)
    self:Register    (self.oBtnQuit, "OnBtnQuit")
    
    self.oBtnDef     = oCXml:Init3tButton("mod_menu:btn_default", self.dMenu)
    self:Register    (self.oBtnDef, "OnBtnDef")
    
    oCXml:InitStatic("mod_menu:cap_check_opt1", self.dMenu)
    self.Opt1     = oCXml:InitCheck("mod_menu:check_opt1", self.dMenu)
    self:Register    (self.Opt1, "OnBtnOpt_1")
end

function mod_opt_dlg:InitCallBacks()
    self:AddCallback("OnBtnQuit",  ui_events.BUTTON_CLICKED, self.OnQuit,    self)
    self:AddCallback("OnBtnDef",  ui_events.BUTTON_CLICKED, self.OnBtnDef,    self)
    self:AddCallback("OnBtnOpt_1",  ui_events.BUTTON_CLICKED, self.OnOpt1,    self)
end

function mod_opt_dlg:OnKeyboard(dik, keyboard_action)
    CUIScriptWnd.OnKeyboard(self, dik, keyboard_action)
    if keyboard_action==ui_events.WINDOW_KEY_PRESSED then
        if dik==DIK_keys.DIK_ESCAPE then
            self:OnQuit()
        end
    end
    return true
end

function mod_opt_dlg:OnBtnOpt_1()
if self.opt_1_status == true then
self.opt_1_status = false
self.Opt1:SetCheck(false)
flags.ui_mm_opt_1_status = false
else
self.opt_1_status = true
self.Opt1:SetCheck(true)
flags.ui_mm_opt_1_status = true
end
end

function mod_opt_dlg:LoadSettings()
self.Opt1:SetCheck(flags.ui_mm_opt_1_status)
end

function mod_opt_dlg:OnBtnDef()
self.opt_1_status = true
self.Opt1:SetCheck(true)
flags.ui_mm_opt_1_status = true
end

function mod_opt_dlg:OnQuit()
flags.ui_mm_opt_1_status = self.opt_1_status
self:HideDialog()
end

function mod_opt_dlg:save(packet)
    set_save_marker(packet, "save", false, "ModOptions")
    packet:w_bool(self.opt_1_status)
    set_save_marker(packet, "save", true, "ModOptions")
end

function mod_opt_dlg:load(packet)
    set_save_marker(packet, "load", false, "ModOptions")
    self.opt_1_status = packet:r_bool()
    set_save_marker(packet, "load", true, "ModOptions")
end
ss-01-10-21-15-37-37-escape.jpg
ss-01-10-21-15-37-32-escape.jpg

При вызове GUI вызывается функция, которая должна передавать статус true или false. Но почему-то всегда передаётся статус false.

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

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


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

denis2000 какой компилятор использовать (у меня ПЫСовские)?

В LevelEditor, во вкладке Compile выбрать пункт Make Details?

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


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

denis2000 какой компилятор использовать (у меня ПЫСовские)?

В LevelEditor, во вкладке Compile выбрать пункт Make Details?

Нужно пересобирать локацию (build), если у вас дерево это объект.

  • Спасибо 1

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


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

какой компилятор использовать (у меня ПЫСовские)?

На вкус и цвет... Фломастеры у всех разные. ?

CS&CoP Compilers 2010 v3.0

х64 для ЗП

  • Смех 1

EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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


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

Народ! Кто в теме, подскажите пожалуста по интелекту полтергейстов,  как они поведут себя с решёткой?
Конкретно ситуация такая, есть помещения с коридорами,  в которых некоторые проходы загорожены решётками из арматуры, с такой же  дверью из арматуры,  Мне нужно чтоб НПС и ГГ могли пройти только открыв дверь, а полтергейст пролетал независимо от состояния этой двери. Возможно ли как то это реализовать?


Группа мода в VK
Мод делался и тестировался на железе
i5-11400, 32Гб ОЗУ, Radeon RX580  Разрешение 2560 х 1440.  ВСЕ на максималке

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


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

как они поведут себя с решёткой?

Как и любые Мутанты - не в курсе о ней, от слова совсем. Что естественно пройти не могут и упираются в нее.

Как решение: сделать два рестриктора с обоих сторон решетки и в логике мутанта проверять если он задержался в одном из рестрикторов более чем на 2 сек, то телепортировать его на другую сторону.

  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

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


Группа мода в VK
Мод делался и тестировался на железе
i5-11400, 32Гб ОЗУ, Radeon RX580  Разрешение 2560 х 1440.  ВСЕ на максималке

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


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

Телепортировать наверно будет заметно визуально, что не совсем эстетично, летел - пропал - появился..

Ну во первых - это как раз в его природе (телепортация), а во вторых это будет незаметно (всего то доли секунды).

26 минут назад, Policai сказал:

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

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

Он вообще довольно специфическое существо и к тому же сильно забагованное. В любом случае, я только предложил идею.

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Привет, народ. Разблокировав возможность говорить со всеми НПС в отряде обнаружил, что у них отсутствуют диалоги из файла dialog_manager.ltx. У лидера отряда, соответственно, всё на месте. В каком направлении нужно копать, чтобы исправить это?

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

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


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

Stgs В дескрипшинах этих персонажей прописано: #include "gameplay\character_dialogs.xml"

  • Мастер! 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

denis2000, то есть диалоги вроде dm_information или dm_anomalies для них не применяются?

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


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

Зов Припяти

Не начинается выброс после вызова фун-ции из локиги space_restrictor:

[logic]
active = sr_idle@1

[sr_idle@1]
on_info = {+info1 +info2} %=start_surge() =test_msg()% nil

Тестовое сообщение присылается, значит дело в самой функции.

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

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


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

bad_major,
Правильнее будет так:
 

Спойлер

 

[logic]

active = sr_idle@1

[sr_idle@1]

on_info = {+info1 +info2} sr_idle@nil %=start_surge =test_msg%

[sr_idle@nil]

 

 

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


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

Stgs В оригинале нет таких диалогов.


bad_major На локации есть хоть одно укрытие от выброса?

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

denis2000 нет, не сделал, а условие наличия укрытий вбито в движке или вынесено в скрипты?

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


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

denis2000, как это нет? Ведь они прописаны в файле dialog_manager.ltx. Может я и правда что-то путаю...

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


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

Ведь они прописаны в файле dialog_manager.ltx.

Вы путаете там прописаны фразы, а не диалоги. А точнее в этом файле указано какие фразы могут появиться в диалогах НПС, с учетом уровня, группировки НПС и инфопорций.

Схема такая: НПС прописывается в дескрипшен инклуд на файл character_dialogs.xml, сами диалоги прописаны в dialogs.xml. Они полностью динамические и формируются скриптом dialog_manager.script, а файл dialog_manager.ltx - конфиг этого скрипта с необходимыми параметрами.


1 час назад, bad_major сказал:

вынесено в скрипты?

Да.

function start_surge(p)
	local m = get_surge_manager()
	if(m:get_nearest_cover()) then
		m:start(true)
	else
		printf("Error: Surge covers are not set! Can't manually start")
	end
end

Нетрудно увидеть, что если функция get_nearest_cover (найти ближайшее укрытие) вернет nil, то выброс не запуститься, а в лог должно было бы отправиться сообщение об ошибке.

Изменено пользователем denis2000
  • Мастер! 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Мне нужно чтоб НПС и ГГ могли пройти только открыв дверь, а полтергейст пролетал независимо от состояния этой двери. Возможно ли как то это реализовать?

[collide]
ignore_static
ignore_small_objects

НПС не пускай туда или поставь ему временный оут рестиктор, на месте двери. АИ сетка должна быть под дверью, что бы и он летал и нпс ходили.  Если оутку НПСу поставил. Не забудь ее отключить когда ему нужно будет пройти через дверь. Не буду 100% ручаться, не смотрел от куда ноги растут, но, со ignore_small_objects, у дверьки коллизия на НПС пропадает вроде как, на мобов должно быть соответственно, так же. 
p.s. по одному старому дельцу в ЛС написал.

Изменено пользователем Ekagors
  • Лайк 1

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


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

Какими ещё программами можно делать движковые правки кроме Microsoft Visual C++?

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


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

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

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

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

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

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

Войти

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

Войти

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