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

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

29.10.2020 в 18:26, _Sk8_AsTeR_ сказал:

А есть ли способ проверить, нажал ли ГГ левую кнопку мыши, иначе говоря - выстрелил?

Таки вы для начала определитесь, собираетесь вы ловить нажатие ЛКМ, или ловить событие выстрела.

Это разные события. В ОГСР ловится и то и другое.

Нажатия - callback.on_key_press (и там надо ловить код клавиши),

Выстрел - callback.on_actor_weapon_fire,

Начало стрельбы - callback.on_actor_weapon_start_firing - от предыдущего отличается тем, что при стрельбе очередью будет вызван только 1 раз.

  • Полезно 3

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
6 часов назад, AndreySol сказал:

слепить скриптовые костыли, типа мониторинга на апдейте кол-ва файлов

Лучше тогда при сохранении (вызове метода save биндера того же актёра) - сделать небольшой таймаут и получить самый новый файл из папки сохранений, его и переименовывать. 

  • Согласен 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@naxac

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

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

@Zander_driver, нужно было отследить сразу 2 события: сначала ПКМ и сразу ЛКМ, когда ПКМ еще нажато. Но уже справился, все работает, спасибо :)

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

@AndreySol Где найти разобранный на файлы C++ движок ЧН? Движок ЗП тоже было бы интересно почитать.

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

Шпаргалка

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

@Norman Eisenherz

Ну наверное поиск рулит. Я исходники ТЧ брал давным-давно со Сталкерин, но там сейчас ссылку на скачивание убрали. Еще можно спросить в разделе Редактирование движка и Ищу файлы\моды....

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

Здрасьте.

 

Как проверить, что дождь не только идет в данный момент, но и попадает на ГГ (ГГ не находится в здании)? Версия игры любая без движковых правок.

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

Шпаргалка

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

ГГ не находится в здании... без движковых правок.

Никак.

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

Есть ли над ГГ крыша, не найдется ли в ту сторону бетонной стены... это скриптам было неведомо.

  • Согласен 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@Zander_driver, как вариант, наверно, можно расставить в каждом помещении по рестриктору, и делать проверку на нахождение в нем. Ну и проверять текущую погоду. Если дождь, и ГГ вне рестриктора, то... Ещё то извращение, но без правок вижу только такую ситуацию.

  • Согласен 2

GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

JNCR — Coming Soon...

i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 11 PRO x64 / Samsung Curved 27" x2

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

В ЧН часто есть готовые рестрикторы – укрытия от выброса, но у них нет внешних конфигов логики. Можно ли без перебора [all.spawn] определить, что ГГ находится в рестрикторе с именем "(level)_vibros_#"?

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

Шпаргалка

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

@Norman Eisenherz

 

function func()
  local lvl = level.name()
  local pos = db.actor:position()
  local n = 1
  local name, obj
  while true do
    name = string.format( "%s_vibros_%s", lvl, n )
    obj = db.zone_by_name [ name ]
    if obj then
      if obj:inside( pos ) then
        return true
      end
    else
      return false
    end
    n = n + 1
  end
end

Это если имена с нумерацией от 1 и по возрастанию. Если вразброс, то придётся всю zone_by_name перебирать в поисках нужных рестрикторов.

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@naxac Нашел перебор укрытий в [xr_surge_hide.script]:

Spoiler

		local board = sim_board.get_sim_board()
		local hide_tbl = {}
		local n = 0
		for k,v in pairs(board.smarts) do
			if v.smrt.actor_hides~=nil then
				for kk,vv in pairs(v.smrt.actor_hides) do
					local obj = alife():object(vv)
					if(obj) then
						n = n + 1
						hide_tbl[n] = obj
					end
				end
			end
		end

 

После этого как раз выполняется проверка через inside.

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

Шпаргалка

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

Прошу помощи скриптёров.
Поигрываю в мод-сборку на основе FreeplayStart 1.21, но с изменённой оружейкой, добавленными мутантами, АИ-паком и прочими вкусностями от Alex5773
Сборка очень нравится, но у неё есть серьёзный недостаток - спустя непродолжительное время начинают наглухо ломаться сейвы с логом вылета, что под спойлером.

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

 

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : .\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: d:\games\soc\gamedata\scripts\rgr.script:378: attempt to index local 'dead_otf' (a nil value)
 

stack trace:

 

К сожалению, автор данной сборки не помог с исправлением данного вылета, да и не заходит на АМК уже с августа.
Возможно, кто-то из скриптеров поможет исправить данный баг, возможно даже небезвозмездно, в разумных пределах, конечно :)  
Сам в скриптовании Сталкера не шарю.
Прилагаю сам мод и сломанный сейв: 
https://dropmefiles.com/jR5Fi

Ссылка на комментарий
8 часов назад, otani-san сказал:

Прошу помощи скриптёров.

Привет, тебе нужно изменить пару строк в файле rgr.script 

ищи 374 строку      --Ставим кондишн броников с трупов, пока рандомно

и вот это:

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

  if select_string=="dead_otf" then
    local dead_otf
		dead_otf = level.object_by_id(tonumber(params_string))
		dead_otf:set_condition((math.random(65)+25)/100)
	end

 

 

меняй на это:

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

	if select_string == "dead_otf" then
		local dead_otf = level.object_by_id(tonumber(params_string))
		if dead_otf then
			dead_otf:set_condition((math.random(65)+25)/100)
		end
	end

 

 

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

Есть какой-нибудь скрипт, который будет отображать на карте расположение и название смарт-террейнов (ЗП)?

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

@Марка демченков, в файле "_g.script" измени значение переменной "dev_debug", в оригинале строка 37.

dev_debug = true

Поищи в скриптах, где она используется. Сможешь что-нибудь добавить или изменить, по желанию.

S.T.A.L.K.E.R. CoP Objects (upd 11.03.24)

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

У меня такой вопрос(возможно не в ту тему обратился, поправьте). Играю в ОП 2.1, установлены правки. Столкнулся с такой проблемой: не отображается в инвентаре несколько ед. оружия(пустое место со шкалой прочности и хар-кой), вижу его только держа в руках. То, что обнаружил - это Неизвестное оружие(квестовое - Охотник и добыча), FN "Hostel" и McMillan CS5 после покраски его у Долговязого. Самостоятельно найти где что исправить я не в состоянии. Нужна помощь. Да и если опишите, что и как изменить, просьба указать полный путь к необходимому файлу от корневой папки. Заранее благодарю.

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

Доброго времени! Подскажите пожалуйста, каким образом можно сделать проверку, видит ли вражеский NPC нашего ГГ в процессе перестрелки? А также каким образом можно сделать проверку, что наш ГГ - приоритетный текущий враг для NPC?

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

@_Sk8_AsTeR_

if npc:see(db.actor) then -- он его видит...
  
local enemy = npc:get_enemy() -- это тот кого нпс хочет убить
if enemy and enemy:section() == 'actor' then -- оказывается, это актор...

 

Изменено пользователем Zander_driver
  • Спасибо 1
  • Нравится 2
  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

×
×
  • Создать...