JuggerNaut b0.1
Re: JuggerNaut b0.1
Tegul dabar Arnas tikrina xD
Re: JuggerNaut b0.1
Nu gerai laukiam jo ![Laimingas :D](./images/smilies/D.gif)
![Laimingas :D](./images/smilies/D.gif)
- aaarnas
- Vyr. diskusijų administratorius
- Posts: 3891
- Joined: 2010 Aug 31 13:21
- Skype: fiarno
- Contact:
Re: JuggerNaut b0.1
Tai juk ne ką daugiau pasakysiu už newb
Ne veltui pluginų patvirtintojas jis.
Jei labai mėgsti visur dėti semicolon (;), tai gali apsirašyti tokį parametrą:
ir kompiliuodamas pastebėsi, kad 62 eilutėje, nėra ;. Šitas parametras liepia kompiliatoriui kiekvienoje eilutėje aptikti kabliataškį. Bet čia smulkmena.
Dabar Ham_Damage forwarde, reiktų grąžinti HAM_OVERRIDE, o ne HAM_HANDLED, nes:
Dar tame pačiame forwarde netikrini ar attacker yra žaidėjas. Jei tai bus kažkoks pasaulio elementas, tai gaus index out of bounds klaidą.
Turėtų būti taip:--->>
maxplayers tai apsirašyk globalų kintamąjį ir nustatyk get_maxplayers() reikšmę jam plugin_init() forwarde.
Dabar event_deathmsg forwade, jei gerai pamenu, tai DeathMsg neiškviečiamas, kai žaidėjas užsimuša ar nusižudo (kad ir kill konsolėje). Šiuo atveju reiktų naudoti Ham_Killed forwardą. Bet sakau, reikia patikrinti, nes dėl šito galiu ir meluoti.
Nežinau ar čia taip ir norėjai padaryti, bet:
Dabar toks dalykas. Jei ne jugernautas nužudys jugernautą, tai jugernautas nepraras savo taškų, nes bus iškviečiama pirma sąlygą, o į kitas nebekreipiama dėmesio. Tai šiuo atveju tas sąlygas reiktų atskirti. Bet tada išpuola dar viena įdomybė. Jei patiktinam, kad žaidėjas (victim) yra jugernautas, tai logiškai mąstant, kitas atvejis jau savaime suprantamas, kad jis bus ne jugernautas, tai kam papildomai tikrinti?
(Už tokį bajerį mano informatikos dėstytojas užrašė tokį kodą ant lentos ir išsityčiojo ;D).
Toliau. Jei kabinėsimės prie stilistikos, tai check_kills funkcija nėra amx forwardas, tai kam ten grąžinti reikšmes PLUGIN..? Ten iš viso nereikia jų grąžinti. Galima tiesiog palikti return jei reikia sustabdyti funkciją.
become_juggernaut. Taigi jau check_kills patiktinai ar žaidėjas gyvas, tai kam tikrinti vėl?
Beje su return galioja tas pats.
125 eilutės, o tiek klaidų![Laimingas :D](./images/smilies/D.gif)
![Laimingas :D](./images/smilies/D.gif)
Jei labai mėgsti visur dėti semicolon (;), tai gali apsirašyti tokį parametrą:
Code: Select all
#pragma semicolon 1
Dabar Ham_Damage forwarde, reiktų grąžinti HAM_OVERRIDE, o ne HAM_HANDLED, nes:
Code: Select all
#define HAM_IGNORED 1 /**< Calls target function, returns normal value */#define HAM_HANDLED 2 /**< Tells the module you did something, still calls target function and returns normal value */#define HAM_OVERRIDE 3 /**< Still calls the target function, but returns whatever is set with SetHamReturn*() */#define HAM_SUPERCEDE 4 /**< Block the target call, and use your return value (if applicable) (Set with SetHamReturn*()) */
Turėtų būti taip:
Code: Select all
if ( juggernaut[ attacker ] ) {
Code: Select all
if ( 1<=attacker<=maxplayers && juggernaut[ attacker ] ) {
Dabar event_deathmsg forwade, jei gerai pamenu, tai DeathMsg neiškviečiamas, kai žaidėjas užsimuša ar nusižudo (kad ir kill konsolėje). Šiuo atveju reiktų naudoti Ham_Killed forwardą. Bet sakau, reikia patikrinti, nes dėl šito galiu ir meluoti.
Nežinau ar čia taip ir norėjai padaryti, bet:
Code: Select all
if( !juggernaut[ g_attacker ] ) { kills_areto_juggernaut[ g_attacker ]++; check_kills( g_attacker ) } else if ( juggernaut[ g_victim ] ) { juggernaut[ g_victim ] = false; kills_areto_juggernaut[ g_victim ] = 0; } else if(!juggernaut[ g_victim ] ) { kills_areto_juggernaut[ g_victim ] = 0; }
(Už tokį bajerį mano informatikos dėstytojas užrašė tokį kodą ant lentos ir išsityčiojo ;D).
Toliau. Jei kabinėsimės prie stilistikos, tai check_kills funkcija nėra amx forwardas, tai kam ten grąžinti reikšmes PLUGIN..? Ten iš viso nereikia jų grąžinti. Galima tiesiog palikti return jei reikia sustabdyti funkciją.
become_juggernaut. Taigi jau check_kills patiktinai ar žaidėjas gyvas, tai kam tikrinti vėl?
Beje su return galioja tas pats.
125 eilutės, o tiek klaidų
![Laimingas :D](./images/smilies/D.gif)
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Re: JuggerNaut b0.1
DeathMsg iskveciamas ir per kill ir per suicide ir per slay. Logiskai mastant, tai gi cia tas msg, kad kazkas mirsta, tai ir eventas turi buti iskveciamas, gal per koki user_silentkill tik nebus.aaarnas wrote:Dabar event_deathmsg forwade, jei gerai pamenu, tai DeathMsg neiškviečiamas, kai žaidėjas užsimuša ar nusižudo (kad ir kill konsolėje). Šiuo atveju reiktų naudoti Ham_Killed forwardą. Bet sakau, reikia patikrinti, nes dėl šito galiu ir meluoti.
- psychical
- Viršininkas
- Posts: 2094
- Joined: 2011 Mar 12 22:19
- Skype: tautvydas11
- Location: Linksmakalnis
- Contact:
Re: JuggerNaut b0.1
Arnai,
vienas pastebėjimas Ham_Killed nežinau, buginas ar kas jam darosi, tačiau jis nevisa sureaguoja į slay arba užsimušimą nukritus.
vienas pastebėjimas Ham_Killed nežinau, buginas ar kas jam darosi, tačiau jis nevisa sureaguoja į slay arba užsimušimą nukritus.
Who is online
Users browsing this forum: No registered users and 10 guests