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

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

@ARTLantist , попробуй тут и тут почитать. Возможно, что-то покажется полезным. (для 2-ой ссылки прокси/vpn с российских ip)

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

Как добавить костру надпись и сделать действия при нажатии клавиши действия? Пытался поставить скриптом надпись через self.object:set_tip_text, и вызывать коллбэк self.object:set_callback(callback.use_object, self.use_campfire, self), но ничего не вышло, костёр как не реагировал, так и не реагирует. Я так понял, это фишка рестрикторов. Хотелось бы сделать зажигание не через использование предмета рядом с костром, а через взаимодействие с самим костром :az1000106:

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

@ARTLantist 

Скорее всего ошибаюсь, но пробуй смотреть в сторону юсабле_обжект(извиняюсь, но не вспомнил как по англицки правильно написать). Скорее всего, объект костра, не предполагает явного взаимодействия с ним.

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

@AndreySol не знаю, покопался в движке, parent класса костра - класс CSpaceRestrictor, у которого parent в свою очередь CGameObject, а у него среди парентов есть и CUsableScriptObject (вроде так), который и даёт возможность вызова коллбека use и выставлять надписи методом set_tip_text. Однако для ВСЕХ рестрикторов эти методы ничего не дают. Почему - пока не разобрался... Мб костыли какие-то придётся делать, заменять все объекты (именно объекты) костров в СДК на спавн элементы с их моделями и им логику прописывать... Но это все локации перекомпилировать🤔 Не очень большое желание что-то делать так.

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

@ARTLantist Вот напомни мне, как вылечить не работающий пункт меню LE( у меня сейчас 10-ка) и я посмотрю в СДК, что я там менял для костров, чтоб они отрабатывали как обычные спейс-рестрикторы. 

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

@AndreySol не знаю, я на 10-ке на диск Х устанавливал СДК по "инструкции" и он бесперебойно работает🤔

@WinCap та костёр вообще никакую логику не воспринимает, он же рестриктор, пишу ему логику рестриктора (для теста вывод сообщения по событию actor_inside (не помню щас дословно название в логике)), но ему всё равно:az1000106:

@AndreySol короче, создал невидимый объект на основе моделей в equipment_cache (которые для inventory_box), так будет проще, как по мне. Подогнал размер под костры. Буду расставлять в каждом костре и логику прописывать соответствующую.

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

Добрый день! Подскажите пожалуйста, есть ли возможность задать в схеме поведения произвольное условие в add_precondition:

например, так (желаемое выделено синим):

action:add_precondition(world_property(xr_evaluators_id.sidor_wounded_base,false))   -- не ранен

action:add_precondition(_G.value_A == true) -- проверка значения глобальной переменной

 

p.s. Нужно для того, чтобы отключать/включать схему поведения по горячей клавише.

Ссылка на комментарий
4 часа назад, Norman Eisenherz сказал:

Можно создать проверку в [xr_effects.script] и сослаться на нее

Посмотрел, совсем не соображу. Опиши, пожалуйста, хотя бы слегка подробнее, как это должно выглядеть.

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

Не то – не дочитал описание вопроса.

 

Теория:
• занять новый id на базе известного номера из [xr_evaluators_id.script]:
   new_id = xr_evaluators_id.(имя) + 1
• добавить проверку в менеджер поведения:
   local manager = npc:motivation_action_manager()
   manager:add_evaluator(new_id, new_class)
• создать описание проверки на базе класса property_evaluator

Spoiler
class "new_class" (property_evaluator)

function new_class:evaluate ()
	return (условие)
		ИЛИ
	if (условие) then
		return true
	end
	return false
end

 

 

Пример: [xr_talker.script] function add_to_binder(npc)

Изменено пользователем Norman Eisenherz
  • Полезно 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

Здравствуйте, появился вопрос.

 

Допустим, я играю в модификацию, в которой присутствует правка "по одежке встречают", и она мне только мешает.

Вопрос в состоит в том, как бы ее отключить.  

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

Возможно ли одно из четырёх значений, определяющих пар-тр hit_power в конфиге оружия, вернуть как число? Или, на крайняк, вернуть подстрокой до первой запятой...

Скрытый текст

hit_power           = 0.47,0.523,0.581,0.653

 

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

Здесь могла быть ваша реклама.

Ссылка на комментарий
1 час назад, mole venomous сказал:

Возможно ли одно из четырёх значений, определяющих пар-тр hit_power в конфиге оружия, вернуть как число?

Скрытый текст
 if system_ini():line_exist(item:section(), "hit_power") then
 local Hitpower = system_ini():r_string(item:section(), "hit_power")
  if Hitpower then
   Hitpower = string.gsub(Hitpower,"[,]"," ")
   for k, v in string.gmatch(Hitpower,"[%p0-z]+") do
    --  k перебирает все значения hit_power
   end
  end	
 end

 

 

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

Именно это мне и нужно - вернуть значение параметра на текущем уровне сложности для визуального отображения ТТХ оружия.

Однако пока получилось увидеть только строку (с заменой "нежелательных" символов), а конкретное число либо, скажем, среднее арифметическое от этих четырёх, пока не выходит. 

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

Здесь могла быть ваша реклама.

Ссылка на комментарий
3 часа назад, mole venomous сказал:

вернуть значение параметра на текущем уровне

Скрытый текст
if system_ini():line_exist(item:section(), "hit_power") then
	local hp = system_ini():r_string(item:section(), "hit_power")
	if hp then
		local t = {}
		for a in string.gfind(hp, "[%w_%-%.]+") do
			table.insert(t, a)
		end

		local dhp = t[level.get_game_difficulty() + 1] or t[1] -- параметр hit_power в зависимости от уровня сложности игры

	end
end

 

 

Изменено пользователем Manool
  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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