Simpatie.ro - matrimoniale
FLACARICA.3XFORUM.RO
Forum powered by elem3nt WWW.flacarica.3XFORUM.RO
Nou pe simpatie:
barbyDana
Femeie
25 ani
Bacau
cauta Barbat
28 - 46 ani
FLACARICA.3XFORUM.ROReguliInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
FLACARICA.3XFORUM.RO / Counter Strike /

Simpla comanda de admin asupa clientului [AMXX]

Pagini: 1  
#1
elem3nt
Administrator
Postari: 717
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:
CODE
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:
CODE
if(!cmd_acces(id,level,cid,2))

return PLUGIN_HANDLED;

Totul arata asa:
CODE
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 :
CODE
read_argv(stuff)

Acuma trebuie sa declaram o variabila ; "argumente" sa-i zicem
CODE
new argumente[32]

read_argv(1,argumente,31)


Pana acuma totul arata asa:
CODE
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:
CODE
cmd_target(stuff)

Ne trebuie o noua
variabila, sa-i zicem "player"
Si punem:
CODE
new player = cmd_target(id,argumente,31)

In total arata asa:
CODE
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:
CODE
if(!player)

return PLUGIN_HANDLED;


Totul arata asa:
CODE
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 :
CODE
client_cmd(indexu,"snapshot"

Pentru ca noi am pus ca argumentele sa fie "player" deci lui player ii vom executa. Si va arata asa:
CODE
client_cmd(player,"snapshot"


Totul arata asa:
CODE
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
CODE
return PLUGIN_HANDLED;


Totul arata asa:
CODE
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:
CODE
#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


 
   

Topicuri similare

Pagini: 1  
Mergi la