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

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


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

malandrinus, я брал код из death_manager.script

Там в точности как у меня.

 

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

Но попробую как ты сказал...

 

-====-

 

А по другим вопросам не знаешь?

 

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

==========

 

то же самое....что самое смешное - то,что есть в этой таблице возвращает тру,а то,чего в ней нет фолс....

 

if musor[obj:section()] == nil then

return false

end

return true

Изменено пользователем Monnoroch
Ссылка на комментарий
А по другим вопросам не знаешь?

что самое смешное - то,что есть в этой таблице возвращает тру,а то,чего в ней нет фолс....

1. По другим не знаю =(

 

2. Это я недосмотрел. Однако ничто не мешает логически инвертировать возвращаемое значение или изменить условие:

function f(obj,npc)
    return musor[obj:section()] == nil
end

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
1)Можно ли скриптом насильно повесить на пояс артефакт?

Нельзя. Доступа к поясу из скриптов нет.

Даже скрипт, определяющий предметы на поясе, определяет их косвенным образом :)

 

2)Как определить положение ГГ (бегом,шагом,сидя...)

Вроде как тоже нет. Есть movement_type(), но он похоже для ГГ не работает

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

Люди, подскажите одну штучку по скриптам. Разбираться долго и не нужно в моей задаче. Просто мне нужно из двух файлов *.ltx достать по одному параметру перемножить и закинуть в третий. А точнее:

из w_ak74.ltx

hit_power = 0.54, 0.55, 0.56, 0.57

и

silencer_hit_power = 0.5

 

Перемножить с соответствующей секцией из

weapons.ltx

[ammo_5.45x39_ap]:ammo_base

k_hit = 1.33

 

И загнать в описание

Файл string_table_enc_weapons.xml

Например к ФН-ке под этот патрон

<string id="enc_weapons1_wpn-fn2000_old">

<text>Модификация оружия на основе бельгийского модульного комплекса FN-2000 с установленным компьютеризированным блоком наведения. Улучшен оптический прицел за счёт расширенного поля видимости. Из-за произведенной модификации ствола под более распрастранённый патрон калибра 5.45x39 мм, в Зоне встречается лишь в единичном экземпляре.\n Боеприпасы:\n•5.45x39 fmj,\n•5.45x39 ap.</text>

</string>

Наверняка в последнем файле нужна просто еще одна или папа строк вызова переменных из нужных файлов, но я не знаю синтаксиса. Помогите пожалуйста. Очень хочется видеть не только под какой патрон но и убойную силу при его использовании, и изменения при добавлении глушителя. А то надоели эти зеленые индикаторы. Да и снижение убойности при использовании глушителя нигде кроме конфига узнать нельзя.

 

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

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

Хочу жить вечно! Пока получается ;-)

Ссылка на комментарий
2)Как определить положение ГГ (бегом,шагом,сидя...)
Вроде как тоже нет. Есть movement_type(), но он похоже для ГГ не работает

А если измерять расстояние между db.actor:position() и камерой device().cam_pos ?

Я так понимаю, что position - это всегда точка на земле, а cam_pos - это "глаза" ГГ.

Из предположительных ограничений:

- не знаю, что будет в момент прыжка

- однозначно не будет работать в режиме не от первого лица.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

Вопрос такой: можно ли при попадании определенного объекта (не Гг) в спейс рестриктор выдать инфопоршн или вызвать скрипт?

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

position() - по логике вещей это положение главной (первой) кости модели, у модели нпц главная кость, если мне не изменяет память, находиться в тазу, но система сработать может, идея очень хорошая.

Возможно всё, ну или почти всё.
Ссылка на комментарий
а ты уверен что position() это на земле?

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

 

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

position() - по логике вещей это положение главной (первой) кости модели

Думаю иначе. Это вроде как положение _на сетке_

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

Ну значит я не прав, просто в моделях сталкеров ЧН, по сравнению с моделями ТЧ, появилась кость идущая из таза до земли и она "главная", и в ЧН position() возвращает именно точку на земле, вот я и подумал что в ТЧ точка не на земле, значит разрабы запарились и проецировали координаты главной кости на землю для позиции модели.

 

Monnoroch, способ должен сработать, проверь.

Изменено пользователем 8push5
Возможно всё, ну или почти всё.
Ссылка на комментарий

Ежели кому интересно,то умноженная на 100 и округленная эта дистанция = :

 

Полный присяд: 100-105

Присяд: 125-130

Стоя: 152-153

Бегом: 154-157

Прыжок из стоя: 158-163

 

Таковы приблизительные данные.Остальные состояния не отличаются от исходных.

 

Возникает проблема - данные не могут быть точными.

 

Отсюда вопрос - только на основе статистики если делать,то сей метод не будет точным....

 

======

 

Есть еще идея: можно засекать потерю усталости.

Но тоже проблема - есть арты и броники и скрипты,восстанавливающие усталость...

 

Есть соображения?

Ссылка на комментарий
в моделях сталкеров ЧН, по сравнению с моделями ТЧ, появилась кость идущая из таза до земли и она "главная", и в ЧН position() возвращает именно точку на земле, вот я и подумал что в ТЧ точка не на земле, значит разрабы запарились и проецировали координаты главной кости на землю для позиции модели.

Я проверил. position() - это точка не на земле, а "на ступнях" ГГ. При прыжке перемещается вместе с ГГ. Так что способ вроде работает. Чему именно соответствуют эти координаты, я уже и не знаю. Не проекция на землю - это точно. Но и не тазовая кость.

 

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

Возникает проблема - данные не могут быть точными.

 

Отсюда вопрос - только на основе статистики если делать,то сей метод не будет точным....

так а в чём проблема?

стоит/полуприсел/сел отличаются отчётливо, а бег/ходьба можно отличить по изменению горизонтальных координат.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

Хорошо.

Тогда еще такой вопрос - как поймать прыжок?

 

По изменению z не покатит - ведь в игре много резких подьемов....или не настолько резких?

Еще причина,почему не покатит - апдейт слишком часто - разницы большой не будет.А если делать реже,чем апдейт то и смысла нет - как там момент поймаешь...

 

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

malandrinus, еще момент.пошу тебя или кого другого знающего прокомментировать.

 

Ситуация: стою на месте.Инфа в лог о дистанции между предыдущей позицией актора и текущей выводится в апдейте.

 

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.5377536328742e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.5377536328742e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.52587890625e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.52587890625e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.52587890625e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.52587890625e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.5377536328742e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.5377536328742e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[2.1579186068266e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.52587890625e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.52587890625e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.52587890625e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.52587890625e-005]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

! Cannot find saved game ~#i#:_f_[1.9073486328125e-006]:=distance

! Cannot find saved game ~#i#:_f_[0]:=distance

 

 

 

Прошу заметить - я даже не трогаю клавиши управления - да и при выведенной консоли это невозможно.

И должно оно выглядеть,как сплошные нули.

 

А на деле - вот так.

 

З.Ы. ГГ не пил - он у меня вообще непьющий ;)

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

У меня вопрос:если я хочу взять HUD АК - 74 из ЧН и вставить его в ТЧ,мне надо будет вместе с ХАДом выдирать и модель или просто ХАД?

Я ВЕРНУСЬ И НАДЕРУ ВСЕМ ЗАДНИЦЫ (С) УИЛЛИС

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

Stalker Hartman, в ЧН худ оружия состоит из двух моделей: модель оружия и модель рук, так что тебе пройдется еще и руки к модели приделывать в каком-нибудь 3d редакторе (maya, max), потом все это через SDK.

 

А зачем тебе оно надо?

 

 

Возможно всё, ну или почти всё.
Ссылка на комментарий

Stalker Hartman, а чем стандартные не угодили, почему именно ЧНебовские, по сути, они ничем не отличаются?

 

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

 

нет, но просто так ты не перенесешь модели стволов, надо их глобально переделывать.

Изменено пользователем 8push5
Возможно всё, ну или почти всё.
Ссылка на комментарий

8push5, мне не очень приятно когда пальцы Стрелка вросли в автомат...да и в ЧН оружие места меньше занимает...

 

Я только что подумал:Ведь У ТЧ и ЧН разные версии движка.Это повлияет?

 

Мда...а я ведь не великий мододел...ладно.Все равно спасибо

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

Я ВЕРНУСЬ И НАДЕРУ ВСЕМ ЗАДНИЦЫ (С) УИЛЛИС

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

По изменению z не покатит - ведь в игре много резких подьемов....или не настолько резких?

Еще причина,почему не покатит - апдейт слишком часто - разницы большой не будет.А если делать реже,чем апдейт то и смысла нет - как там момент поймаешь...

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

 

Ситуация: стою на месте.Инфа в лог о дистанции между предыдущей позицией актора и текущей выводится в апдейте.

Прошу заметить - я даже не трогаю клавиши управления - да и при выведенной консоли это невозможно.

И должно оно выглядеть,как сплошные нули.

Ну почему непременно должно? Фиг его знает, почему движок не сохраняет точно позицию, но это не так уж и странно. От вычислений с плавающей запятой можно ожидать чего угодно. А с практической точки зрения проблем нет, числа там близки к нулю (1E-5 - 1E-6, что составляет несколько игровых микрометров) так что можно спокойно задать безопасную границу в скажем 1E-3 и сказать, что всё, что меньше - стояние на месте.

 

З.Ы. ГГ не пил - он у меня вообще непьющий ;)

А я думаю, что даже если его будет постэффектом колбасить, то это только повлияет на направление камеры =)

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

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

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

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

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

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

Войти

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

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

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