..::CS-GAME-FORCE-MD::..
Cautare
 
 

Rezultate pe:
 


Rechercher Cautare avansata

Ultimele subiecte
» Cerere Moderator
Vin Dec 31 2010, 20:26 Scris de PowerFighter

» O Propunere pt admin
Joi Aug 26 2010, 20:31 Scris de PowerFighter

» ][CR@ZY][-BOY
Mier Aug 11 2010, 22:22 Scris de PowerFighter

» Crazy Loop - Dan Balan
Mar Aug 10 2010, 20:18 Scris de PowerFighter

» Counter Strike 2D
Mar Aug 10 2010, 14:40 Scris de PowerFighter

» The Bourne Ultimatum [#3]
Mar Aug 10 2010, 14:38 Scris de PowerFighter

» The Bourne Supremacy [#2]
Mar Aug 10 2010, 14:38 Scris de PowerFighter

» The Bourne Identity [#1]
Mar Aug 10 2010, 14:37 Scris de PowerFighter

» Garcea La Dentist
Mar Aug 10 2010, 13:31 Scris de PowerFighter

Top postatori
PowerFighter (304)
 
*Bl@yd* (78)
 
Arty (53)
 
sTaTuS (31)
 
UlTrA_bOy (19)
 
taGG (19)
 
H3rku||3 (10)
 
][CR@ZY][-BOY (10)
 
SaDisT (8)
 
BL@@DER (6)
 


Inceputul de baza in crearea unui Plugin! [Detaliat]

Vezi subiectul anterior Vezi subiectul urmator In jos

Inceputul de baza in crearea unui Plugin! [Detaliat]

Mesaj  PowerFighter la data de Dum Iul 04 2010, 23:12

Salut la toata lumea de aici! Cu vre-o trei-patru luni in urma am aflat cum se face un plugin counter-strike prin limbajul formidabil amxmodx!

Deci Acest Tutorial Este Cam Diferit De Altele pt-ca aici sunt explicate mai multe detalii!

Deci... Sa Incepem!

Prima Oara As Vrea Sa Va Explic Ce Insemna Un Plugin!

Plugin este o mare parte din functiile de baza ale calculatorului care executa totul asupra lui. Deaceia eu am creat acest topic pt a va invata cum se face un plugin pentru counter-strike prin limbajul amxmodx...Fiind cea mai usoara si comfortabila cale de a face un plugin...

Deci, sa incepem...

....................
....................

Prima si prima data cream un "text document" accesind click dreapta --> New --> Text Document.

Apoi il deschidem cu un "text document" cititor (notepad, wordpad etc)

! Incepem Tutorialul !

pentru inceput scriem urmatoarea linie:

Cod:

#include <amxmodx>

aici mai putem adauga si alte include-uri precum ( etc) dar pt un incepator e perfect, insa pt acest tutorial am mai decis sa adaug si printre

Deci Totul Arata Asa:

Cod:

#include <amxmodx>
#include <amxmisc>

Apoi pentru a incepe cu functiile de baza adaugam asta:

ATENTIE!!!!! Acel spatiu lasat de mine inaintea register_plugin este absolut necesar pentru a functiona Plugin-ul corect ! Acel spatiu NU va trebui sa-l lasati cu space , ci cu tasta TAB . Deasemenea intr-un Plugin NU va trebui sa folositi DELOC tasta space (Decat intre argumente) !

Cod:

public plugin_init() {
  register_plugin("Nume-Plugin", "Versie-Plugin", "Autor-Plugin")

In loc de "Nume-Plugin" scriem numele pluginului, in loc de Versie-Plugin scriem versia respectiva a pluginului si in loc de Autor-Plugin scriti numele dvs.

apoi mai adaugam inca un "register" pt a inregistra un "public"...

Cod:

  register_concmd("amx_nume-comanda","nume_public",ACCES_DE-ADMIN,"explicatie")
}


In loc de amx_nume-comanda scrim numele la comanda pe care o executa pluginu (numai decit sa se inceapa cu amx_)
In loc de nume_public pui numele la "public"
In loc de ACCES_DE-ADMIN punem accesul de admin (accesele le gasim mai jos)

Cod:

ADMIN_RESERVATION

ADMIN_IMMUNITY

ADMIN_KICK

ADMIN_BAN

ADMIN_SLAY

ADMIN_MAP

ADMIN_CVAR

ADMIN_CFG

ADMIN_CHAT

ADMIN_VOTE

ADMIN_PASSWORD

ADMIN_RCON

ADMIN_LEVEL_A

ADMIN_LEVEL_B

ADMIN_LEVEL_C

ADMIN_LEVEL_D

ADMIN_LEVEL_E

ADMIN_LEVEL_F

ADMIN_LEVEL_G

ADMIN_LEVEL_H

In loc de explicatie scriem intr-un enunt ce executa acest plugin, adika face o mica descriere.....

Deci, totul trebuie sa arate cam asa:
Cod:

#include <amxmodx>
#include <amxmisc>


public plugin_init() {
  register_plugin("Nume-Plugin", "Versie-Plugin", "Autor-Plugin")

  register_concmd("amx_nume-comanda","nume_public",ACCES_DE-ADMIN,"explicatie")
}


Acum am terminat cu public plugin_init (publicul de baza) si ne mai ramine de creat alt "public"!

Adaugam asa:

Cod:

public nume_public(id,level,cid)

in loc de nume_public eu voi numi admin_ss, in loc de amx_nume-comanda eu voi numi amx_ss in loc de ACCES_DE-ADMIN eu voi alege ADMIN_KICK in loc de explicatie eu voi scri "face un screenshot jucatorului ales"

deci... totul arata ASA:

Cod:

#include <amxmodx>
#include <amxmisc>


public plugin_init() {
  register_plugin("AmxSS", "1.0", "Razvanika")

  register_concmd("amx_ss","admin_ss",ADMIN_KICK,"face un screenshot jucatorului ales")
}


public admin_ss(id,level,cid)
{

deci pt executarea comenzei vom adauga asa:
Cod:

  if(!cmd_access(id,level,cid,2))
  client_print(id, print_chat, "* Nu ai acces la aceasta comanda")
  return PLUGIN_HANDLED;

"If" in traducere insemna "daca"
"!" inseamna "invers" exemplu ca mai sus:
if(!cmd_access(id,level,cid,2)) - inseamna daca nu ai acces la aceasta comanda...
client_print(id, print_chat, "* Nu ai acces la aceasta comanda") - inseamna sai apara in chat acest mesaj...
return PLUGIN_HANDLED; - inseamna comanda nu va fi executata...


Pentru argumente adaugam asta:

Cod:

  new argument[32]
  read_argv(1,argument,31)

Asta inseamna ca inainte de a executa comanda pluginul va verifica toate accesele si argumentele.....

DECI, totul arata asa:

Cod:

#include <amxmodx>
#include <amxmisc>


public plugin_init() {
  register_plugin("AmxSS", "1.0", "Razvanika")

  register_concmd("amx_ss","admin_ss",ADMIN_KICK,"face un screenshot jucatorului ales")
}


public admin_ss(id,level,cid)
{
  if(!cmd_access(id,level,cid,2))
  client_print(id, print_chat, "* Nu ai acces la aceasta comanda")
  return PLUGIN_HANDLED;
   
  new argument[32]
  read_argv(1,argument,31)

Vom mai adauga asta pt a gasi unele data si a le inregistra mai tirziu in acest "public"...

Cod:

  new player = cmd_target(id,argument,31)
  new hostname[64], tname[32], usrip[32], timer[32], name[32];
  get_cvar_string("hostname",hostname,63);
  get_user_name(id, name, 31)
  get_user_name(player,tname,31);
  get_user_ip(player,usrip,31);
  get_time("%m/%d/%Y - %H:%M:%S", timer,31);

Deci sa va explic:
new player = cmd_target(id,argument,31) // gaseste jucatorul ales cind scrieti in consola amx_ss nume-jucator
new hostname[64], tname[32], usrip[32], timer[32], name[32]; // face "new-ul", adika face ca din numele-serverului, numele-jucatorului-care-a-primit-poza, ip-ul-jucatorului-care-a-primit-poza, data+ora existenta, numele adminului care a facut poza - sa-si aiba numele propriu, folosit dupa anumite comenzi/executari...
get_cvar_string("hostname",hostname,63); // gaseste numele serverului
get_user_name(id, name, 31) // gaseste numele adminului care a facut poza
get_user_name(player,tname,31); // gaseste numele-jucatorului-care-a-primit-poza
get_user_ip(player,usrip,31); // gaseste ip-ul-jucatorului-care-a-primit-poza
get_time("%m/%d/%Y - %H:%M:%S", timer,31); // data+oara existenta

Apoi putem adauga asta :

Cod:

  if(!player)
  client_print(id, print_chat, "* Jucatorul specificat nu exista!")
  return PLUGIN_HANDLED;

Asta inseamna ca daca jucatorul nu exista, adminului ii va aparea in chat acest mesaj...

Acum, sa facem pluginul misto... Sa fie mai interesant, mai diferit adaugam asta:

Cod:

  client_print(0, print_chat, "* Adminul %s ia facut o poza lui %s !",name,tname)
  client_print(player, print_chat, "* Adminul %s ti-a facut o poza !",name)
  client_print(player, print_chat, "* Nick-ul tau: %s, IP-ul tau: %s",tname,usrip)
  client_print(player, print_chat, "* Data si ora: %s - pe serverul %s",timer,hostname)
  client_cmd(player,"snapshot")

Explicatie:

client_print(0, print_chat, "* Adminul %s ia facut o poza lui %s !",name,tname) // asa scrie in chat catre toata lumea...
client_print(player, print_chat, "* Adminul %s ti-a facut o poza !",name) // asa scrie in chat numai jucatorului care a primit poza
client_print(player, print_chat, "* Nick-ul tau: %s, IP-ul tau: %s",tname,usrip) // asa scrie in chat numai jucatorului care a primit poza
client_print(player, print_chat, "* Data si ora: %s - pe serverul %s",timer,hostname) asa scrie in chat numai jucatorului care a primit poza
client_cmd(player,"snapshot") // acuma, in sfirsit, jucatorul, a primit poza..

Pentru sfirsit adaugam asa:

Cod:

  return PLUGIN_HANDLED
}




Am TerminaT acum totul arata asa:

Cod:

#include <amxmodx>
#include <amxmisc>


public plugin_init() {
  register_plugin("AmxSS", "1.0", "Razvanika")

  register_concmd("amx_ss","admin_ss",ADMIN_KICK,"face un screenshot jucatorului ales")
}


public admin_ss(id,level,cid)
{
  if(!cmd_access(id,level,cid,2))
  return PLUGIN_HANDLED;
   
  new argument[32]
  read_argv(1,argument,31)

  new player = cmd_target(id,argument,31)
  new hostname[64], tname[32], usrip[32], timer[32], name[32];
  get_cvar_string("hostname",hostname,63);
  get_user_name(id, name, 31)
  get_user_name(player,tname,31);
  get_user_ip(player,usrip,31);
  get_time("%m/%d/%Y - %H:%M:%S", timer,31);


  if(!player)
  client_print(id, print_chat, "* Jucatorul specificat nu exista!")
  return PLUGIN_HANDLED;

  client_print(0, print_chat, "* Adminul %s ia facut o poza lui %s !",name,tname)
  client_print(player, print_chat, "* Adminul %s ti-a facut o poza !",name)
  client_print(player, print_chat, "* Nick-ul tau: %s, IP-ul tau: %s",tname,usrip)
  client_print(player, print_chat, "* Data si ora: %s - pe serverul %s",timer,hostname)
  client_cmd(player,"snapshot")

  return PLUGIN_HANDLED
}


Felicitari Tocmai aveti propriul plugin, ceea ce trebuie sa faceti este sal compilati AICI

Have Fun!!!

PowerFighter
Administrator
Administrator

Mesaje : 304
Puncte : 694
Reputatie : 8
Data de inscriere : 08/04/2010
Varsta : 18
Localizare : Moldova/Mereny

http://cs-game-force-md.admin007.net

Sus In jos

Re: Inceputul de baza in crearea unui Plugin! [Detaliat]

Mesaj  H3rku||3 la data de Sam Aug 07 2010, 00:39


H3rku||3
Membru
 Membru

Mesaje : 10
Puncte : 10
Reputatie : 0
Data de inscriere : 06/08/2010
Localizare : Hirbovat

Sus In jos

Re: Inceputul de baza in crearea unui Plugin! [Detaliat]

Mesaj  PowerFighter la data de Sam Aug 07 2010, 00:45

ms!!

PowerFighter
Administrator
Administrator

Mesaje : 304
Puncte : 694
Reputatie : 8
Data de inscriere : 08/04/2010
Varsta : 18
Localizare : Moldova/Mereny

http://cs-game-force-md.admin007.net

Sus In jos

Re: Inceputul de baza in crearea unui Plugin! [Detaliat]

Mesaj  taGG la data de Sam Aug 07 2010, 05:18

cam luuuuuuunGG!!!

taGG
Membru
 Membru

Mesaje : 19
Puncte : 24
Reputatie : 0
Data de inscriere : 06/08/2010
Varsta : 20
Localizare : Chisinau

Sus In jos

Re: Inceputul de baza in crearea unui Plugin! [Detaliat]

Mesaj  Continut sponsorizat Astazi la 10:25


Continut sponsorizat


Sus In jos

Vezi subiectul anterior Vezi subiectul urmator Sus


 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum