BladerdetM Vizitator
|
Trimis: 23/02/2009 20:57 Titlul subiectului: Crerea unui plungin |
|
|
Ok , in acest Tutorial voi explica pas cu pas , tot ce trebuie facut pentru a
crea un Plugin simplu (Inceputul) . Daca nu ai facut nici un Plugin pana acum si
nu ai habar cum se face , casca bine ochii ; vei invata acum
.
Plugin-urile , dupa cum cred ca ati vazut deja (Daca v-ati uitat in
vreun .sma) , sunt alcatuite din public-uri si din stock-uri (Ceea ce veti
invata mai tarziu , deocamdata invatam public-uri) .
Vom creea un fisier
.txt , caruia ii modificam extensia in .sma . Sa spunem ca am produs fisierul
plugin.sma . Il deschidem cu notepad (Puteti folosi si alte programe ajutatoare
in scripting , dar nu recomand ; este bine sa invatati asa) .
Incepem
prin niste include-uri . Ce sunt acestea ? Sunt niste linii de comanda care
arata amxmodx-ului ce functii (utilitati) vor fi folosite in acest Plugin .
Pentru inceput , ii aratam ca vom folosi amxmodx :
Cod:
#include
Lista de include-uri poate continua , dar deocamdata
lasam asa . Veti invata mai tarziu si despre alte include-uri .
Apoi ,
intregistram Plugin-ul , printr-un public specific , numit public plugin_init()
. Deci , apasam un enter si adaugam :
Cod:
public
plugin_init()
{
}
Intre cele 2 paranteze ( { si } ) , vom adauga codul
public-ului respectiv . Aceste acolade reprezinta inceputul si sfarsitul unei
anumite parti / a intregului public . Mai tarziu vom invata si componentă cu mai
multe parti ale unui public , dar deocamdata lasam asa . Intre paranteze ,
adaugam register_plugin("Numele Pluginului","versiunea","autorul") .
Register_plugin este o functie a include-ului de mai sus (amxmodx) , iar
celelalte sunt argumentele . Vom avea :
Cod:
#include
public
plugin_init()
{
register_plugin("nume", "versiune",
"autor")
}
Atentie ! Acel spatiu lasat de mine inaintea
register_plugin este absolut necesar pentru a functiona Plugin-ul corect ! Acel
spatiu NU va necesită sa-l lasati cu space , ci cu tasta TAB . Deasemenea intr-un
Plugin NU va trebui sa folositi DELOC tasta space (Decat intre argumente) !
Inlocuim nume cu numele Plugin-ului , versiune cu versiunea autor cu autorul
Plugin-ului (Numele dvs) . Atentie ! Lasam ghilimelele asa cum sunt ! Modificam
doar cuvintele .
Tot in plugin_init , vom putea sa mai inregistram si niste
comenzi . Vom inregistra una . Functia este urmatoarea :
Cod:
register_concmd("comanda","public",accesul de admin,"Mesaj care
apare cand dai amx_help")
La "accesul de admin" , putem pune
:
Cod:
ADMIN_RESERVATION
ADMIN_IMMUNITY
ADMIN_KICK
ADMIN_BAN
ADMIN_SLAY
ADMIN_MAP
ADMIN_CVAR
ADMIN_CFG
ADMIN_CHAT
ADMIN_VOTE
ADMIN_PASSWORD
ADMIN_RCON
ADMIN_LEVEL_A
ADMIN_LEVEL_B
ADMIN_LEVEL_C
ADMIN_LEVEL_D
ADMIN_LEVEL_E
ADMIN_LEVEL_F
ADMIN_LEVEL_G
ADMIN_LEVEL_H
Deci , adaugam
in .sma :
Cod:
register_concmd("amx_ss","admin_ss",ADMIN_LEVEL_C,"Take a
snapshot to selected player")
La comanda amx_ss , se va executa public-ul admin_ss
, doar daca are adminul care executa comanda litera "C" in acces .
Ok ,
acum sa facem public-ul .
Adaugam :
Cod:
public
admin_ss(id)
{
}
Dupa cum vedeti , am adaugat un id in acest public .
Acest id reprezinta index-ul pe care va fi executata comanda .
Intre { si } ,
va trebui sa adaugam code-ul public-ului . Deobicei este o combinatie intre
niste functii aici . De exemplu , daca vrem sa ii facem un snapshot unui Player
, vom adauga intre { si } urmatoarea functie :
Cod:
client_cmd(id,
"snapshot")
Client_cmd reprezinta functia pentru executare a unei
comenzi asupra unui client , iar id reprezinta cui sa executi comanda . Snapshot
reprezinta comanda .
Adaugam niste tab-uri ca sa fie ordonat bine code-ul .
Ok , pana acum ar trebui sa avem urmatoarele :
Cod:
#include
public
plugin_init()
{
register_plugin("nume", "versiune",
"autor")
register_concmd("amx_ss","admin_ss",ADMIN_LEVEL_C,"It takes a
snapshot to the specified Player .")
}
public
admin_ss(id)
{
client_cmd(id,
"snapshot")
}
Salvam fisierul , apoi il compilam AICI , dupa care
il punem pe Server . La executarea comenzii amx_ss , i se va face
un snapshot Player-ului specificat .
Ei , cam asta a fost . Daca ati urmat
toti pasii de mai sus FELICITARI ! Tocmai ati facut primul dvs Plugin . La mai
multe .[ |
|