Forumul oficial al serverului de CS 1.6 Bercu.Zapto.org
 Inregistrare  |  FAQ  |  Cautare  |  Membri  |  Grupuri  |  Autentificare 
Raspunde la subiect
 Inceputul de baza in crearea unui plugin 
BeRcU
Detinator
Detinator

Data inscrierii: 10/Sep/2008
Mesaje: 327
Raspunde cu citat (quote)
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
(IMG:http://www.cstrike.ro/forum/style_emoticons/default/smile.gif) .


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 făcut 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 necesită 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
Vezi profilul utilizatorului Trimite mesaj privat
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
Ora este GMT + 2 ore  
Pagina 1 din 1  

  
  
 Raspunde la subiect