Home
EX-IT nuotraukos
Nariai
Demos
DOWNLOADS
OSP Tourney 2.5 info
Q2ACE info
NoCHEAT info
3zb2 info
Q2pro info
Shortkutai
Svečių knyga

 

[TkQ] a31666 - E-mail.: a31666@myrealbox.com

Mob: +370 688 31666
+370 621 93100 (ezys)
+370 681 93443 (bite)

 [TkQ] NOX - Email.: quakez@bamba.lt

Mob: +370 674 26344

 [TkQ] Salerka - E-mail.:

Mob: +370 650 66838

 

 

===================================================
Q2PRO - Quake2 Engine Modification
Copyright (c) 2003-2004 Andrey '[SkulleR]' Nazarov
mailto:skuller-vidnoe@narod.ru
http://forum.quake2.com.ru/viewforum.php?f=6

Version 0.12
10 Vasaris 2004
===================================================


Vertime naudojami terminai: 
klientas - client (Q2, kuris naudojamas žaidžiant tinkle prisijungimui prie serverio, žodžiu, jei žaidžiate internete arba vietiniam tinkle nepaleidę serverio savo kompiuteryje - vadinasi naudojate klientą)


---------------------------
Įspėjimas
---------------------------
Tai beta Q2PRO leidimas, kai kurios galimybės yra ne visai pabaigtos ir/arba su klaidomis (gali būti bugų).
Autorius neprisiima jokios atsakomybės dėl galimos šios programos žalos.
Naudodami ją, jei sutinkate rizikuoti.


---------------------------
Apibūdinimas
--------------------------- 
Q2PRO yra Quake2 kliento/serverio modifikacija, tuo pačiu suderinama su VQ2 klientu/serveriu.
Jame integruotas (tik serverio Multi View Demo) recorder'is ir pagerintas klientų (clientside) demo plejeris.

Q2PRO gali būti naudojamas kaip pilnai-pajėgus Quake2 klientas.
Jame daug naudingų klientų pusės žaidimo pagerinimų.
Dabar autorius dirba su išorinio saugumo moduliu, taigi Q2PRO galės būti naudojamas kaip anticheat klientas
- tai pagrindinė kryptis, numatoma kuriant ir tobulinant Q2PRO.

Ateityje planuojama pridėti demo redagavimo galimybes - prasukti demo atgal, perfilmuoti (recamming ir tt.
Taip pat planuojama sukurti automatinę serverio pusės įrašinėjimo sistemą, kuri leistų klientams parsisiųsti 
MVD tiesiai iš serverio suspaustu formatu.

Kol kas sukurtas tik win32 portas. Autorius pats vienas negali padaryti portų kitoms OS (atsiprašo).


---------------------------
Naujos galimybės
--------------------------- 
- serverio/klientų demo įrašinėjimas tiesiai į gzip archyvus
- klientų pusės demo žiūrėjimas (*.dm2 ir *.mvd2):
- kelių vaizdų režimas (iki 4 langų vienu metu)
- laisvas observerio režimas (PVS-clamped in *.dm2 demos)
- tobulas žiūrėjimo greičio keitimas
- patobulinta kliento konsolė
- FPS rodymas ekrane
- taikinyje esančio identifikacija
- maksimalus config'o dydis padidintas iki 64Kb
- WinSock klaidos nebe reikšmingos
- cl_maxpackets keitimo galimybė modemo naudotojams :)
- m_xpfix, kaip q3 m_accel
- pingo dirbtinis sukūrimas loopback serveryje
- NC-suderintas *.loc failų palaikymas
- chat HUD
- žaidimas trečio asmens režimu
- pagerinta skriptų sistema:
- macros
- žinučių triggeriai (!)
- sąlyginis komandų vykdymas
- naujas railgun'o efektas
- kai kurie svarbūs saugumo klaidų pataisymai
- 32-bit tekstūrų palaikymas, hardware gamma palaikymas (galimas su vid_ref q2pro)
- ir daug kitko!


---------------------------
Nauji cvars
--------------------------- 
cl_demoTimeScale <0 - 1000> (default = 1 - normalus greitis)
Nurodo demkių žiūrėjimo greitį. 0 - stop, 2 - dvigubai greičiau, ir t.t.

cl_demoLocalFOV <0|1> (default = 1 - JŪSŲ fov naudojimas)
Nurodo, koks fov yra naudojamas žiūrint demkes,
ar iš jūsų konfigo, ar toks, koks žaidėjo nustatymuose.

cl_demoMoveSpeed (default = 1 - normalus greitis)
Judėjimo greitis kai žiūrima demkė laisvai joje judant.
0.5 pusė greičio, 2 dvigubai greičiau, ir t.t.

cl_maxpackets <0|15-999> (default = 0 - max packets ribojimas išjungtas)
Nurodo maksimalų paketų skaičių, kurie siunčiami į serverį per sekundę.
Žiųrėti "Apie cl_maxpackets" skiltį dėl smulkesnės informacijos.

scr_drawCrosshairNames <0|1> (default - 1)
Įjungia/išjungia visų 2D elementų piešimą ekrane.

scr_drawCrosshairNames** <0-5> (default = 0 - rodymas išjungtas)
Nustato laiką sekundėmis, kurio metu ekrane rodomas žaidėjo vardas (ant kurio nustatytas taikinys).

scr_drawFPS** <0|1> (default = 0)
Įjungia/išjungia FPS rodymą.

scr_drawClock** <0|1|2> (default = 0)
Įjungia/išjungia laikrodžio rodymą.
0 - išjungtas
1 - 24-valandų režimas
2 - 12-valandų režimas

scr_drawLagometer <0|1|2|3> (default = 0)
Įjungia pingo rodymo grafiką ekrano dešiniajame apatiniame kampe.
0 - lagometras išjungtas
1 - tik grafikas piešiamas
2 - rašoma pingo reikšmė
3 - upload (viršutinė linija) download (apatinė linija) reikšmės yra piešiamos, KB/s

scr_drawChatLines <0-15> (default = 0 - chato HUD išjungtas)
Aprašo, kiek chato eilučių piešti ekrane.

scr_drawChatTime (default = 0 - žinutės būna visąlaik)
Nustato laiką sekundėmis, kiek chato eilutė bus ekrane. Jei nustatyta 0, tai žinutės bus visąlaik.

scr_drawChatX <0-640> (default = 0)
scr_drawChatY <0-480> (default = 420)
Kairiojo apatinio chat HUD'o (displėjaus) koordinatės. Jie nustatomi pagal 640x480
rezoliuciją, nepriklausomai nuo jūsų įjungtos rezoliucijos.

scr_drawDemo <0|1> (default = 1)
Rodo žaidėjo vardą žiūrint demkę.

scr_draw2D <0|1> (default = 1)
Įjungia/išjungia visų 2D elementų piešimą žaidžiant. Naudingas darant levelshotus, ir pan.

con_compSort <0|1> (default = 0 - rodomas patikimas komandų sąrašas)
Keičia komandų rodymo sąrašą paspaudus TAB (automatinis komandų užbaigimas)
0 - paprastas, rūšiuojamas pagal alfabetą sąrašas
1 - sąrašas, rodomas grupėmis (komandos, cvar's, aliasai)

con_clock <0|1> (default = 1 - laikrodis rodomas)
Įjungia/išjungia konsolėje rodomą laikrodį.

con_height <0-1> (default = 0.5 - pusė ekrano)
Nustato maksimalų konsolės aukštį, ekrano aukščio procentais.

con_chat <0|1> (default = 0 - slešas (/) nereikalingas)
Jei nustatyta 1, tai tik tekstas parašytas konsolėje, prieš kurį yra slešo simbolis, yra skaitomas kaip komanda.

clientport <number> (default = 27901)
Nustato kliento IP portą. Po to 'net_restart' reikalingas, kad galiotų pakeitimas.

mvd_autoRecord <0|1> (default = 0)
Įjungia automatinį mapo MVD įrašinėjimą serveryje.

map_loadEntities <0|1> (default = 0 - nebandyti nuskaitinėti (load) *.map failų)
Jei 1, serveris ieško '*.map' failų 'maps' direktorijoje. Jei randa, map'o būsenos (entity)
eilutė bus nuskaitoma iš šio failo.
SVARBU: tame faile turėtų būti TIK entity lump, be jokių brush nustatymų!

net_lag <0-300> (default = 0 - lagas išjungtas)
Tik loopback prisijungime. Leidžia sukurti pingą dirbtinai vietiniame serveryje.
Ši reikšmė nurodo užtrukimą ABIEM kryptimis, todėl tikras pingas bus net_lag*2

m_xpfix <0|1> (default = 0 - akseleracijos parametrai paliekami kokie yra)
Išjungia Windows pelės akseleraciją. Dažniausiai naudojamas dėl WinXP, bet gali būti panaudotas
ir su kitomis Windows versijomis.

m_accel <0-1> (default = 0 - akseleracijos nėra)
Nurodo pelės akseleracijos parametrus. Elgsena panaši kaip Quake3.

loc_trace <0|1> (default = 0 - sekimas išjungtas)
Įjungia vietos (location) rodiklių (marker) sekimą. Ši reikšmė naudoja CPU resursus, 
bet smarkiai palengvina *.loc failų kūrimo procesą.

loc_dist <distance> (default = 500)
Maksimalus atstumas nuo vietos rodiklio, kai jis dar bus panaudotas.
Naudojamas greičio optimizacijai, jei loc_trace yra 1.

loc_draw <0|1> (default = 0 - rodikliai nepiešiami (markers))
Įjungia matomus vietos rodiklius (visual location markers).

cl_thirdPerson <0|1> (default = 0)
Įjungiamas trečio asmens žiūrėjimo režimas (cheat-apsaugotas), naudojamas žiūrint demkes.

cl_thirdPersonAngle <0-360> (default = 0)
Žiūrėjimo horizontalus kampas.

cl_thirdPersonRange <dist> (default = 60)
Žaidėjo atstumas iki kameros trečio asmens žiūrėjimo režime.

cl_railTrailColor <0-5> (default = 0 - naudojamas senas efektas)
Naujo railgun'o efekto spalva. Jei 0, naudojamas senasis railo efektas.

cl_railTrailWidth <2-10> (default = 2)
Naujo railo efekto storis.

cl_railTrailAlpha <0-1> (default = 0.3)
Naujo railo efekto permatomumas. Jei ši reikšmė neigiama, permatomumas palengva nyksta, 
pradedant nurodyta reikšme.

cl_railTrailTime <0.1-5.0> (default = 1.0)
Naujo railo efekto rodymo trukmė sekundėmis. Tinka ir naujam ir senam efektui.

cl_drawBBox <0|1> (default = 0)
Įjungia dėžę, kuria apibrėžiami žaidėjai (cheat-apsaugota).
Naudinga treniruojantis šaudyti iš reilo po vandeniu :)

cl_kickAngles <0|1> (default = 1 - atoveiksmio kampas ĮJUNGTAS)
Jei nustatytas 0, žaidėjų ekrano vaizdas liks stabilus net smarkiai šaudantis.

gl_coloredLightmaps <0-1> (default = 1 - lightmap rodomas pilnai spalvotas)
Frakcinė reikšmė, kuri nusako procentais RGB spalvas lightmap'e.
Jei 0, bus juodai baltas vaizdas (kaip software režime).
Kad įsigaliotų, reikia padaryti vid_restart.

gl_conTrans <0-1> (default = 1 - konsolė nepermatoma)
Nurodomas konsolės permatomumas.

vid_ignorehwgamma <0|1> (default = 1 - nenaudojama hardware gamma)
Įjungia hardware/software gamma naudojimą. NVidia vartotojams tai naudinga.
Šiam nustatymui reikia padaryti vid_restart.

vid_window <string> (default = "Q2Pro")
Nustato lango pavadinimą GL režime.



-------------------------------------------------------------- 
** - galimi papildomi teksto rašymo parametrai:
- *X - X-ašies koordinatė
- *Y - Y-ašies koordinatė
- *Flags - bitmask

Koordinatės nustatomos pagal 640x480 rezoliuciją, nepriklausomai nuo jūsų įjungtos rezoliucijos.
Papildomi parametrai nurodomi bitmask'ėmis:

DSF_LEFT 1 // tekstas lygiuojamas kairėje (default)
DSF_RIGHT 2 // lygiuojamas dešinėje 
DSF_BOTTOM 4 // lygiuojamas apačioje (default)
DSF_TOP 8 // lygiuojamas viršuje
DSF_CENTERX 16 // centruojamas pagal X-ašį
DSF_CENTERY 32 // centruojamas pagal Y-ašį
DSF_HIGHLIGHT 64 // piešiamas žalias tekstas
DSF_UNDERLINE 128 // piešiamas pabrauktas tekstas

Tekstas lygiuojamas pagal nurodytas koordinates.

Pavyzdžiui:
scr_drawCrosshairNames "0.5" // vardas rodomas pusė sekundės
scr_drawCrosshairNamesX "320" // 320 = 640 / 2, ekrano centre
scr_drawCrosshairNamesY "250" // piešiamas po taikiniu 
scr_drawCrosshairNamesFlags "16" // centruojamas pagal 320


SVARBU: cheat-apsaugoti kintamieji veikia tik vietiniame serveryje ir tik su 'cheats 1'.
Čia šių kintamųjų sąrašas:
-----------------------------------
timedemo
r_drawworld
cl_testlights
r_fullbright
r_drawflat
fixedtime
sw_draworder
gl_lightmap
gl_saturatelighting
gl_lockpvs
gl_clear
cl_drawBBox
cl_thirdPerson
cl_pitchspeed
cl_anglespeedkey


---------------------------
Makrokomandos
---------------------------
Q2PRO tekstą, kuris pradedamas simboliu '$' ir pabaigiamas tokiu pat simboliu '$' arba tuščiu tarpu (space) priima kaip makrokomandą.

Pavyzdžiui: say As gyvenu $cl_mapname prie $loc_here$, netoli nuo $loc_there

$cl_mapname - einamuoju momentu pas klientą užkrautas žemėlapis
$cl_server - serverio adresas, prie kurio klientas prisijungęs
$cl_demo - 1 jei demkė įrašinėjama, 2 jei žiūrima, 0 jei daroma kitkas
$loc_here - jūsų esama vieta
$loc_there - vieta į kurią žiūrite
$com_time - laikas einamuoju momentu, Valandos.Minutės.Sekundės formatu 
$com_date - laikas einamuoju momentu, Metai.Mėnuo.Diena formatu


---------------------------
Naujos konsolinės komandos
--------------------------- 
net_restart
Atnaujina tinklo kintamuosius (cvars)

cvar_toggle <name> [reikšmė1 reikšmė2 ...]
Nustato dvejetainį kintamąjį (cvar), arba jei [reikšmė1 reikšmė2 ...] nurodyti, keičia į jas.

cvar_inc <name> [value]
Prideda [value] prie skaitinio kintamojo (cvar). Jei jokia [value] nenurodyta, pridedamas 1.
Neigiamos [values] yra taip pat galimos.

mvdrecord <filename> [-c] [-n]
Pradeda serverio pusės MVD įrašinėjimą.
"-c" - įjungia einamojo laiko *.gz kompresiją
"-n" - išjungia delta kompresiją (nerekomenduojama)

mvdstop
Sustabdo serverio pusės MVD įrašinėjimą.
Jei MVD ilgis trumpiau nei 1 sekundė, demkė ištrinama.

demo <filename>
Pradeda rodyti kliento pusės *.dm2 arba *.mvd2 demkę.

viewadd/viewremove
Prideda/nuima vaizdus MVD žiūrėjimo metu.

viewobserver
nuima visus vaizdus MVD žiūrėjimo metu ir pereina į observer režimą.

playernext/playerprev
Keičia žaidėjus aktyvuotame vaizde.

serverstatus [IP address]
Parodo nurodyto serverio informacinę eilutę.

trigger <command> <filter>
Sukuria naują žinutės trigerį. Kai žinutė, atitinkanti <filter> gaunama, vykdoma <command> komanda.

Žvaigždutės ir makrokomandos yra galimos <filter> viduje:
alias autorecord record $cl_mapname$-$com_date$-$com_time$
trigger autorecord "$name entered the game *"

Ta pati komanda <command> gali būti priklausoma nuo skirtingų <filters>:
trigger stop "timelimit hit*"
trigger stop "fraglimit hit*"

Kai kurie trigeriai įjungiami varikliuko viduje.
Tokių trigerių pavadinimai prasideda su '#'.
#cl_enterLevel - iššaukiamas, kai žemėlapio užsikrovimas pasibaigia
#cl_changeLevel - iššaukiamas prieš tai, kai prasideda naujo žemėlapio krovimąsis

if <a> <operatorius> <b> then <command1> [else <command2>]
Jei nurodyta sąlyga teisinga vykdoma <command1>, jei ne, <command2>.
Čia <a> ir <b> gali būti makrokomandos, rodančios skaitines reikšmes arba tekstines ailutes.

Galimi <operatoriai>:

op raidžių dydis svarbus reikšmė
------------------------------------------
== taip reikšmės/eilutės sutampa
!=, <> taip reikšmės/eilutės nesutampa
isin taip eilutė <b> turi savyje eilutę <a>
!isin taip eilutė <b> neturi savyje eilutės <a>
isini ne eilutė <b> turi savyje eilutę <a>
!isini ne eilutė <b> neturi savyje eilutės <a>
eq ne eilutės sutampa
ne ne eilutės nesutampa

Skaitinėms reikšmėms palyginti galima vartoti ir <, <=, >, >= operatorius.


clearchat
Nuvalo chato eilutes (chat HUD'e).

clearnotify
Nuvalo pranešimų eilutes ekrano viršuje.


---------------------------
Apie cl_maxpackets
---------------------------
VQ2 siunčia kliento judėjimo paketus į serverį su kiekvienu kliento freimu (frame).

Jei jūsų framerate aukštas (daugiau nei 100 fps), ir ryšys lėtas (modemas),
tada tinklas užkemšamas, ir atsiranda pastovus lagas. Todėl modemų sąvininkai
turėdavo lėtinti kompiuterio greitį mažindami fps su cl_maxfps cvar'u.

Q2PRO integruotas naujas kintamasis, cl_maxpackets. Jis nurodo maksimalų paketų skaičių,
kurie siunčiami serveriui per sekundę, todėl nebereikia mažinti fps (framerate).

Q2PRO naudoja nedidelį nulaužimą (hack) iš Fuzzquake2 mod'o, kur paketai generuojami kiekvienam freimui (frame),
bet kai kurie atmetami.

Paprastai dėl to atsiranda klaidos, tačiau jei atmetama ne daugiau kaip 3 paketai, viskas veikia puikiai.

Todėl nustatant reikia atsižvelgti į tai:
cl_maxpackets >= cl_maxfps / 3

Pavyzdžiui, aš naudoju 28.8k modemą su cl_maxpackets 30 ir cl_maxfps 90 nustatymu :)


---------------------------
Skripto pavyzdys - automatinis demkių įrašinėjimas:
---------------------------

// 'stop' atlikti tik tada, jei iš tikrųjų vyksta įrašinėjimas
alias demostop "if $cl_demo == 1 then stop"

// sustabdyti ankstesnį įrašinėjimą, ir įrašinėti kažką panašaus kaip '[SkulleR]-q2dm1-2003.12.03-23.37.19.dm2.gz'
alias autorecord "demostop ; record $name$-$cl_mapname$-$com_date$-$com_time -c"

// bindai rankiniam valdymui
bind INS autorecord
bind DEL demostop

// automatiškai įrašinėti tik tada, jei prisijungta prie išorinio serverio
alias netrecord "if $cl_server != localhost then autorecord"

// trigeriai, veikiantys su OSP Tourney
trigger netrecord "$name entered the game *"
trigger netrecord "All players ready... countdown starts!"

// Nemėgstu kai vienoje demkėje būna keli mapai, todėl stabdyti įrašinėjimą kai keičiasi žemėlapis taip:
trigger demostop #cl_changeLevel

---------------------------
Padėka
---------------------------
- m1kky, pasiūlymus ir testavimą
- Krendel, zloy, ir visiems Q2PRO forumo lankytojams už pasiūlymus
- rip.Savage, už forumo hostingą quake2.com.ru
- Fuzz, už cl_maxpackets idėją
- Fuh, kai kurias skripto idėjas, kurias radau jo QW varikliuke.


Q2PRO uses Zlib 1.2.1 Library, Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler,
and JPEG Library 6, Copyright (C) 1991-1998, Thomas G. Lane.




---------------------------------------------------
Q2PRO (C) 2003-2004 Andrey '[SkulleR]' Nazarov

Klaidų raportavimas, pasiūlymai laukiami:
http://forum.quake2.com.ru/viewforum.php?f=6
Kažkur nustatymuose galite įsijungti anglišką interfeisą ;)