In scripting, pas cu pas
In scripting, pas cu pas
1. Introducere
2. Definiții.
3. Aflați cum să lucrați cu desene sau modele.
4. Învățarea de a lucra cu controalele.
5. Aflați cum să lucreze cu variabile.
6. Load / verificare a modelelor de încărcare.
7. Aflați cum să lucrați cu Opcodes. Listă opkodv interesul în joc.
8. Articole interesante: de ce există o așteptare 0?
9. Articole interesante: Audio-lista de tabele, sau cum să-i învețe jucătorii să vorbim?
10. Articole interesante: verificarea pe zi a săptămânii.
10. Concluzie.
Dacă citiți acest manual, aceasta înseamnă că doriți să învețe de scripting. Scripting - un limbaj de programare care rula jocuri precum GTA III, GTA Vice City, și, desigur, GTA San Andreas. script Cleo - este fișierul compilat cu comenzile care urmează să fie executate de joc.
Deci, de unde începe? Vom începe, probabil, cu faptul că orice scenariu scris în programul Sanny Builder. Deschideți programul, selectați meniul „File / New“. Începem, ca să spunem așa, de la zero.
Pentru a scrie un script, trebuie să știți cel puțin conceptele de bază. Te voi învăța tot ce trebuie să știe Scripter. Dupa ce a citit manual, puteți crea propriul script!
A învăța să lucreze cu modele.
Să deschidem programul Sanny Builder, și începe să creați un nou fișier. Dacă ați citit ultimul capitol, v-ar fi dat seama că script-ul începe cu o directivă.
Ce urmează? Și apoi trebuie să învățăm un astfel de lucru ca un „design de nivel înalt.“
Proiectarea ne ajuta pentru a crea codul corect. Acestea înlocuiesc etichetele, și mai convenabil de a lucra cu ei. Există așa-numita parte a structurii, care acum vom discuta.
în timp ce adevărat - până când condiția este adevărată, script-ul va funcționa. În condițiile mai târziu, amintiți-vă doar o parte a structurii.
în cazul în care - în cazul în care condiția.
în cazul în care și - în cazul în care ambele condiții.
în cazul în care sau - în cazul în care una dintre condițiile.
atunci - condiție este adevărată.
altceva - condiția este falsă.
end - sfârșitul construcției.
Care este situația? Acest lucru este ceva de verificare. În cazul în care condiția este satisfăcătoare, putem efectua o acțiune, apoi folosind comanda. În cazul unor condiții nesatisfăcătoare, script-ul începe să execute ceva care este încorporat în comanda altceva. Aici este un exemplu.
dacă // Dacă
Vremea în joc Solar?
apoi // Apoi
Camera începe să se clatine
altfel // În caz contrar,
Camera încetează să eșaloneze
end // Sfârșitul de construcție
Acest cod simplu de tipul de insolație.
Nu este nevoie de a utiliza altceva. dacă aveți un efect asupra întregului scenariu.
dacă // Dacă
În cazul în care vremea este însorită în joc
apoi // Apoi
Camera începe să se clatine
end // Sfârșitul de construcție
A învăța să lucreze cu controalele.
Acum, că ați înțeles ce proiectarea și testarea au învățat. Am pregătit o listă de condiții pe care le puteți utiliza în timp ce scris scenariul.
Player.Defined (# 036; PLAYER_CHAR) - jucător acolo?
Actor.Driving (# 036; PLAYER_ACTOR) - jucatorul conduce masina?
0118: actor # 036; PLAYER_ACTOR mort - jucatorul este mort?
0154: actor # 036; PLAYER_ACTOR in_zone 'EASB' - un jucător într-o anumită zonă? (EASB - denumirea zonei)
0184: actor # 036; PLAYER_ACTOR de sănătate> = 100 - jucatorul are 100 sau mai multe x?
02D8: actor # 036; PLAYER_ACTOR current_weapon == 28 - jucătorul trebuie să poarte arme sub ID-38?
00DB: actor # 036; PLAYER_ACTOR in_car 22 @ - jucător în mașină @ 22?
00DD: actor # 036; PLAYER_ACTOR driving_car_with_model #AMBULAN - jucător de echitatie într-o mașină AMBULAN?
02E0: actor # 036; PLAYER_ACTOR firing_weapon - jucător are un aruncător de flăcări?
047A: actor # 036; PLAYER_ACTOR driving_bike - jucător biciclete / motociclete?
04A7: actor # 036; PLAYER_ACTOR driving_boat - jucător conduce o barcă / barcă?
04AD: actor # 036; PLAYER_ACTOR in_water - jucător în apă?
04C8: actor # 036; PLAYER_ACTOR driving_flying_vehicle - jucător într-un transport de zbor?
056C: actor # 036; PLAYER_ACTOR driving_police_car - jucător conduce vehicule de poliție?
0602: actor # 036; PLAYER_ACTOR driving_taxi - jucatorul conduce un taxi?
0741: actor # 036; PLAYER_ACTOR prins - jucător a apărut lângă spital după moarte?
0965: actor # 036; PLAYER_ACTOR înot - player-ul este de înot?
09AE: actor # 036; PLAYER_ACTOR driving_train - actorul este trenul?
Acesta este doar un număr mic de inspecții pentru jucător. Există, de asemenea, un test pentru actorii obișnuiți, verificarea pentru mașini, și multe altele. Pentru a vizualiza toate Opcodes, faceți clic pe elementul de meniu de pe „Tools / unelte / opcodes căutare“. Cele mai multe Opcodes sunt ușor de simboluri de înțeles, dacă știi limba engleză, puteți înțelege cu ușurință ceea ce sunt responsabili. Să ne uităm la unul dintre opcodes.
04AD: actorul # 036; PLAYER_ACTORin_water
04AD - o funcție de gta_sa.exe, care include o funcție specifică.
actor - acțiunea are loc cu actorul.
# 036; PLAYER_ACTOR - variabilă Player. Există, de asemenea, variabile # 036; PLAYER_CHAR, este utilizat în cazurile în care Opcode / check doar se aplică la player. În acest caz, aceste inspecții pot, de asemenea, se aplică actorilor de obicei.
in_water - interpretarea Opcode, care ne arată este responsabil pentru ceea ce opcode.
Aflați cum să lucreze cu variabile.
ACTOR // Acasă // Dacă potokaif Player.Defined (# 036; PLAYER_CHAR)? // // atunci player Apoi
0376: 18 @ = create_random_actor_at 0.0 0.0 0.0 // Crearea unui actor aleatoriu în coordonatele 0.0 0.0 0.0 și scrie într-o variabilă 18 @
end // Sfârșitul de construcție
end_thread // Sfârșitul flux: ACTOR
Acum, creați un script astfel: în cazul în care jucătorul apasă tasta Z, masina va apărea în coordonatele pe care le voi scrie în variabila @ 0, iar dacă clicurile - Arată-i textul de pe ecran sub forma unui text-box.
// Porniți potokaif CAR // Dacă 0AB0: key_pressed 90 // Jucătorul apasă tasta Z (ID 90), apoi // Apoi
00A5: 0 @ = create_car #PONY la 0.0 0.0 0.0 // Crearea unui model de mașină
altfel // În caz contrar,
0ACE: show_formatted_text_box "LOOOSER" // Afișează textul într-un text-box
end // Condiții de încheiere
end_thread // Sfârșitul flux: CARS
Apropo, aproape am uitat, dacă creați o mașină / actor / obiect, da sau nu orice model de joc, trebuie să-l descărcați la scriptul înainte de a începe să-l creați. Acum vom vorbi despre asta.
Modele de încărcare / de verificare a sarcinii.
modele de încărcare în joc - #MODEL load_model: 0247. Aici am pus actorii (de obicei), vehicule, obiecte, arme, etc.
023C: load_special_actor „TENPEN“ ca 1 - o mulțime de actor într-o celulă specială 1. actori speciali - actori, care sunt utilizate numai în misiuni, și într-un joc obișnuit nu este acolo. Modele 290-299 sunt speciale. Certificatul are numele tuturor actorilor speciali, deci, dacă doriți să, du-te si cauta ceea ce ai nevoie!
02E4: load_cutscene_data 'PROLOG1' - încarcă un cut-scene. Ei bine, folosit pentru misiuni pur.
0390: load_txd_dictionary 'LD_BEAT' - încarcă jocul texturi fișier .txd.
038F: load_texture „JOS“ ca 1 - sarcini din fișierul descărcat .txd textura cu un nume specific la o celulă 1. ATENȚIE! Inițial încărcat CAM .TXD, apoi textura.
03CF: load_wav 43205 ca 1 - descărcări de sunet cu ID 43205 în celula 1.
04ED: load_animation "LOWRIDER" - descarcă pachetul cu animații de anim.img. ATENȚIE! Animarea DESCĂRCAREA PED nu le suporta, pentru că ei sunt încărcate la inițializarea jocului.
06E9: load_car_component #MODEL - încarcă elementul de joc din mașină.
075D: load_shopping_data_SHOPS_subsection „haine“ - încarcă joc magazin de îmbrăcăminte de date.
07C0: load_path 706 - încarcă patch-uri de joc.
08A9: load_external_ssript 66 (CARMOD1) - încarcă un script extern la joc (DOAR PENTRU CSM.)
0AA2: 1 @ = load_library "CLEO # 092; version.dll" - jocul încarcă biblioteca DLL externe și înregistrează toate acestea într-o variabilă.
0AAC: 1 @ = load_audiostream "CLEO # 092; lista de redare # 092; 1.mp3" - încarcă fișierul de muzică joc.
0AC1: 1 @ = load_audiostream_with_3d_support „sample.mp3“ - descarcă fișierul de muzică pentru a reda cu sunet stereo, și scrie totul într-o variabilă.
Există, de asemenea, o verificare a volumului de muncă.
023D: special_actor 1 încărcat - actor în celula 1 este încărcat?
03D0: 1 wav încărcat - sunetul celulei 1 este încărcat?
04EE: animație „LOWRIDER“ încărcat - pachet cu animații de fișier descărcat anim.img?
06B9: cutscene_data_loaded - cut-scena este încărcată?
În plus, există un Opcode foarte util: 038B: load_requested_models
Dacă le folosiți, nimic pe volumul de muncă nu trebuie să verifice, pentru că forțează totul în joc.
Faceți clic pe link-ul de mai jos pentru a continua lectura pe.