top

Simpla comanda de admin asupa clientului [AMXX]

 
Acest forum este inchis, nu se pot scrie, crea, raspunde sau modifica subiecte   Acest subiect este inchis, nu se pot crea sau raspunde la mesaje    Pagina de start a forumului ...:::Mortal-Team:::... -> Recycle Bin
Autor Mesaj
catalin
Amator
Amator


Data inscrierii: 08/Apr/2008
Mesaje: 5

MesajTrimis: 08/04/2008 21:27    Titlul subiectului: Simpla comanda de admin asupa clientului [AMXX] Raspunde cu citat (quote)

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 global 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

}


Succes!!!!
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:    Subiectul anterior : Subiectul urmator  
Acest forum este inchis, nu se pot scrie, crea, raspunde sau modifica subiecte   Acest subiect este inchis, nu se pot crea sau raspunde la mesaje    Pagina de start a forumului ...:::Mortal-Team:::... -> Recycle Bin Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum

Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro