zNh ..::LeGeNd of GoDz::..
Numarul mesajelor : 171 Varsta : 34 Localisation : JaPaN/YoKoHaMa Data de inscriere : 10/05/2007
| Subiect: Simpla comanda de admin asupa clientului [AMXX] Mar Iun 05, 2007 6:15 pm | |
| In urmatorul tutorial am sa va explic cum sa faci o simpla comanda de admin, la care sa pui sa execute acea comanda catre client In primul rand, stiti foarte bine ca, comanda se va face intr-un public. Dar va voi explica cum sa cititi argumentele etc Deci, sa zicem ca vrem sa facem ca atunci cand folosim comanda "amx_ss" <nume> sa i se faca un screenshot jucatorului ales. Si incep asa: - Cod:
-
public admin_screen(id,level,cid) { } id,level,cid ne va ajuta in continuarea pluginului Mai departe e bine sa verificam daca cel care foloseste comanda e admin functia e: - Cod:
-
if(!cmd_acces(id,level,cid,2)) return PLUGIN_HANDLED; Totul arata asa: - Cod:
-
public admin_screen(id,level,cid) { if(!cmd_access(id,level,cid,2) ) return PLUGIN_HANDLED; } Ei bine, sa zicem ca o sa inregistram acest public prin comanda "amx_screen" . Stiti foarte bine ca dupa "amx_screen" va trebuie sa adaugati numele jucatorului. Ca sa aflati numele acestuia, mai intai AMXX-ul trebuie sa citeasca ca ati scris dupa comanda "amx_screen" Functia este : - Cod:
-
read_argv(stuff) Acuma trebuie sa declaram o variabila ; "argumente" sa-i zicem - Cod:
-
new argumente[32] read_argv(1,argumente,31) Pana acuma totul arata asa: - Cod:
-
public admin_screen(id,level,cid) { if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED; new argumente[32] read_argv(1,argumente,31) } Mai departe trebuie sa setam ca acele "argumente" sa reprezinte cui sa execute comanda Functia este: - Cod:
-
cmd_target(stuff) Ne trebuie o noua variabila, sa-i zicem "player" Si punem: - Cod:
-
new player = cmd_target(id,argumente,31) In total arata asa: - Cod:
-
public admin_screen(id,level,cid) { if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED; new argumente[32] read_argv(1,argumente,31) new player = cmd_target(id,argumente,31) } Mai departe e bine sa verificam daca jucatorul mai este pe server, ca sa nu faca probleme pluginul, nu ca ar fi mari dar e mai bine asa Si adaugam asa: - Cod:
-
if(!player) return PLUGIN_HANDLED; Totul arata asa: - Cod:
-
public admin_screen(id,level,cid) { if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED; new argumente[32] read_argv(1,argumente,31) new player = cmd_target(id,argumente,31) if(!player) return PLUGIN_HANDLED; } Mai departe trebuie sa setam ce comanda sa execute si asupra cui. Daca am zis ca-i voi face un snapshot, eh hai s-o facem: Functia e : - Cod:
-
client_cmd(indexu,"snapshot") Pentru ca noi am pus ca argumentele sa fie "player" deci lui player ii vom executa. Si va arata asa: - Cod:
-
client_cmd(player,"snapshot") Totul arata asa: - Cod:
-
public admin_screen(id,level,cid) { if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED; new argumente[32] read_argv(1,argumente,31) new player = cmd_target(id,argumente,31) if(!player) return PLUGIN_HANDLED; client_cmd(player,"snapshot") } Mai departe pluginul cere sa faca un return . Vom pune - Cod:
-
return PLUGIN_HANDLED; Totul arata asa: - Cod:
-
public admin_screen(id,level,cid) { if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED; new argumente[32] read_argv(1,argumente,31) new player = cmd_target(id,argumente,31) if(!player) return PLUGIN_HANDLED; client_cmd(player,"snapshot") return PLUGIN_HANDLED } Pluginul complet: - Cod:
-
#include <amxmodx> #include <amxmisc>
#define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "SAMURAI"
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_concmd("amx_screen","admin_screen",ADMIN_KICK,"message"); }
public admin_screen(id,level,cid) { if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED; new argumente[32] read_argv(1,argumente,31) new player = cmd_target(id,argumente,31) if(!player) return PLUGIN_HANDLED; client_cmd(player,"snapshot") return PLUGIN_HANDLED } Bafta | |
|
valy123th ..::N00b::..
Numarul mesajelor : 1 Data de inscriere : 02/02/2010
| Subiect: Re: Simpla comanda de admin asupa clientului [AMXX] Lun Feb 08, 2010 6:09 pm | |
| as vrea sa devin admin va rog sunt talentat si mai sunt pe un servar admin. | |
|