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

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


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

@pz_3 делал как тут описано https://ap-pro.ru/forums/topic/1317-sozdanie-inventarnogo-kompleksa/ плюс до этого звуки для предметов сделаны были. На счет веса закрытие-открытие инвентаря не влияет. Изменил вес гармошки с 0.35 на 0.30 и проблема пропала. Похоже движок пытался округлить сотые веса до десятых.

Изменено пользователем Stalk2003
Ссылка на комментарий

@CiberZold @Zander_driver  Ну короче я понял из-за чего игра ломалась (точнее сейвы) - из-за спавна предметов по game_spawn_story_ids

 

в начале игры у меня предметы, помеченные game_spawn_story_ids, скажем так, удалялись

Скрытый текст

function delete_agr_ecolog_case()
   local lc = alife():story_object(story_ids.agr_ecolog_case)
   alife():release(lc, true)
end
function spawn_agr_ecolog_case()
   local spawn_id = alife():spawn_id(spawn_story_ids.agr_ecolog_case)
   alife():create(spawn_id)
end

function delete_mil_termit_pda()
   local lc = alife():story_object(story_ids.mil_termit_pda)
   alife():release(lc, true)
end
function spawn_mil_termit_pda()
   local spawn_id = alife():spawn_id(spawn_story_ids.mil_termit_pda)
   alife():create(spawn_id)
end

function delete_swp_shaman_pda()
   local lc = alife():story_object(story_ids.swp_shaman_pda)
   alife():release(lc, true)
end
function spawn_swp_shaman_pda()
   local spawn_id = alife():spawn_id(spawn_story_ids.swp_shaman_pda)
   alife():create(spawn_id)
end

function delete_swp_vulture_foto()
   local lc = alife():story_object(story_ids.swp_vulture_foto)
   alife():release(lc, true)
end
function spawn_swp_vulture_foto()
   local spawn_id = alife():spawn_id(spawn_story_ids.swp_vulture_foto)
   alife():create(spawn_id)
end

function delete_agr_seeker_cache()
   local lc = alife():story_object(story_ids.agr_seeker_cache)
   alife():release(lc, true)
end
function spawn_agr_seeker_cache()
   local spawn_id = alife():spawn_id(spawn_story_ids.agr_seeker_cache)
   alife():create(spawn_id)
end

согласно выданному инфопоршню

Скрытый текст

<!-- СМС при старте игры -->
    <info_portion id="start_game_zone">
        <action>xr_effects.yan_start_game_sms</action>
        <!--action>drda_functions.delete_mil_termit_pda</action>
        <action>drda_functions.delete_swp_shaman_pda</action>
        <action>drda_functions.delete_swp_vulture_foto</action>
        <action>drda_functions.delete_agr_seeker_cache</action-->
    </info_portion>

движок ОГСР сразу на этот поршень с функциями сагрился, потому и понял из-за чего. Закоментировав строки, игра пришла в порядок (проверил на ванильной версии мода своего)

 

Тогда вопрос - а как этой функцией вообще пользоваться то? BFG вон писал, что они эту функцию ток так в 2016 солянке использовали и ничё, работало же, а у меня игра с  ума сходит?

Ничё не понимаю :(

Лучше сделать мод с 0, чем пытаться залатать багованный.

DarkSnowder.gif

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

@DarkSnowder назначил стори ид и гейм стори ид то?

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@imcrazyhoudiniя в СДК всё назначал обьектам - проверял даже

Скрытый текст

[8535]

; cse_abstract properties
section_name = agr_ecolog_case
name = agr_ecolog_case
position = -183.069061279297, 1.35877525806427, 83.6469879150391
direction = -0.0232704430818558, 0.00517749041318893, 0.0687333419919014
id = 65535
version = 118
script_version = 7
spawn_id = 2335

; cse_alife_object properties
game_vertex_id = 516
level_vertex_id = 481192
object_flags = 0xffffff0f
story_id = 307
spawn_story_id = 307

; cse_visual properties
visual_name = equipments\guest_cop\safe_container

; cse_alife_inventory_item properties
condition = 1

Скрытый текст

[11624]

; cse_abstract properties
section_name = inventory_box
name = agr_underground_digger_box
position = 2.11199998855591, -14.3388004302979, -109.015800476074
direction = 0, -1.57078790664673, 0
id = 65535
version = 118
script_version = 7
spawn_id = 2688

; cse_alife_object properties
game_vertex_id = 825
level_vertex_id = 172
object_flags = 0xffffff37
custom_data = <<END
[spawn]
ammo_5.45x39_ap = 4
antirad = 2
medkit_army = 2
wpn_ak74_m1 = 1
outfit_stalker_m1 = 1
af_night_star = 1
grenade_f1 = 1
END
story_id = 393
spawn_story_id = 393

; cse_visual properties
visual_name = equipments\item_box_01

 

 

Всё, отбой тревоги. Разобрался вроде как. Я ж имя spawn_id менял у двух предметов, а скрипт не поправил, оттого-то игру у корёжило.

Вывод - "прежде чем куда то болт кинуть, сперва сто раз подумаю, куда убегать буду"

Изменено пользователем DarkSnowder
причина выяснена
  • Смешно 1

Лучше сделать мод с 0, чем пытаться залатать багованный.

DarkSnowder.gif

Ссылка на комментарий
6 hours ago, Zander_driver said:

Справедливости ради, сейчас вообще все что угодно, гуглится и подсматривается на заведомо рабочем примере.

Гуглятся именно что частные примеры – стоит отойти немного в сторону, и выясняются какие-то особенности, вроде того, что звук, выведенный через play_no_feedback в режиме "looped", залипает в указанных координатах до действия disconnect и проигрывается даже в других сейвах на той же локации.

  • Полезно 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий
2 часа назад, Norman Eisenherz сказал:

залипает в указанных координатах до действия disconnect

Забавно. Чисто для расширения кругозора спрошу, а будут таки залипшие звуки друг на друга накладываться?
Ну например если бы мы вызывали звук рестриктором(зашел - включился звук), или еще как, главное, что это теоретическая возможность без дисконнекта с загрузки повторно триггернуть вызов такого звука.

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

Pz_3.gif

Ссылка на комментарий
13 часов назад, Norman Eisenherz сказал:

стоит отойти немного в сторону, и выясняются какие-то особенности

Разумеется, это всегда и везде так.

Иначе все было бы легким и простым. А так - интересно что-то делать.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

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

Типовой конфиг статьи с описанием задания содержит какое-то неизвестное значение: article_type=task group="task_id/???".

 

Во всех действующих примерах значение после task_id = 0.
Если создать в описании задания ссылки на несколько статей с конфигом group="task_id/0", …/1, …/2, то вне зависимости от активной задачи выводится только статья, указанная для задачи 0.
Если убрать это значение совсем или указать число в несколько знаков, или указать строку "текст1/текст2/текст3", эффект тот же: статья полностью определяется через article_id без учета group – даже task_id указывать необязательно.
В классе SGameTaskObjective есть метод set_article_key(str), который вроде бы ссылается на это значение, но ни одного живого примера нет, а ввод чисел или строк таким методом никак не меняет статью в описании задания.
В движке есть вот такие действия при выводе статьи вида "описание задания" в КПК:

Spoiler
[xr_3da\xrGame\ui\UIEventsWnd.cpp]
void CUIEventsWnd::ShowDescription			(CGameTask* t, int idx)
	
		SGameTaskObjective& o		= t->Objective(0);
		
			if(o.article_key.size())
			{
				sprintf_s(need_group, "%s/%s", *t->m_ID, *o.article_key);		-- task_id/str
			}else
			{
				sprintf_s(need_group, "%s/%d", *t->m_ID, idx);				-- task_id/num
			}

			

					if( strstr(group.c_str(), need_group)== group.c_str() )
					{
						u32 sz			= xr_strlen(need_group);
						if ( group.size()== sz || group.c_str()[sz]=='/' )
							m_UITaskInfoWnd->AddArticle(&A);

 

 

Что это за значение и как его применять?

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

народ, тут такая трабла у меня возникла - назначил значит одного бота торговцем, прописал соотв. логику, а он у меня при каждой перезагрузке стволы все, что в продажу прописаны, на землю выбрасывает. С чём такая трабла может быть?

Лучше сделать мод с 0, чем пытаться залатать багованный.

DarkSnowder.gif

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

@DarkSnowder 
Какой стоит класс?
stalker или stalker_trader?
Нужен второй.

Так же - в логике вписал максимальный переносимый вес для него?

  • Полезно 2

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

всем прива

 

слушайте, а вынос логики гулага в отдельный файл с сылкой на него (как логика у НПС) не работает чтоль?

 

прописал гулагу вот такую логику

Скрытый текст

[logic]
cfg = scripts\logic_gulags\chernobyl\chern_lager_town.ltx

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

 

вроде как помню в слитом билде АМКII вся логика выносилась вне спавна, да и в ЧН/ЗП вся логика гулагов вне спавна была. Может не правильно логику указал?

 

Лучше сделать мод с 0, чем пытаться залатать багованный.

DarkSnowder.gif

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

@DarkSnowder работает, но как-то не так регаешь, логика для гулагов в ltx файле регается в gulag_tasks.ltx

 

Если я конечно тебя правильно понял.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@imcrazyhoudini я про такую логику имею ввиду (точнее это не логика, а настройка)

Скрытый текст

[smart_terrain]
type = chern_lager_town
capacity = 19
communities = stalker

тута все параметры типа численности, группировки населения, тип лагеря, прочие функции..

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

Лучше сделать мод с 0, чем пытаться залатать багованный.

DarkSnowder.gif

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

@DarkSnowder такое в конфиг не вынести.

  • Нравится 1

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

Создал новую группировку по этому гайду http://stalkerin.gameru.net/wiki/index.php?title=Создание_новой_группировки#.D0.9F.D1.80.D0.BE.D0.B4.D0.B2.D0.B8.D0.BD.D1.83.D1.82.D1.8B.D0.B9_.D1.83.D1.80.D0.BE.D0.B2.D0.B5.D0.BD.D1.8C

При диалоге с раненым НПС такой вылет:

Скрытый текст

[error]Expression    : !phrase_dialog->m_PhraseVector.empty()
[error]Function      : CPhraseDialog::SayPhrase
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\PhraseDialog.cpp
[error]Line          : 140
[error]Description   : No available phrase to say, dialog[dm_hello_dialog]

Подскажите, пожалуйста, как пофиксить

Нашел: в config/misc файл dialog_manager. Добавил новый dm_intro_help для новой группировки

Изменено пользователем Twin peaks
  • Нравится 1
Ссылка на комментарий

Парни, привет. Возникла одна очень неприятная проблема при создании меню - когда я в конфиге ui_mm_load_dlg (меню загрузки сохранений) хочу изменить "x" на отрицательное число, то кнопки (btn_load, btn_delete,  btn_cancel), которые я перемещаю соотвественно влево, перестают работать. На них ничего не реагирует. Ни один клик. Прошу помощи у вас, господа. Что это за такое явление, как с ним бороться, что можно сделать с ним? По интернету и форуму лазил, ничего не нашел. Буду благодарен за ответ. Кусочек из конфига прилагаю к сообщению. Можете сами проверить в игре. 

Скрытый текст

        <btn_load x="-320" y="230" width="157" height="48">
            <texture>ui_button_main01</texture>
            <text font="graffiti22">ui_mm_load</text>
            <text_color>
                <e r="227" g="199" b="178"/> <t r="180" g="153" b="155"/> <d r="106" g="95" b="91"/> <h r="0" g="0" b="0"/>
            </text_color>
        </btn_load>
        
        <btn_delete x="-320" y="185" width="157" height="48">
            <texture>ui_button_main01</texture>
            <text font="graffiti22">ui_mm_delete</text>
            <text_color>
                <e r="227" g="199" b="178"/> <t r="180" g="153" b="155"/> <d r="106" g="95" b="91"/> <h r="0" g="0" b="0"/>
            </text_color>
        </btn_delete>
        
        <btn_cancel x="-320" y="275" width="157" height="48">
            <texture>ui_button_main01</texture>            
            <text font="graffiti22">ui_mm_cancel</text>
            <text_color>
                <e r="227" g="199" b="178"/> <t r="180" g="153" b="155"/> <d r="106" g="95" b="91"/> <h r="0" g="0" b="0"/>
            </text_color>
        </btn_cancel>    

 

"нᴀᴄᴛ᧐ящиʍ ʍ᧐дʍᴇйᴋᴇᴩ᧐ʍ ʍ᧐жᴇᴛ ᴄᴛᴀᴛь ᴛ᧐ᴧьᴋ᧐ ᴨ᧐иᴄᴛинᴇ ɸᴀнᴀᴛ ᴧюбиʍ᧐й иᴦᴩы." ©

xgeVogt.png

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

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

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

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

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

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

Войти

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

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

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...