00076. Статистика игрока

Статистика игрока|Сегодня мы рассмотрим опкоды для изменения статистики игрока.|wmysterio|wmysterio||||Всем привет! Статистика - это то, чего достиг игрок за игровое время. Например: уровень стрельбы с АК-47, насколько от сыт и т.п. Для изменения какой то статистики, обычно используют 2 опкода:

0629: change_integer_stat 181 to 0
062A: change_float_stat 21 to 800.0

Опкоды устанавливают значения для ID статистики игрока.

Здесь: 21 и 181 - ID статистики ( см. Статистика игрока ) 0 и 800.0 - соответственно значения, которые принимает статистика

Давайте напишем скрипт, который стразу даёт максимальные навыки оружия, максимальная жизнь - 1450.0 ( в такой настройке полоска выход даже за пределы обычного ):

{$CLEO}
0000:

:STAT_PL
thread 'STAT_PL'
wait 0
062A: change_float_stat 165 to 2000.0
062A: change_float_stat 23 to 1000.0
062A: change_float_stat 21 to 0.0
0629: change_float_stat 22 to 1000
062A: change_float_stat 80 to 2000.0
062A: change_float_stat 225 to 2000.0
062A: change_float_stat 223 to 1000.0
062A: change_float_stat 229 to 1000.0
062A: change_float_stat 230 to 2000.0
062A: change_float_stat 24 to 1450.0
062A: change_float_stat 69 to 1000.0
062A: change_float_stat 70 to 1000.0
062A: change_float_stat 71 to 1000.0
062A: change_float_stat 72 to 1000.0
062A: change_float_stat 73 to 1000.0
062A: change_float_stat 74 to 1000.0
062A: change_float_stat 75 to 1000.0
062A: change_float_stat 76 to 1000.0
062A: change_float_stat 77 to 1000.0
062A: change_float_stat 78 to 1000.0
062A: change_float_stat 160 to 1000.0
0A93: end_custom_thread

В результате игрок станет "прокачанным" в любой момент. Обратите внимание на полоску жизни:

Так же мы можем узнать текущее значение статистики, используя опкоды:

0653: 0@ = float_stat 21
0652: 0@ = integer_stat 181

Здесь: 0@ - переменная, в которую будет записано значение 21 - ID статистики ( дробное ) 181 - ID статистики ( целое )

Полученный результат можно использовать в проверках:

0653: 0@ = float_stat 21
if
0@ > 300.0
then
 // выполнять какие то действие, например написать "Нужно есть больше или меньше"
end

Статистика 181: при установке следующих значений будут "открыты" такие территории ( города ):

IDМестность

0

Лос Сантос

1

Сельская местность возле Лос Сантос

2

Сан Фиеро и всё вышеперечисленное

3

Сельская местность возле Лас Вентурас и всё вышеперечисленное

4

Лас Вентурас и всё вышеперечисленное

Если установить значение 0, то при попадании за территории Лос Сантоса Вы получите 5 звёзд.

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

0623: add 1 to_integer_stat 214
0624: add 1.0 to_float_stat 160
0628: add 1@ to_float_stat 2
0625: decrease_integer_stat 184 by 1
0626: decrease_float_stat 21 by 1.0
0627: update_integer_stat 215 to $1922
0A10: increase_integer_stat 161 by 1
0A1F: increase_float_stat 24 by 196@
042E: downdate_integer_stat 212 to 448@
0582: downdate_integer_stat 175@($RACE_INDEX,30i) to 450@

Тоесть, чтобы не писать такой код:

0653: 0@ = float_stat 21
0@ += 100.0
062A: change_float_stat 21 to 0@

можно сразу прибавить к значению статистики своё число: "0624: add 100.0 to_float_stat 21". С остальными уже поэкспериментируйте, там можно сложить, вычитать делить и умножать значения статов.

Мимо этого существуют опкоды для узнавания значений некоторых ID статистики:

08E1: 0@ = total_tags_sprayed // Целое число

В переменную "0@" будет записано к-во закрашенных граффити.

08E2: 0@ = territories_controlled_percentage // Целое число

В переменную"0@" будет записано процент владения территориями. Если все территории принадлежат вам, то в переменную будет занесено 100.

Так же есть возможность отключить функцию показа статистики. Когда нажимаем "Действие" ( по-умолчанию кнопка TAB` ) статистика не будет показана:

0960: enable_player $PLAYER_CHAR stats_box 0 // если поставить 1 - то будет

Этот опкод рекомендовано использовать в цикле.

× **Примечание:** Если изменить мышцы игрока или полноту, то визуально результат ничего не покажет. Что бы изменения были видны нужно зайти в какой то интерьер.|2653|1|0|63682838`png`500`300`400`240``\||statistika_igroka|1499752446

Last updated