Acasa
Pagina de start!
Faq
Intrebari puse frecvent!
Membri
Vezi lista membrilor!
Cautare
Gasesti ce vrei,repede!
Conectare
Intra in contul tau!
Inregistrare
Fi alaturi de noi!

Distribuiţi|

[Tutorial] Aranjarea codurilor ( II )

Vezi subiectul anterior Vezi subiectul urmator In jos
AutorMesaj
FloRyN.
Supervisor
avatar

Joined : 29/09/2011
Posts : 1220
CS Status : Buna
Age : 21
MesajSubiect: [Tutorial] Aranjarea codurilor ( II ) Dum Ian 03, 2016 2:16 am

Buna ziua, stiu ca exista cateva tutoriale despre pluginuri efficiente si aranjarea codurilor , dar aceste sincer e preferatul meu, eu am invatat sa programez dupa acest tutorial.

1) Numele variabilele ( global si normal )

Orice variabila trebuie sa aiba un prefix anume si numele ei insasi sa insemne ceva, nu poti pur si simplu sa numesti variabila "hotdog".

De exemplu sa zicem ca as vrea sa fac o variabila pentru a afla banii jucatorului, banii sunt un "Numar" deci ca atare voi folosi o variabila de tip INTEger pentru a stoca numarul baniilor, dar nu numai asta conteaza si si prefixul ei.

Cod:
new iMoney = cs_get_user_money(id);


Money = bani
i = integer
iMoney

Nu uitati ca variabilele sunt foarte sensibile daca ati scris o variabila cu o litera marel a inceput si restu mici asa trebe so folositi, exemplu:

Cod:
new iMoney;

Exemplu de folosire ( rai si bun ):

Exemplu bun:

Cod:

iMoney = cs_get_user_money( id );


Exemplu rau:

Cod:
 imoney = cs_get_user_money( id );

va da errori de compilare.


Numirea variabilele globale:
acum ca vam vorbit despre variabilele normal, sa vorbim despre cele globale,
Exemple prefix-uri:

( Doar exemple bune din care puteti alege si dumneavoastra )

Cod:

// Integer
new g_iMoneyStartCvar;

// Bool
new bool:g_bHackerIsTrue[ 33 ];

// Float
new float:g_flSpeedVector[ 33 ];

// Integer
new giMoneyStartCvar;

// Bool
new bool:gbHackerIsTrue[ 33 ];

// Float
new float:gflSpeedVector[ 33 ];


2) Despre pragma , mutli au vazit in niste pluginuri acest cod:

Cod:
#pragma semicolon 1


Ce face acest cod ? Ei bine va fortza compilerul sa nu lasa pluginul sa fie compilat daca la orice functie nu pui ";" la sfarsit

Exemplu bun si rau:

Exemplu bun:

Cod:
new Andrei;


Exemplu rau:

Cod:
new Andrei

va da errori de compilare.

Pragma sincer nu e necesar si nici folositor dar daca vrei ca codul tau sa arate curat eu las recomanda.

3) Aranjarea codurilor

Vas ruga cand facem un script sal aranjati

Exemplu rau:

Cod:

public some_function(id){
new szVariable[10]
format(szVariable,9,"hello!!!!")
if(id==0){
server_print(szVariable)
}else{
client_print(id,print_chat,szVariable)
}
return PLUGIN_HANDLED
}


Exemplu bun:


Cod:

public some_function( id ) {

    new szVariable[10];
    format( szVariable, 9, "hello!!!!" );

    if ( id == 0 )
    {
        server_print( szVariable );
    }

    else
    {
        client_print( id, print_chat, szVariable );
    }

    return PLUGIN_HANDLED;
}


Altfel nimeni nu va putea intelege ce ati scris inauntru ( si nici nu va incerca sa citeasca )

4) Spatierea

Spatierea se face inauntru unei functii, de exemplu aceasta functie:

Cod:
user_kill(id);


nu e bine, trebuie sa fie asa:

Cod:
user_kill( id );


Un exemplu mai lung:


Cod:

public cmdSlay(id,level,cid) {
  if (!cmd_access(id,level,cid,2))
    return PLUGIN_HANDLED
  new arg[32]
  read_argv(1,arg,31)
  new player = cmd_target(id,arg,5)
  if (!player) return PLUGIN_HANDLED
  user_kill(player)
  new authid[32],name2[32],authid2[32],name[32]
  get_user_authid(id,authid,31)
  get_user_name(id,name,31)
  get_user_authid(player,authid2,31)
  get_user_name(player,name2,31)
  log_amx("Cmd: ^"%s<%d><%s><>^" slay ^"%s<%d><%s><>^"",
    name,get_user_userid(id),authid, name2,get_user_userid(player),authid2 )
    
  switch (get_cvar_num("amx_show_activity")) {
    case 2: client_print(0,print_chat,"%L",LANG_PLAYER,"ADMIN_SLAY_2",name,name2)
    case 1: client_print(0,print_chat,"%L",LANG_PLAYER,"ADMIN_SLAY_1",name2)
  }   
    
  console_print(id,"[AMXX] %L",id,"CLIENT_SLAYED",name2)
  return PLUGIN_HANDLED
}




Codul aranjat:


Cod:

public cmdSlay( id, level, cid ) {

  if ( !cmd_access( id, level, cid, 2 ) )
    return PLUGIN_HANDLED;

  new szArg[32];
  read_argv( 1, szArg, 31 );

  // Get ID of player to be slayed

  new targetId = cmd_target( id, szArg, 5 );

  if ( !targetId )
    return PLUGIN_HANDLED;

  user_kill( targetId );

  // Grab admin/target names/authids

  new szAuthid[32], szName[32], szAuthid2[32], szName2[32];

  get_user_authid( id, szAuthid, 31 );
  get_user_name( id, szName, 31 );
  get_user_authid( targetId, szAuthid2, 31 );
  get_user_name( targetId, szName2, 31 );

  // Log command
 
  log_amx( "Cmd: ^"%s<%d><%s><>^" slay ^"%s<%d><%s><>^"", 
    szName, get_user_userid( id ), szAuthid, szName2, get_user_userid( targetId ), azAuthid2 );
    
  // Display slay to all other players

  switch ( get_cvar_num( "amx_show_activity" ) )
  {
    case 2: client_print( 0, print_chat, "%L", LANG_PLAYER, "ADMIN_SLAY_2", szName, szName2 );
    case 1: client_print( 0, print_chat, "%L", LANG_PLAYER, "ADMIN_SLAY_1", szName2 );
  }   

  // Confirm slay to admin
    
  console_print( id, "[AMXX] %L", id, "CLIENT_SLAYED", szName2 );

  return PLUGIN_HANDLED;
}


Sper ca aceste informatii vau ajutat, mersi :D


Sursa: [Trebuie sa fiti inscris si conectat pentru a vedea acest link]

-------SIGNATURE OFFICIAL @ K.A-------

- Contacteaza-ma pentru orice problema legata de Forum / Server
- Nu imi trimite PM pentru a cere grade sau up NU voi raspunde
- Nu ma contacta pe mess sau e-mail Pentru a cere ceva Nu voi raspunde eventual IGNORE
- Tine minte , Secretul vietii nu este sa ai tot ceea ce iti doresti, ci sa-ti doresti tot ceea ce ai.
Sus In jos

[Tutorial] Aranjarea codurilor ( II )

Vezi subiectul anterior Vezi subiectul urmator Sus

Subiecte similare

-
t [Tutorial] Cum sa faci un sistem de logare/inregistrare!
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
Kill-AreNa :: » KILL-ARENA - COUNTER-STRIKE 1.6 :: Programarea CS-ului :: Scripting-
Social Media Buttons