*Power l Aleksey b.
---[CaPiTaN]---
![---[CaPiTaN]--- ---[CaPiTaN]---](http://support.myforum.ro/images/ranks/CSRanks/Admin.gif)

Data inscrierii: 22/Mar/2007 Mesaje: 197 Localitate: JaPaN/YoKoHaMa |
|
Simpla comanda de admin asupa clientului [AMXX] |
|
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 inițialul rand, stiti destul de 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:
 |
 |
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:
 |
 |
if(!cmd_acces(id,level,cid,2))
return PLUGIN_HANDLED; |
Totul arata asa:
 |
 |
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 teribil de 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 :
 |
 |
read_argv(stuff) |
Acuma trebuie sa declaram o variabila ; "argumente" sa-i zicem
 |
 |
new argumente[32]
read_argv(1,argumente,31) |
Pana acuma totul arata asa:
 |
 |
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:
 |
 |
cmd_target(stuff) |
Ne trebuie o noua variabila, sa-i zicem "player"
Si punem:
 |
 |
new player = cmd_target(id,argumente,31) |
In absolut arata asa:
 |
 |
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:
 |
 |
if(!player)
return PLUGIN_HANDLED; |
Totul arata asa:
 |
 |
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 :
 |
 |
client_cmd(indexu,"snapshot") |
Pentru ca noi am pus ca argumentele sa fie "player" deci lui player ii vom executa. Si va arata asa:
 |
 |
client_cmd(player,"snapshot") |
Totul arata asa:
 |
 |
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
 |
 |
return PLUGIN_HANDLED; |
Totul arata asa:
 |
 |
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:
 |
 |
#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
_________________ [url=http://www.gametracker.com/server_info/89.43.237.130:27015/] [/url] |
|