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

[CoP] Модострой: вопросница

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

 
 
Pavel2000

Skala  удали npc_prefix = true

 


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Испытуемый №28: Начало и Испытуемый №28: Игры Разума

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


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

Всем привет. Делал игру, было всё нормально и почему-то теперь вылезает эта ошибка. Можете помочь?

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...k.e.r. call of\gamedata\scripts\smart_terrain.script:505: attempt to index local 'smartcover' (a nil value)
 

stack trace:

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


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

Владос2012 Разблокируйте вывод аварийных сообщений и посмотрите, какой смарт вызывает этот вылет.

Спойлер

Файл _g.script

Функция
function abort(fmt, ...)
    local reason = string.format(fmt, ...)
    error_log(reason)
end

 

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

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

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


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

@denis2000А как?


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

Исправил, спасибо.

У меня почему-то исчез смарт-ковер для моего НПС.

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


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

Pavel2000 не помогло

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


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

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


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

У меня с моими правками заработало


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Испытуемый №28: Начало и Испытуемый №28: Игры Разума

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


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

Pavel2000 а какие настройки самого звука у тебя?

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


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

Skala я использовал стандартный звук из ресурсов игры


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Испытуемый №28: Начало и Испытуемый №28: Игры Разума

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


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

Pavel2000 Попробую через сдк звук прогнать, мб поможет

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


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

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


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Испытуемый №28: Начало и Испытуемый №28: Игры Разума

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


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

Skala короче, лови урок, возможно он тебе поможет в поиске твоей ошибки. п.с.: увидел что какая-то проблема со звуком и решил ответить

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


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

Skala 

Неочевидный момент, при добавлении новых звук. тем в script_sound_.ltx - нужна НИ.

  • Хабар 1

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


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

Skala 

Неочевидный момент, при добавлении новых звук. тем в script_sound_.ltx - нужна НИ.

что такое "ни"?

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


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

Pepel НоваяИгра


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Испытуемый №28: Начало и Испытуемый №28: Игры Разума

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


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

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

 

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


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

стрелок_2009 
1. Редактировать движок в файле xrServer_Objects_ALife_Monsters.cpp

Спойлер

LPCSTR gen_name = "GENERATE_NAME_";
	if( strstr(m_character_name.c_str(),gen_name) ){
		//select name and lastname
		xr_string subset			= m_character_name.c_str()+xr_strlen(gen_name);

		string_path					t1;
		strconcat					(sizeof(t1),t1,"stalker_names_",subset.c_str());
		u32 name_cnt				= pSettings->r_u32(t1, "name_cnt");
		u32 last_name_cnt			= pSettings->r_u32(t1, "last_name_cnt");
		
		string512			S;
		xr_string n			= "name_";
		n					+= subset;
		n					+= "_";
		n					+= itoa(::Random.randI(name_cnt),S,10);
		m_character_name	= *(CStringTable().translate(n.c_str()));
		m_character_name	+= " ";

		n					= "lname_";
		n					+= subset;
		n					+= "_";
		n					+= itoa(::Random.randI(last_name_cnt),S,10);
		m_character_name	+= *(CStringTable().translate(n.c_str()));


	
	}

 

2. Делать например имя из двух слов в файле st_generate_fnames.xml:

Спойлер

<string id="name_stalker_0">
	<text>Деня Пожарник</text>
</string>

 

 

  • Мастер! 1

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

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


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

стрелок_2009 
1. Редактировать движок в файле xrServer_Objects_ALife_Monsters.cpp

  Код (Показать контент)


LPCSTR gen_name = "GENERATE_NAME_";
	if( strstr(m_character_name.c_str(),gen_name) ){
		//select name and lastname
		xr_string subset			= m_character_name.c_str()+xr_strlen(gen_name);

		string_path					t1;
		strconcat					(sizeof(t1),t1,"stalker_names_",subset.c_str());
		u32 name_cnt				= pSettings->r_u32(t1, "name_cnt");
		u32 last_name_cnt			= pSettings->r_u32(t1, "last_name_cnt");
		
		string512			S;
		xr_string n			= "name_";
		n					+= subset;
		n					+= "_";
		n					+= itoa(::Random.randI(name_cnt),S,10);
		m_character_name	= *(CStringTable().translate(n.c_str()));
		m_character_name	+= " ";

		n					= "lname_";
		n					+= subset;
		n					+= "_";
		n					+= itoa(::Random.randI(last_name_cnt),S,10);
		m_character_name	+= *(CStringTable().translate(n.c_str()));


	
	}

 

2. Делать например имя из двух слов в файле st_generate_fnames.xml:

  Код (Показать контент)


<string id="name_stalker_0">
	<text>Деня Пожарник</text>
</string>

 

 

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

  • Мастер! 1

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


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

Pepel Да. И не забываем про секции с количеством имен и прозвищ в system.ltx

[stalker_names_****]
name_cnt    = ***
last_name_cnt = ***

 

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

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

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


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

Я хотел заспавнить НПС на другой локации и вылетает в начале игры.

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...k.e.r. call of\gamedata\scripts\gulag_general.script:892: attempt to call global 'abort' (a nil value)
 

stack trace:
 


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

Отбой, решил.

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


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

Всем привет. Решил заспавнить квестовый предмет в труп, но у меня не получается.

В логике персонажа не сработало %=spawn_object_in(jup_a9_way_info:l03_agroprom_anom_smart_ych_4)%

Есть какой-нибудь способ или что-то подправить надо?

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


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

Владос2012 l03_agroprom_anom_smart_ych_4 - объект с таким стори ид должен существовать.

Или делайте как в оригинальном ЗП: Спавните НПС с квестовым предметом и убиваете.

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

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

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


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

Монстры держатся вокруг точек пути path_home. В атаке бросаются на врага, если враг внутри home_min радиуса, иначе прячутся в укрытия. Отсюда следует, что радиус home_min желательно делать таким, чтобы внутри было достаточно cover-ов. В idle тоже обычно расходятся по укрытиям. Радиус home_max сделан по принципу большого рестриктора в схеме «гнездо».

настройка логики зп. вопрос по секции mob_home

укрытия ака cover-ы это смарт каверы? и как их настраивать?


 


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Испытуемый №28: Начало и Испытуемый №28: Игры Разума

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


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

Pavel2000 Это описание цельнотянуто из хелпа к оригинальному SDK написанного разработчиками движка.
Что имеется ввиду - при расчете АИ-сетки утилитой xrAI производиться определение укрытий (Фаза Calculating coverage...). Укрытия (cover) - это ноды АИ-сетки возле которых есть объекты статической геометрии позволяющие считать эту ноду укрытием от стрелкового оружия, они делятся на два типа: high_cover и low_cover.
high_cover - укрытие с высотой более 1,5 м, low_cover - укрытие с высотой более 0,6 м.
Таким образом подразумевается, что AI мобов будет корректно работать если область home будет содержать такие укрытия в достаточном количестве.

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

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

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


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

Всем привет!

Могли ли бы вы сказать, как ограничить угол обзора NPC, а также как сделать так, чтобы они не находили игрока за 100м, увидев краем глаза. А также как сделать им больше фаз стадий, типа: Спокоен -> Подозрение -> Поиск -> Бой -> Потеря цели (Возврат к поиску)
Кто может подсказать? Или показать пример такого кода, заранее благодарен.

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


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

Могли ли бы вы сказать, как ограничить угол обзора NPC, а также как сделать так, чтобы они не находили игрока за 100м, увидев краем глаза. А также как сделать им больше фаз стадий, типа: Спокоен -> Подозрение -> Поиск -> Бой -> Потеря цели (Возврат к поиску)

Хех, я наоборот ищу возможность как-то оживить НПС, чтобы резче реагировали на хит и не теряли ГГ из дэнжера. В ЗП они вообще как куклы в тире, особенно на работах в анимпоинтах. Хитуешь с 40-50м одного одиночными, пока он не сдохнет - остальной сквад вообще не реагирует(( В ванильном ЗП НПС вообще очень плохо выживают.. Отсюда постоянная тонна трупов и лута.

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

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


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

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

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

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

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

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

Войти

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

Войти

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

    Ни одного зарегистрированного пользователя не просматривает данную страницу

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования