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

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


Halford

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

Звуки дождя были здесь:

...gamedata\sounds\nature\

файлы под названием: new_rain1.ogg, new_rain2.ogg, new_rain3.ogg, new_rain_and_drops1.ogg, new_rain_and_drops2.ogg, new_rain_and_drops3.ogg.

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

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


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

Насколько помню, вылет с подобным логом частенько встречался в ЧН. Дэн когда прикручивал спальный мешок АМК к ЧН, такой вылет происходил, когда ГГ должен был присниться сон :) , тобишь мувик должен был проигрываться. Если сон не проигрывается (чёрный экран), то вылет не должен происходить. Надо копать в ...config\ui\ui_movies.xml, там параметры роликов находятся.

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


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

Нужно найти в файле ...gamedata\config\misc\artefacts.ltx строку:

lights_enabled = true и заменить на lights_enabled = false

 

plusquam

Проблемами снятия брони, к сожелениею, не занимался. Подсказать не могу.

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


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

Похоже, что не может найти текстуру k saharu.dds. Это картинка к файлу самого сейва, которая создаётся автоматически при сохранениях и имеет одинаковое с сейвом название. Но могу и ошибаться. Проверить можно, создав dds'ку 128х128 пикселей с одноимённым название сейва, т.е. k saharu.dds и кинуть её в папку с сейвами.

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


Ссылка на сообщение
Подскажите пожалуйста, где надо регистрировать файлы, в которых находятся <article> статейки</article> ...

 

Нужно прописать инклуд в файле ...gamedata\config\gameplay\storyline_info_to_diary.xml

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


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

Такая вот проблема. Громко не смейтесь :)

Не могу снять координаты для спавна НПС.

Ситуация. На Болотах из пака Кости решил заспавнить своего бармена на место Холода из ЧН, а пролезть в его коморку ГГ не может (невидимая стена над барной стойкой), входа туда нет. Может кто подскажет, как снять кординаты для спавна НПС в месте, куда ГГ дороги нет? Консольная команда rs_stats не даёт полных данных о координатах.

 

Kirag

Телепортами никогда не занимался, надо будет поискать инфу и попробавать. Спасибо за совет :)

 

upd: Вопрос снят. Телепорты, однако, никто не отменял :good2:

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

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


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

wolkolak

Обозвали его - mil_Svoboda_engineer. У него, кстати, story_id не прописан в game_story_ids.ltx. Отсюда и глюк с отображением его метки на ПДА при выполнении квеста с огнемётом.

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

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


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

Виталий Зверь

 

Можно в кастом дате непися (в all.spawn) прописать схему как, например, у Волка

[smart_terrains]

esc_lager = {-agroprom_military_case_have -esc_fanat_spawn}

mil_lager = {+agroprom_military_case_have}, {+esc_fanat_spawn}

т.е. увести из одного гулага в другой при помощи инфопоршенов.

В данном примере, пока не выданы инфопоршены agroprom_military_case_have и esc_fanat_spawn Волк находится под гулагом esc_lager, если же выдан инфопоршен agroprom_military_case_have или esc_fanat_spawn, то Волк переходит под гулаг mil_lager на Армейских складах.

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

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


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

БогДан,

Всех не помню, но вот основные:

...config\misc\task_manager.ltx - используется для статистики квестов, как однотипных, так и оригинальных;

...scripts\xr_statistic.script - используется для статистики убитых НПС и монстров.

 

Виталий Зверь,

Похоже, профиль НПС с названием der_vhod не прописан в файле ...config\gameplay\npc_profile.xml

 

Yamato,

Здесь:

...config\misc\amk_mod_matras.ltx, чуть ниже конфига спального мешка, но там можно поправить по своему усмотрению только описание, модель и иконку. Главные свойства рюкзака прописаны в скриптах.

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

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


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

Сяк,

По анимации сидения на стуле.

Делал так:

в state_lib добавил это:

sit_stul = { weapon = "unstrapped",

movement = move.stand,

mental = anim.free,

bodystate = move.standing,

animstate = "stand",

animation = "sit_stul"

},

 

в state_mgr_animation_list добавил это:

sit_stul = { prop = { maxidle = 1,

sumidle = 1,

rnd = 70 },

into = { [0] = "prisluh_0", "prisluh_0_in" },

out = { [0] = "stul_podyem" },

idle = { [0] = "stul" },

rnd = nil },

 

 

Всё это вставил между уже существующими анимациями в названные файлы.

Только проблема в том, что сама анимация кривовато выглядит. Сталкер не просто сидит, а крутит в руках оружие, и это оружие (любое) держит неправильно. Если не присматриваться, и оружие покороче прилепить, то терпимо.

Кстати, чтобы его посадить на стул, скамейку и т.д. не нужно walk на самом предмете сидения, так сказать :) ,

задавать. Достаточно рядом со стулом (как бы, если бы он просто стоял перед стулом) снять координаты, ну и look задать соответственно. Я так понимаю, сталкера в позе сидения на стуле можно хоть на воздух "посадить", и должен сидеть, как-будто на стуле :)

 

Скрин:

смотреть

Изменено пользователем banderos
  • Нравится 1

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


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

Storyteller,

Есть замечательная программа - SIE - за авторством камрада malandrinus.

Ссылка на программу в подписи malandrinus. С этой программой можно забыть о проблемах с иконками. Она всё сделает быстро и качественно, в том числе и координаты аддонов высчитывает.

вот ссылка на тему

 

Writer

Не совсем понял вопрос...

Могу ответить так. Насколько мне известно, геймграф должен соответствовать не только имеющимся дополнительным локациям, но и алл.спавну. Больше того, предполагаю, что для объединения нескольких локаций из разных паков необходима перекомпиляция этих самых локаций в результате которой и создаётся единый геймграф.

 

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

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


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

HitmanNew,

Есть такой мод в этой теме: ссылка

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

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


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

Gonarh

...спавню alife():create("pseudodog_good", ...

а она все равно кусается :cray5: что не так сделал? ...

 

Нашёл в статье по логике монстров такое:

 

3.5. Схемы для монстров

 

3.5.1. Схема mob_walker.

Работает аналогично схеме обычного walker. Но есть некоторые отличия

 

Флаги пути движения

s=звуковая_схема (idle, eat, attack, attack_hit, take_damage, die, threaten, steal, panic, growling) с - идти дальше в присяде r - дальше бежать sig=signal_name - установить заданный сигнал для xr_logic

Флаги пути обзора:

t=время_мсек - время в миллисекундах, которое нужно ждать, смотря в точку a=anim_set - анимация (stand_idle, sit_idle, lie_idle, eat, sleep, rest, attack, look_around, turn)

В customdata персонажа задайте (* отмечены обязательные поля):

[walker]

path_walk = путь перемещения

path_look = путь обзора

*no_reset = true/false - не сбрасывать action предыдущей схемы (если нужно сохранить, например, звук). По умолчанию false.

*actor_friendly = true/false - монстр никогда первым не нападает на игрока, но если игрок хоть раз атакует монстра - этот режим навсегда отключится. По умолчанию false.

*npc_friendly = true/false - монстр никогда первым не нападет на другого монстра (даже враждебного).

*friendly = true/false - монстр не нападает ни на игрока, ни на монстров. В случае агрессии с их стороны, не запоминает их как врагов и остается дружественным ко всем. По умолчанию false.

 

 

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

 

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


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

Костя.н.ы.ч,

Здесь можно попробовать перенести либо сам текст, прописав переносы строк в нужных местах такими символами "\n". Например, <bio>Опытный сталкер.\nДетальная информация отсутствует.</bio>;

либо попробовать уменьшить размер шрифта или заменить его на другой в строке

<font font="letterica16" r="190" g="190" b="225"/>.

 

andrewrap,

Советую всё-таки почитать шапку темы. Там много всего полезного написано и вопрос отпадёт сам собой ;)

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

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


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

andrewrap,

Эх, ёлы-палы... Не хотим читать... Например, вот эта статья. Обрати внимание на начало статьи (п. 6), там как раз говориться для чего нужны инфопоршны, из чего не трудно догадаться - что же это такое - инфопоршны и как их создавать.

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

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


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

Братья скриптёры, выручайте! Проблема такая:

пытаюсь отучить ремонтников в аддоне к АМК "Усложнённый ремонт оружия" брать при ремонте стволы на запчасти.

Отучить удалось, но с переменным успехом, так сказать.

В чём суть проблемы. Как и задумано, ремонтник забирает поломанный ствол на ремонт и деньги за ремонт. Потом, как положено отдаёт отремонтированный ствол. НО(!) деньги почему-то забираются только в ветке диалога, а на самом деле "кошелёк" ГГ, скажем так, не страдает. Т.е. сколько было денег, столько и остаётся, хотя в диалоге появляется сообщение: "Потеряны деньги: количество денег".

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

Даже не знаю с какой стороны копать? Подскажите, буду благодарен.

 

Есть функция проверки наличия у ГГ денег на ремонт:

function trader_check_money_s1(actor, trader)

local item_in_slot = db.actor:item_in_slot(1)

if item_in_slot ~= nil and 0.20 < item_in_slot:condition() + 0.01 then

weapon_profit_margin = repairmasterlist[trader:name()][2]

local item_repair_cost = math.floor( (1-item_in_slot:condition()) * item_in_slot:cost() * weapon_profit_margin )

if item_repair_cost > 0 and db.actor:money() >= item_repair_cost and 0.76 > item_in_slot:condition() then

return true

end

end

return false

end

 

 

Есть функция отбора денег у ГГ:

function trader_repiar_weapon_s1(actor, trader)

local item_in_slot = db.actor:item_in_slot(1)

if item_in_slot ~= nil then

local wpn = item_in_slot:section()

local var = repairmasterlist[trader:name()][1]

weapon_profit_margin = repairmasterlist[trader:name()][2]

local item_repair_cost = math.floor( (1-item_in_slot:condition()) * item_in_slot:cost() * weapon_profit_margin )

dialogs.relocate_money(actor, item_repair_cost, "out")

tt = 12

if item_repair_cost > 1000 and item_repair_cost < 3001 then tt = 18

elseif item_repair_cost > 3000 and item_repair_cost < 6001 then tt = 24

elseif item_repair_cost > 6000 and item_repair_cost < 9001 then tt = 30

elseif item_repair_cost > 9000 and item_repair_cost < 12001 then tt = 39

elseif item_repair_cost > 12000 then tt = 48

end

-- get_console():execute("load ~~~ tt_"..tostring(tt))

remove_repairitem(1)

amk.save_variable(var,("1"..wpn))

amk.g_start_timer(var,0,tt,0)

end

end

 

 

В чём, как говориться, зазор в этих функциях или, говоря проще, ошибка...

 

Monnoroch,

Так уже тоже пробовал. Не помогло... Мистика, одним словом.

 

----upd----

 

Проблему решил так. Нужно было заменить в строке:

dialogs.relocate_money(actor, item_repair_cost, "out")

actor на trader

 

Видимо, действительно, торгаш выступает вместо актора, а актор вместо торгаша. Такая скриптовая фигулина получилась :D

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

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


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

xzeyzz,

Место стартового спавна actor'a можно и потом поменять, разобрав имеющийся после компиляции all.spawn и изменив координаты спавна.

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


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

Wlad777,

В файле blowout_scheme.script функция function bind_scheme(npc,storage). В неё добавляются исключения по npc:name() или npc:character_community(). Имена НПС берутся из all.spawn.

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


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

Starter,

Путь к текстуре определённой модели прописан в самой модели. Изменить этот путь можно либо HEX-редактором, при этом соблюдая количество символов пути к текстуре (т.е. подгонять название текстуры под путь и количество символов в модели), либо через утилиту - SDK, тогда можно прописать текстуру с любым количеством символов (название текстуры).

Изменить или добавть папку, альтернативную папке textures не получится. Этот способ позволяет создать папку для текстур только внутри папки textures.

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

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


Ссылка на сообщение
... Неужели никто не помнит, что это за версия была?

malandrinus

Это была версия - АМК 1.4 (т.е. без второй единицы). Знаю точно, что там были "зашифрованы" такие файлы как: amk_mod, bind_stalker, amk_offline_alife, news_main и некоторые другие.

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


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

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