Pagina de start a forumului cstrike-mk.myforum.ro cstrike-mk.myforum.ro
Bine ati venit pe cstrike-mk . Speram sa va distrati . Inregistrativa... adminele se dau gratis BINE ATI VENIT !
 
 FAQFAQ   CautareCautare   MembriMembri   GrupuriGrupuri   InregistrareInregistrare 
 ProfilProfil   Mesaje privateMesaje private   AutentificareAutentificare 

Simpla comanda de admin asupa clientului [AMXX]

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului cstrike-mk.myforum.ro -> Tutoriale & Accesorii pentru cs
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
^Mk^ KaLbLa
^Mk^ Clan
^Mk^ Clan
^Mk^ KaLbLa

Data inscrierii: 12/Iul/2007
Mesaje: 26

MesajTrimis: 13/07/2007 02:24    Titlul subiectului: 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 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
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului cstrike-mk.myforum.ro -> Tutoriale & Accesorii pentru cs Ora este GMT + 13 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


Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro