(MAJDNEM) MINDEN, AMIT TUDNI SZERETTÉL VOLNA A SCRIPTEKRÕL CSAK NEM MERTED MEGKÉRDEZNI…


A szerzõ kijelenti, hogy az itt leírtakból eredõ semmilyen fajta kárért felelõséget nem vállal. Ha a scripted letörli a vinyód, felrobbantja a géped, meg***a a barátnõdet és tönkreteszi az életed, csak magadra vess ;).

SCRIPT-THE FILM

A legend on the screen reads:
Somewhere in Italy - 2000
FADE IN ON:

EXT. STREET. DAY.

A Terrorista ész nélkül szaladt a kihalt olasz kisváros szûk sikátorában, telve fiatalságának minden optimizmusával. A mûholdfelvételeken is jól látszódó kondenzcsík irányából az éppen pihizõ szellemek számára is egyértelmûvé vált, hogy a ct kezdõhelyet célozta be magának. A vasárnaponként oly zsúfolt piactéren most csak egy-két feketeseggû csirke kapirgálta a betont, akik figyelemre se méltatták az éppen arra száguldó fegyverest. A Terrorista bízott alig használt ak47-es gépkarabélyában és alapbeállításaiban, így akkor sem lassított, amikor neszezésre lett figyelmes. A következõ pillanatban egy CT fordult be a sarkon olyan sebeséggel, hogy majdnem összeütköztek. A CT gázmaszkjából artikulálatlan káromkodás szûrõdött ki: "...aww shhhitt...", míg a Terrorista egy beteg vigyort nyomott a símaszkja alatt, amikor meglátta, hogy ellenfele egy még ki sem biztosított gránátot szorongat a kezében. "eta horoso, megvan a hiányzó 300 az awpre"-futott át az agyán, miközben kényelmesen leguggolt, hogy a következõ pillanatban egy rövid sorozattal elintézze ellenfelét, aki még mindig bután szorongatta a gránátot és úgy rohant feléje, mintha azzal akarná leütni. Ám ekkor olyan dolog törpént, ami megváltoztatta a Terrorista életét és meggyõzte arról, hogy "scriptek nélkül is lehet, csak nem érdemes" harcolni. Ellenfele hanyagul ámde villámgyorsan átugrotta a Kalasnyikov 7,62mm-es lövedékeit, magát a hülyén tüzelõ Terroristát, megivott egy kávét és elszívott egy cigit, majd még földetérés elõtt tüzet nyitott a semmibõl elõkapott coltjával és szinte hátba lõtte a teljesen megzavarodott rosszfiút.
Így vesztek el egy ártatlan lélek illúziói és igy tanulta meg azt, hogy ha életben akar maradni, valami pluszra is szüksége van. Olyan beállításokra, amivel hatékonyabban tud alkotni: gyorsan fegyvert tud váltani, egy gombnyomással figyelmeztetni tudja társait a veszélyre, képes 1mp alatt bevásárolni a Tescoban és így tovább.

Bevezetõ
Rengeteg scriptkészítõ program található a net-en és talán felmerülhet egyesekben, hogy mi értelme a scriptek készítésével foglalkozni, ha megteszi ugyanezt egy elõregyártott program helyettünk. A válasz egyszerû: azértmertcsak. Bõvebben: legyen bármilyen felhasználóbarát módon megírva egy ilyen program, olyan szinte nincs, hogy ne kellene valamilyen módon belepiszkálni, hogy megfeleljen a mi igényünknek. Tehát ezeknek a programoknak a használatához nem árt némi tudás. Nem kell tökélyre vinni ezt a tudást és kilométer hosszú scripteket írni, elég ha tudjuk, hogyan írjunk át egy scriptet magunknak és a késõbbiekben ez alapján már magunktól is képesek leszünk egy pofás scriptet összehozni. Kísérletezni szabad, de persze felmerül a kérdés, hogy meddig nem minõsül csalásnak egy script. Ezt nem az én tisztem eldönteni, de annyit mondhatok, hogy az itt felsorolt scripteket rengetegen használják, és egyik se avatkozik bele radikálisan a játék menetébe, így nyugodtan használhatja mindenki. És attól sem kell tartani, hogy véletlenül egy "headshot script" kerül ki a kezünkbõl…

Mi is az a script?
A script nem más, mint alias-ok és bind-ek kombinációja. Az alias (ejtsd: éjliösz, parasztosan: aljas. Errõl eszembe jutott egy vicc: Bemegy egy krapek az étterembe és leadja a rendelést a pincérnek: Egy marhaszelet lesz parasztosan! Kisvártatva jön a pincér a sülttel: Nesze bazmeg! Gihi :) tulajdonképpen nem más mint egy általunk adott név, ami egy vagy több parancsra vonatkozik. Ha készítünk egy aliast azt a Half-Life úgy fogja kezelni mint egy normális parancsot a játékon belül. Ezáltal megoldható az, hogy több különbözõ parancsot aliasok segítségével egy gombnyomásra végrehajthassunk. Ugyanis a Half-Life (és CS) csak egyszerû parancsokat bocsájt rendelkezésünkre (pl. guggol-duck, lõ-attack stb.) de bonyolultabb utasítássort csak scriptek segítségével tudunk végrehajtani. Tegyük fel, hogy lõvés után egybõl késre akarunk váltani, ám nincs ilyen HL vagy CS parancs, hogy "lõjj és válts késre" de ott vannak a scriptek, amikkel ezek könnyen megoldhatók.
A bind pedig egy adott billentyûhöz (egérgombhoz stb.) rendel hozzá egy alias-t vagy akár csupán egy egyszerû parancsot. A felhasználható parancsokat külön listába rendezve megtalálhatod ITT, a bindelhetõ gombokat pedig ITT.

Egy egyszerû script a következõképpen épül fel:

alias név "parancs"
bind "gomb" "név"

A név az aliasunk neve lesz, lehetõleg legyen rövid az egyszerûség kedvéért. A parancs az aliasunk által használt parancsra vagy parancsokra vonatkozik, a gomb pedig arra a bindelhetõ gombra, amivel futtatjuk az aliast. Fontos! A parancsokat egymástól a ; (pontosvesszõ melyet egy szóköz követ) segítségével különítjük el és "-el nyitjuk ill. zárjuk õket egy aliason belül. Megjegyzést a // karakterekkel szúrhatunk be.

Az elsõ scriptünk
Lássunk egy példát! A feladat az, hogy az F1-et lenyomva üzenetet küldjünk a szerveren lévõ többi játékosnak. A név legyen uzenet, a parancsot kikeressük a parancsokat felsoroló listából (say), végül megnézzük a billentyûzetlistán, hogy az F1-es gombra mivel hivatkozhatunk - bármilyen meglepõ is, az F1-el, így az lesz a gomb. Ezeket behelyettesítve kész is az elsõ scriptünk.

//Elsõ script
alias uzenet "say Ide lojjetek…!"
bind "F1" "uzenet"

Mentsük el gyorsan a Notepad-on vagy bármely más szövegszerkesztõben, majd nyomás föl egy szerverre nyomkodni. Akárhányszor lenyomjuk az F1-et megjelenik a feliratunk és ez jó. Ha nem így gondolod, ne is olvasd tovább.

A script elmentése
Ez eddig mind szép és jó de van még egy fontos dolog amirõl szót kell ejteni. Mégpedig arról, hogy hogyan indítsuk el a scriptünket. Elõször is a scriptünket el kell mentenünk egy szövegfile-ba. Ehhez bármilyen szövegszerkesztõ megfelel, nézzük például a Notepad-ot. Írjuk (vagy másoljuk) a scripteket a Notepad-ba, majd a File/Save As -el mentsük el a …Half-life\cstrike könyvtárba (ha máshova mented a program nem fogja megtalálni). Namost névnek mármit adhatsz, még a kiterjesztést is elhagyhatod, de ha azt akarod, hogy automatikusan elinduljanak akkor névnek auotexec.cfg-t adj meg. Ha akarod megadhatsz más nevet is de azt a játékba belépéskor neked kell elindítanod a következõ módon: hozd elõ a konzolt és írd be az exec scriptneve parancsot, ahol a scriptneve az elmentett file neve (pl. exec pityuka.txt). Ennyit az alapokról most pedig mélyebben behatolunk aaa-khmm scriptek rejtelmeibe (azért nem túl mélyre).

Haladó(bb) scriptek
Haladó scripteknél ugyanaz a forma, mint eddig, az egyetlen különbség az, hogy több alias és bind van bennünk. Egyetlen gombhoz több aliast is rendelhetünk:

alias név1 "parancs1; parancs2; parancs3; …stb."
alias név 2 "parancs1; parancs2; parancs3; …stb."
bind "gomb" "név1; név2"

A haladó szintû scripteknek 4 fõ fajtáját különböztethetjük meg mûködésük szerint:
Kapcsoló-jellegû-de-nem-teljesen-olyan-csak-egy-kicsit script
Ciklikus script
Lenyomott/felengedett gombot figyelõ
Meta-bind script

Kapcsoló-jellegû-de-nem-teljesen-olyan-csak-egy-kicsit script
Ez a script végrehajt vagy megszüntet egy parancsot vagy beállítást egyetlen gombbal. Egyszer lenyomva végrehajtódik az elsõ parancs (általában be), újra lenyomva pedig a második (általában ki). Innen kapta a nevét is, mivel úgy viselkedik, mintha mondjuk a lámpát kapcsolgatnánk a militián (ki-be-ki-be-ki-be-ki-).

alias kapcsoloscript "bekapcs" //aktuális alias: bekapcs lesz
alias bekapcs "parancs; alias kapcsoloscript kikapcs" //aktuális alias: kikapcs lesz
alias kikapcs "parancs; alias kapcsoloscript bekapcs" //aktuális alias: bekapcs lesz
bind "gomb" "kapcsoloscript"

Az elsõ és utolsó sor egyértelmû. Elõször nevet adunk az aliasnak (elsõ sor) és ezt hozzábindeljük egy bilentyûhöz (utolsó sor). Ami új a középsõ két sorban az az, hogy miként adjuk meg, hogy a kapcsoloscript nevû aliasunk hol az egyik, hol a másik aliast hajtsa végre.

alias bekapcs "parancs; alias kapcsoloscript kikapcs"
alias kikapcs "parancs; alias kapcsoloscript bekapcs"

Ekképen, miután a bekapcs alias parancsai lefutottak, átadja az irányítást a kikapcs aliasnak, mely akkor fog lefutni, ha újabb gombnyomás történik. Így valósul meg a ki-be kapcsolgatás. Elsõre kicsit bonyolultnak tûnik, de ha az ember átgondolja, hamar rájön, hogy az egész tulajdonképpen egyszerû és logikus (csak én magyarázok hüjén :). Gyakorlatba átültetve a fenti példát jöjjön egy radart ki-be kapcsoló script:

alias radar "radarbekapcs"
alias radarbekapcs "drawradar; alias radar radarkikapcs"
alias radarkikapcs "hideradar; alias radar radarbekapcs"
bind "z" "radar"

Ciklikus script
A ciklikus script a kapcsoló-jellegû-de-nem-teljesen-olyan-csak-egy-kicsit scripthez nagyon hasonló elven mûködik, a fõ különbség az, hogy nemcsak kettõ, hanem többfajta "állása lehet a kapcsolónak". Ez azt jelenti, hogy a gombot egymásután lenyomva több különbözõ parancs kerül végrehajtásra, majd ha az utolsó is végrehajtódott kezdõdik az egész elõrõl, mintha egy hurkon haladnánk. A következõ script lehetõve teszi, hogy az x gombot nyomogatva átkapcsoljunk a net_graph parancs egyik változatából a másikba:

alias graph "graph1"
alias graph1 "net_graph 1; alias graph graph2"
alias graph2 "net_graph 2; alias graph graph3"
alias graph3 "net_graph 3; alias graph graph4"
alias graph4 "net_graph 0; alias graph graph1" //graph1-itt "zárul a hurok", a következõ x billentyûre a graph1 alias parancsai kerülnek ismét sorra
bind "x" "graph"

Lenyomott/felengedett gombra írt scriptek
Ezek a fajta scriptek végrehajtanak egy utasítást (vagy utasításokat), ha lenyomunk egy billentyût és egy másikat azután, ha felengedtük. Ezekben a scriptekben az aliasok + (lenyomva) és - (felengedve) jellel kezdõdnek, valamint egyes parancsok is aszerint hogy benyomott vagy felengedett állapotra utalnak (+jump, -jump). A bindet mindig a + jellel kezdõdõ aliashoz kell hozzárendelni. A script formája a következõ:

alias +név "parancs"
alias -név "parancs"
bind "gomb" "+név"

Ez alapján íme egy script ugrás-guggolásra:

alias +cjump "+jump; wait; +duck"
alias -cjump "-jump; wait; -duck"
bind "shift" "+cjump"

Mint látható a jump és a duck parancs elõtt van +/- mivel ezeknek két állapota van (+duck-ra leguggolunk, -duck-ra felállunk). A wait utasítást ezzel szemben nem lehet ki-be kapcsolgatni mivel ez a parancs sok más egyéb paranccsal egyetemben csak egyfajta dolgot csinál (jelen esetben 1 tick idõegységnyi ideig vár mielõtt bármi mást csinálna). A parancsokat felsoroló listában azok a parancsok, amelyeknek két állapota lehetséges a + jellel vannak felsorolva. Ezeknek a fajta scripteknek egyébként még van egy hatalmas elõnyük, de errõl még késõbb lesz szó. Feltéve, ha nem felejtem el.

Meta-bind script
Ezeknek a scripteknek a lényege az, hogy egy gombhoz többfajta parancsot is rendelhetünk azáltal, hogy egy másik gombbal együtt nyomjuk le. Pl. az "a" gomb lõ (tudom hüjén hangozhat, de hidd el minden király játékos így játszik pl. a FOP, a KO meg én is. Ja, és nem, mi NEM oldalazunk balra :) holistartottam?jaigenmegvan! de az "alt" gombot egyszerre lenyomva "a"-val újratölt stb. Így gyakorlatilag nem ütközhetünk olyan problémába, hogy elfogynak a billentyûk és nem lesz mihez bindelnünk. De aki ilyen gonddal küzd az egyrészt keressen más megoldást a problémájára mert ennek a mûködését most nem fogom itt elmagyarázni, másrészt keressen egy táposabb repülõszimulátort és ott élvezheti a százegynéhány gombban rejlõ varázst. Megjegyezném, hogy az elém került scriptek közül egyik sem használta ezt a "technikát", nem is tudom miért nem.

Z_Malloc Overflow Error
Ez egy hibaüzenet, amit akkor kapsz ha sok scripted van, ami nem fér el a memóriában. A megoldás, hogy lefoglalsz egy nagyobb területet a memóriában a scriptek részére (hl.exe -console -game cstrike -heapsize 64000 -zone 8096)

Válogatott scriptek

//UGRÁS-GUGGOLÁS SCRIPT
alias +cjump "+jump; wait; +duck"
alias -cjump "-jump; wait; -duck"
bind "space" "+cjump"
//

A következõ script lerakja a bombát, miközben a karakter leguggol, hogy kisebb célpontot nyújtson, valamint szól a csapatnak, hogy fedezzen:
//BOMBALERAKÓ SCIPT
alias +plant_c4 "weapon_c4; wait; wait; +attack; +duck; say_team Fedezz, lerakom a C4-et!"
alias -plant_c4 "-attack; -duck; lastinv"
bind "home" "+plant_c4"
//

Ez a script hatástalanítja a bombát, miközben szól a csapatnak fedezésért és rádióüzenet is küld, hogy a radaron is lássák a csapattársak hol vagy:
//BOMBASZÉTSZEDÕ SCRIPT
alias +defuse "+use; radio1; menuselect 1; say_team Fedezz, szetszedem a bombat!"
alias -defuse "-use; slot10"
bind "pgup" "+defuse"
//

Ez a script kombinálja az ugrást az "use" paranccsal, így elég a túsz közelében ugrani egyet és máris megszólítottad a nyomorultat:
//TÚSZMENTÉS UGRÁSSAL SCRIPT
alias +jumpres "+jump; wait; +use"
alias -jumpres "-jump; wait; -use"
bind "enter" "+jumpres"
//
Eme script tárat cserél a fegyverben, miközben társaid fedezésért esedezik közben (amire úgyse figyel senki :)
//ÚJRATÖLTÕ SCRIPT
alias +recov "+reload; wait; -reload; radio1; menuselect 1; say_team Fedezzetek, ujratoltok !"
alias -recov "slot10; wait; wait; slot10"
bind "r" "+recov"
//

Ez a script leguggol neked egy gombnyomásra és guggolva is marad amig újra le nem nyomod az x-et:
//GUGGOLÓ SCRIPT
alias duck_t "duck_on"
alias duck_on "alias duck_t duck_off; +duck; developer 1; echo Guggolas be; developer 0"
alias duck_off "alias duck_t duck_on; -duck; developer 1; echo Guggolas ki; developer 0"
bind "x" "duck_t"
//

Ugyanaz, mint az elõbb, csak lopakodással:
//LOPAKODÓ SCRIPT
alias walk_t "walk_on"
alias walk_on "alias walk_t walk_off; +speed; developer 1; echo Lopakodas be; developer 0"
alias walk_off "alias walk_t walk_on; -speed; developer 1; echo Lopakodas ki; developer 0"
bind "w" "walk_t"//
//

Az összes gránátot felvásárolja nekünk ez a script:
//GRÁNÁT SCRIPT
alias +allgren "flash; flash; hegren; smoke"
alias -allgren "slot10; wait; wait; wait; slot10"
alias flash "buyequip; menuselect 3"
alias hegren "buyequip; menuselect 4"
alias smoke "buyequip; menuselect 5"
bind "n" "+allgren"//

A következõ scripttel felszerelést vásárolhatunk egyetlen gombnyomással. Ugyanezt a scriptet könnyen átalakíthatjuk fegyvervásárlásra is.
//FELSZERELÉS-VÁSÁRLÓ SCRIPT
alias +armor "buyequip; menuselect 1" // páncél
alias -armor "mclr; mclr"
alias +helmet "buyequip; menuselect 2" // páncél és sisak
alias -helmet "mclr; mclr"
alias +flashb "buyequip; menuselect 3" // vakítógránát
alias -flashb "mclr; mclr"
alias +hegren "buyequip; menuselect 4" // petárda
alias -hegren "mclr; mclr"
alias +smoke "buyequip; menuselect 5" // ózonromboló füstgránát
alias -smoke "mclr; mclr"
alias +defuse "buyequip; menuselect 6" // defuse kit
alias -defuse "mclr; mclr"
alias +nvgs "buyequip; menuselect 7" // éjjellátó készülék
alias -nvgs "mclr; mclr"
alias mclr "slot10; w3; w3; slot10"
alias w3 "wait; wait; wait"
bind "q" "+armor"
bind "w" "+helmet"
bind "e" "+flashb"
bind "r" "+hegren"
bind "t" "+smoke"
bind "y" "+defuse"
bind "u" "+nvgs"//
//

Ez a script egyszerûsége ellenére nagyon hasznos lehet, mivel egy gombnyomásra újracsatlakozik a szerverre (NegaII-n kötelezõ :):
//ÚJRAKONNEKTÁLÓ SCRIPT
bind "f5" "retry"
//

Kilépés a szerverrõl és a játékból egyetlen gombbal:
//GAME OVER SCRIPT
alias disquit "disconnect; wait; wait; wait; quit"
bind "f10" "disquit"
//

Ez a script 2 elõre megadott név között váltogat egy gombnyomással. Ha jól megtanultad a leckét egybõl látni fogd, hogy ez egy tipikus példája a kapcsoló-jellegû-de-nem-teljesen-olyan-csak-egy-kicsit jellegû scriptnek:
//NÉVCSERÉLÕ SCRIPT
alias nameswap "name1"
alias name1 "name XooN; alias nameswap name2"
alias name2 "name ping2000; alias nameswap name1"
bind "x" "nameswap"
//

Egy gombnyomásra végigzongorázhatunk a célkereszt színei közt és így minden pályához a legmegfelelõbbet választhatjuk ki (zoom-ra nem vonatkozik):
//CÉLKERESZT SZÍNÉT ÁLLÍTÓ SCRIPT
alias cross "adjust_crosshair"
bind "l" "cross" //

Be- ill. kikapcsolhatjuk az fps megjelenítését:
//FPS SCRIPT I.
alias fps "fpson"
alias fpson "cl_showfps 1; alias fps fpsoff"
alias fpsoff "cl_showfps 0; alias fps fpson"
bind "m" "fps"
//

Hasonló, mint az elõzõ script, viszont csak addig jelzi ki az fps-t, amíg a billentyû le van nyomva:
//FPS SCRIPT II.
alias +fps "cl_showfps 1"
alias -fps "cl_showfps 0"
bind "q" "+fps"

Be/kikapcsolja a net graph-ot:
//NET GRAPH SCRIPT I.
alias graph "graphon"
alias graphon "net_graph 1; alias graph graphoff"
alias graphoff "net_graph 0; alias graph graphon"
bind "d" "graph"
//

Ennek a scriptnek a segítségével végigzongorázhatjuk a net graph összes módját vagy akár ki is kapcsolhatjuk:
//NET GRAPH SCRIPT II.
alias graph "graph1"
alias graph1 "net_graph 1; alias graph graph2"
alias graph2 "net_graph 2; alias graph graph3"
alias graph3 "net_graph 3; alias graph graph4"
alias graph4 "net_graph 0; alias graph graph1"
bind "v" "graph"
//

Ha ezt a scriptet használod, nemcsak a csapattársakat, de a kempelõ ellenfeleket is kijelzi a radarod. Úgy bizony. Nem vicc. Mellesleg ki/be tudod kapcsolgatni. Jaja. Aha. Ühüm.
//RADAR SCRIPT
alias radar "radaron"
alias radaron "drawradar; alias radar radaroff"
alias radaroff "hideradar; alias radar radaron"
bind "p" "radar"
//

Ez a kis gyöngyszem elkezd felvenni egy demot, majd újabb gombnyomásra leállítja. A demo hent.dem néven a cstrike könyvtárban kerül elmentésre:
//DEMO SCRIPT
alias recdemo "recon"
alias recon "record hent; developer 1; echo FELVETEL!; developer 0;
alias recdemo recoff"
alias recoff "stop; developer 1; echo FELVETEL VEGE!; developer 0; alias recdemo recon"
bind "-" "recdemo"
//

Ez a script screenshotot készít a képernyõrõl, de elõtte kikapcsol minden zavaró feliratot, fegyvermodellt, célkeresztet stb. Kivétel ez alól a szövegek és a jobbfelsõ sarokban megjelenõ ki-kit-ölt-meg feliratok, amelyeket a hud_saytext_time és a hud_deathnotice_time 0-ra állításával tudsz kikapcsolni. Megj.: az fps-t és a net graph-ot külön kell visszakapcsolnod a screenshot után, ha be voltak kapcsolva.
//SCREENSHOT SCRIPT
alias +cleansnap "cson; clear; wait; wait; wait; snapshot"
alias -cleansnap "csoff; wait; wait; developer 1; echo Screenshot elmentve!; developer 0"
alias cson "cl_observercrosshair 0; crosshair 0; r_drawviewmodel 0; hideradar;
cl_showfps 0; net_graph 0"
alias csoff "cl_observercrosshair 1; crosshair 1; r_drawviewmodel 1; drawradar"
bind "pgup" "+cleansnap"
//

A hangerõsséget tudjuk növelni/csökkenteni két billentyû segítségével:
//HANGERÕT BEÁLLÍTÓ SCRIPT
alias "vup" "vol_0"
alias "vdn" "vol_10"
alias "vol_0" "volume 0.0; echo Volume 0%; alias vup vol_1; alias vdn vol_10"
alias "vol_1" "volume 0.1; echo Volume 10%; alias vup vol_2; alias vdn vol_0"
alias "vol_2" "volume 0.2; echo Volume 20%; alias vup vol_3; alias vdn vol_1"
alias "vol_3" "volume 0.3; echo Volume 30%; alias vup vol_4; alias vdn vol_2"
alias "vol_4" "volume 0.4; echo Volume 40%; alias vup vol_5; alias vdn vol_3"
alias "vol_5" "volume 0.5; echo Volume 50%; alias vup vol_6; alias vdn vol_4"
alias "vol_6" "volume 0.6; echo Volume 60%; alias vup vol_7; alias vdn vol_5"
alias "vol_7" "volume 0.7; echo Volume 70%; alias vup vol_8; alias vdn vol_6"
alias "vol_8" "volume 0.8; echo Volume 80%; alias vup vol_9; alias vdn vol_7"
alias "vol_9" "volume 0.9; echo Volume 90%; alias vup vol_10; alias vdn vol_8"
alias "vol_10" "volume 1.0; echo Volume 100%; alias vup vol_0; alias vdn vol_9"
bind "home" "vup" //hangerõ növelése
bind "end" "vdn" //hangerõ csökkentése
//

Fegyver scriptek

//BERETTA SCRIPT
alias +attacky1 "+attacky2;wait;wait; -attacky2; wait; +attacky2; wait; -attacky2; wait; +attacky2; wait;wait;wait; -attacky2"
alias -attacky1 "wait"
alias +attacky2 "+attacky3;wait;wait; -attacky3; wait; +attacky3; wait;wait; -attacky3; wait; +attacky3; wait;wait; -attacky3"
alias -attacky2 "wait"
alias +attacky3 "+attack;wait;wait; -attack; wait; +attack; wait;wait; -attack; wait; +attack; wait;wait;wait; -attack; wait; +attacky4; wait;wait; -attacky4"
alias -attacky3 "wait"
alias +attacky4 "+attack;wait;wait; -attack; wait; +attack; wait;wait; -attack; wait; +attack; wait;wait; -attack"
bind mouse3 "+attacky1"
//

//GYORS PISZTOLYVÁLTÓ SCRIPT I.
alias qpist "slot2; +attack; wait; wait; -attack"
bind "a" "qpist"
//

//GYORS ELSÕDLEGES FEGYVERVÁLTÓ SCRIPT
alias qwpn "slot1; +attack; wait; wait; -attack"
bind "l" "qwpn"
//

A fenti két fegyverváltó scriptet érdemes együtt használni a gyors ide-oda váltás érdekében. Most jön két hasonló feladatú, de jóval elegánsabb script. Az egyik gyorsan elõkapja a kést egy gombnyomásra, a másikra pedig visszavált az elõzõ fegyverre. Ugyanezen az elven mûködik a pisztolyváltó script is.
// GYORS KÉSVÁLTÓ SCRIPT
alias kes_t kes_on
alias kes_on "alias kes_t kes_off; weapon_knife"
alias kes_off "alias kes_t kes_on; lastinv"
bind "del" "kes_t"
//

// GYORS PISZTOLYVÁLTÓ SCRIPT II.
alias pisztoly_t pisztoly_on
alias pisztoly_on "alias pisztoly_t pisztoly_off; slot2"
alias pisztoly_off "alias pisztoly_t pisztoly_on; lastinv"
bind "end" "pisztoly_t"
//

Ez a script eldob egy fénygránátot és figyelmezteti a csapattárasakat erre. Ugyanezt a scriptet átírhatod füstgránátra (weapon_flashbang-et írd át weapon_smokegrenade-ra) és robbanóra is (weapon_flashbang-et írd át weapon_hegrenade-ra és az üzenetet se felejtsd el átírni).
//FÉNYGRÁNÁT SCRIPT
alias +warnflash "warntm; weapon_flashbang; wait; wait; +attack"
alias -warnflash "-attack"
alias warntm "say_team Monitorokat kikapcsolni, fénygránátot dobok!"
bind "w" "+warnflash"
//

Beállíthatjuk, hogy karakterünk melyik kezében fogja a fegyvert:
//JOBB/BALKEZES SCRIPT
alias hand_switch "left_hand"
alias left_hand "setinfo lefthand 1; w3; alias hand_switch right_hand; w3;
weapon_knife; w3; w3; lastinv"
alias right_hand "setinfo lefthand 0; w3; alias hand_switch left_hand; w3;
weapon_knife; w3; w3; lastinv"
alias w3 "wait; wait; wait"
bind "end" "hand_switch"
//

//FEGYVERMODELL KI/BE SCRIPT
alias wpnview "wpnoff"
alias wpnoff "r_drawviewmodel 0; alias wpnview wpnon"
alias wpnon "r_drawviewmodel 1; alias wpnview wpnoff"
bind "=" "wpnview"
//