Заработай на своем сайте Купите рекламу от 5 центов за клиента!
GTA Скриптинг
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта

Научись скриптить

Реклама

Главная » Статьи » Учения скриптингу » Уроки

ОСНОВЫ СКРИПТИНГА

 

 

Итак поeхали !!!

В тексте вы можете встретить слова в двойных кавычках,кавычки существуют только для удобства

чтения,писать их в контексте билдера не надо !!!

Для скриптинга в SA применяется программа Sanny Builer,дальше просто SB,есть ещё и BW's builder,

но про него я ещё не написал учебник.Всё,что Вы прочтёте относится к SB версии не меньше,чем

2.97.Если вы его ещё не закачали,то берите на http://www.sannybuilder.com

Запустите SB,в меню выбирите категорию "Tools",в ней найдите графу "Options",кликните на неё.

Появится окно,найдите там опцию "GTA SA directory" и укажите там путь к вашему установленному

SA,когда выбрали,то нажмите "OK".Нажмите "F5" и выбирите,где находится главный файл скрипта-

main.scm.Он лежит в:"Директория GTA SA/data/sript",следом нажмите "Open".

Вот он и раскомпилировался,и вы увидили кучу цифер и слов.Весь скрипт состоит из команд.Вся

команда записывается в одну строку.Раньше каждая команда состояла из опкода и параметров.

Например:

009A: $act = create_actor 4 #WMYCR at $x $y $z

009A-это опкод,он покзывает,какое действие должно выполнятся

$act-это актёр(или прсто чувак),

4-это тип актёра,типы описал в главе "Актёры",

#WMYCR-это модель актёра,

$x $y $z-это координаты актёра на карте,они должны всегда быть с точкой,т.е. должны быть округ-

лены как минимум до десятых.

009A: $act = 4 #WMYCR $x $y $z - я мог-бы написать и так,т.к. только параметры играют роль в

команде с опкодом,а в команде без опкода(о них позже) такого делать нельзя.

Весь раскомпилированный main.scm состоит из thread'ов,и миссий,которые в свою очередь,тоже явл.

thread'ами.Написание миссий-самое сложное в скриптинге.Thread'ы ещё называют потоками.Все

переменные (имена актёров,машин,координаты...)должны начинатся со знака $(можно использовать

во всём тексте Main'a),или они должны оканчиваться знаком @(можно использовать только в том

потоке,где объявили),по поводу типов данных всё написано в главе "Математика".

Сейчас (08.2006) в Sanny преимущественно используется новый тип опкодов без команд.Вот тот-же

самый опкод,что я описал раньше,но теперь под теперешний SB:

actor.Create($act,4,#WMYCR,$x,$y,$z)

Видите,практически тоже самое,только намного удобнеее,вам надо написать только кодовое слово,

типа actor,car или object ... ,затем поставить точку, и вы увидите небольшое меню,с действиями

которые можно делать с этим типом предмета.

Потоки состоят из label'ов.Label-это как-бы самостоятельная часть потока,label можно определить

по такому контексту : он стоит один в строке и начинается всегда с двоеточия,название любого

потока определяется по названию его первого label'a.

Чтобы создать поток надо найти строку с текстом create_thread,затем после неё в следующей строке

вставить create_thread @"Название вашего потока",кавычек не надо.Следом надо найти строку с

текстом -Mission 0- и перед ней написать :

1) Название того скрипта,который вы объявили командой create_thread @.

2) обязательно написать команду wait 0 ,вместо нуля можно написать любое время(в миллисекундах),

после которого пойдёт выполнение вашего потока.

3) Каждый поток должен заканчиваться строкой с текстом end_thread .

Например:

Я нашёл строки,частью которых есть выражение create_thread @,после них вставил строку

create_thread @Test

Затем нашёл строку -Mission 0-

Выше неё написал

:Test

wait 0

---------- Тут надо писать то,что делает поток -------------

end_thread

Чтобы использовать актёров,машины,объекты в своём потоке,надо сначало загрузить их модели.

Это делается с помощью нескольких команд:

1) model.load(#WMYCR) , где #WMYCR-модель актёра,которая нужна.

2) 038B: load_requested_models ,эта команда загружает ранее объявленые модели(у нас это модель

#WMYCR).

Можно написать сколько угодно model.load(#нужная модель),но после того,как вы объявили нужные

модели всегда надо писать команду 038B: load_requested_models,иначе игра вылетет.

Всегда надо писать проверку на загрузку модели,а то если модель ещё не загрузилась,а вы уже с ней

что-то делаете,то игра вылетит.Вот пример стандартного содержания потока (начало,загрузка моделей,проверка на загруженность,конец):

Как всегда создаём поток(как это делать писалось раньше),а теперь:

:Test //название потока или его 1-го label'a

wait 0 //ждём 0 миллисек.(1 сек.=1000 мсек.)

model.load(#нужная модель № 1)

model.load(#нужная модель № 2)

model.load(#нужная модель № n) //записываем нужные для потока модели

038B: load_requested_models //загружаем нужные для потока модели

:Test_2 //Это новый label

wait 0 //ждём 0 миллисек.

if and //if and-команда начала условия,все подусловия которого выполняются.

model.Available(#нужная модель № 1) // Подусловие

model.Available(#нужная модель № 2) // Подусловие

model.Available(#нужная модель № n) // Подусловие

jf @Test_2 // jf означ.,что если эти подусл. не выполнились,то

//-- Тут надо писать то,что делает поток -- выполнение потока переходит к началу проверки

Model.Destroy(#нужная модель № 1) // в конце каждого потока надо выгружать модели из

Model.Destroy(#нужная модель № 2) // памяти,а то они там остаются и загрязняют её

Model.Destroy(#нужная модель № n)

end_thread // Конец потока

По поводу условий всё написано в главе "Условия и переходы".

Чтобы применить всё,что вы написали надо нажать "F7" (компиляция),затем запустить SA,нажав "F8",

каждый раз после новой компиляции надо начинать новую игру,если будете грузить свои сохранения,

то игра в конце загрузки просто выдаст ошибку и вылетит.

Чтобы определить координаты в игре используется Coords Manager,это часть SB.Если SA запущен,то

по нажатию "F4",когда окно SB явл. активным,появится дополнительное окошко в окне SB,в котором

будут написаны координаты игрока,с помощью Coords Manager'a можно устанавливать координаты иг-

рока,просто введите нужные и нажмите "Set",и игрок переместится в заданную точку.

Категория: Уроки | Добавил: gtascript (11.08.2007)
Просмотров: 1011 | Рейтинг: 1.0/1 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Часы

Скорость интернета

Друзья сайта

eServer.ru :: Хостинг-оператор #1 Сайт полностью посвящен мультфильму
САЙТ КАМРАНА!!!! Бесплатные игры, программы, МР3, новости и многое другое Только на сайте КАМРАНА!!!!! Все о Mafia 2 GTAIV Портал Только русские файлы для gta san andreas Софт для gta sanandreas Лада-тюнинг-эксклюзивные тюнингованые авто для GTA:SA


Статистика

Dating.ru Топ100 - Игры RusTusovka.COM - ТОП 100 Русско-Язычных Сайтов Русский Топ Рейтинг Топ GamerPro SERP: gta скрипты программы миссии


Copyright MyCorp © 2025 Конструктор сайтов - uCoz