Перейти к содержанию

ian98

Сталкеры
  • Публикаций

    834
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные ian98


  1. Ruwar а мне нравится движок 4 фоллаута. Хочешь 144 фпс для 144 герц? Это можно, но игра станет в 2.5 раза быстрее. Кстати загрузки тоже, что еще потешнее.

    Описание мне нравится. Жду также, как сталкер 2, ремейки пейнов и гта 6 - считай не жду.


  2. N42 в исходниках, которые я скачал. Погуглил lua_help ничего такого не нашел очевидного. Какие-то файлы с .срр

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


  3. N42 image.png.e8c6490fd8f79b342fc97377ce638156.png

    это все, что я нашел в файлах исходников по запросу on_actor_weapon...

    А что-то типо луахелперки тут есть?

    ну и даже on_actor_weapon_jammed НЕ ЗАВЕЛСЯ. Я не понимаю. Все равно ошибка.


  4. N42 исходники это source_code? Первый раз качаю и имею с этим дело? Там нужно освоить кучу софта прекрасного стороннего? Как с сдк например... Моя стихия - блокнот) Причем самый дефолтный


  5. CiberZold как раз графика меня мало волнует. Мне бы всякие приколы с тайм фактором, гравитацией и так далее. Ну и чтоб игра была оригинальная, чистый движок. ОГСЕ, движок Макрона? Это так и ищется? Я попробую.

    Что-то гугл мне выдает какие-то укозовские сайты мертвые, вк и гитхаб ОГСР.


  6. N42 

    Проблема с регистрацией калбека, опять, на этот раз с мотиватором.

    Есть себе такой калбек на перезарядку у нпс. Попробовал зарегать.

    Где надо, вместе с другими подобными строками записал так:

        self.object:set_callback(callback.on_npc_weapon_reload, motivator_binder.on_npc_weapon_reload, self)

    Дальше так:

        self.object:set_callback(callback.on_npc_weapon_reload, nil)

    Функция так:

    function motivator_binder:on_npc_weapon_reload(obj, who)

    end

    Пробовал еще так:

    function motivator_binder:on_npc_weapon_reload(victim, who)

    end

    Но все равно вылет. Лог: 

    Спойлер

     

    [27.02.23 10:15:23.700] ********************************************************************************
    [27.02.23 10:15:23.700] *********************************************************************************
    [27.02.23 10:15:23.700] [print_output([CScriptEngine::lua_pcall_failed])] SCRIPT RUNTIME ERROR:
    [luabind::detail::class_rep::function_dispatcher] Caught unhandled exception!
    stack traceback:
        [C]: at 0x7ff67bf95694
        [C]: in function 'set_callback'
        ...shadow of chernobyl\gamedata\scripts\xr_motivator.script:84: in function <...shadow of chernobyl\gamedata\scripts\xr_motivator.script:65>
    [27.02.23 10:15:23.700] *********************************************************************************
    [27.02.23 10:15:23.700] 
    FATAL ERROR

    [error]Expression    : FATAL ERROR
    [error]Function      : CScriptEngine::lua_pcall_failed
    [error]File          : D:\a\OGSR-Engine\OGSR-Engine\ogsr_engine\COMMON_AI\script_engine.cpp
    [error]Line          : 46
    [error]Description   : [CScriptEngine::lua_pcall_failed]: [luabind::detail::class_rep::function_dispatcher] Caught unhandled exception!


    [27.02.23 10:15:23.700] ***************************[ScriptCrashHandler]**********************************

     

    Что это? и этого калбека уже нет? Или я просто неправильно сделал? 

    Да и on_actor_weapon_fire в bind_stalker выбивает с ошибкой. не может зарегать. Прямо уже теряюсь. Где я косячу-то.

    on_actor_weapon_switch_gl тоже не регается. Зато on_item_use прошел. Я в печали... 


    Дополнено 2 минуты спустя

    CiberZold последний самый. Прифигел с луж, прикольно сделали. Пульки конечно не отмечаются если стрелять, но это мелочь как по мне, все равно красота. Обидно правда, что дайретикс оставили только 11.


  7. N42 зачем убирать. эх. ладно.

    image.png.dd2a68cb26df558c49f4f49349da9587.png

    если допустим одного калбека нет, то все равно вопрос, как регать-то остальные? Они ж все по одному принципу регаются, правильно?

    Про болты, я скорее имел ввиду не прям схему, ну как с гранатами, а что-то типо нпс с ножом смотрит на актора и в актора летят болты. можно даже без анимаций броска. типо if npc:see_right_now() then

    local obj = npc:object( "bolt" )
    local miss = math.random(-2,2)
    local target = db.actor:position()+miss
    if npc:see_right_now(db.actor) and npc:throw_target( target, db.actor ) then
      npc:set_item( object.fire1, obj )
    end

    ну ето я так придумал, почти уверен что как и большинство моих придумок работать будет через задницу или не будет работать вовсе. Ну попробую прямо щас. Работает, только если без отсебятины, которую я с мисс и таргет придумал) Так-то остальное разрабы огср сделали. Вопрос, как тогда сделать все-таки, чтобы нпц чуть-чуть мазали? или попадали через раз-два.

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


  8. как зарегать калбек на выстрел в огср? Я не знаю) 

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


  9. Моя модификация мини мода GunGame Mode

    GunGame+ представляет из себя все тоже самое, что уже было, но еще лучше:

    Спойлер

    Кратко, какие есть, все включается/выключается по желанию, подробнее в игре:

    GunGame - каждое убийство выдает нам новое оружие

    TFGame - каждое убийство ускоряет игру

    Bullet Time Mode - каждое убийство сопровождается замедлением времени(2 секунды)

    NPC Epic Boom Mode - любой НПС в случае своей смерти взрывается

    Apocalypse Now - любой НПС в случае своей смерти спавнится заново

    NPC RW - все НПС получают случайный ствол

    OutfitGame - каждое убийство выдает нам новую броню

    Vampir Mode - каждое убийство лечит нас

    ArtefactGame - каждое убийство выдает нам случайный артефакт(ы)

    AnomalyGame - каждое убийство спавнит новую аномалию

    GravitationGame - каждое убийство меняет гравитацию в Зоне

    Спойлер

    1. Распаковать содержимое архива в папку с оригинальным ТЧ

    2. Запускать с папки bin_x64 файлом xrEngine

    Спойлер

    1. Для оригинальной игры(ТЧ версия 1.0007 стим) - https://drive.google.com/file/d/1MQUlCTCT2okRsXzJgljggGSCcB1w_kom/view?usp=share_link

    2. Для ТЧ+ установленный Ганс(SoC GUNS ver. 31.12) - https://drive.google.com/file/d/1lsTZbPDzZfEkg3Lfum7CdX1IOWgyfk5k/view?usp=sharing

    3. Для ТЧ, если нужен гангейм+ганс, но ганс не установлен - https://drive.google.com/file/d/18nRErnmYr1aaDus2p8lziG9S8h9vebd-/view?usp=sharing

    4. Для оригинальной игры(ЧН версия 1.5.10 стим) - https://drive.google.com/file/d/1Y9dZe-2uZOu5ErNi-yH9PAywrfYb5Lrp/view?usp=share_link

    Скриншоты и видео будут, но потом.

    • Лайк 1
    • Мастер! 2
    • Смех 1

  10. imcrazyhoudini ну с ходу можно на апдейт повесить и по инфопоршню проверять. Возможно этот вариант не подходит. Возможно можно на момент, когда проваливается или выполняется задание, вроде был такой калбек. Но я не знаю как будет это все выглядеть, я имею ввиду сам квест, пошаговый он или цельный, или вообще условный и выдается и выполняется в диалогах только. Может переспавн в моменте, когда оружие должно исчезнуть? Может там с логикой что-то можно сделать, но тут не знаю уже.

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


  11. 1 час назад, imcrazyhoudini сказал:

    каким образом можно почистить инвентарь нпс от всего?

    конкретнее, почистить какому-то одному нпс? Всем сразу?

    попробуй такую функцию. в motivator на net_spawn. убирает всем сразу, если условия не заполнять.

    local iTimer = time_global() + 1
    	
    local function check_timer()
    	return time_global() > iTimer
    end
    	
    local function action_timer()
    if условие если надо then
          self.object:iterate_inventory(function (tmp, item)
    	if isAmmo(item) or isWeapon(item) then -- типы предметов, уточняется в _g.script
    		local sobj = alife():object(item:id())
    		alife():release(sobj, true)
    	end
    end,obj)
       end
    end
    
    level.add_call(check_timer, action_timer)