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 121 Опубликовано 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 Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
AngryWolf 71 Опубликовано 28 Мая 2018 Поделиться Опубликовано 28 Мая 2018 Добрый день, подскажите пожалуйста как произвести проверку на предмет нахождения ГГ в укрытии от выброса. Заранее спасибо. Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
dPlayer 346 Опубликовано 28 Мая 2018 Поделиться Опубликовано 28 Мая 2018 @Den “Angry Wolf” Koslov, нашёл где-то. Но это для ЗП. function название_функции() if surge_manager.actor_in_cover() then --действие end end 1 Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
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 165 Опубликовано 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 Цитата Все зовут меня Пришедший из Ниоткуда...Почему?Потому что я пришел из ниоткуда и иду в никуда... Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Dennis_Chikin 3 621 Опубликовано 28 Мая 2018 Поделиться Опубликовано 28 Мая 2018 И, да, ни кто кроме Вас не знает, что у Вас там было и что должно быть после строк local reason=dead_reason[math.random(table.getn(dead_reason))] local dead=where_dead[math.random(table.getn(where_dead))] 1 Цитата Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
MegaStalker 66 Опубликовано 28 Мая 2018 Поделиться Опубликовано 28 Мая 2018 1 минуту назад, Dennis_Chikin сказал: И, да, ни кто кроме Вас не знает, что у Вас там было и что должно быть после строк local reason=dead_reason[math.random(table.getn(dead_reason))] local dead=where_dead[math.random(table.getn(where_dead))] АМК знают, я же из их файла выдрал этот код. Просто в скачанном мною моде все было не разбито на кучу файлов, как у АМК, а соединено в один. 3 Цитата Все зовут меня Пришедший из Ниоткуда...Почему?Потому что я пришел из ниоткуда и иду в никуда... Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Dennis_Chikin 3 621 Опубликовано 6 Июня 2018 Поделиться Опубликовано 6 Июня 2018 А напомните мне кто-нибудь, как вызвать my_subdir\my_script.my_function() ? Где-то такое видел, но не помню, как правильно делается. То есть, файлы лежат не в gamedata\scripts, а в gamedata\scripts\my_subdir Можно, конечно, и все в sripts, но там возможна куча файлов на одну тему, и получается как-то "неаккуратненько" (tm). Цитата Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
buffy 4 Опубликовано 6 Июня 2018 Поделиться Опубликовано 6 Июня 2018 @Dennis_Chikin, ты про это? Проверял не в сталкаче. C:\Programs\lua\test\src\test_folder\test_dofile.lua: function test_func() print("print from test_dofile.lua") end C:\Programs\lua\test\src\test_prog.lua: dofile("C:/Programs/lua/test/src/test_folder/test_dofile.lua") test_func() Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Dennis_Chikin 3 621 Опубликовано 6 Июня 2018 Поделиться Опубликовано 6 Июня 2018 Мы здесь, внезапно, именно про сталкер. Цитата Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
buffy 4 Опубликовано 6 Июня 2018 Поделиться Опубликовано 6 Июня 2018 @Dennis_Chikin, функция dofile вроде есть в сталкаче, в чём проблема? Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Dennis_Chikin 3 621 Опубликовано 6 Июня 2018 Поделиться Опубликовано 6 Июня 2018 Например, путь я пытался узнать. Все перебранные варианты - либо nil, либо "ушла и не вернулась". Цитата Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Kirgudu 687 Опубликовано 6 Июня 2018 Поделиться Опубликовано 6 Июня 2018 @Dennis_Chikin, в целом @buffy дал правильный совет, емнип. my_script.script: _G['my_script'] = { my_function = function() end my_function_2 = function() end } В любом нужном месте, например в _g.script: local my_scripts_loaded = false if not my_scripts_loaded then dofile(getFS():update_path("$game_scripts$","my_subdir\\my_script.script")) my_scripts_loaded = true end Повторить для каждого скрипта в подпапке(ах), организовать циклы, оптимизации и прочие улучшения. Ну да не мне тебе рассказывать. Как потом вызывать, думаю, понятно. 2 Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Dennis_Chikin 3 621 Опубликовано 6 Июня 2018 Поделиться Опубликовано 6 Июня 2018 getFS():update_path("$game_scripts$","my_subdir\\my_script.script") Вот это надо было. Спасибо. 1 1 Цитата Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Metro_Rus 75 Опубликовано 8 Июня 2018 Поделиться Опубликовано 8 Июня 2018 local esc_b2_give_random_table = {} esc_b2_give_random_table[1] = { [1] = {item = {"af_medusa"}}, [2] = {item = {"af_blood"}}, [3] = {item = {"af_vyvert"}} } function esc_b2_give_random(first_speaker, second_speaker) for i = 1,1 do if has_alife_info("test_function") then for j = 1,#esc_b2_give_random_table[i] do if has_alife_info("test_function") then for k,v in pairs(esc_b2_give_random_table[i][j].item) do dialogs.relocate_item_section_to_actor(first_speaker, second_speaker,v) end give_info("esc_b2_done_item_"..tostring(i).."_"..tostring(j)) break end end end end end Пытаюсь создать функцию на выдачу рандомных предметов НПС, которому в экшене диалога прописана эта функция(esc_b2_give_random), всегда выдает только первый предмет из esc_b2_give_random_table, т.е. af_medusa А нужно, чтобы он выдавал случайно 1 из 3, прописанных в esc_b2_give_random_table, предметов Цитата "Люди — животные, не имеющие ни страха, ни уважения, ни сочувствия. Лишь только блеск выгоды в глазах" © Алексей Шевцов Скрытый текст OC: Windows 10 Home, Видеокарта: NVIDIA GeForce GTX 1050 TI 4ГБ, Процессор: Intel Core i3 7100 3900 МГц 2 ядра, RAM(ОЗУ): 8ГБ DDR4, ROM(ПЗУ): 1ТБ Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
WinCap 180 Опубликовано 8 Июня 2018 Поделиться Опубликовано 8 Июня 2018 (изменено) 1 час назад, Metro_Rus сказал: всегда выдает только первый предмет Break прерывает цикл j. 1 час назад, Metro_Rus сказал: нужно, чтобы он выдавал случайно local rnd = math.random(1, #esc_b2_give_random_table[i]) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, esc_b2_give_random_table[i][rnd].item[1]) Изменено 8 Июня 2018 пользователем WinCap 1 Цитата S.T.A.L.K.E.R. Tools Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.