Acasa
Pagina de start!
Faq
Intrebari puse frecvent!
Membri
Vezi lista membrilor!
Cautare
Gasesti ce vrei,repede!
Conectare
Intra in contul tau!
Inregistrare
Fi alaturi de noi!

Distribuiţi|

[EXTREAMCS-Scripting] Începutul oricărui plugin [2]

Vezi subiectul anterior Vezi subiectul urmator In jos
AutorMesaj
FloRyN.
Administrator
FloRyN.

Joined : 29/09/2011
Posts : 1228
CS Status : -
Age : 27
[EXTREAMCS-Scripting] Începutul oricărui plugin [2] Empty
MesajSubiect: [EXTREAMCS-Scripting] Începutul oricărui plugin [2] [EXTREAMCS-Scripting] Începutul oricărui plugin [2] Icon_minitimeDum Oct 26, 2014 4:26 am

AMXX Studio genereaza codul de inceput pentru orice plugin:

Cod:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   // Add your code here...
}

Inainte sa trecem mai departe, trebuie sa stim ce reprezinta liniile de mai sus.



1. #include < librarie >

Face exact ce spune si numele, include fisierul respectiv. O librarie este o colectie de functii.

Pentru a putea creea un plugin avem nevoie de anumite native/forwarduri(functii) pe care sa le folosim. Ele sa gasesc in fisierele inc din addons/amxmodx/scripting/include/

Ele pot sa provina din module sau din alte pluginuri.

Nu este nimic gresit daca folositi librarie.inc sau doar librarie.



2. #define TEXT VALOARE

Cu ajutorul directivei define putem sa declaram o noua constanta simbolica,sau mai simplu definim ceva. In propozitia "Cainele este un animal" am definit cainele ca fiind animal, cam asta face si atribuirea de mai sus.

Cod:
#define AUTOR "paperwings"
#define NUMAR 5
#define FORUM "EXTREAMCS"
#define CEVA  "ALTCEVA"

In pluginul de mai sus:

#define PLUGIN "New Plug-In" //am definit PLUGIN cu valoarea New Plug-in
#define VERSION "1.0" //am definit VERSION cu valoarea 1.0
#define AUTHOR "author" //am definit AUTHOR cu valoarea author

In fiecare loc in care utilizam constanta simbolica, ea este inlocuita(in timpul compilarii) de valoarea ei,deci folosind #define sau scriind direct valoarea nu este nicio diferenta,doar ne ajuta(in unele cazuri) sa tinem totul organizat sau sa edita mai usor anumite linii.

Cod:
              #define VALOARE 5 
new a = 5      new a = VALOARE
new b = 5      new b = VALOARE
new c = 5      new c = VALOARE
new d = 5      new d = VALOARE

Vedeti ca este mult mai simplu sa schimbam in #define VALOARE din 5 in altceva, decat sa schimbam in new a, new b, new c, new d. In momentul compilarii ele devin echivalente.





3. public nume

In orice plugin lucram cu publicuri(exista si functii private,stockuri, dar asta vom discuta mai tarziu ). Ele ne ajuta sa ne tinem codul organizat + ca fara el nu am putea sa facem nimic. Majoritatea publicurile trebuie chemate de anumite functii/forwarduri/native sau din alte publicuri. Insa, exista cateva publicuri default de care are grija amxmodx si pe care noi nu trebuie sa le definim in vreun fel.



Sa analizam publicul din exemplu:

Cod:
public plugin_init ( )

plugin_init este unul din publicurile amxmodx, este al doilea public chemat cand serverul porneste/se da restart/mapa se schimba. Primul este plugin_precache,despre care vom vorbi in alt tutorial. Vedem parantezele ( ) dupa numele publicului. Ele sunt headerul functiei/publicului,acolo se adauga paramurile pe care le foloseste publicul. plugin_init nu foloseste niciun param,deci nu trecem nimic.

4.register_plugin(PLUGIN, VERSION, AUTHOR)

Inregistreaza pluginul,cand dati amx_plugins sau amxx list veti vedea autorul,versiunea si numele pluginului.



Urmatoarele linii sunt echivalente(considerand ca am definit plugin,version,author cu test,0.0.1,paperwings.

Cod:
register_plugin(PLUGIN, VERSION, AUTHOR)
register_plugin("Test", "0.0.1", "paperwings")

Aici vorbesc despre metoda, pentru compiler nu este nicio diferenta.



5.Acoladele { }

Marcheaza locul unde incepe si unde se termina un plugin, v-as recomanda sa le puneti la inceput de rand (arata mai ordonat).

Cod:
public plugin_init ( )
{


}

6.Comentariile

Cod:
// Add your code here...

Un comentariu este un comentariu ( stiu ca nu prea are sens ce am zis,dar asta este). Se foloseste pentru a explica linia,codul,publicul respectiv. Am folosit si eu comentarile la partea a 2-a.



Comentariile sunt de 2 tipuri:

  • pe un rand
  • pe mai multe randuri randuri


Cod:
//Acest plugin este un exemplu
//Comunitatea CS16.RO

SAU:

/*
Acest plugin este un exemplu
Comunitatea CS16.RO
*/

Comentariile se pot sterge fara nicio problema,ele dispar in momentul compilarii.


NOTĂ: NU SUNT EU AUTORUL TUTORIALULUI.
Dar sper să vă ajute.
Sus In jos

[EXTREAMCS-Scripting] Începutul oricărui plugin [2]

Vezi subiectul anterior Vezi subiectul urmator Sus

Subiecte similare

-
t [Plugin AmxModX]TPS Mod Plugin
t [Plugin AmxMod]Plugin ore.
t [Scripting] Item odată la x runde.
t [Scripting] Încărcare armă după kill.
t Instalare Multimod plugin
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
Kill-AreNa :: » KILL-ARENA - COUNTER-STRIKE 1.6 :: Tutoriale-
Social Media Buttons