Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Генератор шаблонов поведение npc или снова о .efd
Trollz0r
сообщение 23.07.2017, 22:45
Сообщение #1


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Итак, с 2015 года у нас есть сам генератор. Кто-то уже понял, как он работает и как использовать его на благо комьюнити?


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
NanoBot-AMK
сообщение 23.07.2017, 22:59
Сообщение #2


Почти Мастер
***********

Репутация:   75  
Группа: Участник
Сообщений: 1168
Награды: 4
Регистрация: 10.11.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Мне надо понять как НПС выбирает оружие, я сейчас сделал костыль для гравипривода: при активации просто удаляет все патроны, кроме патронов гравипривода, что заставляет НПС выбрать именно его, и при деактивации спавнит обратно, пока не отладил как надо. Если понять как это работает, может быть можно сделать проще, просто настройками конфига.
Файлы которые участвуют выборе параметров.
ef_base.h
ef_pattern.cpp
ef_pattern.h
ef_primary.cpp
ef_primary.h
ef_storage.cpp
ef_storage.h
ef_storage_inline.h
ef_storage_script.cpp
ЗЫ
Есть мысль сделать скиптовый усилитель приоритетов в выборе оружия, но это уже XE, скриптом можно повысить приоритет так, что НПС выберет указанное оружие без вариантов. Всё адреса функций указанных в этих файлах в IDA я нашёл, не смотря что они виртуальные.

Сообщение отредактировал NanoBot-AMK - 23.07.2017, 23:10


--------------------
СТАЛКЕР только для ПК!
Перейти в начало страницы
 
ForserX
сообщение 23.07.2017, 23:29
Сообщение #3


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Ночью гляну.


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
NanoBot-AMK
сообщение 23.07.2017, 23:56
Сообщение #4


Почти Мастер
***********

Репутация:   75  
Группа: Участник
Сообщений: 1168
Награды: 4
Регистрация: 10.11.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Странная функция.
ef_primary.cpp
CODE
float CPersonalWeaponTypeFunction::ffGetTheBestWeapon()
{
u32 dwBestWeapon = 0;

if (ef_storage().non_alife().member() && ef_storage().non_alife().member_item())
return (float(dwfGetWeaponType()));

if (ef_storage().non_alife().member()) {
const CInventoryOwner *tpInventoryOwner = smart_cast<const CInventoryOwner*>(ef_storage().non_alife().member());
if (tpInventoryOwner) {
xr_vector<CInventorySlot>::const_iterator I = tpInventoryOwner->inventory().m_slots.begin();
xr_vector<CInventorySlot>::const_iterator E = tpInventoryOwner->inventory().m_slots.end();
for ( ; I != E; ++I)
if ((*I).m_pIItem) {
CWeapon *tpCustomWeapon = smart_cast<CWeapon*>((*I).m_pIItem);
if (tpCustomWeapon && (tpCustomWeapon->GetAmmoCurrent(true) > tpCustomWeapon->GetAmmoMagSize()/10)) {
ef_storage().non_alife().member_item() = tpCustomWeapon; <-- назначить оружие
u32 dwCurrentBestWeapon = dwfGetWeaponType();
if (dwCurrentBestWeapon > dwBestWeapon)
dwBestWeapon = dwCurrentBestWeapon;
ef_storage().non_alife().member_item() = 0; <-- удалить оружие
}
}
}
}
else {
if (!ef_storage().alife().member() || !ef_storage().alife().member()->m_tpCurrentBestWeapon)
return(0);
ef_storage().alife().member_item() = ef_storage().alife().member()->m_tpCurrentBestWeapon;
dwBestWeapon = dwfGetWeaponType();
}
return(float(dwBestWeapon));
}

Явно баг какой-то.


--------------------
СТАЛКЕР только для ПК!
Перейти в начало страницы
 
ForserX
сообщение 24.07.2017, 01:38
Сообщение #5


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Как я понял:
Айдишники.
Цитата
;function types
; primary functions
Distance = 0
GraphPointType0 = 1
EquipmentType = 2
ItemDeterioration = 3
EquipmentPreference = 4
MainWeaponType = 5
MainWeaponPreference = 6
ItemValue = 7
WeaponAmmo = 8
DetectorType = 9

PersonalHealth = 21
PersonalMorale = 22
PersonalCreatureType = 23
PersonalWeaponType = 24
PersonalAccuracy = 25
PersonalIntelligence = 26
PersonalRelation = 27
PersonalGreed = 28
PersonalAggressiveness = 29
PersonalEyeRange = 30
PersonalMaxHealth = 31

EnemyHealth = 41
EnemyCreatureType = 42
EnemyWeaponType = 43
EnemyEquipmentCost = 44
EnemyRukzakWeight = 45
EnemyAnomality = 46
EnemyEyeRange = 47
EnemyMaxHealth = 48
EnemyAnomalyType = 49
EnemyDistanceToGraphPoint = 50

; complex functions
WeaponEffectiveness = 61
CreatureEffectiveness = 62
IntCreatureEffectiveness = 63
AccWeaponEffectiveness = 64
FinCreatureEffectiveness = 65
VictoryProbability = 66
EntityCost = 67
Expediency = 68
SurgeDeathProbability = 69
EquipmentValue = 70
MainWeaponValue = 71
SmallWeaponValue = 72
TerrainType = 73
WeaponAttackTimes = 74
WeaponSuccessProbability = 75
EnemyDetectability = 76
EnemyDetectProbability = 77
EnemyRetreatProbability = 78
AnomalyDetectProbability = 79
AnomalyInteractProbability = 80
AnomalyRetreatProbability = 81
BirthPercentage = 82
BirthProbability = 83
BirthSpeed = 84


Код:
Цитата
8 3 ; Какие-то странные ID, как понимаю, из того же списка
EnemyAnomalyType DetectorType AnomalyDetectProbability ; задаём параметры для установки значений
1 1 20 ; Первый тип зоны, первый тип детектора, вероятность обнаружения
1 2 60 ; Первый тип зоны, второй тип детектора, вероятность обнаружения
1 3 100 ; Первый тип зоны, третий тип детектора, вероятность обнаружения


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
Карлан
сообщение 25.07.2017, 00:04
Сообщение #6


Геймер
******

Репутация:   9  
Группа: Участник
Сообщений: 110
Награды: 2
Регистрация: 21.09.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


biggrin.gif ето ор.

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

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


--------------------
Перейти в начало страницы
 
ForserX
сообщение 25.07.2017, 01:55
Сообщение #7


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Карлан, прока от них никакого, как я понял из твоих слов?


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
Trollz0r
сообщение 25.07.2017, 21:44
Сообщение #8


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Карлан @ 24.07.2017, 22:07) *
разобрались конкретно с этим уже давным-давно
Давай конкретнее, пока тебе не влепили пред за флуд и строчные буквы в начале предложения.


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
Карлан
сообщение 06.08.2017, 13:28
Сообщение #9


Геймер
******

Репутация:   9  
Группа: Участник
Сообщений: 110
Награды: 2
Регистрация: 21.09.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


во 1) конретно я уже сказал, или ты среьезно думаешь что я буду десятки патернов расписывать? biggrin.gif
вовторых где ты увидел флуд?
втетьих 3) что ты мне сделаешь ты не модер.
за строчные буквы в начале предложения извени.


--------------------
Перейти в начало страницы
 
Trollz0r
сообщение 06.08.2017, 16:49
Сообщение #10


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Да куда там десятки, тебе и один слабо расписать smile.gif видимо, стоящий сзади модератор с ремешком настолько плотно вошёл в сознание некоторых амкасов, что на других форумах сразу начинается спутанность мыслей, пальцы перестают попадать по клавишам...


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
macron
сообщение 06.08.2017, 20:59
Сообщение #11


Игровой Бог
**********************

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 06.08.2017, 16:52) *
видимо, стоящий сзади модератор с ремешком настолько плотно вошёл в сознание некоторых амкасов

Перейти в начало страницы
 
Карлан
сообщение 22.08.2017, 13:39
Сообщение #12


Геймер
******

Репутация:   9  
Группа: Участник
Сообщений: 110
Награды: 2
Регистрация: 21.09.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


во только на слабо меня еще и не брали biggrin.gif . ты когда разберешься мой пост перечитай, если с чем-то будешь не согласен спрашивай, я на все свои слова могу дать дополнительные пояснения со ссылками на конкретный код, мне не сложно. а то что ты просишь требует трех составляющих, знания, времени и желания, если с первым все хорошо, то со вторым и третьим вообще никак, так что ты прав.


--------------------
Перейти в начало страницы
 
Trollz0r
сообщение 22.08.2017, 14:44
Сообщение #13


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


а ты случайно не на водонасосной станции работаешь? smile.gif так много слов и всё вода.


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
NanoBot-AMK
сообщение 22.08.2017, 17:29
Сообщение #14


Почти Мастер
***********

Репутация:   75  
Группа: Участник
Сообщений: 1168
Награды: 4
Регистрация: 10.11.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(NanoBot-AMK @ 23.07.2017, 22:59) *
Есть мысль сделать скиптовый усилитель приоритетов в выборе оружия

Реализовал гораздо проще.
set_script_best_weapon(game_object, boolean)
get_script_best_weapon()
Первый метод устанавливает лучшие оружие, второй показывает. Булева, если равна true, то НПС не меняет оружие, даже если кончились патроны, если false, то сменит оружие.
Метод работает просто, в функции CAI_Stalker::update_best_item_info() проверка проверяет, если параметр m_script_best_weapon не равно nil, то установить именно это оружие.
В общем работает, можно задать нож, и НПС выберет его, даже если в инвентаре будет пулемёт с патронами.
ЗЫ
Ах да, реализовал в XRayExtensions.

Сообщение отредактировал NanoBot-AMK - 22.08.2017, 17:30


--------------------
СТАЛКЕР только для ПК!
Перейти в начало страницы
 
ForserX
сообщение 12.06.2019, 17:47
Сообщение #15


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Топик снова актуален. Кто-нибудь что-нибудь с этим делал?


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
ForserX
сообщение 12.06.2019, 21:36
Сообщение #16


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа




Получить бы алгоритм записи... А то значения расходятся. С атомиками всё понятно, в отличии от значений структур

Причём само странно, что max value считается неправильно. Как-будто бы пропустили последний индекс в массиве. Сейчас попробую перегенерировать, сместив данные немного, мб так и выйдет.



Да, индекс неправильный в алгоритме


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
atanda
сообщение 12.06.2019, 22:00
Сообщение #17
Pro gamer

Почти Игроман
*********

Репутация:   72  
Группа: Участник
Сообщений: 622
Регистрация: 05.11.2017




Вставить ник Цитировать выделенное в форуму быстрого ответа


Может я что пропустил, а вы разобрались что это такое?

Судя по названию... шаблоны поведения?%] мини-мини-мини нейронная сеть?(вообще не разбираюсь)
Перейти в начало страницы
 
hi_flyer
сообщение 12.06.2019, 22:04
Сообщение #18


Мастер Игры
************

Репутация:   232  
Группа: Друзья GM
Сообщений: 1299
Награды: 4
Регистрация: 05.03.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


ForserX,
А насколько это актуально для того же движка ЗП? Оно разве там вообще используется?
Я так бегло смотрел - это всё вроде рудименты времен OL.


--------------------
Перейти в начало страницы
 
ForserX
сообщение 12.06.2019, 22:22
Сообщение #19


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


http://xray-oxygen.org/index.php/A-Life:_Шаблоны_Поведения

Всё, что нашёл, пока мне не надоело. Остался принцип генерации. И посмотреть принцип работы. Утилиту для депарсинга залью в репо окси чуть позже.

hi_flyer, чекни вики окси. Я там описал, что реально используется.

Цитата(hi_flyer @ 12.06.2019, 22:04) *
А насколько это актуально для того же движка ЗП? Оно разве там вообще используется?

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

buffy, как мне ответил один из олдов: некий машинный просчет коэфов для ситуаций.


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
cjayho
сообщение 12.06.2019, 22:34
Сообщение #20


Мастер Игры
************

Репутация:   248  
Группа: Участник
Сообщений: 1363
Награды: 4
Регистрация: 08.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


QUOTE (NanoBot-AMK @ 23.07.2017, 22:56) *
Странная функция.
---//---
Явно баг какой-то.


там пол-двигла такое. Сделанное с помощью черной магии и синей изоленты


--------------------
Набор шейдеров для S.T.A.L.K.E.R: Shadow of chernobyl: ECB-Shaderpack - https://github.com/cjayho/ecb-shaderpack/

------

Продюсер электронной музыки в стиле Dark Ambient, автор саундтрека для Desowave S.T.A.L.K.E.R.: Lost Alpha.

Spotify | Apple Music | YouTube | BandCamp | AudioMack
Перейти в начало страницы
 

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 18.04.2024, 10:27