Jump to content

Recommended Posts

abramcumner    925
2 часа назад, Norman Eisenherz сказал:

Откуда берутся эти дробные части и как с этим бороться?

Прочитать про числа с плавающей запятой. Не все рациональные числа могут быть представлены в этом формате. Например 0.1 нельзя.

"Борьба" заключается в выводе чисел с нужным числом знаков(s = string.format("%.1f", x) - преобразует x в строку с округлением до одного знака).

Edited by abramcumner
  • Согласен 1
  • Полезно 1

Share this post


Link to post
Share on other sites
AndreySol    148
17 часов назад, Norman Eisenherz сказал:

количество денег у ГГ (с виду целое – ни одной цены с копейками нет)

А Вы его попробуйте из конфига прочитать как целое, т.е. не system_ini():r_float а r_s32 --возвращает целое число. Кстати, не ленитесь "Справочник по ф-циям и классам" читать, там много интересного.

  • Согласен 1

Share this post


Link to post
Share on other sites
On 9/6/2020 at 7:13 PM, abramcumner said:

string.format("%.1f", x)

Любое следующее вычисление (даже + 0) опять приводит к появлению той же дробной части, и при последовательных вычислениях с выводом промежуточных результатов приходится форматировать строку каждый раз. С трудом верится, что настолько неоптимальный подход – норма для языка Lua.

 

@AndreySol Цитирую: "исходное число 18'639". Может, я что-то упускаю, но в конфигах хранится только начальное количество денег ГГ, а текущая сумма на счету читается через db.actor:money() без опций "float/integer"

Share this post


Link to post
Share on other sites
mdm64    61

Доброго времени!

Тут назрел вопрос - как правильно сделать в ЗП, чтобы предмет спавнился в "цветном объёмном изображении" только после, например, выдачи инфопоршня либо при выполнении какого-то иного условия (суть та же)? Работаю в СДК.

Share this post


Link to post
Share on other sites

Здрасьте.

 

Работает ли метод iterate_inventory_box(func, obj) в ЧН?

Метод указан в [lua_help.script], упоминается в справочнике на gameru.net как полностью аналогичный методу iterate_inventory(func, obj), но при вызове для существующего и находящегося в онлайне контейнера с несколькими предметами случается вылет с ошибкой "нет такого метода".

Edited by Norman Eisenherz

Share this post


Link to post
Share on other sites
AndreySol    148
3 часа назад, Norman Eisenherz сказал:

случается вылет с ошибкой "нет такого метода".

Значит его действительно нет.

Не все что расписано в lua_help.script обязательно работает.

  • Согласен 1

Share this post


Link to post
Share on other sites

@AndreySol В таком случае имею вопрос: где найти разобранный на CPP файлы движок Чистого неба (да и Зова Припяти тоже)?

Share this post


Link to post
Share on other sites
Kirgudu    673
19 часов назад, Norman Eisenherz сказал:

Работает ли метод iterate_inventory_box(func, obj) в ЧН?

Работает. Применяется, например, в моде OGSM CS 1.8 CE Fixes для переноса вещей из ящика в инвентарь актора после миниигры со стрельбой. Насколько мне известно, работает без ошибок.

  • Like 1
  • Согласен 1

Share this post


Link to post
Share on other sites

Мой косяк: обращался к серверному объекту.

По движку ЧН/ЗП какой-то ответ есть?

Share this post


Link to post
Share on other sites
mdm64    61

Доброго времени!

Платформа ЗП.

Не так давно задавал вопрос об изменении хода времени во время диалогов, всё прекрасно работает. Назрел такой вопрос, похожий - как сделать, что и где прописать, чтобы конкретный диалог заканчивался в строго определённое время независимо от скорости хода времени. Например, неважно, когда диалог начинается (допустим в 13.00, в 13.30, в 15.00), но чтобы он заканчивался обязательно, скажем, в 18.00 независимо ни от чего?

Цель - назначить встречу ГГ и НПС в заданный интервал времени (с этим вроде как понятно) и создать ограничение не более одной ветки диалога в сутки. Понимаю, что и здесь сложного ничего нет, но что-то откровенно торможу...

Edited by mdm64

Share this post


Link to post
Share on other sites
WinCap    171
1 час назад, mdm64 сказал:

изменение хода времени во время диалогов, всё прекрасно работает.

Расскажи, пожалуйста, что и как сделал?

Share this post


Link to post
Share on other sites
_Sk8_AsTeR_    44

Господа, а как можно воскресить НПС в огср х64? 

А конкретно - Кузнецова (как узнать его ид?)

Share this post


Link to post
Share on other sites
AndreySol    148
10 часов назад, _Sk8_AsTeR_ сказал:

Кузнецова (как узнать его ид?)

Зачем Id? Для спавна нужна секция конфига или номер секции из алл.спавн.

Share this post


Link to post
Share on other sites
_Sk8_AsTeR_    44

@AndreySol, А, то есть просто его заново заспавнить... А все инфопоршни его касаемые, они останутся актуальными? 

Например пару квестов с ним было выполнено, были выданы соответствующие инфопоршни о их завершении, всё останется актуальным?

Share this post


Link to post
Share on other sites
AndreySol    148

Инфо-порции останутся, просто заспавни этого Кузнецова в нужное место.

  • Thanks 1
  • Полезно 1

Share this post


Link to post
Share on other sites
mdm64    61

Доброго времени!

Платформа ЗП

Через некоторое время после начала игры (новая или сохранение - несущественно) происходит вылет с таким логом:

Скрытый текст

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : ..\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : error in error handling
 

stack trace:

0023:006C75D1 xrCore.dll, xrDebug::fail()
0023:0714660E xrGame.dll, CDialogHolder::IgnorePause()
0023:07012CBC xrGame.dll, CDialogHolder::operator=()
0023:03E6B1B1 lua.JIT.1.1.4.dll, lua_getinfo()
0023:03E6B530 lua.JIT.1.1.4.dll, lua_getinfo()
0023:03E62092 lua.JIT.1.1.4.dll, lua_call()

Вопрос - где искать косяк или хотя бы примерное направление поисков ошибки?

Share this post


Link to post
Share on other sites
AndreySol    148
16.09.2020 в 19:47, mdm64 сказал:

хотя бы примерное направление

В скриптах.

Если есть возможность в исходниках глянуть че там в 748 строке, тогда может точнее будет понятно.

  • Полезно 1

Share this post


Link to post
Share on other sites
mdm64    61

@AndreySol, Да исходники-то есть, но я не понял, где искать эту 748 строку. Судя по этому сообщению error in error handling - ошибка в отладчике ошибок, если не ошибаюсь.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

AMK-Team.ru

×
×
  • Create New...