Samp, gta san andreas

Cum se creează defmatch

Nu este nimic mai ușor. Deschideți Pawno și faceți clic pe Nou. Aici este primul scenariu. Pentru a rula, trebuie să-l salvați mai întâi (cei mai mulți oameni au stocat în directorul „/ SAMP / gamemodes / src /“, dar va fi mai ușor (pentru testarea locală) să-l păstrați în „/ SAMP / gamemodes /“). Apoi faceți clic pe butonul săgeată albastră. Această acțiune compilează fișierul în fișierul .amx .pwn care apare în același director, dar pentru a rula în joc, acest fișier trebuie să fie în „/ SAMP / gamemodes /“ (Acum înțeleg de ce a fost să păstreze script-ul în acest director - acum nu trebuie să puneți nimic manual, totul este deja în vigoare după compilare). Acum, pentru a încerca noul mod, trebuie să configurați serverul local și să schimbați modul de joc (tastați "changemode" în fereastra serverului).







Dacă totul a mers bine, când te conectezi la serverul tău prin clientul sa-mp, în joc vei fi în afara cazinoului din Las Venturas. Din păcate, nu vei putea să-ți alegi un personaj, deoarece momentan este disponibil doar unul, dar acest lucru poate fi rezolvat cu ușurință în viitor. În plus, nu este foarte interesant DM - din arme ai doar pumnii și nu un suflet în jur. Dar acesta este un server local și nu există nimic de făcut în legătură cu a doua problemă în acest moment.

AddPlayerClass (0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0);

Aceasta este descrierea clasei, parametrii în aceeași ordine:
AddPlayerClass (model de jucător, X, Y, Z, A, armă 0, armă 0, armă 1, armă 1, armă 2, armă 2);

Modelul de caractere poate fi luat din fișierul "peds.ide". "X", "Y" și "Z" sunt coordonatele aspectului jucătorului în joc, după selectarea caracterului. "A" este unghiul în care se va desfășura playerul (direcția camerei). Există doar un punct de apariție pentru fiecare clasă, dar acest lucru poate fi eludat folosind alte instrumente care vor fi discutate mai târziu. Numerele armelor pot fi găsite aici. Iar numerele de lângă muniție - acesta este numărul exact de cartușe pentru fiecare armă pe care o va avea jucătorul (arma cu corpul mielului are un număr de cartușe de 0).

Copiați acum această linie:
AddPlayerClass (102, 1958,3783, 1343,1572, 15,3746, 269,1425, 5, 0, 22, 100, 32, 50);

Și pune-l sub cea pe care ai găsit-o în scenariul tău. Acum, în joc veți avea de ales între CJ (fără arme) și Balla (cu bâtă de baseball, pistol și Tec9). Dacă doriți, puteți oferi arme pentru CJ sau adăugați mai multe clase cu o altă armă.







Notă: unele arme, care este listat pe pagina de link-ul de mai sus, de lângă care există un semn „(blocări dacă încercați să foc)“ sau „(inutilizabil)“ nu funcționează în această versiune a SA-MP. Lista de arme care nu pot fi folosite include grenade, dar această neplăcere va fi stabilită în viitor.

Găsiți coordonatele, unghiurile și ID-urile modelului

Introducere în funcții și callbacks

Înainte de a continua, trebuie să aflați ce sunt apelurile telefonice sau apelurile telefonice. Acestea sunt tablouri de cod în interiorul modului dvs. de joc, reprezentând ceva similar cu următorul:

public OnPlayerDisconnect (playerid)
printf ("OnPlayerDisconnect (.)", playerid);
retur 1;
>
Acesta este apelul OnPlayerDisconnect, ceea ce înseamnă că această secțiune a codului va fi lansată atunci când playerul se deconectează de la server. Dacă doriți ca un mesaj mare să apară ca un anumit jucător să părăsească serverul, atunci adăugați codul la această matrice pentru aceasta. Toate callback`i care utilizează jocul (cu excepția 2, acestea sunt utilizate în filterscripts, dar nu și în gamemodes. Despre ei, nu vom spune), sunt în fișierul. Nu poți să faci pe alții. Cele mai multe dintre ele par a fi cele de mai sus. Dar unii dintre ei ( „OnPlayerCommandText“, „OnPlayerRequestClass“, „OnGameModeInit“ și „principal“ (care nu este exact callback`om și nicăieri în altă parte nu apare decât pe ecran din titlu modul de joc)) sunt concepute pentru a face modul de joc la locul de muncă, sau arată jucătorilor ce să facă. Puteți utiliza și alte blocuri similare (la cele de mai jos) care arată la fel, dar se numesc funcții. Trebuie să fie chemați de voi. Iată funcția "IMadeThis" (notați absența completă a spațiilor).

IMadeThis ();
În apelul OnPlayerDisconnect (trebuie să fie între "", precum și înainte de "return 1;")

acesta trebuie să fie rulat ca o funcție, și a imprima un mesaj pe fereastra server când lăsați serverul la momentul jocului (amintiți-vă că alte lucruri descrise vor fi ignorate). Noi nu am vrut nimic imprimat pe fereastra de server și toate „imprimare“ și funcția „printf“, care a fost în fișierul, eliminat Scripter. Doar siruri de caractere incluse între acolade sunt în funcție / callback`e (funcție se referă la callback`am în același mod ca și în cazul în care - cazul special al unei funcții), linia de mai sus - numele funcției. „Public“ înseamnă că funcția poate fi realizată prin orice altă bucată de cod, aceasta înseamnă practic că codul dvs. poate fi executat atunci când apelați funcția de nume. Nu ne facem griji cu privire la anumite funcții, deoarece nu sunt folosite deloc în SA-MP. Paranteze după numele funcției, include o listă de parametri, nu le poate acoperi, dar puteți vedea un exemplu de utilizare a acestora în unele dintre dvs. callback`ov script-ul pur. Rețineți că acești parametri sunt transferați automat când jocul solicită funcția. Dacă folosim funcții de la terți (adică nu callbacks) și dorim să folosim anumiți parametri, va trebui să le transmitem direct. Un lucru mic, care ar trebui să fie menționat - că toate liniile, cu excepția liniilor cu bretele (chiar și acestea în anumite circumstanțe, dar ele vor fi acoperite mai târziu), și șirul imediat înainte de paranteza deschisă (acolade poate fi la sfârșitul fișierului linia sau, după cum se arată aici, pe o linie nouă), necesită un punct și virgulă la sfârșit pentru a indica sfârșitul procesului.
__________________







Articole similare

Trimiteți-le prietenilor: