Cstrike-Zone
Doriti să reactionati la acest mesaj? Creati un cont în câteva clickuri sau conectati-vă pentru a continua.

Cstrike-Zone


 
AcasaPortalGalerieCăutareUltimele imaginiÎnregistrareConectare

 

 Simpla comanda de admin asupa clientului [AMXX]

In jos 
2 participan?i
AutorMesaj
zNh
..::LeGeNd of GoDz::..
..::LeGeNd of GoDz::..
zNh


Numarul mesajelor : 171
Varsta : 34
Localisation : JaPaN/YoKoHaMa
Data de inscriere : 10/05/2007

Simpla comanda de admin asupa clientului [AMXX] Empty
MesajSubiect: Simpla comanda de admin asupa clientului [AMXX]   Simpla comanda de admin asupa clientului [AMXX] Icon_minitimeMar 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
Sus In jos
https://cstrike-zone.all-up.com
valy123th
..::N00b::..
..::N00b::..



Numarul mesajelor : 1
Data de inscriere : 02/02/2010

Simpla comanda de admin asupa clientului [AMXX] Empty
MesajSubiect: Re: Simpla comanda de admin asupa clientului [AMXX]   Simpla comanda de admin asupa clientului [AMXX] Icon_minitimeLun Feb 08, 2010 6:09 pm

as vrea sa devin admin va rog sunt talentat si mai sunt pe un servar admin.
Sus In jos
 
Simpla comanda de admin asupa clientului [AMXX]
Sus 
Pagina 1 din 1
 Subiecte similare
-
» FAQ C4 Events [AMXX]
» Despre Event-uri [AMXX]
» Fun Module Commands #1 [AMXX]
» Despre Functiile de Random #1 [AMXX]
» Functii utilizate des in Plugin-uri [AMXX]

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
Cstrike-Zone :: ..::TuToRiAlE::.. :: ...::Tutoriale AmxModX::...-
Mergi direct la: