Рейтинг - 0.0 (0)

Сегодня мы рассмотрим опкоды для изменения статистики игрока.

Всем привет! Статистика - это то, чего достиг игрок за игровое время. Например: уровень стрельбы с АК-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 - то будет

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


Теги: Статистика игрока, STATS, статы, статистика

Tom_Harison   (27.08.12 17:32)
классный урок

wmysterio   (27.08.12 17:43)
biggrin

Cool_T   (31.03.14 11:00)
А как сделать чтобы при заходе в игру в переменую (например:PLSTAT@) записывалась текущая стата гг и при нажатие кнопки "L" стата становилась максимальной,а при нажатии кнопки "K" стата возращалась обратно которая была записана в переменую

SanKing   (31.03.14 15:13)
Все вопросы пиши в тему "Вопросы по скриптингу Sanny Builder".
Вход на сайт

Поиск
Категории раздела
Мини-чат
Пожалуйста, все вопросы по скриптингу задавать на форуме!
Наш опрос
А вы проходили GTA San Andreas на 100% без читов и скриптов?
Всего ответов: 6
Активность на сайте
Пожертвования
Кошельки WebMoney:
U859420971000
R407741810602
Z331072372430
E314272616890
Друзья сайта
Полезные ресурсы
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сегодня нас посетили:
wmysterio, DK22Pac, eglive
Рекомендую
Реклама