Jump to content

Cum Sa Creezi Un Plugin


mEiz

Recommended Posts

Cum Sa-Ti Creezi Pluginul Tau

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 Counter-strike server

 

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 :

 

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

 

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 :

 

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

 

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

 

 

La "accesul de admin" , putem pune :

 

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 :

 

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 :

 

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 :

 

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 :

 

#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 http://www.amxmodx.org/webcompiler.cgi , 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 Counter-strike

Link to comment
Share on other sites

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...