Вот небольшое написал введение в скриптинг. Это не отдельный учебник а именно недостающая часть - Введение. После этого введения следует читать обычные уроки.
Надеюсь этот мануал просветит некоторые моменты в скриптинге как таковом.
Полным чайникам в скриптинге посвящаеться….
1) Что такое скрипт
2) Функции и переменные
3) Использование функций и переменных
Каждый человек наверное когда-нибудь составлял себе списки дел которые надо выполнить, покупок и т.д. Скрипт это похожий список действий которые должен выполнить Инжект и ничего более. Для примера попробуем разложить поход в магазин на скрипт. Вот как он будет выглядеть:
А) Дойти до магазина
Б) Найти Хлеб
В) Взять Хлеб
Г) Найти молоко
Д) Взять молоко
….
Каждое действие можно считать отдельным независимым скриптом. Ведь брать хлеб можно не только в магазине, но и дома когда ты голоден. Также есть некоторые скрипты которые должны дать какой-то результат. Пример – скрипт «Найти хлеб». Этот скрипт должен например найти все хлебы вокруг себя, потом из них выбрать самый мягкий, из них самый дешевый, а тогда выдать наружу («возвратить») местоположение лучшего хлеба. Такие скрипты которые возвращают результат, называються «функциями». К функциям относится большинство математических функций. Например sin(60) возвратит вычисленный результат. Также есть другой вид скриптов называемый процедурами. Процедура – это скрипт которые не возвращает ничего. Например действие «Взять хлеб» просто берет найденный хлеб и больше ничего.
У Инжекта есть некоторые функции которые «вшиты» в него. Тоесть вы их сможете использовать где угодно так как они везде есть где есть Инжект. Все функции инжекта начинаються с слова UO. Во всем остальном они работают точно также как обычные скрипты. О них немного позже.
Вторая важная часть любого скрипта – это переменные. Переменная это как лист для хранения информации любого типа. Например чтобы не искать Хлеб каждый раз при походе в магазин, можно найти его 1 раз, записать в переменную где он находиться, а в будущем просто смотреть на запись и идти туда. Переменные различаються в Инжекте на 2 типа: Числа, и Строки. Например символ ‘1’ совершенно не равен числу 1. Число – это есть именно число, а символ «1» компьютер понимает именно как символ а не как число. Строка «23» это не 23 как строке, а 2 символа «2» и «3».
Любая переменная должна быть создана перед тем как в нее чтото записать. Ведь как вы запишите что-то на некупленный лист бумаги. Чтобы создать переменную нужно перед нею поставить слово ‘var’ (сокращение от «variable» что значит «переменная»). Например это можно сделать так:
Var Name
Name=’Вася’
Первая строка создает переменную, а вторая в нее записывает слово «Вася». На будущее главное помнить, что знак = значит не «равно», а «записать». Тоесть этот знак записывает правую часть, в левую.
В инжекте есть множество переменных которые он создает сам и которые перед использованием создавать не надо, но они в этом уроке рассмотрены не будут.
Также существует такая вещь как «указатели». Указатель указывает на какуюто вещь. Сами создавать вы их не сможете, но использовать их прийдеться. Все указатели должны быть записаны в кавычках. Один из них мы скоро рассмотрим, это указатель «self». Этот указатель указывает на вашего персонажа.
Для начала разберемся как использовать процедуры (скрипты которые не возвращают ничего а просто выполняют действие). Начнем с самой простой процедуры инжекта Print. Эта процедура выводит на экран какое-то сообщение. Вот простой пример его использования:
Code:
UO.Print(‘Сообщение’)
При запуске скрипта, когда он дойдет до этой строчки, в окне Ультимы появиться «Сообщение».
С процедурами все легко, теперь разберемся с функциями. Снова возьмем одну из функций инжекта GetName. Эта функция возвращает имя предмета или персонажа. Припустим мы хотим это имя где-то сохранить чтобы потом его гдето использовать. Вот как это будет выглядеть:
Code:
Var Name
Name=UO.GetName(‘self’)
UO.Print(Name)
Теперь попытаемся разобраться что происходит в этом скрипте.
Для начала мы создаем новую переменную с названием Name. Потом мы запускаем функцию инжекта GetName которая узнает имя из указателя ‘self’. Тоесть мы узнаем наше имя в игре. Узнанное имя возвращаеться функцией наружу, и знаком = сразу записываеться в переменную Name. И в последней строке, процедура Print выводит имя записанное в Name на экран.