hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.24. 06:49



Jelenlévő felhasználók

Jelenleg 149 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 148 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Majestic-12 [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Programozási (jó)tanácsok
HozzászólásElküldve: 2019.10.27. 00:01 
Offline
Beavatott
Avatar

Csatlakozott: 2008.09.15. 16:41
Hozzászólások: 76
Megköszönték neki: 6 alkalommal
Sokat gondolkodtam, hogy mi lehet a hiba pl egy zombi szerver összerakásakor. Sok embernél láttam, hogy fejetlenül csak összedobálják a plugineket és utána jönnek rá, hogy valami hiba van a szerveren, utána meg itt kérnek segítséget a fórumon, persze az ember, ha tud akkor segít de azért ez néha (információ hiányában) elég nehéz. Először is be kellene tartani bizonyos programozási alapszabályokat:
1. tervezés
2. kivitelezés (bővebben: saját magad írod meg/át a plugint)
3. ellenőrzés (log)
4. ellenőrzés
5. ellenőrzés
6. ellenőrzés
.
.
.

A tervezés a legegyszerűbb dolog. Egy példa (részlet) zombi szerverre:
► Spoiler mutatása


(nem annyira kidolgozott még, meg lehet hogy csak én értem jelenleg, de attól még ez egy terv)

Kivitelezésnél sokat segít, ha a letöltött és a saját magad által írt pluginokat is egyforma koncepcióra húzod rá. Gondolok itt például a roundstart eventre, amire sokféleképpen tudnak hivatkozni megírt kódokban:
► Spoiler mutatása

tehát itt is válassz egyet és következetesen az összes pluginban írd át.
Az összes kódban érdemes valamilyen sorrendiséget megtartani a funkcióknál (nagyjából ebben a sorrendben futnak le az alábbi tételek):
[spoil]
//ezek itt a szerverre vonatkoznak:
public plugin_precache()
public plugin_init()
public plugin_cfg()
public plugin_natives()


//játékosra vonatkozó funkciók:
public client_connect(id)
public client_authorized(id)
public client_putinserver()
public client_disconnected(id)

//mapra vonatkozó funkciók:
public event_round_start()
public event_round_end()
[spoil]

Harmadik lépésben pedig, minden pluginba érdemes tenniolyan funkciót ami a hibát logolja (még ha csak "kapcsolható" is) és mikor elindítod a szervert a kész pluginekkel akkor sűrűn olvasgasd a log fileokat, sok minden kiderül belőlük.

Röviden ennyi lenne, hogy mire kellene figyelni ha nekiállsz amxx alá kódolni. Ezek nem kőbe vésett törvények, de (főleg ha kezdő vagy benne) akkor érdemes betartani, mert az átláthatóságát a kódodnak nagyban elősegíti saját magad számára is (főleg hibakeresésnél...).

_________________
Kép

Ők köszönték meg Balage74 nek ezt a hozzászólást: Krisznitro (2019.10.27. 09:25)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 5 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole