SpeCial ForCe ComuNity
Doriți să reacționați la acest mesaj? Creați un cont în câteva clickuri sau conectați-vă pentru a continua.

::CuM Se CrEaZa Un PluGiN::

In jos

::CuM Se CrEaZa Un PluGiN:: Empty ::CuM Se CrEaZa Un PluGiN::

Mesaj Scris de ImMorTaL Sam Ian 16, 2010 9:58 pm

Inceputul de baza in crearea unui Plugin

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 ::CuM Se CrEaZa Un PluGiN:: Icon_e_smile .

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 creat 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
:


CODE
#include <amxmodx>


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
:


CODE
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 partea 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
:


CODE
#include <amxmodx>



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 trebui 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
:


CODE
register_concmd("comanda","public",accesul de admin,"Mesaj
care apare cand dai amx_help")


La "accesul de admin" , putem pune
:


CODE
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
:


CODE
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
:


CODE
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 :


CODE
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 :


CODE
#include
<amxmodx>



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 <Player> , 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 ::CuM Se CrEaZa Un PluGiN:: Icon_e_smile . La mai multe ::CuM Se CrEaZa Un PluGiN:: Icon_e_smile .
ImMorTaL
ImMorTaL
Administrator
Administrator

Mesaje : 66
Data de inscriere : 16/01/2010
Varsta : 29
Localizare : Vulcan

https://special-force.forumgratuit.ro

Sus In jos

Sus

- Subiecte similare

 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum