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

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


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

@Zander_driver, далее идут мои умозаключения после "чтения" исходников 1.0007 (есть вероятность что для 1.0006 все аналогично).

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

Gravi_Hit_Power

Gravi_Impulse_To_Enemy

на основании которых наноситься хит, если объект в зоне видимости. Ну и тип хита wound.

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

Tele_Object_Min_Mass

Tele_Object_Max_Mass

где либо влияния массы на размер хита я не нашел.

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

Как-то раз шарил в Config-Scripts-AMK и нашел там спавн и логику мутантов. Тушканчики на Кордоне возле остановки и т.д. Дак вот, заменил тушканов на гражданских, а в логике увеличил расстояние, на которое сабж может отойти от "дома". И тут у меня возникло два вопроса:
1. Можно-ли поставить Зомбированных сталкеров таким же способом, как я поставил гражданских?
2. Могу-ли я в этих же АМКашных файлах (не трогая алл.спавны, скрипты и другие файлы, кроме, опять-таки, АМКашных) создать еще одину точку спавна, указав координаты, вписав туда логику и тех, кого хочу заспавнить? К примеру еще одну пачку зомбей, но возле блокпоста военных.

;[esc_test]


;xyzlg = -265,-15,-143,4177,9
;respawn_section = tushkano_normal
;max_spawn = 1
;idle_spawn = 1
;creature_binded_logic = logic\esc_test


;зомби перед насыпью
[esc_tush1]
xyzlg = -114.37,8.63,74.37,140834,81
respawn_section = zombie_normal,33,zombie_trup,33,zombie_trup2,33,zombie_blow,30
max_count = 31
min_spawn = 21
max_spawn =31
idle_spawn = 26400
creature_binded_logic = logic\esc_tush1

[esc_tush2]
xyzlg = 27.92,1.19,24.79,307462,90
respawn_section = zombie_normal,33,zombie_trup,33,zombie_trup2,33,zombie_blow,30
max_count = 31
min_spawn = 21
max_spawn =31
idle_spawn = 26400
creature_binded_logic = logic\esc_tush2

;тушканы за насыпью
[esc_tush3]
xyzlg = 24.89,3.04,388.09,304714,194
respawn_section = tushkano_normal
max_count = 22
min_spawn = 21
max_spawn = 22
idle_spawn = 26400
creature_binded_logic = logic\esc_tush3

[esc_tush4]
xyzlg = -74.99,2.29,222.96,196323,170
respawn_section = tushkano_normal
max_count = 22
min_spawn = 21
max_spawn = 22
idle_spawn = 26400
creature_binded_logic = logic\esc_tush4
======================================================
ТИПА НОВАЯ ТОЧКА
=============================================================
xyzlg = ///////////////ВПИСАТЬ КООРДИНАТЫ МЕСТА ВОЗЛЕ БЛОКПОСТА////////////////
respawn_section = zombie_normal,33,zombie_trup,33,zombie_trup2,33,zombie_blow,30
max_count = 31
min_spawn = 21
max_spawn =31
idle_spawn = 26400
creature_binded_logic = logic\esc_tush2



И еще, за что отвечают эти строчки?:
max_count = 31
min_spawn = 21
max_spawn =31
idle_spawn = 26400?
Цифры ставил наобум. Как я понимаю, max_count = n - это кол-во зверушек, а что остальное - не могу понять.

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

 

 

К примеру еще одну пачку зомбей, но возле блокпоста военных

 

Можешь. Это просто респаунер и ему все равно кого спаунить. Только имей ввиду, из-за ошибки или это фича такая странная, но все созданные мобы не будут иметь none = true в секции смарт террейнов и при первой же возможности сбегут в свободный смарт.

 

 

 

И еще, за что отвечают эти строчки?: max_count = 31 min_spawn = 21 max_spawn =31 idle_spawn = 26400

 

idle_spawn и min_spawn ни за что не отвечают. Если совсем точно, то idle_spawn = -1 делает тоже самое, что и spawn_once = true. Т.е. выполняет спаун один раз и все. Больше ни для чего не используется. Смешно было, разбирая Солянку, видеть копирование этой фигни из одного респаунера в другой.  Используются следующие параметры:

 

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

 

max_count - максимальное кол-во заспауненых мобов.

 

max_spawn - после спауна min_count мобов будет сделана попытка заспаунить еще max_spawn штук, но что бы кол-во всех мобов не первысило max_count. Имеет смысл при использовании conditions, где задается не 100% вероятность. Т.е.

 

max_spawn = 3

condition = 90

 

будет пытаться заспаунить мобов 3 раза, каждый раз сравнивая math.random( 100 ) с 90. Если меньше, то создаст моба, иначе - нет.

 

Да, и еще одна проблема с этим респаунерами. Там совершенно не обрабатывается момент гибели подопечного. Т.е. возможна такая ситуация:

 

1. Создана плоть

 

2. Плоть убили

 

3. После этого, и перед наступлением времени респауна, в игре создается предмет с таким же id, как у убитой плоти. Гроза, к примеру. Все, теперь это Гроза будет жить в списке респаунера, пока она существует в игровом мире. Т.е. на одну плоть станет меньше, т.к. Грозу никто не убьет.

  • Полезно 2
Ссылка на комментарий

Можешь. Это просто респаунер и ему все равно кого спаунить. Только имей ввиду, из-за ошибки или это фича такая странная, но все созданные мобы не будут иметь none = true в секции смарт террейнов и при первой же возможности сбегут в свободный смарт.

 

 

 

 

idle_spawn и min_spawn ни за что не отвечают. Если совсем точно, то idle_spawn = -1 делает тоже самое, что и spawn_once = true. Т.е. выполняет спаун один раз и все. Больше ни для чего не используется. Смешно было, разбирая Солянку, видеть копирование этой фигни из одного респаунера в другой.  Используются следующие параметры:

 

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

 

max_count - максимальное кол-во заспауненых мобов.

 

max_spawn - после спауна min_count мобов будет сделана попытка заспаунить еще max_spawn штук, но что бы кол-во всех мобов не первысило max_count. Имеет смысл при использовании conditions, где задается не 100% вероятность. Т.е.

 

max_spawn = 3

condition = 90

 

будет пытаться заспаунить мобов 3 раза, каждый раз сравнивая math.random( 100 ) с 90. Если меньше, то создаст моба, иначе - нет.

 

Да, и еще одна проблема с этим респаунерами. Там совершенно не обрабатывается момент гибели подопечного. Т.е. возможна такая ситуация:

 

1. Создана плоть

 

2. Плоть убили

 

3. После этого, и перед наступлением времени респауна, в игре создается предмет с таким же id, как у убитой плоти. Гроза, к примеру. Все, теперь это Гроза будет жить в списке респаунера, пока она существует в игровом мире. Т.е. на одну плоть станет меньше, т.к. Грозу никто не убьет.

Я переписал координаты зомбей (тушканов), которые были перед туннелем с электарми. Теперь место  их появления за деревней новичков, около ямы с аномалиями (там еще плоть разрывает в карусели).

 

[esc_tush2] - вот мои выставленные значения.

xyzlg = 27.92,1.19,24.79,307462,90

respawn_section = zombie_normal,33,zombie_trup,33,zombie_trup2,33,zombie_blow,30,snork_normal,30

max_count = 56

min_spawn = 45

max_spawn = 67

idle_spawn = 5000

 

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

https://pp.vk.me/c635104/v635104651/1be6/ydF3riyTI3s.jpg

Дак вот, т.к. я выставил idle_spawn 5000, то я подумал, что это интервал времени, через который будет спавн недостающих зомбей (специально спал и проверял), но получается, что это кол-во попыток спавна. По крайне мере, ты так сказал, либо я неправильно понял.

Перебил - целая орда снова в пути. А что тогда отвечает за интервал между появлением?

Но я не могу понять, как сделать, допустим, 100 зомби. Я их убиваю, а через 5 часов недостающая часть спавнится снова и так до бесконечности. Какие значения стоит указывать, просто я так и не понял соотношение между этими строками. Больше всего меня смутила "ГРОЗА".

Изменено пользователем Helgi
Добавлено BFG,

СТРОГОЕ ПРЕДУПРЕЖДЕНИЕ !

Оверквотинг.

Не надо бездумно тыкать в кнопочку "Цитата".

Прочитайте п.2.6 правил форума АМК. В этом пункте есть ссылка. Пройдите по ней.

 

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

Логику я убрал вообще, по идее, они должны

 

Я вот сейчас на память не скажу, но кажется мне, если ты в параметре не укажешь файл логики, то будет использоваться дефолтный. Могу ошибаться, надо в скрипте проверить.

 

разбредаться по всей локации, но каким-то образом всей толпой прут в лагерь.

Ты с крысами не перепутал? :) Это они будут разбредаться, а тушканчики кинуться атаковать кого-нибудь, да еще и в таком количестве.

 

Дак вот, т.к. я выставил idle_spawn 5000, то я подумал, что это интервал времени

Я же писал, idle_spawn ни для чего не используется. Во всяком случае в тех респаунерах, что есть в Солянке. Интервал респауна там захаркоден.

 

Но я не могу понять, как сделать, допустим, 100 зомби

xyzlg =

respawn_section =

min_count = 100

max_count = 100

max_spawn = 0

 

Как-то так. По памяти пишу, могу ошибиться. В пустые места допиши свое.

 

Я их убиваю, а через 5 часов недостающая часть спавнится снова и так до бесконечности.

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

 

Больше всего меня смутила "ГРОЗА".

Это был просто пример из практики. Автомато-гранатометный комплекс Гроза. Автомат такой. :)

  • Полезно 3
Ссылка на комментарий

Это был просто пример из практики. Автомато-гранатометный комплекс Гроза. Автомат такой. :)

Да я понял, что автомат. Как-никак, большую часть своей жизни в сталкер отыграл, с момента его выхода. Все-таки мне кажется, что Idle_spawn отвечает за интервал времени. Значение в 5000 = 5 игровым часам. Возможно, что в солянке все по-другому устроено, у меня же простой АМК.

Спасибо за помощь)

 

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

Значение в 5000 = 5 игровым часам.

Это точно не верно. Там как бы секунды: 1 час = 3600, 5ч = 5 * 3600 = 18000, 5000 = 1.4 часа

 

Ну и респавнеры до определенного момента работали неправильно: при сейв/лоад спавн происходил в независимости от заданной частоты спавна.

Изменено пользователем abramcumner
  • Полезно 2
Ссылка на комментарий

 

 

Все-таки мне кажется, что Idle_spawn отвечает за интервал времени

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

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

Как все сложно...

Дело в том, что я не понимаю в скриптах, делаю все методом тыка. Но когда стояло другое значение, они спавнились раз в два дня. Я же не спроста это говорю.

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

По поводу респавнера - все зависит от мода, для солянки+оп2, например, параметр Idle_spawn считывается с конфигов, с ним происходит всякая волшебная  перепетия, но он нигде не используется. т.е. его наличие в конфиге ниначто не влияет. вместо него используется понятие частого и редкого респавна, которое можно задать через опции игры.

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

В system.ltx отредактировать строки:

[hud_cursor]
;все размерv в процентах от длины экрана
cross_length = 0.015 ;длина "палочки" прицела
min_radius = 0.0 ;минимальный радиус прицела (при нулевой дисперсии)
max_radius = 1.0 ;максимальный радиус
radius_lerp_speed = 0.08 ;скорость интерполљяции положений прицела
cross_color = 0.7,0.7,0.7,0.5 ;цвет прицела
disp_scale = 0.08 ;масштаб прицела (относительно радиан)
  • Полезно 1

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

 

В system.ltx отредактировать строки:

 

Нет, это я знаю. Но я имел ввиду полностью, например, сделать прицел в сталкере, как в Crysis или Far Cry. Просто попадались иногда скриншоты модфикаций с интересными прицелами.

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

 

 

Просто попадались иногда скриншоты модфикаций с интересными прицелами.

Форму и вид прицела можно изменить только модификацией движка игры.

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

@Helgi, текстура прицела это ui\cursor.dds, а правка движка блокирует переключение на перекрестие.

  • Полезно 2
Ссылка на комментарий

 

 

Да, и еще одна проблема с этим респаунерами. Там совершенно не обрабатывается момент гибели подопечного. Т.е. возможна такая ситуация: 1. Создана плоть 2. Плоть убили 3. После этого, и перед наступлением времени респауна, в игре создается предмет с таким же id, как у убитой плоти. Гроза, к примеру. Все, теперь это Гроза будет жить в списке респаунера, пока она существует в игровом мире. Т.е. на одну плоть станет меньше, т.к. Грозу никто не убьет.

Разве инструмент, ведущий себя подобным образом, не заслуживает безвозвратного удаления из всех модов и замены на нормальный?

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

Ссылка на комментарий
@Zander_driver,ты удивишься, какие выбери-выражение-сам ошибки сидят в Солянке на протяжении всех этих лет. Впрочем, представление о них ты можешь получить и так, просто почитав эту тему с начала. Попкорн не забудь приготовить. :) Бурные дискуссии типа, что быстрее, table.getn или #tbl приведут тебя к пониманию, какой бред можно встретить в скриптах.
Ссылка на комментарий

Попкорн не забудь приготовить

Мельком и в прошлом, я что-то встречал в этой теме и соседних. И оно всякий раз меня приводило в ужас) В конечном итоге мне пришла в голову мысль, что может быть многие из тех кто называет себя скриптерами, вовсе и не пытались никогда написать такой код который о чудо, работает. Да еще чего доброго, работает правильно.

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

И грустно становится от того что так всегда было и всегда будет.

Добавлено Dennis_Chikin,

А разве по se_respawn'у я в "прозекторской" не ВСЕ распиcал ? Впрочем, возможно. В других темах еще было. В частности, например, вот это вот "назначение/неназначение" в смарты, и много что еще.

 

Впрочем, "на дворе шел 2016 год" ©

  • Согласен 1
  • Полезно 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.

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

А как вернуть оригинальную в АМК 1.4.1?

 

Вообще при вылете не плохо бы выкладывать лог ошибки, иначе пальцем в небо тыкать можно бесконечно. И сразу бы все стало ясно ,в чем ошибка. Но раз лога нет.. В АМК наверно (не помню) используется измененный скрипт управления погодой - посмотри level_weathers.script (Или как-то так), а точнее удали/переименуй его. Да и погода еще наверно на выброс завязана, учитывай этот факт.

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

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

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

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

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

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

Войти

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

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

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