Nu sunteti conectat. Conectati-va sau inregistrati-va

Inceputul de baza in crearea unui Plugin [AMXX]

In jos  Mesaj [Pagina 1 din 1]

1 Inceputul de baza in crearea unui Plugin [AMXX] la data de Lun Ian 04, 2010 8:43 am

cL^eXe

avatar
Admin
Admin
Vom creea un fisier .txt caruia ii modificam extensia in .sma . Sa spunem ca am creat fisierul plugin.sma . Il deschidem cu notepad.
Incepem prin niste include-uri . Ce sunt acestea ? Sunt niste linii de comanda care arata amxmodx-ului ce functii vor fi folosite in acest Plugin . Pentru inceput , ii aratam ca vom folosi amxmodx :
Cod:
#include <amxmodx>


Apoi , intregistram Plugin-ul , printr-un public specific , numit public plugin_init() . Deci , apasam un enter si adaugam :
Cod:
public plugin_init()

{

}


ntre 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 :
Cod:
#include <amxmodx>



public plugin_init()

{

register_plugin("Best-Skills", "1.2", "EasyBox")

}


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 ! Inlocuim nume cu numele Plugin-ului , versiune cu versiunea iar autor cu autorul Plugin-ului .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 <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 .

Vezi profilul utilizatorului http://psyclon.forumpro.org

Sus  Mesaj [Pagina 1 din 1]

Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum