Compilarea reprezinta procesul prin care codul sursa scris intr-un limbaj de programare (in cazul nostru Small sau Pawn) este tradus in cod obiect, ce poate fi apoi executat.
Imagine
In cazul surselor de pluginuri amxmodx, compilarea se poate face online sau local (aceasta fiind metoda recomandata).Compilarea online se face accesand link-ul
http://www.amxmodx.org/webcompiler.cgi .Aici puteti posta codul in casuta de text special amenajata, precum si numele care doriti sa-l atribuiti fisierului, sau, puteti selecta sursa direct din calculator.Dupa apasarea butonului Compile va incepe compilarea pluginului, urmata de link-ul de descarcare al pluginului (cu extensia .amxx) sau de erori si avertismente in cazul in care sunt gasite greseli la nivelul codului.Compilarea locala se poate face daca aveti instalat modul AmxModX in calculator.Va duceti in folderul
Cod:addons/amxmodx/scripting
si puneti acolo fisierul sursa (exemplu: plugin.sma), apoi trageti iconita acestuia peste fisierul compile.exe tinand apasat Click stanga.Astfel, o sa apara o consola ce o sa returneze erorile si avertismentele sau va informeaza ca a decurs cu succes compilarea.Pluginul compilat il gasiti in folderul
addons/amxmodx/scripting/compiled
(exemplu: plugin.amxx)
3. Notatii si vocabular in limbajul Pawn
[spoiler]Vocabularul limbajului Pawn este format din simboluri de baza, clasificate in trei mari categorii:
literele alfabetului englez
cifre arabe: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
simboluri speciale (operatori si delimitatori): . ; , : ? " ( ) [ ] { } < > ! | / _ # % & ^ + - * =
Tot in categoria simbolurilor speciale se incadreaza si cuvintele rezervate, numite si cuvinte-cheie, care au un inteles bine stabilit si nu pot fi folosite de catre scripteri decat in contextul permis de catre sintaxa limbajului Pawn.Din lista cuvintelor-cheie fac parte urmatoarele: case, const, else, enum, float, for, if, return, sizeof, static, switch, while, public, iar lista poate continua.
Scrierea unui plugin cu ajutorul limbajului Pawn este similara scrierii de fraze in limbaj natural.Se folosesc combinatii de cuvinte si separatori.Cuvintele pot fi:
simboluri speciale
identificatori obisnuiti sau predefiniti
constante
Separatorii se incadreaza in una din urmatoarele categorii:
spatiu
comentariu
sfarsit de linie
Identificatorii reprezinta modalitatea de denumire a constantelor, tipurilor de date, variabilelor si functiilor.Constantele reprezinta date ale caror valori nu se modifica pe parcursul rularii pluginului.Prin contrast, variabilele reprezinta date ale caror valori pot fi modificate.[spoiler]
4.Structura unui plugin (de refacut!)
[spoiler]Un plugin AmxModX are, in principiu, urmatoarea structura:
Directive preprocesor/de includere
Definitii de variabile globale/constante
Definitii de functii
Directivele preprocesor/de includere reprezinta primele linii dintr-un program.Prin aceste directive compilatorul este anuntat sa foloseasca anumite biblioteci care contin descrierea unor functii folosite in plugin.Sintaxa directivei de includere este:
Cod:
#include < numele_bibliotecii >