Формулы расчета в игре (RPG)
Доброго вечерочка, недавно перешел на данный двиг. Решил перенести все наработки и столкнулся с некоторым затруднением. Я перенес формулы расчета здоровья и энергии в отдельную локацию/секцию и при запуске, он выдавал мне ошибку номера строки и указывал тип ошибки как “неизвестное действие!”
Собственно, вот часть кода:
Spoiler
GS 'ScriptSystem'
set heroHP = (40 + ((hero_info[1] * 5) + (hero_info[5] * 0.5))) + (hero_info[0] * 0.2)
set heroHPMaxLvLUp = (40 + (((hero_info[1] + hero_infoNew[1]) * 5) + (hero_info[5] * 0.5))) + ((hero_info[0] + hero_infoNew[0]) * 0.2)
set heroHPLvLUp = (40 + (((hero_info[1] + hero_infoNew[1]) * 5) + (hero_info[5] * 0.5))) + ((hero_info[0] + hero_infoNew[0]) * 0.2)
IF $script_ID00HR0001[1] = 'Волшебник':
set heroMPMax = (100 + ((hero_info[2] * 8) + (hero_info[5] * 0.8))) + (hero_info[4] * 0.2)
set heroMP = (100 + ((hero_info[2] * 8) + (hero_info[5] * 0.8))) + (hero_info[4] * 0.2)
set heroMPMaxLvLUp = (100 + (((hero_info[2] + hero_infoNew[2]) * 8) + (hero_info[5] * 0.8))) + ((hero_info[4] + hero_infoNew[4]) * 0.2)
set heroMPLvLUp = (100 + (((hero_info[2] + hero_infoNew[2]) * 8) + (hero_info[5] * 0.8))) + ((hero_info[4] + hero_infoNew[4]) * 0.2)
ELSEIF $script_ID00HR0001[1] = 'Воин':
set heroMPMax = 100
set heroMP = 0
set heroMPMaxLvLUp = 100
set heroMPLvLUp = 0
ELSEIF $script_ID00HR0001[1] = 'Разбойник':
set heroMPMax = (45 + ((hero_info[3] * 3) + (hero_info[5] * 0.5))) + (hero_info[1] * 0.2)
set heroMP = (45 + ((hero_info[3] * 3) + (hero_info[5] * 0.5))) + (hero_info[1] * 0.2)
set heroMPMaxLvLUp = (45 + (((hero_info[3] + hero_infoNew[3]) * 3) + (hero_info[5] * 0.5))) + ((hero_info[1] + hero_infoNew[1]) * 0.2)
set heroMPLvLUp = (45 + (((hero_info[3] + hero_infoNew[3]) * 3) + (hero_info[5] * 0.5))) + ((hero_info[1] + hero_infoNew[1]) * 0.2)
END
(hero_info[5] * 0.5)
hero_info[0] * 0.2
hero_infoNew[0]) * 0.2
0.5 0.2 и так далее…
Справка по QSP нам так и указывает:
Документация по QSP:
Переменные в QSP бывают двух типов:
Целочисленная[] Значения переменной могут быть в пределах [-2147483648, 2147483647]
[] Только целые числа
[*] Значение по умолчанию = 0Строковая[] Длина строки может быть в пределах от 0 (пустая строка) до 32 килобайт или 2 гигабайт в зависимости от того, как собрана библиотека. Превышать объём доступной оперативной памяти строка не может.
[] Значение по умолчанию = ‘’ (пустая строка).
Ох, и вправду! Благодарю!