-
Публикаций
16 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Detron
-
-
denis2000 спасибо большое за разъяснение, хоть это я и знал. Но все равно спасибо!
Ну а команда все же выводит числа, но в таком вот странном виде:[0.00833930168:0.00833930168:0.00833930168]
Именно поэтому выдавало вылеты. Как это можно перевести в string или просто привести в нормальный вид?
Чтобы это можно было записать и вывести хоть куда-то кроме консоли. Ума не приложу. -
В 23.09.2022 в 12:41, denis2000 сказал:Во первых в оригинале нет такой функции
Да, все верно, это из Anomaly, но не суть.
В 23.09.2022 в 12:41, denis2000 сказал:во вторых вызов движковой функции делается не так
Разве level.get_time_hours() не считается движковой? Ведь я использую с ней такой же метод и все работает!
И не только get_time_hours(), но и другие для level. А это, вроде бы как, движковая функция, в моем понимании. Но с weather.get_value_vector() облом... Хотя с weather.get_value_numric() тоже работает. В любом случаи, хотел бы поинтересоваться у знающего человека, как правильно делать вызов движковых. Буду очень благодарен! -
1 час назад, WolfHeart сказал:Смотри 9 вариант
Я знаю что значит эта ошибка. Я прошу объяснить как правильно вывести полученное.
Ошибка вылезает только когда пытаюсь вывести, т.к. я делаю это неправильно. -
Нужна небольшая помощь с разъяснением. Имеется вот такая вот строчка для моего скрипта.
local sun_settings = weather.get_value_vector("sun_color")
По lua_help она выглядит так:
function get_value_vector(string)
Я немного не понимаю, что именно она мне выдает и в каком виде? По сути, должна выдавать числа.
Если пытаюсь вставить ее в сообщение через news_manager для вывода в игре, то ловлю вылет.
Пытался и через tostring конвертировать и через printf выводить, но тоже получал вылет...
Не особо прошаренный в LUA, поэтому, наверняка, не понимаю очевидного.
Как мне увидеть полученные значения и, еще лучше, вывести на экран через news_manager?СпойлерFATAL ERROR [error]Expression : <no expression> [error]Function : CScriptEngine::lua_error [error]File : ..\xrServerEntities\script_engine.cpp [error]Line : 191 [error]Description : fatal error [error]Arguments : LUA error: No such operator defined stack trace:
-
-
@denis2000, увы, но нет. kACCEL отвечает за медленную ходьбу/низкое приседание, а не за спринт.
Это можно увидеть даже в user.ltx по назначенной кнопке. Боюсь, название кнопки спринта можно найти только в самом движке, ибо ни в одном скрипте оно не написано. Искал по ключевым словам через notepad++ и не нашел нужного. -
Не подскажите, как по key_bindings называется кнопка спринта?
Пишу скрипт, где эту кнопку нужно отследить, а названия не знаю и найти не могу (в lua_help не указано).
Попробовал подобрать, но такие как kRUN, kSPRINT и kSPRINT_TOGGLE не подошли.
Кто-нибудь знает правильно название кнопки? -
ian98 так в аномали одни сплошные движковые правки. Даже если и завезли туда подобное, то на ванильных сталкерах оно не заведется. Там уж либо самому править, либо костылями )
-
3 часа назад, Tolich сказал:Такой вопрос, как применить для ножа две текстуры? Первая текстура, когда ГГ достаёт нож (ходит с ним, пока не атакует) и вторая текстура, после атаки ножом.
т.е. имеем две текстуры ножа: одна без крови, вторая с кровью. Хотелось бы обе использовать, для реалистичности. Может подобное уже где то реализовалось в модах?Довольно интересная идея. Не дохрена программист, но первое, что пришло в голову - сделать проверку на удар ножом по НПС и после срабатывания заменять обычный нож альтеративным окровавленным. А перед этим, естественно, ввести в игру второй точно такой же нож и подменять старый. Удалять старый из инвентаря и выдавать новый окровавленный. Возможно даже есть способ сделать проверку по удару ножом об воду и таким методом менять обратно (ходят легенды, что истинные гуру могут написать проверку на что угодно, но это не про меня). Немного топорный метод, но должен сработать. Еще где-то видел методы с подменой текстур, но не уверен, что без движковых правок оно работает. Попробовал бы за полчаса сам написать подобное, но компа под рукой нема (
-
Задался таким вопросом. Можно ли в Сталкере сделать UI окна, которые можно двигать мышью? Может кто уже разбирал такой вопрос или знает ответ. Было бы интересно реализовать подобное в игре.
- 1
-
Всем доброго времени суток!
Ищу опытного программиста Lua для помощи и консультации в написании и оптимизации скриптов для сюжетного проекта S.T.A.L.K.E.R. Потерянная Зона, находящегося на ранних стадиях разработки.
Проект затрагивает как множество графических, так и геймплейных изменений, которые требуют множества сложных и оптимизированных скриптов для отлаженной работы. Увы, у меня мало опыта и познаний в Lua, и написание с оптимизацией без сторонней помощи займет очень много времени.
Если вы хорошо владеете Lua и имеете желание поучаствовать в разработке мода - буду очень рад помощи!
Спасибо за внимание! -
4 часа назад, digital defender сказал:denis2000 По ходу, моя мечта не сбыточна(
digital defender , makes your dream come true ))
Удивлен, что другие не помоглиСпойлерlocal switch = 1 local iTimer = time_global() + 1000 function on_game_start() RegisterScriptCallback("actor_on_update",actor_on_update) end function actor_on_update() local console = get_console() local hud = get_hud() if iTimer and iTimer < time_global() then if hud:GetCustomStatic("main_task") then if switch == 1 then console:execute("hud_draw 1") switch = 2 iTimer = time_global() + 1000 else console:execute("hud_draw 0") switch = 1 iTimer = time_global() + 1000 end end end end
p.s. если не работает, то нужно просто вписать в bind_stalker для получения коллбэка
- 1
-
Подскажите, что не так? Скрипт срабатывает всего один раз, выдавая в сообщения "mode 2" и "done". На изменение фактора дождя в дальнейшем он никак не реагирует. Но если не использовать "reset_mode", как проверку, то скрипт напротив срабатывает бесконечное количество раз, бесконечно присылая сообщения ГГ, даже если rain_realtime и rain_memory уже равны. Что я делаю не так?
Спойлерlocal reset_mode = false local load_mode = 0 local rain_memory = 0 local rain_storage = 0.89512 function on_game_start() RegisterScriptCallback("actor_on_update",actor_on_update) end function actor_on_update() local rain_realtime = math.ceil(level.rain_factor()*10) if rain_realtime ~= rain_memory and reset_mode == false then factor_controller(rain_realtime) reset_mode = true end end function factor_controller(rain_realtime) local a = rain_realtime local b = rain_memory local c = rain_storage if a ~= b then if a > b then while a ~= b do b = b + 1 end elseif a < b then while a ~= b do b = b - 1 end end end if a == b then while b ~= c do if b > c and c == 0 then load_mode = 0 c = b news_manager.send_tip(db.actor, "mode 1", nil, nil, 30000) elseif b > c and c ~= 0 then load_mode = 1 c = b news_manager.send_tip(db.actor, "mode 2", nil, nil, 30000) elseif b < c and b == 0 then load_mode = 0 c = b news_manager.send_tip(db.actor, "mode 3", nil, nil, 30000) elseif b < c and b ~= 0 then load_mode = 1 c = b news_manager.send_tip(db.actor, "mode 4", nil, nil, 30000) end end end if a == c then reset_mode = false news_manager.send_tip(db.actor, "done", nil, nil, 30000) end end
-
Господа-сталкеры, такой необычный вопрос. Можно ли заставить скрипт брать партиклы из другого .xr файла помимо particles.xr или же из папки particles?
Вписываю в скрипт local dot = particles_object("effect//dot") и закидываю в папку particles папку effect с партиклом dot, чтобы в итоге получилось gamedata/particles/effect/dot.pe, но во время загрузки игра вылетает и выдает, что такого партикла не существует
-
Братцы-сталкеры, подскажите. В Anomaly дождь все также работает через движок? Если да, то есть ли способ отслеживать начало дождя через скрипт и имеется ли возможность заспавнить и привязать партиклы к ГГ?
[CoP] Модострой: вопросница
в Уроки, вопросы и советы по созданию модов
Опубликовано · Изменено пользователем Detron
Наверное очевидно, что я не знаю как перевести вектор в стринг. Но подсказать способ очень сложно, тем более знающему человеку, верно? Думаю, кто-то, очевидно, будет тоже заниматься подобным и зайдет в тупик. Вот вам ответ:
local sun_temp = weather.get_value_vector("sun_color") printf(string.format("%s,%s,%s",sun_temp.x,sun_temp.y,sun_temp.z))
Надеюсь, кому-то помогу. Наверное, первый раз, когда я потратил 2 дня, чтобы разобраться, а не 20 минут.