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 modified 1yr ago