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

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 не помогает.

Раньше и меня вела дорога приключений, а потом вышел S.T.A.K.E.R 2

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

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

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

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

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

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

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

Раньше и меня вела дорога приключений, а потом вышел S.T.A.K.E.R 2

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

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

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

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

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

Раньше и меня вела дорога приключений, а потом вышел S.T.A.K.E.R 2

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

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

 

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

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

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

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

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

Раньше и меня вела дорога приключений, а потом вышел S.T.A.K.E.R 2

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

@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 сказал:

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

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

Раньше и меня вела дорога приключений, а потом вышел S.T.A.K.E.R 2

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

Ну новая игра и не нужна. Тогда еще можно попробовать этот блок поставить выше, можно даже выше всех, так как если например в настройках включено подбирание квестовых предметов (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), то до того места, куда вписаны имена просто дело и не дойдет. Например попробовать вот так

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

Спасибо.

Раньше и меня вела дорога приключений, а потом вышел S.T.A.K.E.R 2

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

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

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

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

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

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

Войти

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

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

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