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

Справочник по функциям и классам


Рекомендуемые сообщения

Просто наблюдение:

Разница между значениями game.time() и game.get_game_time()" - заметил, что при старте новых игр она каждый раз разная, и где-то, после 40млн.милисекунд, при рестарте счётчика, её значение изменяется...

 

как ты высчитываешь разницу?
Стартовал новую игру, получал game.time() и game.get_game_time(), переводил game.get_game_time() в мсек, вычитал и смотрел разницу.

И какой рестарт счётчика ты имеешь в виду? Тот, что раз в месяц?
Разница, была статична до того как, через какое-то игровое время, значение game.time() сбросилось и продолжило счёт с нуля, разница то-же пересчиталась и стала другой. Вот насчёт 40 млн... это я визуально запомнил - это может и не так быть, но срок был, в роде больше месяца, намного.

 

Надо повторить эксперимент, а то вдруг чего не так делал... перепроверю.

Но то, что game.time() обнулялась - это точно.

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение
ок, отвлечёмся немного от диалогов =)

Ладно... :) Мне-же этот класс в связи с диалогами и понадобился.

А даты-время, этот класс, обслуживает в пределах с 2000.1.1.0.0.0.0 по 2029.12.31.23.59.59.999

И функция sub() вроде криво работает, ещё раз перепроверюсь - отпишусь про неё.

А ещё - не нашёл способа вычислять даты прибавляя время, например: дата + дни (часы, ...).

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение

Действительно - :good2: - можно писать любые числа - они в роде как пересчитываются в правильные (?) ...

Но! - вот, например, новогодняя аномалия, "32 декабря" называется:

 

(далее: если "set" ... -> то "get" ...)

 

2014,12,32,0,0,0,0 -> 2014,12,32,0,0,0,0

2015,1,1,0,0,0,0 -> 2014,12,32,0,0,0,0

2014,12,33,0,0,0,0 -> 2015,1,2,0,0,0,0

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение

Темы про общие вопросы программирования не нашёл - спрошу здесь:

 

Почему у меня получаются такие результаты:

8388608 + 2.555 - 8388608 = 3 ;

0.123456789 * 1000 / 1000 = 0.1234567835927 ?

 

В документации написано, что числа в Луа "с плавающей точкой и двойной точности".

Что сделать что-бы так не было? Почему предел 2^23?

 

 

 

 

===========================

 

ЗЫ:

Unnamed Black Wolf

по самому луа, у меня все в порядке выдает....

Я про Луа в Сталкере имел в виду.

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение

для AK74

Понятно, что всё это - округление, только вот - не ожидал я его так быстро. Было-бы 2^25 - я бы может ничего и не заметил. Числа двойной точности с плавающей точкой - это 15 (или 16?) десятичных разрядов, а тут... даже не половина.В принципе - не проблема - пока обошёлся...

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение
... что значит "округление, только вот - не ожидал я его так быстро"? Поясните, плз.

Просто, я его (автоматического округления) вообще не ожидал - если-бы была двойная точность, как в стандарте, я бы никогда с этим не столкнулся. Я думал: в XRay-е стандартный формат числа Луа, оказалось - это не так.

 

ЗЫ:

Наверное для производительности разрядность порезали.

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение

Whisper, посмотри на иерархию диалога творчески - попробуй разделить весь диалог на автономные поддиалоги и организовать активацию нужных в нужные моменты.

 

PS

Придётся разобраться в скриптовой активировации диалога.

Если у тебя получиться - мы то-же будем так делать :-)

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение

Если-бы у меня спросили о темах постоянно возникающих у меня вопросов - я бы ответил так:

 

x-Ray: программирование на Lua.

x-Ray: создание, настройка и управление объектами.

x-Ray: создание интерфейсов.

 

[X]

 

 

 

 

 

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение

Недавно, изучая нет-пакеты, наткнулся на описание интерфейса "cse_alife_inventory_item", некоторые его параметры вызывают любопытсво, особенно: кватернионы, угловые и линейные скорости, импульсы, позиции - всё это явно физика. Никто не сможет рассказать, как это всё связано с "инвентарностью" объекта?

 

cse_alife_inventory_item
{ name => 'condition', type => 'f32', default => 0.0 }, # 0xec
{ name => 'upgrades', type => 'l32szv', default => [] }, # 0xec

{ name => 'upd:num_items', type => 'h8' }, # 0x90
{ name => 'upd:force', type => 'f32v3' }, # 0x58
{ name => 'upd:torque', type => 'f32v3' }, # 0x58
{ name => 'upd:position', type => 'f32v3' }, # 0x58
{ name => 'upd:quaternion', type => 'f32v4' }, # 0x5
{ name => 'upd:angular_velocity', type => 'f32v3' }, # 0x58
{ name => 'upd:linear_velocity', type => 'f32v3' }, # 0x58
{ name => 'upd:enabled', type => 'u8'}, # 0x58
{ name => 'upd:quaternion_SOC', type => 'q8v4' }, # 0x5
{ name => 'upd:angular_velocity_SOC', type => 'q8v3' }, # 0x28,0x2c,0x30
{ name => 'upd:linear_velocity_SOC', type => 'q8v3' }, # 0x28,0x2c,0x30
{ name => 'upd:condition', type => 'f32' }, # 0x90
{ name => 'upd:timestamp', type => 'u32' }, # 0x58
{ name => 'upd:num_items_old_format', type => 'u16' }, # 0x58
{ name => 'upd:cse_alife_inventory_item__unk1_u8', type => 'u8' }, # 0x58

 

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение
Фактически не подходит для проигрывания зацикленных звуков.

То-есть, ни stop(), ни stop_deffered(), точно не срабатывают?

А если, например, переменную заnilить - ничего не сброситься?

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение
Главная задача - привязать внешний файл к конкретному сейву. Если всё сохранять в файл с конкретным именем, то последний сейв затрёт внешние данные предыдущего.

Если имя файла с дополнительными данными будет совпадать с именем штатного сейва с добавкой постоянного суффикса - всё будет как надо - пара: штатный сейв + файл (связанных с ним) дополнительных данных.

 

Пример:

savename1.sav

savename1db.sav

savenameA.sav

savenameAdb.sav

Изменено пользователем 7.9
  • Не нравится 1
  • Согласен 1

всё легко

Поделиться этим сообщением


Ссылка на сообщение

Если "дополнительные данные" связанны с "текущим состоянием игры", а они связанны, этот вариант самый оптимальный. Реализовать (давно) можно с использованием расширения Lua от RvP

А хранить данных надо действительно много...

Изменено пользователем 7.9

всё легко

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
  • Куратор(ы) темы:

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