
singapur22
Пользователи-
Число публикаций
43 -
Регистрация
-
Последнее посещение
-
AMKoin
45 [Подарить AMKoin]
Весь контент пользователя singapur22
-
Какой мод нынче наиболее актуальный на поиграть для тч, кроме лост альфы? Хочется понастальгировать, но в новом масштабе
-
Работа на проектом закрыта, в связи с давностью и потерей всех данных. Если будут желающие продолжить развитие. Флаг в руки.
-
Приветы всем Сталкерам. Давненько сюда не заходил.
-
Файлы проекта были утеряны. Просьба откликнуться тех, у кого ещё что-то осталось)
-
malandrinus, И всё же. Вопреки описанию, методы pairs и ipairs производят проверку значений на nil. И если таковой находится, итерация прекращается. Чтобы в этом убедиться, достаточно просмотреть исходник данного метода:
-
Artos, Тоесть. ты хочешь определить, имеет ли список строчные значения, или же числовые?! Но ведь список может иметь и оба типа значений. К кому такой список приравнять? А по сути, без полного перебора таблицы, невозможно определить типы всего списка значений. Но раз уж на то пошло, и тебя устроит использование классового списка, то всегда можно создать класс, отвечающий всем требуемым условиям.
-
Справочник по функциям и классам
singapur22 ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
И ещё раз о скоростях вычислений в Lua. В частности затронем тему работ с таблицами. Как не странно, работая с таблицами (особенно с "массивными"), нужно учитывать, как мы её будем итерировать, в том, или ином случае. Строго-индексированные таблицы, многие предпочитают итерировать посредством функции ipairs(). Данный способ наиьолее удобный, но работает он в два раза медленнее стандартного числового итерирования: -
Справочник по функциям и классам
singapur22 ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Gun12, Поэкспериментировал с вашей функцией format. Максимальную скорость получил только в данном случае: local a = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaa" --100 символов local b = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbb" --100 символов local c = "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccc" --100 символов local d = "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddd" --100 символов local e = "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeee" --100 символов function f(...) t = os.clock() local q for i=1, 100000 do q = string.format("%s%s%s%s%s", ...) end print("format", os.clock() - t) end f(a,b,c,d,e) Причём, обязательно как отдельную функцию, с использованием неявного списка аргументов. (при использовании явных аргументов, время увеличивается) Но и в этом случае, конкатенация работает немногим быстрее. P.S. -
Справочник по функциям и классам
singapur22 ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Gun12, Хм. А теперь замерь время работы функции unpack() и вычти результат от значения пременной t2. Только в этом случае ты получишь истиное время выполнения функции format. -
Справочник по функциям и классам
singapur22 ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Всё дело в том, что в зависимости от длины строки, модификатор 's' обрабатывается разными методами. Вот кусок кода, отвечающего за данный модификатор, из исходника метода обработки функции string.format: -
[SoC] Ковыряемся в файлах
singapur22 ответил на тему форума автора Halford в Скрипты / конфиги / движок
reboot, Это уникальные нпс. После их смерти, они не перевосполняются. И в итоге, после их смерти, общее количество нпс вернётся к установленым ёмкостям смартов. Чтобы увеличить объём Зоны в плане количества нпс, нужно манипултровать именно смарт_террейнами и их гулагами. -
Desertir, По сути, как уже было сказано RvP, никак. Но... Смотря где и зачем тебе это нужно. Классы всегда можно переопределить (унаследовать), и назначить им дополнительные методы и(или) свойства. Унаследовать можно конечно не все классы, но многие (условий наследования несколько). Есть ещё одно незначительное условие, названия переопределяемых классов придётся поменять, что потребует их переименование во всей скриптовой системе.
-
[SoC] Ковыряемся в файлах
singapur22 ответил на тему форума автора Halford в Скрипты / конфиги / движок
reboot, Количество находящихся на той, или иной локации монстров и(или) нпс, напрямую зависит от емкостей смарт_террейнов, находящихся на требуемой локации. В свою очередь, ёмкости смарт_террейнов всегда меньше, или равны количеству заданных работ, назначенного гулага, в тот, или иной момент времени (зависит от временных настроек гулагов). Судя по вопросу, модинг Сталкера, для вас новинка. Система данной игры, представляет собой, достаточно сложный алгоритм. И ни один вопрос, связанный с её модингом, не может дать предельно ясного ответа. Могу только посоветовать почитать множественные справчники и мануалы по модингу Сталкера, которыми интернет буквально переполнен. -
Habaromaniac, Значения немного не точные, но укажу как их вычислить. Определение угла от Pi можно производить lua функцией math.rad(num) Где, num -- угол в градусах. -1 по координате Z указывает нулевое направление (в сторону отрицательного луча, вектора Z). Нулевым направлением можно сделать и вектор X, если кому так удобней, но при этом нужно будет учитывать, что угол поворота будет определяться от данного вектора. Приведём небольшой пример: Укажим угол поворота, на 90 градусов вправо, от указанного нулевого луча (-Z): p_dest_dir = vector():set(0, math.rad(90), -1) --будет аналогичен примеру... p_dest_dir = vector():set(0, 1.57, -1) По сути, поворот на 180 градусов, в представлении Pi, равен ему же. (Pi = 3.14159...) Отсюда, углом поворота можно управлять и путём управления значением Pi. В lua, Pi определяется константой math.pi. Соответственно, чтобы указать угол поворота на 90 градусов, нужно будет значение Pi разделить на 2: p_dest_dir = vector():set(0, math.pi / 2, -1) Полный поворот на 360 градусов, объявляется умножением Pi на 2.
-
[SoC] Ковыряемся в файлах
singapur22 ответил на тему форума автора Halford в Скрипты / конфиги / движок
Comador Исключение пустого элемента <text attributes/> Лишь отключит установку значений параметров, указанных в нём. Соответственно, после его удаления, задействуются значения по умолчанию. Для отключения вывода текста, нужно исключить все попытки его установки методами SeText(...) и SetTextST(...). Ну или, как было предложено в варианте 2, указав нулевое значение непрозрачности текста. Хотя это не лучший вариант, так как текст всё равно будет продолжать отрисовываться, хоть мы его и не будем видеть. -
strelok200, Юзай net_utils.script из Симбиона (наиболее полная версия менеджера net_packet объектов игры) Перепаковка, в данном случае будет занимать минимальное количество строк: local sobj = alife():create("helicopter", ... if sobj then local tbl = net_utils.Get_Data_Helicopter(sobj) --//считываем данные net_packet объекта tbl.skeleton_name = "idle" --//переопределяем требуемые параметры tbl.startup_animation = "idle" net_utils.Set_Data_Helicopter(tbl, sobj) --//перезаписываем net_packet объекта end
-
strelok200, При спавне вертолёта через скрипт, обязательно требуется перепаковка net_packet, с переназначением параметров: skeleton_name = idle startup_animation = idle
-
[SoC] Ковыряемся в файлах
singapur22 ответил на тему форума автора Halford в Скрипты / конфиги / движок
Эммм. Не нашёл подходящей темы для вопроса. так что, задам здесь. Есть ли возможность определить версию игры + версию патча, из тела файла сохранения *.sav? -
[SoC] Ковыряемся в файлах
singapur22 ответил на тему форума автора Halford в Скрипты / конфиги / движок
FANAT, Во первых, в схеме ремарка пропиши: combat_ignore_cond = always Во вторых: no_move = true --лишнее. В схеме ремарка нет такого параметра. Анимация стояния, в схеме ремарка стоит по умолчанию. И указывать, стоять ему, или двигаться, нужно в параметре anim -
Проект Lua Help Manager 2.1b Бетта версия редактора файлов lua_help.script Проект доработан до пользовательского состояния. Остались некоторые мелочи, не влияющие на стабильность работы приложения. Скачать можно здесь: http://ifolder.ru/25065445 P.S. Начата работа над пополнением описательной базы. Проект пока без мануала, но интерфейс достаточно прост и понятен.
-
[SoC] Ковыряемся в файлах
singapur22 ответил на тему форума автора Halford в Скрипты / конфиги / движок
strchi, Не верно. Про это уже говорилось, что данный баг, движковый. В оригинале, не однократно, в процессе игры, встречаются лайты фонариков, оставшиеся на месте спавна нпс. Здесь скорее трабла в дублировании лайтов рендером, где продублированный лайт, остаётся на месте первоначального отображения. -
Редактирование движка X-Ray
singapur22 ответил на тему форума автора Rolan в Скрипты / конфиги / движок
Кто юзал XR_3DA.exe (импортировал)? Хотелось бы узнать все точки входа. Или сформулирую вопрос по другому. Как выявить все точки входа?!!! -
[SoC] Ковыряемся в файлах
singapur22 ответил на тему форума автора Halford в Скрипты / конфиги / движок
FANAT, level.map_add_object_spot_ser(id, "идентификатор_спота", "выводимый_текст_при_наведении") -
[SoC] Ковыряемся в файлах
singapur22 ответил на тему форума автора Halford в Скрипты / конфиги / движок
FANAT, Ищи ошибку в самом файле dap_zapis_pda.script Ошибка может быть, не обязательно в вызываемой функции. Любая синтаксическая ошибка в теле файла, приведёт к его потере. О чём собственно и говорит твой лог. -
Работа над проектом, временно приостановлена. Нужно отдохнуть немного (два месяца, только им и занимался) Работа возобновится, после завершения работ, над проектом2 (LuaHelpManager). Информация в топе "Инструментарий для мододелов ".
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды