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

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


Halford

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

Доброго времени суток.

В текстовых описаниях оружия и брони используется цветной текст. А можно ли сделать отображение текста жирным или курсивом?

В распакованной игре в текстурах папка ui - там текстуры шрифтов и кодовые таблички. В папке config файл font.ltx - там подключение шрифтов в некоторых случаях, но много ссылок какие шрифты прописано в скриптах.

Когда подбирал себе шрифты делал путем подмены на разрешение 1600 подставлял ссылку на 1024 - на широкоформатнике получилось очень гуд. Не на пол экрана. Шрифты делать самостоятельно наверное смысла нет - они готовыми спрайтами печатаются по кодовой таблице и для каждой буквы свои смещения по х. Можно пытаться подменить стиль уже готовых (там несколько размеров на каждый шрифт), но многие надписи расчитаны на определенное место в окошке и увеличение вызовет сползание надписей - придется и все что связано с выводом карбоди, трэйд и др. перепрописывать координаты для текста.

При подмене типа шрифта с ариал на графити в font.ltx - все корректно без ошибок читается движком. Автоматом подтягивает нужную кодовую таблицу.

 

Добавлено через 15 мин.:

<visual>actors\stalker_bandit\stalker_bandit_3</visual>

<supplies>

[spawn] \n

device_torch \n

....

#include "gameplay\character_items.xml"

Вот после его убийства в трупе один фонарик менеждером трупов уберется (прописан в "gameplay\character_items.xml"), а второй при шмоне точно найдется. И новая нелогическая затыка движку - как фонарик из трупа изъять? В death_manager.script только про один говориться... Мучительный выбор из двух одинаковых.

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

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


Ссылка на сообщение
Должны оба убраться :)

в менеджере трупов перебираются все предметы и если предмет надо убрать, он убирается.

Вроде никаких затыков нет

Ну, тогда... не знаю что и думать. Или мой комп тихо сбрендил, или ЗОНА шалит. Не много, но пару фонарей и гитару в луте находил...

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


Ссылка на сообщение

Кто-нибудь может разъяснить что означают в моделях типа stalker_do_mask.ogf параметры вида models\weapons, а также models\model, models\window, models\artefact2 в разных модельках персов. Или ткните носом, плиз, где об этом можно почитать (ссылкой, если не затруднит).

И еще вопрос - critical_hit_grup_2.omf - дает чисто визуальные анимации как персу дергаться а экране при хите? Или что-то другое?

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


Ссылка на сообщение

malandrinus

Пристрелка оптики в Сталкере - только двигать маркеры по вертикали в фотошопе, при условии фиксации параметров патрона/ствола (что регулярно меняется). В виду непропорциональности игровых физических параметров расчитать математикой параболу с проекцией сетки на маркеры наерное невозможно, да и зачем? свич-дистанс - 150м - практически одна маркерная черта на мощном патроне.

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


Ссылка на сообщение
Это ж сколько итераций нужно сделать, чтобы такую сетку пристрелять

Да именно так. Скриншоты мало помогут - слишком искажается картика - все мы практически на ЖК мониках, а прототипы текстур худа 1024*768 - пережиток от черезстрочки от ЭЛТ. Так что приблизительно можно скриншотом - но точно - только многократными перезапусками с перемещением марки на пару пикселей, выверкой расстояния, и великого терпения. Я делал как-то один прицел, потом решил этим не баловаться - легче используя готовые марки пристрелять свой глазомер. В том же снайпер-аддоне Поллюкс сознательно приопустил главные марки и на коротких дистанциях - пули выше головы летят.

Стрелять дальше 150 метров - теоретически можно, но непись в офлайне и там другая схема умирания - на практике весьма неинтересно.

Можешь поэкспериментировать с солдатами блокпоста выбрав максимально удаленную точку на развилке у деревни новичков (если не ошибаюсь, стрелял по ним со 155-165м). Остальные НПС визуально проявляются на границе свич-дистанса.

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


Ссылка на сообщение

Плиз! Ткните носом. Где уже рассматривалось. Как НПС заставить принудительно сменить wpn_ak74u на другой ствол, например на wpn_mp5. Т.е. мне надо заставить НПС заменить оружие прописанное в характер-деске на аналогичное, но конкретное оружие, при условии что НПС его получает со стороны (находит, покупает). Оружие имеет тот же класс, ef_main_weapon_type и ef_weapon_type и юзается в первом слоте.

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

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


Ссылка на сообщение

В каждой Ogf модельке есть либо инклуд типа:

#include "models\capture\plasch_mask_damage_no.ltx"

либо сразу прописано immunities_sect = stalker_resist с параметрами.

Причем, в релизе, в задействованных для спавна-респавна, профилях нпс оставили визуалы только те, у которых есть инклуд.

Через конфиг в capture

[immunities]

immunities_sect = no_resistance

[bone_protection]

bones_protection_sect = kombez_mask_damage выходим на damages.ltx где и регулируется

[kombez_mask_damage]:body_kombez_damage,head_mask_damage, добавляя защиту от осколков

hit_fraction = 0.1

Если я правильно понял, то это процент снятия хита от осколков для всех костей, указанных в body_kombez_damage и head_mask_damage?

А параметры защиты для секций outfit.ltx - это только для ГГ

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


Ссылка на сообщение

Kolmogor, Ogf - модель НПС очень своеобразная штука и легко редактируется HEX-редактором в части текстовой информации. Я в модельках охотников так убирал бандитскую анимацию, прописывал аниме солдатов и все прекрасно работало. Можно свободно редактировать инклуд, обозвать его по новому и прописать новые параметры как 8push5 показал и будет непись трудноубиваемая в обычном визуале курточки новичка. Теоретически в m_stalker параметры относятся к голому телу, но в итоге, наверное, решили сделать привязку комбеза в модельке. Что наверное и есть домножающие коэффициенты в расчетах движка.

Кстати редактировать HEX-ом можно и текстуры модельки и шейдерные эффекты. Главное правило не изменять длинну всей строки, в которой прописана связка текстуры и models/model. Но это было извратом подбирать длины названий с учетом "NUL" ячеек - легче в SDK переконвертировать модельку.

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


Ссылка на сообщение

malandrinus, Если пути то либо вылетет сразу, либо позднее, когда all.sav путей не найдет. По предметам - вылета может и не случиться. По крайней мере на одном и том же all.spawn я дописывал в деревянные ящики предметы и они не спавнились но и вылетов не было. А при новой - все что прописывал - находилось. Наверное поэтому и четспавнер сочинили.

Скажи, а ты не разбирался с функцией function visible_for_map() для сталкеров?

Она задествована в stalker_generic.script в function reset_show_spot(npc, scheme, st, section)

Как она работает для миникарты и что из нее можно еще выжать?

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


Ссылка на сообщение

RvP, Ворона не подойдет. Она по своей AI сетке летает и тупо движком управляется. Ну лично мне так показалось что и в небе сетка есть - стрелял в небо VOG25, там в облаках иногда взрывы наблюдал. Вот heli более перспективный вариант. Модель только заменить на дракона, только аниме надо еще, скрипты и пути в all.shawn. Будет летать и партиклами огня всех жарить. Займешься?

 

2 RvP,

Да, там зашито. В принципе от нее много не надо - чисто для антуража, для атмосферы. Чтоб по небу летало без разума, никому не мешало.

Если ей интелект прикрутить - жизнь умрет. Вернее играть не сможешь - их очень много спавниться и с разумом они сразу сожрут все ресурсы игровой памяти. А так что есть, что нет - ресурсы не нагружает.

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

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


Ссылка на сообщение
morale_v                = 0.01                        ;скорость восстановления морали

 

Это скорее всего параметр по храбрости - типа для собак: если убить бо'льшую часть стаи - оставшиеся убегают поджав хвост. Потом снова могут напасть когда восстановиться храбрость. А для снорка наверное работать не будет. Хотя можно поставить что-то около 0.000001 и поэкспериментировать.

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


Ссылка на сообщение
И у половины не выпадет из рук ствол,а у половины выпадет.

А Тело со стволом в руках по shift+F переносится? И на список моделек бы взглянуть у кого оружие в руках остается. Что-то странное. Не встречал. Обычно свол либо рядом, либо в луте. Но руки при переноске трупа всегда пустые.

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


Ссылка на сообщение

Для AKKK1

 

-- схема для подсветки NPC на близкой дистанции прицелом работает,

-- но при подходе к неписю дергает надпись и дистанция неверная (не равна выставленной)

 

-- в _g.script стр-1228

function actor_see_npc(obj,typ)

end

 

-- в xr_motivator.script в function motivator_binder:update(delta) на 227 строку

if time_global() - self.last_update > 1000 then

if IsStalker(self.object) and self.object:alive() and self.object.health>0.01 then

if db.actor:see(self.object) then

actor_see_npc(self.object,"npc")

end

if db.actor:position():distance_to(self.object:position())>20 then

get_console():execute("hud_info 0")

else

get_console():execute("hud_info 1")

end

end

 

sr_light.check_light(self.object)

self.last_update = time_global()

end

 

 

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

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

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

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


Ссылка на сообщение

Вопрос знающим.

При движковой схеме боя противник использует естественные укрытия (кусты, деревья, бетонные блоки и т.д.)

В config\creatures\m_bandit.ltx, например, есть селекторы selector_attack, selector_cover, selector_retreat, где установлены численные значения для - fTotalCover; fCoverFromMemberWeight и т.д.

Каким образом непись распознает на карте место укрытия? Есть ли какие-либо особые метки, которые устанавливаются при расстановке объектов на карте и можно ли скриптом найти эти метки?

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

Для m_stalker_zombied.ltx и монолита напрочь отсутствуют.

 

Дополню: Эти селекторы ниоткуда явно не вызываются. Возможно просто "хвосты" древних проектов, которые задумывались, но не используются.

Остается 2 вопроса:

1.Каким образом непись распознает на карте место укрытия?

2.Есть ли какие-либо особые метки, которые устанавливаются при расстановке объектов на карте и можно ли скриптом найти эти метки?

 

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

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


Ссылка на сообщение

Полтергейст, Про схему обхода аномалий. Там не только анимации кривые, но и подводные камни.

Тут темка с оф.сайта. Зарубежные товарищи тоже интересуются этой темой. Немного причесал гугль-перевод. Надеюсь я правильно смысл понял.

barin 16:01:49 4 June 2010

http://www.gsc-game.com/main.php?t=communi...set=-180#306376

Я думал, что я поделюсь с вами, что, в случае если вы ищите альтернативные решения для anomaly_evader проблемы (не лучшее, но все же стоящее упоминания, я думаю).

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

Варианты:

1. anomaly evader script (Red'75) - очень неплохо, так как вам не придется возиться с all.spawn и других файлов, просто вставляете в Gamedata и готово, однако, это не работает, а когда дело доходит до аномальных зон.

2. GSC (движковый) путь к уклонению от аномалий – открыть оригинальный xr_motivator.script и найти это (где-то на 100 линии):

local manager = self.object:motivation_action_manager()

manager:remove_evaluator(stalker_ids.property_anomaly)

manager:add_evaluator(stalker_ids.property_anomaly, property_evaluator_const(false))

 

Как вы можете видеть, evaluator ответственный за уклонение от аномалий отключен там, так, что если просто закомментировать эти линии там, то NPC будут уклоняться от аномалий и даже будут бросать болты в этом процессе. С другой стороны, процесс уклонения начнется, как только NPC будет поражен аномалией впервые (так NPC сначала должен быть нанесен ущерб аномалией, чтобы считать это как опасность).

3. space restrictor - в Сталкере назначением всем специальным областям типов, например, мы имеем

- out restrictor (type = 1), который означает, что NPC не будет покидать эту область,

- in restrictor (type = 2), это в основном означает, что NPC не будет входить в эту специальную область

Надо либо отредактировать все аномалии в all.spawn и установить им restrictor_type = 2 или в se_anomalies.script использовать packed_utils.script, чтобы переписать packet data аномалий (для установки restrictor_type = 2) и все.

 

ZaGaR 20:48:29 4 June 2010

Что касается 3-го решения, описанного barin, я думаю что в AMK обход аномалий базируется на restrictor-ах, но не статичных. Я помню обсуждение между bardak и Red75 о реализации динамических restrictor-ов. Я не знаю, что Red75 сделал, но он подтвердил (BAC9 также) использование измененных процедур уклонения основанных на restrictor-ах в АМК.

 

Возможно, что restrictor-ы установлены таким образом?

 

NatVac 09:29:25 15 June 2010

Мод Red75 «SANB» обхода аномалий не работает на вновь созданных аномалиях, так как скрипты мода о них не знают. Но это можно подправить. Смотрите в anomaly_holder.script функции add/remove по добавлению-удалению аномалий. Также смотрите, как нормальные аномалии добавили в se_zones.script.

 

 

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


Ссылка на сообщение

Полтергейст, Готового ответа, почему GSC отключили эту фичу - нет, но видимо ее (движковую) задействовать реально будет очень трудно. Совершенно не зря Red75 сначала специально создал мод Stalkers are not blind ("SANB" в сокращении), затем изменил схему обхода аномалий, привязав ее к рестрикторам (и не только?). Плюс bardak создал anomaly_scanner.script (посмотри ZENOBIAN_mod_v0.0118 и OGSM_v2.0_anypatch - (DEXXX потом кажется от него отказался, оставив anomaly_evader.script и anomaly_holder.script Red75'a - почему?)).

От себя добавлю, что как-то наблюдал НПС со сбитой логикой, швыряющего болты в собаку. Видимо (тут уже мои предположения), НПС с инициированной схемой бросает болт и ждет ответной реакции (хита) чтоб оценить этот объект как врага или как опасный участок. (а ждет ли?, может далее цепочка алгоритма в движке просто отсутствует и была оставлена "на потом", на разработку обработки во внешнем скрипте, но так и не сделана GSC??)

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

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


Ссылка на сообщение
  • Недавно просматривали   2 пользователя

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