Рейтинг - 5.0 (2)

Здравствуйте, уважаемы пользователи сайта! Здесь пойдёт речь о классах, а именно отнесения переменной к нему и её использование.

Прежде всего, нам понадобится блок VAR...END, так, как именно он позволяет такую возможность. Давайте сначала выберем класс и переменную, которая будет отнесена к нему. Допустим, это будет класс "player", а переменная - "$PLAYER_CHAR". Объявим всё это в блоке:

var
$PLAYER_CHAR: player
end

Это позволит нам использовать переменную в место класса! Причём этой переменной будут доступны все процедуры, свойства и условия этого класса! Для примера, введём эту переменную в поле SB и нажмём ".", как это обычно делается, и видим, что нам предлагают доступные для неё действия:

Давайте таким образом добавим деньги игроку. Используя возможность, это будет выглядеть так:

$PLAYER_CHAR.Money += 2000

Это существенно сокращает время, чем использовать обычный режим ввода. Давайте напишем пример скрипта, где при нажатии кнопки 1, игроку будут добавлять 1 доллар:

{$CLEO}
0000:

var
$PLAYER_CHAR: player
end

while true
 if
 0AB0: key_pressed 49 // 1
 then
 $PLAYER_CHAR.Money += 1
 end
wait 0
end

По аналогии, сделаем похожий скрипт загрузки модели. Нам нужно взять класс "model", а также номер ( или текстовой идентификатор ) модели. Допустим, это будет "#ADMIRAL". В блоке var пишем название модели и класс:

{$CLEO}
0000:

var
#ADMIRAL: model
end

:A
thread 'A'
wait 0
#ADMIRAL.Load
038B: load_requested_models
 
:A_1
wait 0
if
#ADMIRAL.Available
jf @A_1
0A93: end_custom_thread

Тогда код загрузки будет выглядеть так:

var
#ADMIRAL: model
end

Объявление переменных как членов класса очень удобная штука! Правда её редко используют новички, так как им ещё не понятно назначение этой возможности и из-за этого возникают много ошибок, например: пытаются привязать переменную к классу "camera", который по-сути не может иметь хендлов на субъекты.

Для закрепления этого небольшого материала вам задание - создать автомобиль, используя переменную "0@" как член класса.

Вторая часть урока будет посвящена комментариям в поисковике опкодов. Думаю многие заметили, что в результатах поиска бывают комментарии. Вот я Вам расскажу суть некоторых из них:

КомментарийОписание
// ( int )указывает, что переменные должны быть целыми числами
// ( float )указывает, что переменные должны быть дробными числами
// mission onlyуказывает, что опкод можно использовать только в миссиях
// IF and SETуказывает, что опкод можно использовать как проверку, и как процедуру
// anyуказывает, что переменная будет ассоциироваться, как номер
// versionAуказывает, что опкод можно использовать для версии игры ( или какого то метода ) А
// v$указывает, что нужно использовать строковую переменную типа V
// s$указывает, что нужно использовать строковую переменную типа S
// see ped.datуказывает, что данные берутся с файла ( и их описание можно найти там )

Это только некоторые их комментариев, которые я часто использую.

Макросы.

Хм... Интересное название. Это наверное самая полезная возможность в Sanny Builder! Главная задача макросов - быстрая вставка кода. Изначально в СБ есть парочка стандартных макросов. Увидеть их можно, нажав комбинацию CTRL+J:

Давайте выберем из списка макрос "else" и нажмём ENTER. Видим, что в окно программы вставился текст:

if

then

else

end // if

Теперь нам не нужно тратить время на написания команд )) Но, естественно, будет полезная возможность вставки своих кодов, поэтому давайте напишем небольшой скрипт:

model.Load(#ADMIRAL)
038B: load_requested_models

while not model.Available(#ADMIRAL)
wait 0
end

0@ = car.Create(#ADMIRAL, 0.0, 0.0, 0.0)
car.Angle(0@) = 0.0
model.Destroy(#ADMIRAL)

Теперь выделим этот текст и нажимаем "Добавить макрос", что находится в меню "Сервис":

После этого выскочит окно и предложит сохранить макрос. Заполним поля и нажимаем "ок":

Всё! Макрос добавлен! Теперь остаётся вызвать его, используя горячие клавиши! Очистите поле редактирования и повторите вставку макроса ( в списке появится добавленный ранее шаблон ).

Советую вам сделать шаблон Cleo-скрипта и миссии. Это намного сэкономит ваше время!

Вход на сайт

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

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

Сегодня нас посетили:
wmysterio
Реклама