В скриптове, стъпка по стъпка

В скриптове, стъпка по стъпка

1. Въведение
2. Определения.
3. Научете се как да се работи с модели.
4. Да се ​​научим да работим с проверките.
5. Научете се как да се работи с променливи.
6. Заредете / контролни модели натоварване.






7. Научете се как да се работи с операционни кодове. Списък opkodv интерес към играта.
8. Интересни статии: защо има засада 0?
9. Интересни статии: Аудио-списък на маси, или как да научи играчите да говорят за?
10. Интересни статии: проверка на деня от седмицата.
10. Заключение.

Ако четете това ръководство, това означава, че вие ​​искате да научите скриптове. Scripting - език за програмиране, който тече игри като GTA III, GTA Vice City, и разбира се GTA San Andreas. Cleo скрипт - е компилиран файл с команди, за да бъдат изпълнени игра.
Така че, къде да започнете? Ще започнем може би с факта, че всеки сценарий, написан в програмата Sanny Builder. Отворете програмата, изберете менюто "Файл / Нова". Ние започваме, така да се каже, от нулата.
За да напишете скрипт, което трябва да знаете поне основните понятия. Аз ще ви научи на всичко, което трябва да знаят Scripter. След като прочетете ръководството, можете да създадете свой собствен скрипт!

Да се ​​научим да работим с дизайн.

Да отворим програмата Sanny Builder, и започнете да създавате нов файл. Ако сте чели последната глава, ще са осъзнали, че сценарият започва с директива.

Каква е следващата стъпка? И тогава ние трябва да се научим такова нещо като "дизайн на високо ниво."
Дизайн ни помогне да се създаде кода правилно. Те замени етикетите, и по-удобно да се работи с тях. Има така наречените част от структурата, която ние сега обсъдим.
докато вярно - докато условието е вярно, сценария ще работи. На условията по-късно, не забравяйте, само част от структурата.
ако - ако състоянието.
ако и - ако и двете условия.
ако или - ако едно от условията.
след това - условие е вярно.
друго - условието е невярно.
край - в края на строителството.

Какво е условието? Това е нещо, за проверка. Ако състоянието е задоволително, ние можем да извърши действие, а след това с помощта на командата. В случай на незадоволителни условия, сценарият започва да се изпълни нещо друго, което е вградено в командата друго. Ето един пример.
ако // Ако
Времето в Слънчевата играта?
след // След
Камерата започва да се клати
останало // В противен случай,
Камерата престава да залитат
край // Край на строителството
Този прост код на вида на слънчев удар.

Не е необходимо да използвате друг. ако имате такъв ефект върху цялата сценария.
ако // Ако
Ако времето е слънчево в играта
след // След
Камерата започва да се клати
край // Край на строителството

Да се ​​научим да работим с проверките.

Сега, че знаете какво проектирането и тестването са се научили. Аз съм подготвил списък с условия, които можете да използвате, докато пишете скрипт.

Player.Defined (# 036; PLAYER_CHAR) - играч там?
Actor.Driving (# 036; PLAYER_ACTOR) - играчът кара колата?
0118: актьор # 036; PLAYER_ACTOR мъртъв - играчът е мъртъв?
0154: участник # 036; PLAYER_ACTOR in_zone "EASB" - играч в дадена област? (EASB - име зона)
0184: актьор # 036; PLAYER_ACTOR здраве> = 100 - играчът има 100 или повече х?
02D8: актьор # 036; PLAYER_ACTOR current_weapon == 28 - играчът трябва да носят оръжие под ID 38?
00DB: актьор # 036; PLAYER_ACTOR in_car @ 22 - плейър в колата @ 22?
00DD: актьор # 036; PLAYER_ACTOR driving_car_with_model #AMBULAN - играч е езда в AMBULAN кола?






02E0: актьор # 036; PLAYER_ACTOR firing_weapon - играч има огнехвъргачка?
047A: актьор # 036; PLAYER_ACTOR driving_bike - играч велосипед / мотоциклет?
04A7: актьор # 036; PLAYER_ACTOR driving_boat - играч води лодка / кораб?
04AD: актьор # 036; PLAYER_ACTOR in_water - играч във водата?
04C8: актьор # 036; PLAYER_ACTOR driving_flying_vehicle - играч в летящ транспорт?
056C: актьор # 036; PLAYER_ACTOR driving_police_car - играч води полицейски коли?
0602: актьор # 036; PLAYER_ACTOR driving_taxi - играчът е шофиране с такси?
0741: актьор # 036; PLAYER_ACTOR отпадна - играч се появи в близост до болница след смъртта?
0965: актьор # 036; PLAYER_ACTOR плуване - играчът е плуване?
09AE: актьор # 036; PLAYER_ACTOR driving_train - актьорът е във влака?

Това е само една малка брой проверки за играча. Има и тест за обичайните участници, проверка за автомобили и др. За да видите всички оперативни кодове, щракнете върху елемента от менюто върху "Инструменти / Инструменти / Търсене опкодовете". Повечето опкодове са лесно разбираеми символи, ако знаете английски език, можете лесно да се разбере това, което те са отговорни. Нека да разгледаме един от опкодовете.
04AD: участник # 036; PLAYER_ACTORin_water
04AD - функция на gta_sa.exe, който включва специфична функция.
актьор - действието се развива с актьора.
# 036; PLAYER_ACTOR - променлива Player. Има и променлива # 036; PLAYER_CHAR, тя се използва в случаите, когато Кодът / напускане, е приложим единствено към плейъра. В този случай, тези проверки може да се отнася и за обикновените участници.
in_water - интерпретация на Кодът, който ни показва за какво е отговорен Кодът.

Научете как да се работи с променливи.

АКТЬОР // Началото // Ако potokaif Player.Defined (# 036; PLAYER_CHAR)? // Player тогава // След това има
0376: 18 @ = create_random_actor_at 0.0 0.0 0.0 // Създаване на произволно участник в координатите 0.0 0.0 0.0 и напиши в променлива 18 @
край // Край на строителството
end_thread // Край на потока: ACTOR
Сега се създаде скрипт като този: ако играчът натисне клавиша Z, колата ще се появи в координатите, които ще пишат в променливата @ 0, а ако кликвания - Покажи му текстът на екрана под формата на текст в каре.

// Започнете CAR potokaif // Ако 0AB0: key_pressed 90 // Играчът натисне клавиша Z (ID 90) след това // След това
00A5: 0 @ = create_car #PONY при 0.0 0.0 0.0 // Създаване на модел автомобил
останало // В противен случай,
0ACE: show_formatted_text_box ". LOOOSER" // Показване на текст в текстово-кутия
крайни // Крайните условия
end_thread // Край на потока: АВТОМОБИЛИ

Между другото, щях да забравя, ако създадете автомобил / актьор / обект, да или не всяка игра модел, ще трябва да го изтеглите на вашия скрипт, преди да започнете да го създадете. Сега ще говорим за това.

Зареждане / проверка на натоварване модели.

0247: load_model #MODEL - модели на натоварване в играта. Тук ние поставяме актьорите (обикновено), превозни средства, предмети, оръжия и т.н.
023C: load_special_actor "TENPEN", тъй като 1 - много специален актьор в клетка 1. Специални участници - актьори, които се използват само в мисиите, както и в една нормална игра не е там. Модели 290-299 са специални. Сертификатът има имената на всички специални актьори, така че, ако искате да отидете и да търсите това, което трябва!
02E4: load_cutscene_data "PROLOG1" - зарежда крайната сцена. Е, това се използва за чисто мисии.
0390: load_txd_dictionary "LD_BEAT" - играта се зарежда .txd файлови текстури.
038F: load_texture "DOWN" като 1 - натоварвания от изтегления файл .txd текстура с конкретно име на клетка 1. ВНИМАНИЕ! Първоначално обвинен CAM .TXD, а след това текстура.
03CF: load_wav 43,205 като 1 - сваляне звучат с ID 43205 в клетката 1.
04ED: load_animation "LOWRIDER" - изтегля пакета с анимации на anim.img. ВНИМАНИЕ! Анимация на изтеглянето на файла PED не го направят, защото те се зареждат при процеса на стартиране на играта.
06E9: load_car_component #MODEL - зарежда елемента игра от колата.
075D: load_shopping_data_SHOPS_subsection "дрехи" - играта се зарежда данните за магазин за дрехи.
07C0: load_path 706 - зарежда игра пластир.
08A9: load_external_ssript 66 (CARMOD1) - зарежда външен скрипт за играта (САМО ЗА SCM).
0AA2: 1 @ = load_library "CLEO # 092; version.dll" - играта се зарежда външен DLL библиотека и записва всичко това в една променлива.
0AAC: 1 @ = load_audiostream "CLEO # 092; плейлист # 092; 1.mp3" - зарежда игра музика по делото.
0AC1: 1 @ = load_audiostream_with_3d_support "sample.mp3" - изтегля музикалния файл се играе със стерео звук, и всичко това пише в променлива.
Налице е също така проверка на обема на работа.
023D: special_actor 1 зареден - участник в клетка 1 е заредена?
03D0: WAV 1 зареден - звукът на клетката 1 е заредена?
04EE: анимация "LOWRIDER" зареден - пакет с анимации на anim.img файл изтеглен?
06B9: cutscene_data_loaded - на сцена, която се зарежда?
В допълнение, има много полезен Кодът: 038B: load_requested_models
Ако ги използвате, нищо от обема на работа не трябва да се провери, защото тя принуждава всичко в играта.

Кликнете върху линка по-долу, за да продължите да четете нататък.