Хочешь почувствовать себя богом Сан-Андреаса? В этом уроке мы создадим скрипт, который по нажатию одной клавиши выдаст тебе $500 000 и заспавнит топовый Infernus прямо перед тобой.
Что нам понадобится:
- Sanny Builder 3 — основной инструмент для написания и компиляции кода.
- Библиотека CLEO 4 — должна быть установлена в папку с игрой.
Шаг 1: Подготовка
Открой Sanny Builder. Создай новый файл (Ctrl+N) и убедись, что в нижнем правом углу выбран режим «San Andreas».
Шаг 2: Пишем код
Скопируй этот код полностью. Я снабдил каждую строку подробным комментарием, чтобы ты понимал, что происходит «под капотом».
// ЗАГОЛОВОК СКРИПТА
// Директива говорит компилятору, что это внешний скрипт для библиотеки CLEO
{$CLEO .cs}
// ОБЪЯВЛЕНИЕ КОНСТАНТ
// Мы выносим значения сюда, чтобы их было легко менять в будущем
const
MONEY_AMOUNT = 500000 // Сумма денег ($500 000)
CAR_MODEL_ID = 411 // ID модели Infernus
TRIGGER_KEY = 77 // Код клавиши 'M' (в формате Virtual Key)
end
// ОСНОВНОЙ ЦИКЛ СКРИПТА
:MAIN_LOOP
// Обязательная задержка 0 мс.
// Без неё скрипт будет выполняться слишком быстро и игра просто вылетит
wait 0
// Проверка: игрок вообще существует и загружен?
if
Player.Defined(0)
jf @MAIN_LOOP // Если нет, прыгаем в начало цикла и ждем
// Проверка: нажата ли наша клавиша TRIGGER_KEY (M)
if
0AB0: key_pressed TRIGGER_KEY
then
// Защита от "дребезга": ждем, пока игрок отпустит кнопку,
// чтобы скрипт не сработал 100 раз за секунду
while 0AB0: key_pressed TRIGGER_KEY
wait 0
end
// --- БЛОК 1: ДЕНЬГИ ---
// Добавляем указанную сумму к текущему балансу игрока
Player.Money(0) += MONEY_AMOUNT
// Выводим уведомление в левый верхний угол (как в миссиях)
03E5: show_text_lowpriority "GETTING PAID!" time 2000
// --- БЛОК 2: СПАВН МАШИНЫ ---
// 1. Получаем текущие координаты игрока
// 1@, 2@, 3@ — это временные переменные для координат X, Y, Z
04C4: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@
// 2. Смещаем координату X чуть вперед, чтобы машина не заспавнилась внутри игрока
1@ += 3.0
// 3. Загружаем 3D-модель в оперативную память
0247: load_model CAR_MODEL_ID
// Ждем, пока модель полностью загрузится (обязательно!)
while not 0248: model CAR_MODEL_ID available
wait 0
end
// 4. Создаем машину на подготовленных координатах
// $MY_CAR — переменная, в которую сохраняется ссылка на созданную тачку
00A5: $MY_CAR = create_car CAR_MODEL_ID at 1@ 2@ 3@
// Поворачиваем машину носом к игроку для удобства
0175: set_car $MY_CAR z_angle_to_actor $PLAYER_ACTOR
// 5. Выгружаем модель из памяти, она нам больше не нужна
0249: release_model CAR_MODEL_ID
// Пишем сообщение об успехе
03E5: show_text_lowpriority "INFERNUS SPWANED!" time 2000
end
// Бесконечный повтор цикла
jump @MAIN_LOOP
Шаг 3: Компиляция
- Нажми F7 (или иконку шестеренки) в Sanny Builder.
- Программа предложит сохранить файл. Сохрани его под любым именем (например,
MoneyAndCar.cs) прямо в папку GTA San Andreas/CLEO/.
Шаг 4: Тест в игре
Запускай игру, выходи на улицу и жми клавишу M. Если всё сделано правильно, ты услышишь звук зачисления денег, а перед тобой материализуется спорткар.
Разбор важных команд (Опкодов):
0AB0: Универсальная команда проверки нажатия любой клавиши.0247/0248: Золотое правило — никогда не спавни объект, пока не убедишься, что его модель загружена в память. Это причина 90% вылетов модов.00A5: Главная команда для создания любого транспорта.