Demo készítés Könnyen készíthetsz Demo-t a Quake 3-ban. Még program se
kell hozzá.
Írd be a konzolba: /g_synchronousClients 1
Ha ez megvan, akkor ezt írd be, hogy elkezd a Demo-t: /record
<demonév>
Például: /record ricsmo1
Így tudsz demot felvenni. Eleinte kicsit akad, de ha újrakezded vagy
vége a pályának, akkor egyáltalán nem fog szaggatni a játék, olyan
lesz, mint eddig volt. Az akadásokat, és a Tab (alapbeállítás)
lenyomást, illetve a konzol elővételét (alap 0) nem rögzíti a
demo.
A demot az a mod "Demos" könyvtárába menti, amin éppen
játszol (Freeze, Insta-Unlagged...stb.). Ha Singleplayerben csinálod a
demot, akkor a baseq3 mappába fogod megtalálni. Ez után konzolból a
"/demo <demónév>", vagy a menüből a
"DEMOS" menüpontot választva tudjuk lejátszani. Ezzel meg is volnánk, a demóból lejátszás közben a
"cl_avidemo <framerate>" parancssal tudjuk rögzíteni az
éppen zajló eseményeket. Ez a parancs a "screenshots" mappába
helyezi a kimentett képeket. A "framerate" nagysága határozza
meg, hogy hány képet mentsen másodpercenként. Ilyenkor nem
elhanyagolható a felbontás sem, hiszen 800x600-ban egy .tga kép mérete
~1.4 MB, tehát számítsunk rá, hogy a szabad hely igencsak megcsappan,
nemis beszélve arról,hogy nagy bitrate esetén megfelelő gép is
kell a lejátszáshoz.
Tehát van x darab tga file-unk, már csak annyi dolgunk van, hogy ezeket
összefűzzük egy avi-ba. Ezt könnyen megtehetjük, csupán csak egy
"pjbmp2avi"
nevű programra van szükségünk.
De ne szaladjunk ennyire előre a dolgokban. Érdemes a
megfelelő config beállításokat elvégezni, hogy ki is nézzen
valahogy a videónk, gondolok itt arra, hogy neméppen épületes látvány a
lagometer a videó jobb alsó sarkában.
Ide tartozó console commandok:
cg_draw2d
0|1
|
minden,
ami 2d (status, célkereszt,
|
|
írások(chat
nem), score...)
|
cl_noprint 0|1
|
chat/server üzenetek
tiltása ki/be
|
cg_draw3dicons 0|1
|
3d ikonok (statusbar)
ki/be
|
cg_drawfps 0|1
|
fps értékének kijelzése
ki/be
|
cg_drawtimer 0|1
|
idő kijelzése ki/be
|
cg_drawstatus 0|1
|
status (health,armor...)
ki/be
|
cg_drawcrosshair 0|1
|
célkereszt ki/be
|
cg_drawcrosshairnames 0|1
|
(identify target) nevek
ki/be
|
cg_drawattacker 0|1
|
támadónk kijelzése ki/be
|
cg_crosshairpulse 0|1
|
célkereszt
"animálás" ki/be
|
cg_crosshairhealth 0|1
|
célkereszt színváltása
health függvényében ki/be
|
cg_crosshairsize
""
|
célkereszt mérete (def:
24)
|
cg_drawammowarning 0|1
|
"low ammo"
üzenet tiltása
|
cg_drawrewards 0|1
|
excellent, impressive
stb... ikonok ki/be
|
ch_drawfollow 0|1
|
demo közbeni
"following xy" ki/be
|
cf_following
"?x?"
|
following" mérete
(pl. 16x16)
|
ch_fragmessage 0|1
|
frag üzenet ki/be
|
cf_fragMsg
"?x?"
|
frag üzenet mérete
|
cl_scores "?x?"
|
"score" mérete
|
cg_drawteamoverlay 0|1
|
táblázat csapatunkról
(TDM) ki/be
|
cl_teamoverlay
"?x?"
|
táblázat mérete
|
Ennyit az alapokról, nézzünk néhány
variációt, módosítást.
A jó és szép frag-eket megéri lassítani, lássuk, hogy hogyan:
Bind-oljuk be egy gombra, így egyszerűbb és gyorsabb a használata,
nem kell konzolba írogatni. Ügyeljünk arra, hogy a demó
visszajátszásakor a használható gombok nem egyeznek meg a játék közben
használhatókkal. Ezek a funkcióbillentyűk (F1-F12), valamint a
numerikus billentyűzet gombjai (end, home, 0-9,+ - * /) Mondjuk
bind-oljuk jelen esetben az "END"-re a 1/2x-es sebességet:
bind kp_end timescale 0.5
Lassítani már tudunk 1/2x -es sebességre egy gombbal, most nézzük meg
mivan, ha nem csak egy sebességre szeretnénk lassítani, hanem
folyamatosan egyre lassabban lejátszani, illetve gyorsítani
Használjuk mondjuk jelen esetben az "INSERT" és
"DEL" gombokat a lassításra és gyorsításra
bind kp_ins "vstr seis_speed-"
bind kp_del "vstr seis_speed+"
set seis_speed_0.0 "set timescale 0.0001; cl_freezedemo 1; set
seis_speed- vstr seis_speed_0.0; set seis_speed+ vstr
seis_speed_0.1;"
set seis_speed_0.1 "set timescale 0.1; cl_freezedemo 0; set
seis_speed- vstr seis_speed_0.0; set seis_speed+ vstr
seis_speed_0.2;"
set seis_speed_0.2 "set timescale 0.2; cl_freezedemo 0; set
seis_speed- vstr seis_speed_0.1; set seis_speed+ vstr
seis_speed_0.3;"
set seis_speed_0.3 "set timescale 0.3; cl_freezedemo 0; set
seis_speed- vstr seis_speed_0.2; set seis_speed+ vstr
seis_speed_0.4;"
set seis_speed_0.4 "set timescale 0.4; cl_freezedemo 0; set
seis_speed- vstr seis_speed_0.3; set seis_speed+ vstr
seis_speed_0.5;"
set seis_speed_0.5 "set timescale 0.5; cl_freezedemo 0; set
seis_speed- vstr seis_speed_0.4; set seis_speed+ vstr
seis_speed_0.6;"
set seis_speed_0.6 "set timescale 0.6; cl_freezedemo 0; set
seis_speed- vstr seis_speed_0.5; set seis_speed+ vstr
seis_speed_0.7;"
set seis_speed_0.7 "set timescale 0.7; cl_freezedemo 0; set
seis_speed- vstr seis_speed_0.6; set seis_speed+ vstr
seis_speed_0.8;"
set seis_speed_0.8 "set timescale 0.8; cl_freezedemo 0; set
seis_speed- vstr seis_speed_0.7; set seis_speed+ vstr
seis_speed_0.9;"
set seis_speed_0.9 "set timescale 0.9; cl_freezedemo 0; set
seis_speed- vstr seis_speed_0.8; set seis_speed+ vstr
seis_speed_1.0;"
set seis_speed_1.0 "set timescale 1.0; cl_freezedemo 0; set
seis_speed- vstr seis_speed_0.9; set seis_speed+ vstr
seis_speed_2.0;"
set seis_speed_2.0 "set timescale 2.0; cl_freezedemo 0; set
seis_speed- vstr seis_speed_1.0; set seis_speed+ vstr
seis_speed_4.0;"
Az értékek szabadon választhatók, ez csak egy példa.
Folytatásban nézzük meg, hogy tudunk spectate-elni a demóban. Sok géppel megoldható,hogy felvegyük az összes
játékost, plusz spectatorok veszik kívülről a meccset. De valljuk
meg, ez elég nehezen kivitelezhető dolog. A következő
részben, mindezt egy géppel oldjuk meg ezt a spectator-ös problémát.
Nézzük, hogy hogyan:
Mindehhez szükségünk lesz egy defrag 1.9 -re.
OSP és sima Q3 demónál nincs semmi teendőnk,
de CPMA-as demók esetében, kell egy kis változtatást eszközölni,
mégpedig: "df_demos_modsupport 1", enélkül visszadobja a
menübe, ezt a változtatást elvégezhetjük a DEFRAG DEMOS menüjében is,
alul a "ModSupport" beállításával. De egyszerűbb
készíteni egy config file-t, ami ezt és más beállításunkat tartalmazza
CPMA esetén. Amint ezzel megvolnánk, tudunk lejátszani sima, OSP és
CPMA-s demót is. Ami kell a spectate-eléshez: df_demos_cameramode 1 Valamint,hogy mozogni is tudjunk:
bind
UPARROW
|
"+forward"
|
bind
DOWNARROW
|
"+back"
|
bind
LEFTARROW
|
"+moveleft"
|
bind
RIGHTARROW
|
"+moveright"
|
bind INS
|
"+moveup"
|
bind
DEL
|
"+movedown"
|
Tudunk mozogni
demóban, a felvevés még mindig problémás, mivel az avidemo esetén eléggé
szaggatottan látjuk a dolgokat, valamint az egérrel való mozgást is
szaggatottan rögzíti.
Ezért felvesszük a kameramozgást, ahogy megyünk, és amit látunk és
rögzítjuk egy u.n. ghost file-ban.
df_ghosts_AutoMode 1 Felvettük a kameramozgást. Most következik a demó
újrajátszása, de előtte megmondjuk, hogy a ghost-ban rögzített
mozgással nézzük vissza és eközben mégha a lejátszás felvétel közben
szaggat is, az avi-ban nem fog.
df_demos_CameraMode 0 ; df_ghosts_AutoMode
2
df_ghost1_PlayCameraMode 14 ; cg_thirdPerson 1 Ha a
"cameramode" értéke 13, akkor úgy játsza le, ahogy felvettük
(ugyanarra nézünk, mint a ghost-file felvétele alatt), 14 esetén pedig
fókuszál a követtett játékosra, de így lemaradhatnak a képről
bizonyos dolgok. Ezért Én a 13-ast javaslom.
|