Перейти к контенту

singapur22

Пользователи
  • Число публикаций

    43
  • Регистрация

  • Последнее посещение

  • AMKoin

    45 [Подарить AMKoin]

Весь контент пользователя singapur22

  1. singapur22

    У Костра XXI

    Какой мод нынче наиболее актуальный на поиграть для тч, кроме лост альфы? Хочется понастальгировать, но в новом масштабе
  2. singapur22

    Mobile Manager

    Работа на проектом закрыта, в связи с давностью и потерей всех данных. Если будут желающие продолжить развитие. Флаг в руки.
  3. singapur22

    У Костра XXI

    Приветы всем Сталкерам. Давненько сюда не заходил.
  4. singapur22

    Mobile Manager

    Файлы проекта были утеряны. Просьба откликнуться тех, у кого ещё что-то осталось)
  5. singapur22

    Скриптование

    malandrinus, И всё же. Вопреки описанию, методы pairs и ipairs производят проверку значений на nil. И если таковой находится, итерация прекращается. Чтобы в этом убедиться, достаточно просмотреть исходник данного метода:
  6. singapur22

    Скриптование

    Artos, Тоесть. ты хочешь определить, имеет ли список строчные значения, или же числовые?! Но ведь список может иметь и оба типа значений. К кому такой список приравнять? А по сути, без полного перебора таблицы, невозможно определить типы всего списка значений. Но раз уж на то пошло, и тебя устроит использование классового списка, то всегда можно создать класс, отвечающий всем требуемым условиям.
  7. И ещё раз о скоростях вычислений в Lua. В частности затронем тему работ с таблицами. Как не странно, работая с таблицами (особенно с "массивными"), нужно учитывать, как мы её будем итерировать, в том, или ином случае. Строго-индексированные таблицы, многие предпочитают итерировать посредством функции ipairs(). Данный способ наиьолее удобный, но работает он в два раза медленнее стандартного числового итерирования:
  8. 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.
  9. Gun12, Хм. А теперь замерь время работы функции unpack() и вычти результат от значения пременной t2. Только в этом случае ты получишь истиное время выполнения функции format.
  10. Всё дело в том, что в зависимости от длины строки, модификатор 's' обрабатывается разными методами. Вот кусок кода, отвечающего за данный модификатор, из исходника метода обработки функции string.format:
  11. reboot, Это уникальные нпс. После их смерти, они не перевосполняются. И в итоге, после их смерти, общее количество нпс вернётся к установленым ёмкостям смартов. Чтобы увеличить объём Зоны в плане количества нпс, нужно манипултровать именно смарт_террейнами и их гулагами.
  12. singapur22

    Скриптование

    Desertir, По сути, как уже было сказано RvP, никак. Но... Смотря где и зачем тебе это нужно. Классы всегда можно переопределить (унаследовать), и назначить им дополнительные методы и(или) свойства. Унаследовать можно конечно не все классы, но многие (условий наследования несколько). Есть ещё одно незначительное условие, названия переопределяемых классов придётся поменять, что потребует их переименование во всей скриптовой системе.
  13. reboot, Количество находящихся на той, или иной локации монстров и(или) нпс, напрямую зависит от емкостей смарт_террейнов, находящихся на требуемой локации. В свою очередь, ёмкости смарт_террейнов всегда меньше, или равны количеству заданных работ, назначенного гулага, в тот, или иной момент времени (зависит от временных настроек гулагов). Судя по вопросу, модинг Сталкера, для вас новинка. Система данной игры, представляет собой, достаточно сложный алгоритм. И ни один вопрос, связанный с её модингом, не может дать предельно ясного ответа. Могу только посоветовать почитать множественные справчники и мануалы по модингу Сталкера, которыми интернет буквально переполнен.
  14. singapur22

    Скриптование

    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.
  15. Comador Исключение пустого элемента <text attributes/> Лишь отключит установку значений параметров, указанных в нём. Соответственно, после его удаления, задействуются значения по умолчанию. Для отключения вывода текста, нужно исключить все попытки его установки методами SeText(...) и SetTextST(...). Ну или, как было предложено в варианте 2, указав нулевое значение непрозрачности текста. Хотя это не лучший вариант, так как текст всё равно будет продолжать отрисовываться, хоть мы его и не будем видеть.
  16. singapur22

    Скриптование

    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
  17. singapur22

    Скриптование

    strelok200, При спавне вертолёта через скрипт, обязательно требуется перепаковка net_packet, с переназначением параметров: skeleton_name = idle startup_animation = idle
  18. Эммм. Не нашёл подходящей темы для вопроса. так что, задам здесь. Есть ли возможность определить версию игры + версию патча, из тела файла сохранения *.sav?
  19. FANAT, Во первых, в схеме ремарка пропиши: combat_ignore_cond = always Во вторых: no_move = true --лишнее. В схеме ремарка нет такого параметра. Анимация стояния, в схеме ремарка стоит по умолчанию. И указывать, стоять ему, или двигаться, нужно в параметре anim
  20. Проект Lua Help Manager 2.1b Бетта версия редактора файлов lua_help.script Проект доработан до пользовательского состояния. Остались некоторые мелочи, не влияющие на стабильность работы приложения. Скачать можно здесь: http://ifolder.ru/25065445 P.S. Начата работа над пополнением описательной базы. Проект пока без мануала, но интерфейс достаточно прост и понятен.
  21. strchi, Не верно. Про это уже говорилось, что данный баг, движковый. В оригинале, не однократно, в процессе игры, встречаются лайты фонариков, оставшиеся на месте спавна нпс. Здесь скорее трабла в дублировании лайтов рендером, где продублированный лайт, остаётся на месте первоначального отображения.
  22. Кто юзал XR_3DA.exe (импортировал)? Хотелось бы узнать все точки входа. Или сформулирую вопрос по другому. Как выявить все точки входа?!!!
  23. FANAT, level.map_add_object_spot_ser(id, "идентификатор_спота", "выводимый_текст_при_наведении")
  24. FANAT, Ищи ошибку в самом файле dap_zapis_pda.script Ошибка может быть, не обязательно в вызываемой функции. Любая синтаксическая ошибка в теле файла, приведёт к его потере. О чём собственно и говорит твой лог.
  25. singapur22

    Mobile Manager

    Работа над проектом, временно приостановлена. Нужно отдохнуть немного (два месяца, только им и занимался) Работа возобновится, после завершения работ, над проектом2 (LuaHelpManager). Информация в топе "Инструментарий для мододелов ".

AMK-Team.ru

×
×
  • Создать...