Команда
UN:C#1/#2/$3 позволяет прочитать/записать участок памяти, начиная с адреса #1, длиной #2 в/из переменную $3. Первые 2 параметра самые важные. Неправильная запись в них почти всегда гарантированно вызовет вылет из игры.
Разберем подробнее параметры:
#1 - это адрес участка памяти. Он может быть как статический, так и динамический. Тут всегда будут указаны статические адреса (эти адреса всегда одинаковы при запуске игры как на твоём, так и на моём компьютере). Если же нужно будет изменить что-то в динамическом адресе (это адреса, которые на твоём и на моём компьютере всегда разные), то тут будут указаны способы выхода на последние через статический адрес. По другому выйти на динамический адрес на разных компьютерах невозможно.
#2 - это размер третьего параметра или количество байт, которые нам необходимо изменить. Тут может быть 1, 2 или 4 байта.
$3 - это непосредственно сам параметр, который мы и намереваемся изменить чтобы добиться какой то плюшки. Может иметь как положительное число, так и отрицательное.
Пример использования:
!!UN:C7783293/4/37; командир Паладин (заклинание "лечение")
В коде игры WoG по адресу 0x76C37D установлено заклинание №25h для командира Паладин. Данные адреса имеют шестнадцетиричную систему исчисления. Команда UN:C поддерживает только десятичную систему. Чтобы перевести эти числа в десятичную: включите обычный виндовский калькулятор, нажмите "Вид->Программист", поставьте галочку на "Hex", введите "76C37D", после этого нажмите "dec". В итоге результат будет представлен числом 7783293. Вот мы и научились переводить шестнадцетиричное число в десятичное.
Итак:
7783293 - это адрес, в котором мы меняем интересующее нас значение/параметр;
4 - количество байт для изменения;
37 - то, что именно нам нужно поменить.
Итак, !!UN:C7783293/4/48; позволит Паладину накладывать на дружественных существ молитву (48).
Новички, и в особенности
Guest, не забывайте!, что почти все указанные в теме константные ресиверы
UN:C необходимо грузить в триггере !?FU(OnGameEnter);
Например: