Перейти к содержанию

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

 
 

Всем привет! Начал заменять модели NPC на новые (из True Stalker) с обычными неписями всё нормально, но при попытке заменить именных NPC (Борода, Лоцман, Султан и т.д. у кого есть свои "лица") не могу начать с ними диалог. Ещё при наведении на них не отображается их имя и группировка. В чём может быть проблема? Ведь по сути я меняю только модель .ogf. Однако если отойти достаточно далеко (чтобы NPC пропали) и вернуться обратно, то всё становиться нормально.

В самих моделях изменил тело, а голову оставил как есть.

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
12 часов назад, fenit сказал:

могут не атаковать новых мутантов

Забыл прописать группировку, либо не настроил communities_relations в game_relations.ltx. Похоже что эти монстры не юзают группировку monster. Не смотрел - не знаю. Также сталкеры могут быть в зоне(ресктрикторе) где нельзя агриться. Можно на апдейте у монстров или через выход в онлайн посмотреть какая группировка через логирование

 

9 часов назад, стрелок_2009 сказал:

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

Объясню по-простому. Ищут с помощью движковой схемы property_items, подбирают они через take_items_enabled с булевым значением, а выбор оружия неписями best_weapon. А дальше используют оружие через эвалуатор(ы) и апдейта state_mgr нужно ли оружие страпать или нет

Изменено пользователем Mass
  • Мастер! 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Mass сказал:

 

1 час назад, Mass сказал:

Объясню по-простому. Ищут с помощью движковой схемы property_items, подбирают они через take_items_enabled с булевым значением, а выбор оружия неписями best_weapon. А дальше используют оружие через эвалуатор(ы) и апдейта state_mgr нужно ли оружие страпать или нетОбъясню по-простому. Ищут с помощью движковой схемы property_items, подбирают они через take_items_enabled с булевым значением, а выбор оружия неписями best_weapon. А дальше используют оружие через эвалуатор(ы) и апдейта state_mgr нужно ли оружие страпать или нет

У меня проблема в другом, я прописал в character_desc_general чейзер нпс, но они используют пистолет, даже не знаю что за хрень и как её чинить, типо урон у чейзера больше чем у пистолета но они его не используют

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


Ссылка на сообщение
Поделиться на другие сайты
 

стрелок_2009 Новые пистолеты добавлялись? И точно используется чистая версия ЗП без модов?

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


Ссылка на сообщение
Поделиться на другие сайты
 
17 минут назад, Mass сказал:

стрелок_2009 Новые пистолеты добавлялись?

Нет, только оригинальный

17 минут назад, Mass сказал:

И точно используется чистая версия ЗП без модов?

Чистая но я на него всякое делаю, но оружие и логику нпс не трогал

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


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, стрелок_2009 сказал:

У меня проблема в другом, я прописал в character_desc_general чейзер нпс, но они используют пистолет

Вам уже четко и ясно ответили, что НПС выбирает оружие согласно рангу из mp_ranks.ltx. На минуточку ранг Чейзера = 1, а это значит, что почти любой ствол или равен или лучше его! Урон ствола никак не влияет. И да для оружия в инвентаре НПС должна быть пачка патронов, иначе НПС не сможет его использовать.


10 часов назад, Мамай сказал:

В чём может быть проблема?

Боне-шейпы не прикручены к модели. А если в целом некорректные/отсутсвующие  настройки скелета модели в SDK.

Изменено пользователем denis2000
  • Мастер! 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
4 минуты назад, denis2000 сказал:

Вам уже четко и ясно ответили, что НПС выбирает оружие согласно рангу из mp_ranks.ltx. На минуточку ранг Чейзера = 1, а это значит, что любой ствол или равен или лучше его!

А что лучше ранг 0 или ранг 4? Ну просто почти всё оружие прописано в 0 ранг,  я просто плохо разбираюсь в строении этого файла

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


Ссылка на сообщение
Поделиться на другие сайты
 

стрелок_2009 Чем выше номер том лучше.

  • Мастер! 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, denis2000 сказал:

Чем выше номер том лучше.

На сколько я помню mp_ranks не используется для выбора оружия. Пм они юзают для того чтобы стрелять на дальние расстояния. Предположим в оригинале мы спавним непися с рангом новичок. Допустим у нас попался нпс, который имеет  wpn_toz34 и wpn_pm. Кидаю рядом другой обрез спа14. Ничего! Нуль реакции. Кидаю отбойник, который у меня в ранге 4. Тоже ничего. Меняю Протекте ef_weapon_type и непись с тем содержимым бежит за отбойником

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
26 минут назад, Mass сказал:

Допустим у нас попался нпс, который имеет  wpn_toz34 и wpn_pm. Кидаю рядом другой обрез спа14. Ничего!

Вы путаете подъем ствола и приоритет использования в инвентаре. Насколько я помню эти разные процессы регулируются по разному .


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000 Ничего подобного. Сделал. Переместил тоз34 в ранг 3, пм оставил на том же месте и при спавне непися у него best_weapon и active_item оружие pm. Хотя видно что анстрапнулось оружие toz34

Спойлер

ssq_rozen_02-21-25_19-55-26_(zaton).PNG.1aca030581ecaa78acf3103ccfc7cb1b.PNG

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

Mass Значит память меня подводит, смотрите движковую функцию best_weapon(), как она выбирает оружие.


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000  Похоже движок(best_weapon) ссылается на файл weaponeffectiveness.efd

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


Ссылка на сообщение
Поделиться на другие сайты
 
8 часов назад, denis2000 сказал:

Боне-шейпы не прикручены к модели. А если в целом некорректные/отсутсвующие  настройки скелета модели в SDK.

 

Можно ли их настроить в OGF\DM\Details\Obj Editor v4.1 ,Object Editor v4.4 ? Или мне в SDK надо идти?

image.png.a2e8bc24fa804aac5a67b18c82d87916.png

Где-то тут указывать Shape type?

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000 я прописал чейзер и спас в ранг 2 но все равно нечего не произошло, я убил нпс и заметил что у него даже дробь не заспавнилась, хотя я прописывал и чейзер и патроны в профиль. Я вообще думаю может это как то связано с рангом нпс ведь я просто прописываю его мастеру-свободовцу

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


Ссылка на сообщение
Поделиться на другие сайты
 

Мамай Тут, по ходу, не хватает настроек. Например размера, расположения, диапазона углов поворота суствов. Настройки проще всего подгрузить к модели НПС в SDK из готового файла *.bones. Пошерстите в интернете готовый.

Изменено пользователем denis2000
  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
13 часов назад, Mass сказал:

Похоже что эти монстры не юзают группировку monster.

Используют.

13 часов назад, Mass сказал:

Также сталкеры могут быть в зоне(ресктрикторе) где нельзя агриться.

Нет, они не в его зоне. Более того, на локации ни одного такого нет.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Пытаюсь разобраться уже не первое время (та и тут писал по-моему) насчёт того, что НПС роняют оружие и убегают.
Как вообще вырезать возможность дропа оружия из рук НПС (в character_desc прописывал сколько хочешь кол-во патронов). Как я понял, роняют они оружие не (только) от того, что патроны кончаются, а при ранении и т.д.
В скриптах в state_mgr пытался вырезать drop_weapon но не помогло.
Кто может подсказать? Буду благодарен.

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 20.02.2025 в 20:43, fenit сказал:

Почему неписи (симуляционные и нет) могут не атаковать новых мутантов (конкретно брал их из R.P.A. мода)? Они просто стоят и ждут пока их не загрызут.

У монстров должен быть настроен параметр species и введен в соответствующую таблицу monster_relations в game_relations.ltx. Можно просто взять уже существующий.


Дополнено 0 минут спустя
20 часов назад, Mass сказал:

Забыл прописать группировку, либо не настроил communities_relations в game_relations.ltx. Похоже что эти монстры не юзают группировку monster.

Отношения с монстрами и между монстрами настраиваются через параметр species. Это отдельная таблица. У всех живых вещей должен быть прописан правильный species. У людей он тоже есть, это human (а у зомби и монолита - zombie). 

  • Мастер! 1

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


Ссылка на сообщение
Поделиться на другие сайты
 

Существует ли в игре проверка на выброс в логике? 

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


Ссылка на сообщение
Поделиться на другие сайты
 

NewValveCom 

use_single_item_rule = off ; Чтобы непись при подборе предметов не дропал оружие
can_select_items  = on ; Апдейт выбора оружия

1 час назад, NewValveCom сказал:

Как вообще вырезать возможность дропа оружия из рук НПС

Можно через transfer_item вернуть оружие или если для раненных в анимациях состояние оружия изменить drop на strapped


Дополнено 1 минуту спустя

Paradox27kms surge_started()


Дополнено 21 минуты спустя

Mawrak Хм... Что это за мод где не настроены эти параметры? Автоматом подумал уж species есть в конфигах монстров. Хотя я вёл в заблуждение человека, дав неправильную инфу. Сквад группировка monster в оригинале ни как не влияет на отношение к ней у сталкеров

  • Мастер! 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Mass сказал:

Что это за мод где не настроены эти параметры? Автоматом подумал уж species есть в конфигах монстров.

Ну я не знаю, что у человека за конфиги, если это новые монстры, то может у них новые species добавлены были? А если их не ввести в таблицу, то могут быть странные вещи. 

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


Ссылка на сообщение
Поделиться на другие сайты
 
8 часов назад, Mawrak сказал:

У монстров должен быть настроен параметр species и введен в соответствующую таблицу monster_relations в game_relations.ltx. Можно просто взять уже существующий.


Дополнено 0 минут спустя

Отношения с монстрами и между монстрами настраиваются через параметр species. Это отдельная таблица. У всех живых вещей должен быть прописан правильный species. У людей он тоже есть, это human (а у зомби и монолита - zombie). 

У меня это настроено, отношения с людьми и актором -2 везде.

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


Ссылка на сообщение
Поделиться на другие сайты
 

fenit Проблема может быть в настройках добавленного мутанта, в АИ-сетке, в логике НПС/скриптах.

1. Замените мутанта в этом месте на существующего и если проблема уйдет то покажите конфиг мутанта + геймрелейшен, решение возможно там.
2. Если первый пункт не помог, анализируйте логику НПС и что происходит с НПС начиная с xr_motivator.script
3. Если и второй пункт не помог, проверьте АИ-сетку в данном месте локации или перенесите спавн мутантов и НПС при необходимости исправьте сетку.


18 часов назад, Mass сказал:

Похоже движок(best_weapon) ссылается на файл weaponeffectiveness.efd

Вы анализируете скриптовый метод best_weapon, а вот какие движковые функции реально работают при выборе ствола НПС из инвентаря я не знаю.

Изменено пользователем denis2000
  • Мастер! 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000, при замене на собак неписи начинают по ним стрелять, так что:

Спойлер

[game_relations]
;реальное разделение на группы репутаций на шкалы
rating			= novice, 300, experienced, 600, veteran, 900, master
monster_rating	= weak, 400, normal, 800, strong
reputation		= terrible, -1000, very_bad, -150, bad, -50, neutral, 50, good, 150, very_good, 1000, excellent

;шкалы для вывода названий вместо чисел
;рейтингов, репутаций и благосклонности в интерфейсе
rating_names		= novice, 30, experienced, 60, veteran, 90, master
reputation_names	= terrible, -1000, very_bad, -150, bad, -50, neutral, 50, good, 150, very_good, 1000, excellent
goodwill_names      = enemy, -400, indifferent, 500, friendly

;пороговые значения для отношения персонажей
attitude_neutal_threshold = -999		;когда attitude меньше значения, то выставляется ALife::eRelationEnemy
attitude_friend_threshold =  999		;когда attitude меньше значения, то выставляется ALife::eRelationNeutral, иначе ALife::eRelationFriend

;константы, которые присвоят скриптовые функции set_relation для personal goodwill
goodwill_enemy  = -1000
goodwill_neutal = 0
goodwill_friend = 1000

;названия группировок (порядок должен совпадать с communities_relations)
communities		= actor, 0, bandit, 1, dolg, 2, ecolog, 3, freedom, 4, killer, 5, army, 6, monolith, 7, monster, 8, stalker, 9, zombied, 10
;communities		= actor, 0, actor_dolg, 1, actor_freedom, 2, stalker, 5, monolith, 6, army, 7, killer, 8, ecolog, 9, dolg, 10, freedom, 11, bandit, 12, zombied, 13, csky, 14, trader, 15, arena_enemy, 16, monster, 17

;	отношение персонажа к актеру (или другому NPC) вычисляется по формуле
;	attitude = personal_goodwill +				//личное отношение персонажа к актеру (если раньше не встречались, то 0)
;			   community_goodwill +				//отношение группировки персонажа лично к актеру (если раньше контактов не было, то 0)
;			   community_to_community +			//отношение группировки персонажа к группировке актера из [communities_relations]
;              reputation_goodwill +			//отношение репутации персонажа к репутации актера из [reputation_relations]
;			   rank_goodwill					//отношение ранга персонажа к рангу актера из [rank_relations]
;   столбцы и строки дописывать в алфавитном порядке!

[communities_relations]
;              |actor|bandit| dolg|ecolog|freedom|killer|    army|monolith|monster|stalker| zombied|
;===================================================================================================
actor         =     0,     0,	 0,     0,   	0,     0,       0,   -5000,  -5000,      0,   -5000
bandit        =     0,  5000,-5000,     0,  -5000,     0,   -5000,   -5000,  -5000,  -1000,   -5000
dolg          =     0, -5000, 5000,     0,  -5000,     0,       0,   -5000,  -5000,      0,   -5000
ecolog        =     0,     0,    0,     0,      0,     0,       0,       0,      0,      0,       0
freedom       =     0, -5000,-5000,     0,   5000,     0,       0,   -5000,  -5000,      0,   -5000
killer        =     0,     0,    0,     0,      0,  1000,   -5000,   -5000,  -5000,      0,   -5000
army      	  =     0, -5000,    0,     0,      0, -5000,    1000,   -5000,  -5000,      0,   -5000
monolith      = -5000, -5000,-5000,     0,  -5000, -5000,   -5000,    1000,  -5000,  -5000,    1000
monster       = -5000, -5000,-5000,     0,  -5000, -5000,   -5000,   -5000,      0,  -5000,   -5000
stalker       =     0, -1000,    0,     0,      0,     0,       0,   -5000,  -5000,      0,   -5000
zombied       = -5000, -5000,-5000,     0,  -5000, -5000,   -5000,    1000,  -5000,  -5000,    1000


[rank_relations]
;			  	novice, experienced, veteran, master
;================================================================
novice			=	0,		0,        0,		0
experienced		=   0,		0,        0,		0
veteran			=   0,      0,        0,        0
master			=   0,      0,        0,        0



[reputation_relations]
;			   terrible, very_bad, bad, neutral, good, very_good, excellent
;================================================================
terrible		=	0,		0,		0,	    0,	  0,	  0,	 0
very_bad		=	0,		0,		0,	    0,	  0,	  0,	 0
bad	        	=	0,		0,		0,	    0,	  0,	  0,	 0
neutral			=	0,		0,		0,	    0,	  0,	  0,	 0
good			=	0,		0,		0,	    0,	  0,	  0,	 0
very_good		=	0,		0,		0,	    0,	  0,	  0,	 0
excellent		=	0,		0,		0,	    0,	  0,	  0,	 0


;
; очки рейтинга и репутации начисляемые за определенные действия
;

;очки рейтинга, получаемые за убийство персонажа
;с определенным статусом
[rank_kill_points]
novice			=        0
experienced		=		 0
veteran			=        0
master			=        0

;коэффициенты "сочувствия" группировок
;после воздействия на одного из членов группировки
;goodwill его распространится на остальных членов группировки
;с определенным коэффициентом
;(порядок должен совпадать с communities_relations)
[communities_sympathy]
actor			=		0.0
bandit			=		0.0
dolg			=		0.0
ecolog			=		0.0
freedom			=		0.0
killer			=		0.0
army			=		0.0
monolith		=		0.0
monster			=		0.0
stalker			=		0.0 ;0.01
zombied			=		0.0




;очки рейтинга, репутации и доброжелательности начисляемые
;в зависимости от совершенного действия
[action_points]
personal_goodwill_limits			= -3000, 1000
community_goodwill_limits			= -3000, 1000


;-------------------------------------------------------
;убийство члена группировки отражается на отношении
;группировки (умножается на communities_sympathy)
community_member_kill_goodwill  = -1000
friend_kill_goodwill			= -3000 ;-1000
neutral_kill_goodwill			= -3000
enemy_kill_goodwill				= -1

free_community_member_attack_goodwill  	= -500
free_friend_attack_goodwill				= -3000 ;-2500
free_neutral_attack_goodwill			= -3000
free_enemy_attack_goodwill				= -1

danger_community_member_attack_goodwill = -1
danger_friend_attack_goodwill			= -1
danger_neutral_attack_goodwill			= -1
danger_enemy_attack_goodwill			= -1

friend_kill_reputation				= 0
neutral_kill_reputation				= 0
enemy_kill_reputation				= 0
free_friend_attack_reputation		= 0
free_neutral_attack_reputation		= 0
free_enemy_attack_reputation		= 0
danger_friend_attack_reputation		= 0
danger_neutral_attack_reputation	= 0
danger_enemy_attack_reputation		= 0


;помощь актера персонажу во время боя
community_member_fight_help_goodwill	= 1000
friend_fight_help_goodwill   			= 200
neutral_fight_help_goodwill	 			= 200
enemy_fight_help_goodwill    			= 1

friend_fight_help_reputation  = 0
neutral_fight_help_reputation = 0
enemy_fight_help_reputation	  = 0







;--------------------------------------------------
;(сек) минимальное время через которое снова будет зарегистрировано
;сообщение об атаке на персонажа, и соответственно вычтеся attack_goodwill и attack_reputation
;(работает аналогично и при помощи другим персонажам в бою)
min_attack_delta_time = 1
fight_remember_time = 0.2		;(cек) время которое про драку будет помнить реестр

;свойства, которые изменяются у сталкеров в
;зависимости от их ранга
;коэффициенты линейно интерполируются для рангов от 0 (novice) до 100 (experienced)










[ranks_properties]
immunities_novice_k			= 1.0
immunities_experienced_k	= 1.0

visibility_novice_k			= 1
visibility_experienced_k	= 1

dispersion_novice_k			= 1.0
dispersion_experienced_k	= 0.05


; диапазон изменения рангов при регистрации в новом смарт террейне
[smart_terrain_rank_change]
min = 1
max = 2

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; for monsters
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[monster_communities]
;номера team которые присваиваются соответствующим видам
;255 - команда не задается
communities = actor, 255, human, 255, zoo_monster, 39, boar, 40, bloodsucker, 41, flesh, 42,  dog, 43, pseudodog, 44, cat, 45, chimera, 46, giant, 47, zombie, 48,  burer, 49, controller, 50, poltergeist, 51, snork, 52, fracture, 53, bird, 54, rat, 55, tushkano, 56, spider, 57

[monster_relations]
; [1] друг, [0] нейтрал, [-1] враг, [-2] злейший враг
;				    actor,human,zoo_monstr, boar, bloodsucker, flesh,  dog, pseudodog, cat, chimera, giant, zombie,  burer, controller, poltergeist, snork, fracture, bird,   rat, tushkano, spider
;====================================================================================================================================================================================================
actor			=	 1,		 1,	    1,		-1,		-1,			-1,		-1,		 0,		-1,		-1,		-1,		-1,		-1,		-1,			-1,			-1,		-1,		0,		 0,		-1		-2
human			= 	 0,		 1,	    1,		-1,		-1,			-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,			-1,			-1,		-1,		0,		 0,		-1		-2
zoo_monster		=	 1,		 1,		0,		 0,		 0,			 0,		 0,		 0,		 0,		 0,		 0,		 0,		 0,		 0,			 0,			 0,		 0,		0,		 0,		 0		-2
boar			=	-2,		-2,		0,		 1,		-1,			 0,		-1,		-1,		 0,		-1,		-1,		 0,		-1,		 0,			 0,			-1,		 0,		0,		 0,		-1		-2
bloodsucker		=	-2,		-2,		0,		-1,		 1,			-1,		-1,		-1,		 0,		 0,		-1,		 0,		-1,		-1,			 0,			-1,		 0,		0,		 0,		 0		-2
flesh			=	-2,		-2,		0,		 1,		-1,			 1,		-1,		-1,		 0,		-1,		 0,		 0,		 0,		 0,			 0,			-1,		 0,		0,		 0,		-1		-2
dog				=	-2,		-2,		0,		-1,		-1,			-1,		 1,		 1,		 0,		 0,		-1,		 0,		-1,		 0,			 0,			-1,		 0,		0,		 0,		 0		-2
pseudodog		=	 0,		-2,		0,		-1,		-1,			-1,		 1,		 1,		 0,		 0,		-1,		 0,		-1,		 0,			 0,			-1,		 0,		0,		 0,		 0		-2
cat				=	-2,		-2,		0,		 0,		 0,			 0,		 0,		 0, 	 1,		 0,		 0,		 0,		 0,		 0,			 0,			 0,		 0,		0,		 0,		 0		-2
chimera			=	-2,		-2,		0,		-1,		 0,			-1,		 0,		 0,		 0, 	 1,		-1,		 0,		-1,		-1,			 0,			-1,		 0,		0,		 0,		 0		-2
giant			=	-2,		-2,		0,		-1,		-1,			 0,		-1,		-1,		 0,		-1,		 1,		 0,		 0,		 0,			 0,			 0,		 0,		0,		 0,		-1		-2
zombie			=	-2,		-2,		0,		 0,		 0,			 0,		 0,		 0,		 0,		 0,		 0,		 1,		 0,		 0,			 0,			 1,		 0,		0,		 0,		 0		-2
burer			=	-2,		-2,		0,		-1,		-1,			 0,		-1,		-1,		 0,		-1,		 0,		 0,		 1,		 0,			 0,			 0,		 0,		0,		 0,		 0		-2
controller		=	-2,		-2,		0,		 0,		-1,			 0,		 0,		 0,		 0,		-1,		 0,		 0,		 0,		 1,			 0,			-1,		 0,		0,		 0,		 0		-2
poltergeist		=	-2,		-2,		0,		 0,		 0,		     0,		 0,		 0,		 0,		 0,		 0,		 0,		 0,		 0,			 1,			 0,		 0,		0,		 0,		 0		-2
snork			=	-2,		-2,		0,		-1,		-1,			-1,		-1,		-1,		 0,		-1,		 0,		 1,		 0,		-1,			 0,			 1,		 0,		0,		 0,		 0		-2
fracture		=	-2,		-2,		0,		 0,		 0,			 0,		 0,		 0,		 0,		 0,		 0,		 0,		 0,		 0,			 0,			 0,		 1,		0,		 0,		 0		-2
bird			=	 0,		 0,		0,		 0,		 0,			 0,		 0,		 0,		 0,		 0,		 0,		 0,		 0,		 0,			 0,			 0,		 0,		1,		 0,		 0		-2
rat				=	-2,		-1,		0,		 0,		 0,			 0,		 0,		 0,		 0,		 0,		 0,		 0,		 0,		 0,			 0,			 0,		 0, 	0,		 1,		 0		-2
tushkano		=	-2,		-1,		0,		-1,		 0,			-1,		 0,		 0,		 0,		 0,		-1,		 1,		 0,		 0,			 0,			 1,		 0,		0,		 0,		 1		-2
spider			=	-2,		-2,	   -2,		-2,		-2,			-2,		-2,	    -2,	    -2,		-2,		-2,	    -2,		-2,		-2,			-2,			 1,		-2,	   -2,		-2,		 0		 1

 

Спойлер

;R.P.A.mod
;===========================================================================
; Spider
;===========================================================================
[m_spider_e]:monster_base
GroupControlSection		= spawn_group
SpaceRestrictionSection = space_restrictor,zone_mosquito_bald
;$spawn					= "monsters\boars\boar_base"		 ; option for Level Editor
$npc					= on								 ; option for Level Editor
$prefetch 				= 16
visual					= monsters\spider\spider
corpse_visual			= monsters\spider\spider
icon					= ui_npc_monster_spider

;------------------------------------------------------------------------
; Offline Alife
;------------------------------------------------------------------------
Scheduled				= on								 ; option for ALife Simulator
Human		     		= off								 ; option for ALife Simulator
Health					= 20								 ; option for ALife Simulator
MinSpeed				= 2.0								 ; option for ALife Simulator
MaxSpeed				= 3.0								 ; option for ALife Simulator
going_speed				= 6;4.5								 ; option for ALife Simulator
current_level_going_speed		= 4;2					; option for ALife Simulator
search_speed			= 1.5						         ; option for ALife Simulator

MaxHealthValue		    = 20								 ; range [0..200]
DynamicObjectsCount		= 32
smart_terrain_choose_interval	= 00:15:00
Spawn_Inventory_Item_Section = mutant_boar_leg
Spawn_Inventory_Item_Probability = 0.0

;------------------------------------------------------------------------
; Influences
;------------------------------------------------------------------------

fire_max_distance			=	0
fire_max_power				=	5
fire_linear_factor			=	0
fire_quadratic_factor		=	0.025

psy_max_distance			=	0
psy_max_power				=	5
psy_linear_factor			=	0.05
psy_quadratic_factor		=	0

radiation_max_distance		=	0
radiation_max_power			=	0.01
radiation_linear_factor		=	1
radiation_quadratic_factor	=	1
radiation_pp_effector_name	= 	postprocess_rad
radiation_pp_highest_at		= 	0.02
;------------------------------------------------------------------------
; Physics
;------------------------------------------------------------------------
ph_box0_center 			= 0.0,  0.6,  0.0
ph_box0_size 			= 0.55, 0.6,  0.55
ph_box1_center 			= 0.0,  0.6,  0.0
ph_box1_size 			= 0.55, 0.6,  0.55
ph_crash_speed_min			= 10
ph_crash_speed_max			= 30
ph_collision_damage_factor	= 0.1
ph_mass 				= 350	;110

destroyed_vis_name	 	= dynamics\Dead_Body\skelet_crash_monster

;---------------------------------------------------------------------
ph_skeleton_airr_lin_factor   = 2.0 ;550.0 ( - ,     0.002  )
ph_skeleton_airr_ang_factor   = 0.0 ;0.0 ( - ,      0.3   (0.0*0.3=0.0))
ph_skeleton_hinger_factor1    = 1.0 ;1.0 ( - ,      5.0  )
ph_skeleton_ddelay	     	  = 15.0 ;         ,

ph_skel_fatal_impulse_factor  = 12.0
ph_after_death_velocity_factor= 0.75
ph_skel_shot_up_factor        = 0.25
;---------------------------------------------------------------------

;---------------------------------------------------------------------
; Squad seperation behaviour ()
;---------------------------------------------------------------------
separate_factor = 0.8 ;
separate_range  = 3   ;

;------------------------------------------------------------------------
; Movement
;------------------------------------------------------------------------

; speed factors			linear | angular_real | angular_path | min	 |  max
Velocity_Stand			= 0,		1.4,			1.0,		1,		1
Velocity_RunFwdNormal	= 5.8,		3.5,			3.5,		0.4,	1
Velocity_RunFwdDamaged	= 6.8,		3.0,			3.0,		0.2,	1
Velocity_WalkFwdDamaged	= 3.8,		2.5,			2.5,		0.2,	2.0
Velocity_WalkFwdNormal	= 3.8,		2.5,			2.5,		0.02,	3.0
Velocity_Drag			= -1.0,		1.0,			1.0,		1,		1
Velocity_Steal			= 1.5,		3.0,			3.0,		1,		1

; speed factors			linear | angular_real | angular_path | min	 |  max
;Velocity_Stand			= 0,		3.4,			3.0,		1,		1
;Velocity_RunFwdNormal	= 7.5,		3.0,			2.8,		0.4,	1
;Velocity_RunFwdDamaged	= 4.5,		3.0,			2.8,		0.2,	1
;Velocity_WalkFwdDamaged	= 1.3,		3.0,			2.8,		0.2,	2.0
;Velocity_WalkFwdNormal	= 1.75,		3.0,			2.8,		0.02,	3.0
;Velocity_Drag			= -1.0,		1.0,			1.0,		1,		1
;Velocity_Steal			= 1.5,		3.0,			2.5,		1,		1

; acceleration
Accel_Generic			= 1.5
Accel_Calm				= 2.5
Accel_Aggressive		= 15.0

;------------------------------------------------------------------------
; Attack
;------------------------------------------------------------------------

attack_effector			= spider_attack_effector
attack_params			= spider_attack_params
;attack parameters
MinAttackDist			= 2.6
MaxAttackDist			= 3.2
as_min_dist				= 1.4
as_step					= 0.5

Run_Attack_Dist			= 3.5,		4.0
Run_Attack_Delay		= 1000,		3000

Melee_Rotation_Factor	= 2.2

hit_type				= wound				; type of attack


;------------------------------------------------------------------------
; Attack On Move
;------------------------------------------------------------------------

aom_enabled								=	1
aom_animation_left         				=	stand_attack_run_left_
aom_animation_right       				=	stand_attack_run_right_
aom_far_radius							=	8
aom_max_go_close_time					=	8
aom_prepare_time						=	4
aom_attack_radius						=	1
aom_update_side_period					=	3
aom_prediction_factor					=	1.2
;------------------------------------------------------------------------
; Conditions
;------------------------------------------------------------------------


satiety_v 				= 0.0005				;0.01			;
radiation_v 			= 0.00001		;0.004				;
satiety_power_v 		= 0.00001;0.005		;0.01					;
satiety_health_v 		= 0.001	;0.03						;
satiety_critical 		= -1.0		;0.25						;   (   0..1)
radiation_health_v 		= 0.00	;0.006						;
morale_v				= 0.01								;
health_hit_part 		= 1.0		;0.8					; ,
power_hit_part 			= 1.0		;0.9					; ,
psy_health_v			= 0.1								;  psy-

;Immunities
immunities_sect			= spider_immunities
protections_sect		= spider_protections

;
bleeding_v					= 0.05						;
wound_incarnation_v			= 0.04				;   (        )
min_wound_size				= 0.01

;Sleep Settings
sleep_health			= 1.0		;1.5				;v
sleep_power				= 1.0		;1.5
sleep_satiety			= 1.0		;0.8
sleep_radiation			= 1.0	;1.1
sleep_psy_health		= 1.0

;Eat settings
eat_freq				=	5.0							;
eat_slice				=	0.01						;  v  1
eat_slice_weight		=	10.0						;  v

satiety_threshold		= 0.5							; below this value monster fill hunger

;------------------------------------------------------------------------
; Sound
;------------------------------------------------------------------------

sound_idle				= monsters\pauk\pauk_idle_			; idle_
sound_eat				= monsters\pauk\pauk_eat_			; eat_
sound_aggressive		= monsters\pauk\pauk_aggressive	; attack_
sound_attack_hit		= monsters\pauk\pauk_attack_0
sound_take_damage		= monsters\pauk\spider_ded_		; hit_
sound_die				= monsters\pauk\spider_ded_1			; die_
sound_bkgnd				= monsters\biting\def_
sound_threaten			= monsters\pauk\pauk_threaten
sound_landing			= monsters\pauk\spider_ded_3
sound_steal				= monsters\biting\def_
sound_panic				= monsters\pauk\ded_2
sound_growling			= monsters\pauk\pauk_attack_1
sound_die_in_anomaly	= monsters\pauk\pauk_anomaly_deat

killer_clsids				= Z_MINCER,Z_GALANT,ZS_BFUZZ,ZS_MBALD,ZS_GALAN,ZS_MINCE

sound_distant_idle			= monsters\pauk\pauk_idle_dist
distant_idle_sound_delay	= 80000
distant_idle_sound_range	= 100.0

;Frequency of sounds to be played
idle_sound_delay		= 18000
eat_sound_delay			= 5000
attack_sound_delay		= 4000

SoundThreshold			= 0.06             ; range [0..1]
max_hear_dist			= 60

;-------------------------------------------------------------------------
; Morale
;-------------------------------------------------------------------------
Morale_Hit_Quant				= 0.02
Morale_Attack_Success_Quant		= 0.1
Morale_Take_Heart_Speed			= 0.1
Morale_Despondent_Speed			= 0.1
Morale_Stable_Speed				= 0.05
Morale_Despondent_Threashold	= 0.5

;-------------------------------------------------------------------------
; Damages
;-------------------------------------------------------------------------
;Health from which to play injured animation
DamagedThreshold		= 0.2
damage					= spider_damage


critical_wound_threshold		= 0.4; 1.1
critical_wound_decrease_quant	= 0.

critical_wound_anim_head	= critical_hit_head_0
critical_wound_bones_head	= spider_critical_wound_bones_head

critical_wound_anim_torso	= critical_hit_torso_0
critical_wound_bones_torso	= spider_critical_wound_bones_torso

critical_wound_anim_legs	= critical_hit_torso_0
critical_wound_bones_legs	= spider_critical_wound_bones_legs

;------------------------------------------------------------------------
; Other
;------------------------------------------------------------------------


ef_creature_type		= 11						; option for evaluation functions
ef_weapon_type			= 2
ef_detector_type		= 1
panic_threshold			= 0.1

cform					 = skeleton					; collision class
class					 = SM_BOARW					; AI class

script_binding  		= bind_monster.bind

bone_torso				= bip01_spine1 			; bone name
bone_head				= bip01_head				; bone name
bone_fire				= bip01_head				; bone name
weapon_usage			= 0						; boolean

actor_restrictor		= medium_monster ;medium_monster,stalker,none

step_params				= spider_step_params
LegsCount				= 4

DayTime_Begin					= 20			;
DayTime_End						= 10		;

distance_to_corpse				= 2.1		; .  ,       v

terrain							= spider_terrain


material				= creatures\hoof
DynamicObjectsCount		= 32

;species of monster
species				= spider

;------------------------------------------------------------------------
; Vision
;------------------------------------------------------------------------
eye_fov						= 140	;130
eye_range					= 95	;60

vision_free_section			= spider_vision_free
vision_danger_section		= spider_vision_danger

;  visibility_threshold       ,
;            .

[spider_vision_free]
min_view_distance   		= 0.51				; ,    eye_range,
max_view_distance	 		= 1.01				; ,    eye_range,
visibility_threshold	 	= 100.01			; ,
always_visible_distance 	= 0.31
time_quant					= 0.0011
decrease_value				= 0.011				; ,    ,     ,    -
velocity_factor		     	= 0.51
luminocity_factor			= 0.51 				;   (  )
transparency_threshold		= 0.251

[spider_vision_danger]
min_view_distance   		= 0.5				; ,    eye_range,
max_view_distance	 		= 1.0				; ,    eye_range,
visibility_threshold	 	= 100.0				; ,
always_visible_distance 	= 0.3
time_quant					= 0.001
decrease_value				= 0.01				; ,    ,     ,    -
velocity_factor		     	= 0.5
luminocity_factor			= 0.5 				;   (  )
transparency_threshold		= 0.25

;===========================================================================
; ATTACK PARAMS
;===========================================================================
[spider_attack_params]
;---------------------------------------------------------------------------------------------------------------------------------------------
;	anim			| time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |	Field of hit_test  (left,right, bottom, top ) |	Test Dist
;---------------------------------------------------------------------------------------------------------------------------------------------
;Bite
stand_attack_0 =	  	0.10,		5.15,	      150,        0.0, 0.5, 0.5,	 -0.6, 0.6, -0.6, 0.6,	3.2
;Bite2
stand_attack_1 =	  	0.10,		5.35,	      150,        0.0, 0.5, 0.5,	 -0.6, 0.6, -0.6, 0.6,	3.2
;Right Leg Attack
stand_attack_2 =	  	0.10,		5.35,	      200,        0.0, 1.0, 2.0,	 -0.6, 0.6, -0.6, 0.6,	3.2

stand_attack_run_0	=    0.10,		5.35,	      350,        0.0, 1.0, 2.0,	 -1.0, 1.0, -1.0, 1.0,	3.2
stand_attack_run_left_0  =   0.10,		5.15,	      350,        0.0, 1.0, 2.0,	 -1.4, 1.4, -1.4, 1.4,	3.2
stand_attack_run_right_0 =   0.10,		5.15,	      350,        0.0, 1.0, 2.0,	 -1.4, 1.4, -1.4, 1.4,	3.2

;===========================================================================
; SPECIAL EFFECTORS
;===========================================================================
[spider_attack_effector]

duality_h			= 0.05;0.01
duality_v			= 0.02;0.01
blur				= 0.01
gray				= 0.5
noise_intensity		= 0.0
noise_grain			= 1
noise_fps			= 30
color_base			= 0.65,0.15,0.1
color_gray			= 0.333,0.333,0.333
color_add			= 0,0,0
time				= 0.30
time_attack			= 0.05				; fade in
time_release	    = 0.15				; fade out

; camera effects
ce_time				= 0.35				; time
ce_amplitude		= 10				; head shake after hit
ce_period_number	= 2.0				; camera shake times
ce_power			= 2.5; 2.0			; power

;=================================================================================
; spider Damage
;=================================================================================
[spider_damage]
;bone_name		 = <hit_scale>,-1,<wound_scale>
;<hit_scale>	- .   ( )
;<wound_scale>	- .

default				= 0.9, -1, 0.3

bip01_pelvis 		= 1, -1, 0.3
bip01_spine 		= 1, -1, 0.3
bip01_head 			= 2, -1, 0.3, 10


[spider_critical_wound_bones_head]
bip01_head
bip01_l_calf01
bip01_l_calf02
bip01_l_calf03
bip01_l_calf04
bip01_l_foot01
bip01_l_foot02
bip01_l_foot03
bip01_l_foot04
bip01_l_leg
bip01_l_leg01
bip01_l_leg02
bip01_l_thigh01
bip01_l_thigh02
bip01_l_thigh03
bip01_l_thigh04
bip01_l_toe02
bip01_l_toe03
bip01_l_toe04
 bip01_l_toe05
bip01_l_toe06
bip01_l_toe07
bip01_l_toe08
bip01_l_toe09
bip01_pelvis
bip01_r_calf01
bip01_r_calf02
bip01_r_calf03
bip01_r_calf04
bip01_r_foot01
bip01_r_foot02
bip01_r_foot03
bip01_r_foot04
bip01_r_leg
bip01_r_leg01
bip01_r_leg02
bip01_r_thigh01
bip01_r_thigh02
bip01_r_thigh03
bip01_r_thigh04
bip01_r_toe02
bip01_r_toe03
bip01_r_toe04
bip01_r_toe05
bip01_r_toe06
bip01_r_toe07
bip01_r_toe08
bip01_r_toe09
bip01_spine
bip01_spine1
bip01_tail1
bip01_tail2
bip01_tail3

[spider_critical_wound_bones_torso]
[spider_critical_wound_bones_legs]


;=================================================================================
; spider Terrain
;=================================================================================
[spider_terrain]
	255,000,255,255


;===========================================================================
; Step Events
;===========================================================================
[spider_step_params]

;-------------------------------------------------------------------------------------------------------------
;	anim			| Cycles | time1 | power1 | time2 | power2 | time3 | power3 | time4 | power4 |
;-------------------------------------------------------------------------------------------------------------
stand_walk_fwd_0 	=	  5,    0.01,   1,           0.5,     0.7,    0.15,   1.0,     0.5,   1.0
stand_walk_fwd_dmg_0	=  	  4,	0.2,    1,	     0.25,    0.7,    0.5,    1.0,     0.7,   1.0
stand_run_fwd_0	 	=  	  1,	0.01,   1,	     0.05,    0.7,    0.2,    1.0,     0.2,   0.2
stand_run_dmg_0		=	  4,	0.2,    1,	     0.25,    0.7,    0.7,    1.0,     0.7,   1.0
stand_steal_0		=	  1,	0.2,    1,	     0.25,    0.7,    0.7,    1.0,     0.7,   1.0
stand_drag_0		=	  1,	0.2,    1,	     0.25,    0.7,    0.7,    1.0,     0.7,   1.0


;===========================================================================
; IMMUNITIES
;===========================================================================
[spider_immunities]
burn_immunity           = 0.5
strike_immunity         = 0.5
shock_immunity          = 0.1
wound_immunity          = 0.5
radiation_immunity      = 0.2
telepatic_immunity      = 0.3
chemical_burn_immunity  = 0.5
explosion_immunity      = 0.3
fire_wound_immunity     = 0.1

;*********************************************************************************
; PROTECTIONS
;*********************************************************************************
[spider_protections]
skin_armor				= 0.5
hit_fraction_monster	= 0.3


;R.P.A.mod
;*********************************************************************************
; STRONG PROFILE
;*********************************************************************************
[spider_strong]:m_spider_e
$spawn				= "monsters\boars\spide_01_strong"
visual				= monsters\spider\spider
corpse_visual			= monsters\spider\spider
icon				= ui_npc_monster_spider_strong

panic_threshold		= 0.05
rank				= 6
immunities_sect		= spider_immunities_strong
attack_params		= spider_attack_params_strong
spec_rank			= strong
community			= spider

[spider_immunities_strong]
burn_immunity			= 0.5
strike_immunity			= 0.5
shock_immunity			= 0.2
wound_immunity			= 0.5
radiation_immunity		= 0.3
telepatic_immunity		= 0.4
chemical_burn_immunity	= 0.5
explosion_immunity		= 0.3
fire_wound_immunity		= 0.1

[spider_attack_params_strong]
;---------------------------------------------------------------------------------------------------------------------------------------------
;	anim			| time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |	Field of hit_test  (left,right, bottom, top ) |	Test Dist
;---------------------------------------------------------------------------------------------------------------------------------------------
;Bite
stand_attack_0 =	  	0.10,		3.0,	      250,        0.0, 0.5, 0.5,	 -0.6, 0.6, -0.6, 0.6,	3.2
;Bite2
stand_attack_1 =	  	0.10,		3.0,	      250,        0.0, 0.5, 0.5,	 -0.6, 0.6, -0.6, 0.6,	3.2
;Right Leg Attack
stand_attack_2 =	  	0.10,		3.0,	      500,        0.0, 1.0, 2.0,	 -0.6, 0.6, -0.6, 0.6,	3.2

stand_attack_run_0	=    0.10,		3.0,	      750,        0.0, 1.0, 2.0,	 -1.0, 1.0, -1.0, 1.0,	3.2
stand_attack_run_left_0  =   0.10,		3.0,	      550,        0.0, 1.0, 2.0,	 -1.4, 1.4, -1.4, 1.4,	3.2
stand_attack_run_right_0 =   0.10,		3.15,	      550,        0.0, 1.0, 2.0,	 -1.4, 1.4, -1.4, 1.4,	3.2


;*********************************************************************************
; NORMAL PROFILE
;*********************************************************************************
[spider_normal]:m_spider_e
$spawn				= "monsters\boars\spide_02_normal"
visual				= monsters\spider\spider_mini
corpse_visual			= monsters\spider\spider_mini
icon				= ui_npc_monster_spider
panic_threshold		= 0.2
rank				= 5
immunities_sect		= spider_immunities_normal
attack_params		= spider_attack_params_normal
spec_rank			= normal
community			= spider

[spider_immunities_normal]
burn_immunity			= 0.5
strike_immunity			= 0.5
shock_immunity			= 0.2
wound_immunity			= 0.5
radiation_immunity		= 0.3
telepatic_immunity		= 0.4
chemical_burn_immunity	= 0.5
explosion_immunity		= 0.3
fire_wound_immunity		= 0.3

[spider_attack_params_normal]
;---------------------------------------------------------------------------------------------------------------------------------------------
;	anim			| time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |	Field of hit_test  (left,right, bottom, top ) |	Test Dist
;---------------------------------------------------------------------------------------------------------------------------------------------
;Bite
stand_attack_0 =	  	0.20,		3.15,	      150,        0.0, 0.5, 0.5,	 -0.6, 0.6, -0.6, 0.6,	3.2
;Bite2
stand_attack_1 =	  	0.20,		3.35,	      150,        0.0, 0.5, 0.5,	 -0.6, 0.6, -0.6, 0.6,	3.2
;Right Leg Attack
stand_attack_2 =	  	0.20,		3.35,	      300,        0.0, 1.0, 2.0,	 -0.6, 0.6, -0.6, 0.6,	3.2

stand_attack_run_0	=    0.20,		3.35,	      350,        0.0, 1.0, 2.0,	 -1.0, 1.0, -1.0, 1.0,	3.2
stand_attack_run_left_0  =   0.20,		2.15,	      350,        0.0, 1.0, 2.0,	 -1.4, 1.4, -1.4, 1.4,	3.2
stand_attack_run_right_0 =   0.20,		2.15,	      350,        0.0, 1.0, 2.0,	 -1.4, 1.4, -1.4, 1.4,	3.2

;R.P.A.mod

 

 


Дополнено 8 минуты спустя

Блин, только сейчас понял, что забыл запятые поставить в game_relations.ltx после тушканов. Когда поставил - всё заработало. Спасибо всем кто помогал.

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

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   4 пользователя онлайн