dsh 3 824 Опубликовано 17 Мая 2018 Поделиться Опубликовано 17 Мая 2018 1 hour ago, Graff46 said: подключиться к биндеру объекта и пользоваться, например, его апдейтом Если у тебя есть биндер, что тебе мешает прямо в его функции апдейта нужное сделать? Зачем такие странные манипуляции? 1 hour ago, Graff46 said: level.add_call(object, ...), Но эта функция странно себя ведёт Именно эта форма add_call, в оригинальном движке поломана. Или не доделана, смотря с какой стороны смотреть. Единственная работающая форма add_call, в оригинальном движке, это которая с двумя функциями. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 17 Мая 2018 Поделиться Опубликовано 17 Мая 2018 2 часа назад, Graff46 сказал: Цель, подключиться к биндеру объекта и пользоваться, например, его апдейтом в своих целях. Тогда делается строго наоборот: биндер при апдейте сам дергает за то, что надо. Можно дать ему табличку при ините, и потом по мере надобности добавлять в нее ненужное. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Graff46 598 Опубликовано 17 Мая 2018 Поделиться Опубликовано 17 Мая 2018 10 часов назад, dsh сказал: что тебе мешает прямо в его функции апдейта нужное сделать? 10 часов назад, Dennis_Chikin сказал: огда делается строго наоборот Надо было мне внешние включение, теперь придется придумывать что-то Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 17 Мая 2018 Поделиться Опубликовано 17 Мая 2018 Смотрим все псевдООПшное творчество из amk. Ну или многострадальные "псиантенну"/таскменеджер от ПЫС. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
dsh 3 824 Опубликовано 17 Мая 2018 Поделиться Опубликовано 17 Мая 2018 @Graff46, подозреваю, что ты на самом деле изобретаешь менеджер событий. Возьми готовый и доработай по желанию. Вот например self.am:call( "on_physic_obj_update", self.object, delta ) Физ. объект генерирует событие "on_physic_obj_update" на своем апдейте. Кому надо, подписываются на это событие и что-то в нем делают. 1 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Graff46 598 Опубликовано 18 Мая 2018 Поделиться Опубликовано 18 Мая 2018 11 часов назад, dsh сказал: менеджер событий Где его взять? Ссылка на комментарий
dsh 3 824 Опубликовано 18 Мая 2018 Поделиться Опубликовано 18 Мая 2018 @Graff46, ну, вот например доработанный из OGSE https://github.com/dsh2dsh/op2ogse/blob/old_engine/gamedata/scripts/ogse_signals.script который я использовал с x-ray extensions. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 22 Мая 2018 Поделиться Опубликовано 22 Мая 2018 (изменено) Всем привет. Интересует, как можно еще отключать CustomStatic во время прицеливания через оптику(где запускается текстура внешнего прицела или прицельной сетки). Отслеживать через "db.actor:accuracy()*1000" - не вариант, так как в результате статик будет отключатся и после прицеливания без оптики. В DMX моде вот такая реализация: Скрытый текст if upd_time3 == nil then upd_time3 = time + 500 elseif upd_time3 < time then upd_time3 = time + 500 local accuracy = math_ceil(db.actor:accuracy()*1000) if accuracy == 1 then if not scopeUsed then local item = db.actor:active_item() if item then --get_console():execute("load ~#I#: db.actor:active_item():section()="..tostring(item:section())) if item:section() == "wpn_binoc" then scopeUsed = true elseif IAmAWeapon[item:clsid()] then local t = amk.get_weapon_data(alife():object(item:id())) scopeUsed = (bit_and(t.addon_flags, 1) == 1 or rx_utils.get_addon_status(item, "sc") == 1) --amk.dump_table(t) end end end else scopeUsed = false end end Может получше варианты есть? Изменено 22 Мая 2018 пользователем TIGER_VLAD Ссылка на комментарий
dsh 3 824 Опубликовано 22 Мая 2018 Поделиться Опубликовано 22 Мая 2018 @TIGER_VLAD, так а вопрос у тебя в чем именно? Как отключить CustomStatic или как определить, что сейчас идет прицеливание? dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 22 Мая 2018 Поделиться Опубликовано 22 Мая 2018 4 минуты назад, dsh сказал: или как определить, что сейчас идет прицеливание? Да, но прицеливание именно через оптику. Вариант вот есть из DMX мода(выше). Просто интересуюсь, есть может варианты получше? Ссылка на комментарий
dsh 3 824 Опубликовано 22 Мая 2018 Поделиться Опубликовано 22 Мая 2018 (изменено) @TIGER_VLAD, вот например https://github.com/dsh2dsh/op2ogse/blob/3f7514f804eaf1dc875cc3ce8513d8537dd53bc2/gamedata/scripts/ogse_dynamic_hud.script#L115 но используется ogse.dll. Кажется zoom_mode() именно оттуда. Грубо в двух словах, если zoom_mode() == 1, значит прицеливание, если active_item() - это оружие и у него есть оптический прицел, значит это прицеливание через оптику. Изменено 22 Мая 2018 пользователем dsh 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Joko SS 5 Опубликовано 24 Мая 2018 Поделиться Опубликовано 24 Мая 2018 (изменено) научите как сделать анимацию использование еды, плиз. как в a.r.e.a юзаешь еду, игрок не двигается с мышкой и проподает худ, при этом проигрывается анимация похожая на смерть при выбросе. вот пример https://www.youtube.com/watch?v=Ac692ECmBY4 (на 5:20). зарание спасибо! Изменено 24 Мая 2018 пользователем Joko SS Ссылка на комментарий
dsh 3 824 Опубликовано 24 Мая 2018 Поделиться Опубликовано 24 Мая 2018 @Joko SS, из use callback-а проверяем, что это нужный предмет, отключаем управление level.disable_input(), отключаем худ level.hide_indicators(), запускаем соотв. анимацию камеры, по желанию запускаем какой-нибудь звук, запускаем таймер на нужное время, когда таймер сработает, включаем обратно худ и возвращаем управление. Это грубо, в двух словах. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Joko SS 5 Опубликовано 24 Мая 2018 Поделиться Опубликовано 24 Мая 2018 @dsh, напишешь для меня?) я не селен в скриптах, ток умею добавлять новые предметы Добавлено Dennis_Chikin, 25 Мая 2018 Вот мне почему-то показалось, что к этому идет, еще с прошлого поста. Хоть селен, хоть арсенид галлия - однако явный оффтопик. 5 1 Ссылка на комментарий
Гость Опубликовано 28 Мая 2018 Поделиться Опубликовано 28 Мая 2018 Добрый день, подскажите пожалуйста как произвести проверку на предмет нахождения ГГ в укрытии от выброса. Заранее спасибо. Ссылка на комментарий
dPlayer 502 Опубликовано 28 Мая 2018 Поделиться Опубликовано 28 Мая 2018 @Den “Angry Wolf” Koslov, нашёл где-то. Но это для ЗП. function название_функции() if surge_manager.actor_in_cover() then --действие end end Ссылка на комментарий
MegaStalker 66 Опубликовано 28 Мая 2018 Поделиться Опубликовано 28 Мая 2018 Здраствуйте. Попытался подключить для себя динамические новости к последней версии OGSM на Тени Чернобыля и добавить в них некрологи из АМК. В файле bind.stalker я, как и положено, прописал функцию для запуска этих самых новостей в игре через секцию actor_binder:update. , в файле news_main эти некрологи прописал, но игра обиделась за мои действия со скриптами и вместо запуска выплюнула следующий лог: Скрытый текст FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ...ow of chernobyl\gamedata\scripts\bind_stalker.script:465: attempt to call field 'show_news_main' (a nil value) Как я понял, она не видит функцию(хотя она есть в файле) show_news_main. В чем проблема? Огромная просьба помочь, т.к. в скриптах я абсолютно не шарю, попытался разобраться в файлах и подключить по примеру. Архив с файлами для новостей и сам файл из OGSM прилагаются, смотрите ссылку ниже. Скрытый текст https://drive.google.com/open?id=12PfbmWXChQvEBGyN6kviYUayp3Px0vuP 2 Все зовут меня Пришедший из Ниоткуда...Почему?Потому что я пришел из ниоткуда и иду в никуда... Ссылка на комментарий
AndreySol 215 Опубликовано 28 Мая 2018 Поделиться Опубликовано 28 Мая 2018 33 минуты назад, MegaStalker сказал: Как я понял, она не видит функцию(хотя она есть в файле) show_news_main. Ну так покажи движку, где ф-цию искать, попробуй прописать так: название_файла_в_котором_ф-ция.show_news_main Ссылка на комментарий
MegaStalker 66 Опубликовано 28 Мая 2018 Поделиться Опубликовано 28 Мая 2018 @AndreySol, попробую, потом напишу результат. Все зовут меня Пришедший из Ниоткуда...Почему?Потому что я пришел из ниоткуда и иду в никуда... Ссылка на комментарий
MegaStalker 66 Опубликовано 28 Мая 2018 Поделиться Опубликовано 28 Мая 2018 (изменено) Попробовал так прописать, ошибка осталась, игра не запускается. Пожалуйста, кто можете - скачайте архив и гляньте, что я не так подключаю или еще что делаю. А можно по-человечески объяснить, что значит "вешаем на правую мышь" и как собственно проверять? Я же сказал, что в скриптах ничего не шарю, потому и прошу помощи. Изменено 28 Мая 2018 пользователем MegaStalker Добавлено Dennis_Chikin, 28 Мая 2018 100500 раз говорили: Сначала идем сюда: https://www.amk-team.ru/forum/topic/11584-yazyk-lua-obschie-voprosy-programmirovaniya/?page=1 Потом идем на lua.org и качаем там luac5.1.exe с причиндалами. luac5.1.cmd с содержимым вида c:\куда_положили\luac5.1.exe %1 pause вешаем на правую мышь, и им проверяем то, что понаделали. Добавлено Dennis_Chikin, 28 Мая 2018 ПКМ, "открыть с помощью", далее выбрать созданный cmd. Дальше все будет написано фонтом по бэкграунду: в частности, если написано, что после строки 668 в news_main.script не хватает end - идем в тему по ссылке, внимательно читаем, и разбираемся, почему не хватает. 1 Все зовут меня Пришедший из Ниоткуда...Почему?Потому что я пришел из ниоткуда и иду в никуда... Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти