O sa va explic pe larg forwardurile de baza cu care lucram cel mai des.
1.plugin_precache
Este primul forward care se executa cand mapa se schimba, serverul porneste/primeste restart. Se foloseste pentru a pregati resursele ce urmeaza sa fie folosite: modele,sprite,sunete. Cu toate ca modulul fakemeta ne permite alternative la functiile de precache default din amxmodx, nu le recomand.
Nativele cu care lucram:
precache_model //modele si spriteuri precache_generic //sunetele mp3/altele precache_sound //suntele wav
La precache este mult de vorbit, el are anumite restrictii, multe chestii care ii incurca pe incepatori.
1.a) precache_model
1.1 Modele pentru arme. Majoritatea armelor au 3 modele v,p,w. v este modelul pe care il vedeti cand tineti arma in mana. p este modelul pe care il vad ceilalti cand se uita la voi. w este modelul armei care este pe jos.
new const ModelV [ ] = "models/v_arma.mdl; new const ModelP [ ] = "models/p_arma.mdl; new const ModelW [ ] = "models/w_arma.mdl; public plugin_precache( ) { precache_model(ModelV); precache_model(ModelP); precache_model(ModelW); }
Nota: folosirea ; la final de linie nu este obligatorie. Este necesara doar in cazul in care #pragma semicolon este folosit. Nu este necesar ca toate armele sa aiba toate cele 3 modele.
- Se poate si fara creearea unor constante noi,putem pune direct locatia in precache_model,dar este o practica buna sa faceti asa.
- Mult mai usor de editat.
- Intre [ ] se pune lungimea stringului dintre "",insa nu este necesar. Compilerul isi da si singur seama.
- new const declara o constanta noua. Puteati face simplu new ModelV [ ], dar folosind constantele este mai optimizat.
1.2 Modelul unui player. Este doar un singur fisier, care trebuie sa se afle in models/player/nume_model/nume_model.mdl
Modul I ) precache_model("models/player/test/test.mdl") //Ambele moduri sunt echivalente. Recomand modul II new const MOLDE_PLAYER [ ] = "models/player/test/test.mdl" Modul II ) precache_model(MODEL_PLAYER)
1.b ) precache_sound & precache generic
1.1) precache_sound
Csul foloseste sunete in format wav,deci precache_sound suporta doar suntele in acest format. Ele trebuie sa fie scrise in precache fara /sound in path.
new const SOUND [ ] = "sunet.wav" //locatia este sound/sunet.wav precache_sound( SOUND )
1.2)precache_generic
Se foloseste cel mai des pentru sunetele de tipul mp3. Ele trebuie folosite cu tot cu /sound in path.
new const SOUND [ ] = "sound/sunet.mp3" precache_generic( SOUND )
1.c) precache_model pentru spriteuri
new const SPRITE[ ] = "sprites/test.spr" precache_model( SPRITE )
2.plugin_init
Este al doilea forward care se executa,dupa plugin_precache. Tot ce se poate inregistra in init se poate si in precache. Se foloseste pentru comenzi, cvaruri, eventuri, forwarduri. Nu insisit prea mult,am mai vorbit despre el.
3. plugin_cfg
Se foloseste pentru a altera cvaruri, este forwardul de configurare al pluginului, de obicei in el se creeaza fisiere etc. Este chemat dupa init.
4. plugin_end
Este ultimul forward care se executa, in momentul cand mapa se schimba/se da restart si plugin isi "termina activitatea".
Exista si plugin_natives,dar despre native trebuie sa fac un tutorial separat.
Edited by Artick ;, 29 July 2014 - 09:59 AM.