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 & Metode de programare

Vezi subiectul anterior Vezi subiectul urmator In jos
AutorMesaj
FloRyN.
Administrator
FloRyN.

Joined : 29/09/2011
Posts : 1228
CS Status : -
Age : 27
[Tutorial] Aranjarea codurilor & Metode de programare Empty
MesajSubiect: [Tutorial] Aranjarea codurilor & Metode de programare [Tutorial] Aranjarea codurilor & Metode de programare Icon_minitimeDum Ian 03, 2016 2:19 am

Inainte sa incep as vrea sa va zic ca acest articol este pentru oricine cu orice nivel in pawn.

Acest articol este despre cel mai efficient mod despre programare si aranjarea codurilor.

sa incepem:

Comentariile:

Cel mai bun loc de a crea comentarii este bineinteles la inceputul pluginului, unde vei expica ce face pluginul, mai posta posta si cvaruri, comenzi, informatii , url official, comenzi chat, etc.
exemplu:
Cod:

/*

Copyleft 2008
Plugin thread: http://forums.alliedmods.net/showthread.php?p=633284

DUEL MOD
========

Description
This mod is designed to allow dueling, where players challenge each 
other and engage in battle. It is designed for the mod "The Specialists", 
but can be used on other mods.

Commands
say /duel - Will challenge the player being looked at to a duel.
say /accept - Will accept a challenge. Note that you can also use /duel, 
but you must be looking at the person who challenged you. With /accept, 
the last person to challenge you will be accepted.
say /punchingbag - Turns the player into a punching bag 
(requires amx_duel_punchingbag to be set to 1).

Credits
Havoc9 Community - Testing help (specifically SaderBiscut and Jimmy Striker).
Lord_Destros - Testing help.
Steely - Testing help.
sawyer - Testing help.
Frost - Testing help.
coderiz - New semiclip method.
Charming - Encouragement.

Changelog:

    Jun 1, 2008 - v1.0 -    Initial release
    Jun 2, 2008 - v1.1 -    [FIXED] Some repeated variables
                [FIXED] Message printing incorrectly
                [FIXED] Duel off not working properly
                [ADDED] Punching bag mode
                [ADDED] True semiclip
                [ADDED] Attack blocking between 
                duelists <-> players
                [ADDED] God mode to normal players
    Jun 4, 2008 - v1.2 -    [ADDED] Deny command
                [ADDED] Pair command
                [ADDED] Name parameter to /duel command
                [ADDED] Glow cvar
                [FIXED] Messages printing incorrectly
    
*/  

Asta arata ca acest plugin e foarte bun pentru ca arata urmatoarele lucruri:

  • Explica ce face pluginul ( Description )
  • O lista cu cvar-uri
  • Spune despre ce joc este ( modul : hns/dr, ESF , etc )
  • Poti pune aici si credite, changelog-ul, comenzile in chat


Nu este neaparat sa puneti si copy left, dar in fine .. uneori e potrivit.


Define-uri

Sa vorbim despre #define.
Vas ruga cand creati un define sa fie asa:
Cod:
#define THE_LIMIT 10  
in loc de :
Cod:
#define the_limit 10  

Doar cand vreti sa creati o functie nou , atunci o puteti crea cu litere mic, exemplu:
Cod:
#define MyNewIsUserAlive(%1) is_user_alive( %1 )  

Aranajrea codurilor, Tab si Space
Cand intrati in notepad si apasati "TAB" va lasa mult spatiu , aceasta este cea mai recomandata metoda, in loc sa apasai SPACE de 4 ori mai bine apasati TAB odata, toata lumea foloseste TAB, e cea mai recomanda metoda.

Despre spatiile libere, cand folositi/faceti o functie vas ruga sa lasati loc intre id, primul parametru, al doilea parametru, etc

exemplu
in loc de :
Cod:
client_cmd(id,"quit")
vas ruga sa fie asa:
Cod:
client_cmd( id, "quit" )

Daca ati putea sai mai adaugati si ";" la sfarsit ar fi perfect:
Cod:
client_cmd( id, "quit" );

Variabile
Cand faceti variabiile aici trebuie sa aveti grija pentru ca variabillele sunt definite asa cum sunt create ( de exemplu cand faceti o variabila cu toate literele mici , cand o folositi trebuie sa o scrieti cu toate literele mici )
exemplu:
Cod:
new VariabilaMea
new variabilaMea
new vARiAbilaMea
Tocmai am creat 3 variabile diferite dar care au acelasi nume.

Variabile globale
Aici este foarte important multa lume este foarte confuza despre ce face o variabila cand se uita in pluginul vostru si o poate sterge, in fine nu doar acesta este motivul cel mai indicat e sa numiti o variabila dupa urmatoarele cerinte:

cand faceti o variabila globala prefixul numelui trebuie sa fie cu "g" sau _g, exemplu:
Cod:
new g_MyVariabile
new gMyVariabile

Alegeti una dintre aceste 2 metoda amandoua sunt bune.
lista prefixuri variabile globale:

  • g sau _g [ adica global ( amandoua sunt perfect, o prefer pe a 2 eu. )
  • p sau _p [ adica Puncte ] ( o prefer pe a 2 a )
  • i - Integer ( adica Numere )
  • f sau fl sau f_,fl_ [ floats ]
  • sz sau sz_ - String
  • b sau b_- boolean
  • h - handles
  • v sau v_ - Vector
  • fn sau fn_ - functie


Sunt mult mai multe tag-uri, eu leam scris doar pe cele care le stiam.

Cateva variabile care sunt facute bine:
Cod:

// a global cell
new g_iKills

// a global float
new Float:g_flSpeed

// a bool
new bool:bFlag

// a function
public fnEventResetHUD()

// a pointer
new g_pCvar 

Return-uri

return PLUGIN_CONTINUE este la fel ca return 0;
return PLUGIN_HANDLED este la fel ca return 1;

dar eu as prefera sa le folosit pe astea:
Cod:
return PLUGIN_CONTINUE; 
return PLUGIN_HANDLED;

Alte Linkuri
O lista cu niste linkuri folositoare pentru incepator:

[Trebuie sa fiti inscris si conectat pentru a vedea acest link]
Curand....

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

[Tutorial] Aranjarea codurilor & Metode de programare

Vezi subiectul anterior Vezi subiectul urmator Sus

Subiecte similare

-
t [Tutorial] Aranjarea codurilor ( II )
t 10 metode de a scapa de lag
t Tutorial 47+48
t Tutorial HldsUpdateTool New
t Tutorial HldsUpdateTool New
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