Перейти к основному содержимому

Назад: Анализатор кода

Ограничения QSP

Актуализировано для плеера версии 5.9.0

При написании игр на QSP необходимо учитывать следующие ограничения:

  • Максимальное число одновременно видимых действий на локации: 50
  • Максимальное число подключаемых файлов QSP (модулей): 100
  • Максимальное число передаваемых функции аргументов: 20
    Например, функции MAX можно передать 20 чисел:
    max(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
    Нужно помнить, что при работе с локациями, имя локации так же является аргументом, поэтому при использовании таких операторов и функций, как GOTO, GOSUB, FUNC, на локацию можно передавать только девятнадцать аргументов.
    При работе с оператором DYNAMIC одним из аргументов является код, передаваемый оператору, поэтому в код тоже можно передавать не больше 19 аргументов. То же касается и функции DYNEVAL.
  • Максимальная вложенность выражений (открытые скобки): 30
  • Максимальное число операций в выражении (на одном уровне вложенности): 100
  • Максимальное число пунктов всплывающего пользовательского меню: 100
  • Максимальное число предметов в инвентаре: 1000
  • Максимальное число одновременно проигрываемых звуков: 500

Длина строки теоретически ограничена только объемом доступной оперативной памяти, либо размером типа "int": 2 гигабайта текста.

Как и в строках, предел объёмов данных для кортежа 2 Гигабайта или 2147483648 элементов. Величина кортежа не может превысить объём оперативной памяти.

Числовые переменные принимают значения от -2147483647 до 2147483647. Превышение предела уводит число к противоположному знаку.

*pl (2147483647+22)

Количество переменных ограничено 12800, при этом не допускается более 50 переменных с одинаковым хэшем имени.

Количество элементов массива ограничено размерностью "int", в зависимости от того, как собрана библиотека, 32768 или 2147483648 соответственно (то есть максимальный возможный номер ячейки массива 2147483647.).

Количество локаций ограничено размером типа "int". В зависимости от того, как собрана библиотека, "int" будет ограничивать либо 32768, либо 2147483648 локаций.

F.A.Q. по ограничениям