Counter Strike user
Ajuta la dezvoltarea forumului:
Staff'ul te roaga sa te inregistrezi!
Counter Strike user
Ajuta la dezvoltarea forumului:
Staff'ul te roaga sa te inregistrezi!
Counter Strike user
Would you like to react to this message? Create an account in a few clicks or log in to continue.


free  
HomeLatest imagesRegisterLog in

Share
 

 Simpla comanda de admin asupra clientului [AMXX]

View previous topic View next topic Go down 
AuthorMessage
vendetta
Administrator
Administrator
vendetta

Mesaje : 168
Reputatie : 1
Data de inscriere : 2011-08-26
Varsta : 30
Localizare : Costesti

Simpla comanda de admin asupra clientului [AMXX] Empty
PostSubject: Simpla comanda de admin asupra clientului [AMXX]   Simpla comanda de admin asupra clientului [AMXX] I_icon_minitimeSat Aug 27, 2011 2:54 am

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

}

Uitati si 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

}

Spor la lucru!
Back to top Go down
 

Simpla comanda de admin asupra clientului [AMXX]

View previous topic View next topic Back to top 
Page 1 of 1

 Similar topics

-
» Limbaj .amxx
» [Tutorial]BaN fara ADMIN!

Permissions in this forum:You cannot reply to topics in this forum
Counter Strike user :: Tutoriale Counter Strike! :: Tutoriale HLDS-