Lecție totul despre stoc - limba pion studiu

Stoc - marker de compilator spune compilatorului pentru a exclude funcția de cod din fișierul AMX finală, în cazul în care funcția nu este utilizată în codul script.

Cu alte cuvinte, codul de funcții sau variabile create folosind marker de „stoc“, care nu sunt incluse în versiunea compilată a modei, în cazul în care acestea nu sunt utilizate în mod.






Dacă, totuși, să creați o funcție / variabilă utilizând alte markeri, compilatorul le va include în versiunea finală, indică inutilitatea lor și mașină AMX (server) pentru a aloca memorie pentru ei

Metode de utilizare stoc:

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Utilizarea variabilelor în stoc este aceeași ca și utilizarea variabilelor din nou. Care este diferența, vă întreb?

O diferență este că stocul nu este înregistrat în memoria serverului. Aceasta este, în cazul în care variabila este declarată prin stoc, dar în codul nu este folosit, compilatorul îl va șterge în mod automat atunci când compilați (ceea ce înseamnă că în versiunea .amx a codului pe care variabila nu va). serverul nu va inutil, prin urmare, să aloce memorie pentru această variabilă. Această regulă se aplică și funcții, astfel încât să memoreze o dată (referințe nu se va mări pe această temă).
Dar merită să ne amintim că nu poți învăța, utilizați o variabilă sau nu, fără cod de căutare manuală, în care se utilizează variabila. Pentru că, în cazul stocului, atunci când compilarea eroarea nu va fi afișat:

204 avertisment: simbol i se atribuie o valoare care nu este utilizat. "% S"

Cu stoc, puteți scrie numai un cod de timp specific și apoi îl numesc doar scrierea de cod pentru a apela stoc. Dar nu numai. Cu stoc, puteți simplifica foarte mult viața ta atunci când scrie o varietate de funcții complexe de mai jos :) Și voi încerca să dau câteva exemple de cod pentru tine să înțelegi ce spun.

Crearea unui stoc:
Nou stoc este creat din alte funcții (publice / stoc). Aceasta este, în același mod ca și publicul, dar nu înainte.

Exemplu de creare a unui stoc:

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

în cazul în care:
StockName - numele stocul nostru
- argumente numele argumentului, în care informațiile vor fi plasate pentru procesare. Numele pot fi orice, la fel ca în cazul variabilelor. Despre limitarea numărului de argumente într-un stoc nu este cunoscută pentru mine. Dacă sunteți pe această știi ceva, vă rugăm să vă dezabona de a furniza orice dovadă. Dar, cu siguranță, nu mai puțin de 8 argumente pot fi folosite.







Un exemplu de utilizare a stoc:

Exemplul 1 (un anumit spațiu de cod și utilizarea sa ulterioară prin stoc)

Să presupunem că avem un dialog, pe care le folosim în mai multe părți ale codului (la fel). putem crea un stoc cu el de fiecare dată să-l scrie,

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Notă: Deși pentru a afișa dialogul necesită un argument „playerid“, în stoc, am indicat numele argumentul „id“. Prin urmare, trebuie să subliniem ShowPlayerDialog este „id“, și este deja în stocul de apel vom atribui valoarea argument „id“ valoare argument „playerid“.
Rețineți că „id“, atunci când se creează un stoc, am scris doar pentru tine să înțeleagă că numele argumentului poate fi orice. Poti scrie doar „playerid“ și de a folosi „playerid“ în ShowPlayerDialog. Sau puteți scrie „Deimos_noob“ și de a folosi doar „Deimos_noob“ deja în dialog. Este important să nu uitați să modificați numele argument în caracteristicile native (poate face clic) în stoc pentru a dori ceea ce le-ați furnizat la crearea de valori (de exemplu, este „id“ în crearea stocului și „playerid“ în ShowPlayerDialog). Dar, trebuie să modificați numele în aceste argumente, valoarea care va fi „livrat“ la codul, care este în stoc, atunci când apelați acest stoc. În acest exemplu, a fost „palyerid“ de mai jos și veți vedea

Deci, creați o comandă pentru a afișa acest dialog

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Ei bine, la o conexiune de jucători pentru a contesta dialogul

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Exemplul 2 (numere întregi de ieșire prin stoc)

Și acum încerca să construiască o echipă pentru transferul de bani de la un jucător la altul, cu ajutorul stocului. În primul rând, a crea un stoc cu trei argumente, în care scrie ID-ul de ambii jucători și suma de transfer de bani

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Și acum a crea o echipă în cazul în care și atribuie valori corespunzătoare pentru stocul argumente
Codul necesar pentru funcționarea corectă a strtok

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

„Playerid“ stochează valoarea ID-ul jucatorului care a intrat în echipa și îi dă valoarea argumentului „player1“ din stocul nostru
„Giveplayerid“ are o valoare de jucător ID-ul, care este necesară pentru a transfera banii și dau valoarea argumentului „player2“ din stocul nostru
„Pmoney“ are o valoare a unei sume de bani pentru a transfera și da valoarea „bani“ argument din stocul nostru
Dacă cineva nu a înțeles modul în care am definit totul, voi explica într-un alt mod. Următoarele vor fi acordate stoc în sine (așa cum l-am creat) și o modalitate de a apela acest stoc. Aceeași culoare, voi sublinia aceste argumente, valorile care sunt transmise printr-un apel la stocul de la stocul

stoc PlayerMoneyToPlayer (player1, player2, bani)
PlayerMoneyToPlayer (playerid, giveplayerid, pmoney);

Aceasta este, argumentele sunt separate prin virgule. Prin urmare, atunci când apelați stoc, avem nevoie de a plasa argumente cu date într-o astfel pentru ca datele necesare pentru a atribui argumentele necesare în stoc

Exemplul 3. (text de ieșire prin stoc)

În acest exemplu, vă voi arăta cum să transfere un anumit text utilizând stocul de pe exemplul echipei de mesagerie privată. Acest stoc va conține la fel de mult ca și 5 au argumente, dintre care două vor conține poreclele de jucători, doi vor conține ID-ul și unul va conține textul. Da, poți și cu ajutorul unui Strok

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Ei bine, iar acum echipa în sine

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.

Codul necesar pentru funcționarea corectă a strtok

Acest cod trebuie introdus la începutul OnPlayerCommandText publice, în cazul în care nu este. Fără aceasta, funcția nu va funcționa srtok

Vă rugăm să login sau inregistreaza-te pentru a vedea link-ul.