Pagina de start a forumului Mav3r1cK.MyForum.ro
Inregistrare • Cautare • FAQ • Membri • Grupuri • Autentificare
Simpla comanda de admin asupa clientului [AMXX]

 
Raspunde la subiect    Pagina de start a forumului Mav3r1cK.MyForum.ro » Tudoriale AmXMoDx & AdMiN Mod Subiectul anterior
Subiectul urmator
Simpla comanda de admin asupa clientului [AMXX]
Autor Mesaj
mav3rick_rapid
Administrator
Administrator
mav3rick_rapid

Data inscrierii: 03/Oct/2007
Mesaje: 64

Mesaj Simpla comanda de admin asupa clientului [AMXX] Raspunde cu citat (quote)
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 întâiul rand, stiti extraordinar 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:

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 plenar 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 complicații 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 :
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:
Code:

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
04/10/2007 18:44 Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:    
Raspunde la subiect    Pagina de start a forumului Mav3r1cK.MyForum.ro » Tudoriale AmXMoDx & AdMiN Mod Ora este GMT + 3 ore
Pagina 1 din 1

 
Mergi direct la: