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

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


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

10 часов назад, boneset-hq сказал:

во-первых я откуда мог знать что это практически невозможно

да нет тут ничего невозможного ,движок поправишь и будут тебе вороны-нпс:)

 

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

  • Спасибо 1
  • Нравится 1
Ссылка на комментарий

Всем привет.

Прошу разъяснить знающих, где в файле level.ps_static прописан direction того или иного партикла?

 

Пример:

[particle 2]
particle_name = damage_fx\heli_smoke_01
M11_M12_M13_M14 = 0.954343855381012,-0.298710376024246,-5.96046447753906e-008,0
M21_M22_M23_M24 = 0.186095431447029,0.59455269575119,-0.782224774360657,0
M31_M32_M33_M34 = 0.233658671379089,0.746511340141296,0.62299633026123,0
M41_M42_M43_M44 = 220.524490356445,2.80624198913574,257.845550537109,1
 

Ясно, что самая нижняя строка - это координаты position, а какая из трёх верхних именно direction?

Ссылка на комментарий
19 часов назад, lexa.3012 сказал:

даёшь - магазинное питание(из "NS") во все модификации

 ну прям во все, как по мне излишне будет, в мод где идёт закос под "реализм" - да, но зачем это в каком-нибудь моде, где даже с оружейкой не поработали, а просто оставили оригинальную ПЫСовскую?)

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

Ладно, с воронами я потыкался, ничего не получилось но ладно. Вопрос щас другой, и по мне очень кринжовый и в какой-то мере глупый. Как сделать чтобы текст кнопок в меню, прилегал к правому краю. Я попробовал так:

Цитата

<menu_main btn_height="30" font="letterica18" a="255" r="255" g="255" b="255" align="r">
        <btn name="btn_new_game"    caption="ui_mm_newgame" align="r"/>
        <btn name="btn_load"        caption="ui_mm_load_game" align="r"/>
        <btn name="btn_options"        caption="ui_mm_options_n" align="r"/>
        <btn name="btn_quit"        caption="ui_mm_quit2windows" align="r"/>
    </menu_main>
    
    <menu_main_last_save btn_height="30" font="letterica18" a="255" r="255" g="255" b="255"  >
        <btn name="btn_new_game"    caption="ui_mm_newgame" align="r"/>
        <btn name="btn_load"        caption="ui_mm_load_game" align="r"/>
        <btn name="btn_lastsave"    caption="ui_mm_last_save" align="r"/>
        <btn name="btn_options"        caption="ui_mm_options_n" align="r"/>
        <btn name="btn_quit"        caption="ui_mm_quit2windows" align="r"/>
    </menu_main_last_save>

И так:

Цитата

<shniaga_wnd x="690" y="319" width="392" height="280" alignment="r">
        <buttons_region    x="110" y="0" width="164" height="280" always_show_scroll="false" alignment="r"/>
        
        <shniaga x="9" y="0" width="392" height="73" alignment="r">
            <texture>ui_menu_move</texture>            
            <magnifire x="76" y="22" width="232" height="36" stretch="r">
                <texture>ui\ui_magnifier</texture>
        <y_offset>0</y_offset>
            </magnifire>
            

Только вот ничего из этого не заработало :( 

Прошу прощения за такую глупость(

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

@boneset-hq 

Опять смотрим в движок...

void CUIMMShniaga::CreateList(xr_vector<CUIStatic*>& lst, CUIXml& xml_doc, LPCSTR path){
* * *

	for (int i = 0; i < nodes_num; ++i)
	{	
		st = xr_new<CUIStatic>();
		st->Init(0,0,m_view->GetDesiredChildWidth(), height); // Вот кнопка создается
		st->SetTextComplexMode		(false);
		st->SetTextST(xml_doc.ReadAttrib	("btn", i, "caption")); // Вот ей читается текст, из конфига
		if (pF)
			st->SetFont(pF);
		st->SetTextColor(color);
		st->SetTextAlignment(CGameFont::alCenter); // А вот ей ставят выравнивание, принудительно хардкодом. Игнорируя конфиг.
//		st->SetTextAlignment(CGameFont::alLeft);
		st->SetVTextAlignment(valCenter);
		st->SetWindowName(xml_doc.ReadAttrib("btn", i, "name"));
		st->SetMessageTarget(this);


		lst.push_back(st);
	}
	xml_doc.SetLocalRoot(xml_doc.GetRoot());

}

"Скажем спасибо ПЫС" - эти кнопки, в части выравнивания, игнорируют что написано в конфиге, и выравниваются принудительно по центру кодом в движке.

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

4 часа назад, boneset-hq сказал:

Прошу прощения за такую глупость

Перед кем?

И за что?

Не вижу в твоем посте иных глупостей, кроме просьбы прощения за непонятно что.

  • Нравится 3
  • Полезно 1

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

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

Вопросец, в каком файле настраивается чтобы в деревне новичков у каждого новичка, был случайный профиль? Хочется для каждого в деревне сделать собственный профиль, а они во-первых в случайном порядке, во-вторых могут дублироваться. Или легче будет проспавнить новых вместо них?:big_boss:

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

@boneset-hq ,

A-la Волк, Шустрый, Петруха сотоварищи?

В настройках работ для гулага, gulag_escape.script etc. :

...
predicate = function(obj_info)
    return obj_info.name == "нужный профиль"
end
...

+ нужные профили.

Дополнительно.

  • Спасибо 1
  • Нравится 1
  • Полезно 1
Ссылка на комментарий

@Купер Блин, понаписал такого что теперь и Волк рандомизируется с другими. Я конкретно так и не понял, этот скрипт что ты оставил надо вставить в gulag_escape.script в секцию esc_lager? Или как-то по другому? Просто я попробовал всё, и туда и сюда, в итоге весь лагерь теперь рандомный:blink:

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

@boneset-hq ,

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

 

А теперь то же самое надо сделать в обратной последовательности:biggrin:.

Ты сам прекрасно понимаешь, что там сделали с бедным Волком, видит перед собой только сотворивший это кощунство, остальные могут только предполагать/догадываться ещё парочку страниц. Без конкретики это всё - гадание на лопатке контролёра:biggrin:.

 

 

Скрытый текст
       table.insert(sj, t)
        t = { section = "logic@esc_blockpost_commander_day",
            idle = 0,
            prior = 100, state = {0,2},
            position_threshold = 100,
            online = true,
            in_rest = "", out_rest = "escape_blockpost_zone",
  --* эту работу в этом гулаге будет делать только NPC c этим профилем.
            predicate = function(obj_info)
                return obj_info.name == "esc_blokpost_commander"
            end

 

 

  • Спасибо 1
  • Нравится 1
  • Согласен 1
  • Полезно 1
Ссылка на комментарий
2 часа назад, monk сказал:

На всём Великом и Ужасном АМК-форуме не нашлось человека могущего ответить на данный вопрос?

Обмелели...

Это не привычные всем координаты, а матрицы

  • Нравится 1
Ссылка на комментарий
3 часа назад, CiberZold сказал:

что тебе мешает методом проб и ошибок самому это выяснить?

А ты думаешь, я сюда отписал только для того, чтобы языком почесать? Пробовал много раз, ничего не получилось.

1 час назад, I am Dead сказал:

Это не привычные всем координаты, а матрицы

Явно же тут задано направление действия/положение в пространстве партикла. Иначе бы все на 0 смотрели, я так думаю. Только, не пойму, как тут разобраться.

Изменено пользователем monk
Ссылка на комментарий
1 час назад, monk сказал:

Явно же тут задано направление действия/положение в пространстве партикла.

Да, только в необычных координатах как уже сказал выше

@monk Попробуй по такой формуле переведи

 

pos.x = M41
pos.y = M42
pos.z = M43

rot.x = -(M31 + M21)
rot.y = -(M32 + M22)
rot.z = -(M33 + M23)



по твоему примеру получится что то такое (но это не точно)

 

pos = {220.524490356445, 2.80624198913574, 257.845550537109};
rot = {-0.419754102826118, -1.34106403589248, -1.40522110462191};
  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

Замечательно! @Купер Спасибки) Всё сработало:thank_you:

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

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

В чем проблема? Скрипт есть, назван точь в точь.

Цитата

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...:\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:118: attempt to index global 'food_stack' (a nil value)

 

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

@boneset-hq в скрипте bind_stalker есть переменная food_stack ,которая игрой не определена как глобальная т.е. её описания нет в g.script и при этом она не помечена как локальная.

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

Народ, как узнать, сколько игра видит строчек диалога в одном сообщении? На вопрос Бармену: что интересного расскажешь, вставил историю про сталкера Ефима/Проводника  - 4 полные строчки + начало 5-й. Получил вылет на этапе загрузки - перебор. Вот сколько строчек до этого перебора?

Ссылка на комментарий
10 минут назад, ZonaChe сказал:

Если я правильно понял, то почитай тут 

 

Скорее всего правильно

 

Я спрашиваю у неписи - <text>Расскажи какую-нибудь историю.</text>

И ответ неписи <text>история на 4 полные строчки + начало 5-й. По итогу - вылет на загрузке. Вот и интересует, сколько строчек до перебора</text>

Изменено пользователем bsanek628
Ссылка на комментарий
1 час назад, bsanek628 сказал:

И ответ неписи <text>история на 4 полные строчки + начало 5-й. По итогу - вылет на загрузке. Вот и интересует, сколько строчек до перебора</text>

ИМХО, здесь дело не в количестве строчек, а в количестве символов в теге text.

Изменено пользователем AndrewMor
  • Полезно 1

Сталкер - наше всё!

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

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

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

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

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

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

Войти

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

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

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