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

AI additions


Bak

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

Надо делать фикс, у меня тоже вылетало.  Установлен x-ray ext так что срабатывает ассерт, фиксить надо или самому или просить автора. Как-то так. Это не сложно.

Код с смартфона не удобно набирать так что сам, или проси кого.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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

@НаноБот Такс, с этого момента плиз по подробнее: с x ray конфликтует? С какими патчами? Будет ли фикс?

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

Всем привет! Подскажите, кто знает, если поставить Ai Additionalc для NLC 7 на NLC 7 Rethinking, то никаких проблем не случится? 

Войну порождает мир, а мир порождают войны...

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

@UriZzz Фикс простой, находим команды удаления

alife():release(sobj,true)

И меняем на

if sobj then alife():release(sobj) end

Если sobj = nil, то не надо его повторно удалять, всё просто.

Изменено пользователем НаноБот
  • Полезно 2

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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

@Bak , привет. Обратил внимание, что НПС собирают предметы, которые через аллспавн разложены на локациях. Вопрос: возможно ли эти предметы (они имеют, как правило, уникальное имя) указать НПС игнорировать? Прописывание в секцию [forbidden_items] в corpse_detection.ltx не помогает.

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

@monk У предметов в олспавне нужно убирать флаг UsedAI_Locations или VisibleForAI

Это параметр object_flags, какие конкретно значения туда ставить сейчас не подскажу

Изменено пользователем Bak
  • Полезно 1
Ссылка на комментарий
30 минут назад, Bak сказал:

Это параметр object_flags, какие конкретно значения туда ставить сейчас не подскажу

Вот жеж... А я СДК не пользуюсь, посмотреть негде :)

Ясно, понятно. Спасибо.

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

Или можно же ведь сделать и так, чтобы в таблицу forbidden_items заносились ни секции, а имена оружия и тогда по идее все тоже должно работать. А имена эти можно посмотреть или в all.spawn или в почти любой версии скрипта уборщика трупов и оружия.
 

Ссылка на комментарий
15 минут назад, phorumer сказал:

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

Заносил, не работает. Стал бы я сюда писать, если бы это было так просто.

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

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

 

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

@monk  на сколько я помню можно запретить в алл.спавне подбор любого предмета для всех нпс. По типу как в ТЧ, в деревне новичков у костра, валяется  банка энергетика.

Ссылка на комментарий
12 минут назад, warwer сказал:

я помню можно запретить в алл.спавне подбор любого предмета для всех нпс. По типу как в ТЧ

А как именно это сделано?

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

@monk за счёт (пример) такого флага: object_flags = 0xffffff3a

Нужно найти ту банку энергетика в прописи ала и скопировать её object_flags = .... куда нужно тебе. В ЧН работало, я проверял очень давно. Точно работало. Заработает только с новой игры.

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

Примерно вот так я имел ввиду вариант с именами:

function is_quest_item(obj)
	local sec = obj:section()
	if forbidden_items[sec] ~= nil then
		return forbidden_items[sec]
	end
	if take_quest_items == true then
		return false
	end
	-- и вносим сюда нужные нам имена оружия
	if obj:name() == "esc_wpn_pm" or obj:name() == "esc_wpn_pm_0001" then
		return true
	end
	forbidden_items[sec] = rx_utils.read_from_ini(nil,sec,"quest_item",nil,0) == true
	return forbidden_items[sec]
end


 

Изменено пользователем phorumer
  • Полезно 1
Ссылка на комментарий
12 часов назад, phorumer сказал:

Примерно вот так я имел ввиду вариант с именами

Не работает. Правда, я НИ не начинал.

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

Ну новая игра и не нужна. Тогда еще можно попробовать этот блок поставить выше, можно даже выше всех, так как если например в настройках включено подбирание квестовых предметов (take_quest_items), то до того места, куда вписаны имена просто дело и не дойдет. Например попробовать вот так:

function is_quest_item(obj)
	-- вносим сюда нужные нам имена оружия
	if obj:name() == "esc_wpn_pm" or obj:name() == "esc_wpn_pm_0001" then
		return true
	end
	local sec = obj:section()
	if forbidden_items[sec] ~= nil then
		return forbidden_items[sec]
	end
	if take_quest_items == true then
		return false
	end
	forbidden_items[sec] = rx_utils.read_from_ini(nil,sec,"quest_item",nil,0) == true
	return forbidden_items[sec]
end


 

  • Спасибо 1
  • Полезно 2
Ссылка на комментарий
В 28.11.2017 в 15:55, phorumer сказал:

можно попробовать этот блок поставить выше, можно даже выше всех, так как если например в настройках включено подбирание квестовых предметов (take_quest_items), то до того места, куда вписаны имена просто дело и не дойдет. Например попробовать вот так

Вот так, вроде, работает. Буду тестировать.

Спасибо.

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

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

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

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

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

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

Войти

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

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

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