000174. Снова статистика игрока

Снова статистика игрока|В этом уроке мы узнаем некоторые не очевидные возможности статистики игрока.|wmysterio|wmysterio||||Всем привет! Думаю вы помните этот урок, в котором мы рассматривали статистику игрока и могли менять его статы. Сегодня я сделал некоторый эксперимент и он оправдал свои ожидания. На самом деле, мимо стандартной статистики, мы можем создавать свои собственные. Игра их не будет отображать в меню "Статистика", но в скрипте это очень даже реально сделать, при этом используя те опкоды, которые использовались в статье выше.

С выходом оригинальных названий опкодов, можно делать всякие эксперименты. Этот один из них. Начинаем порядок создания статистики:

0627: update_integer_stat 1000 to 0

Этот опкод ( или 0628 ) регистрирует новую статистику. В нашем случаи её ID равен 1000 а стартовое значение - 0.

Далее, по ходу дела, мы можем менять значение статистики на нужное. Как показали мои тесты - всё работает как надо. Вот, для примера, скрипт, который увеличивает статистику 1000 до 1000 и выводит её текущее значение или использовать как счётчик миссий для Cleo-миссий:

{$CLEO}
:STAT_NEW
03A4: name_thread 'STAT_NEW'
0627: update_integer_stat 1000 to 0 

for 1@ = 1 to 100
0623: add 1 to_integer_stat 1000 // увеличиваем стат 1000 на 1
0652: 0@ = integer_stat 1000 // получаем текущее значение стата 1000
0AD1: show_formatted_text_highpriority "Stat 1000: %d" time 100 0@ // выводим текущее значение
wait 100
end

0A93: end_custom_thread

Таким образом мы можем создавать и отслеживать сколько угодно статистик, что бывает очень помогает в сложных миссиях, где нужно что-то подсчитывать и хранить значения, при этом экономить переменные :)

× **Примечание:** Подбирать свободные ID статистики - это то ещё занятие. Часть из них иногда ведёт себя непредсказуемо, изменяя значения без вызова опкода|1412|1|0||snova_statistika_igroka|1509827017

Last updated