Administrator
Joined : 29/09/2011 Posts : 1228 CS Status : - Age : 28
| Subiect: [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 :DSursa: [Trebuie sa fiti inscris si conectat pentru a vedea acest link] |
|