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

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

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


    Подарки

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

    В ЧН часто есть готовые рестрикторы – укрытия от выброса, но у них нет внешних конфигов логики. Можно ли без перебора [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 10.04.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

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