Главная > Игры > 3D Action >
Алиазы для Quake III Arena
   Редакция от 26.09.01
          Алиазы для Quake III Arena

  Составлено на основе личного опыта, и писем из конференций
  Ru.Game.Quake
  Автор: Тарас 'Tarik' Бондарь     2:5020/1507.31
           tarik_idt@mail.ru
  Последняя версия доступна на http:\\InfernalDomain.web1000.com
  Присылайте мне дополнения на мыло. Если вы не знаете как сделать
  алиаз, или у вас появились вопросы, то пишите мне, постараюсь помочь
 
  > - Так отмечены новые пункты


 

       Оглавление
  1.  Основы по написанию алиазов
  2.  Простая схема зацикленного переключателя
  3.  Схема передвижения по алиазам вперед и назад
  4.  Как делать менюшки

> 5.  Как сделать RJ

  6.  Как забиндить по 2 оружия на клавишу
  7.  Как сделать изменение громкости
  8.  Как сделать изменение яркости
  9.  Как сделать запись демки с разными именами
  10.  Как сделать управление просмотром демки
  11.  Как можно рассмотреть свою модельку (приближение/удаление/вращение)
  12.  Как сделать antilag




> 1.  Основы по написанию алиазов

 Алиаз - это набор команд, действий выполняемых одной командой. В Q1 & Q2
для этого существует команда:

seta <имя> "<команда1; команда2; ...; командаN>"
bind <клавиша> vstr <имя>

 Когда вы определяете какой-либо алиаз в другом алиазе, то надо использовать
команду set вместо seta. Для использования алиаза в Q3, необходимо перед
именем алиаза писать vstr. Алиаз должен писаться в одну строчку, те не иметь
переносов. Здесь
переносы стоят для удобного чтения. Алиаз состоящий более чем из одной команды
необходимо брать в двойные кавычки.




> 2.  Простая схема зацикленного переключателя

seta <имя> "vstr <имя1>"
seta <имя1> "<команды; set имя vstr имя2>"
seta <имя2> "<команды; set имя vstr имя1>"
bind  <клавиша> "<имя>"




> 3.  Схема передвижения по алиазам вперед и назад

 Это необходимо для написания алиазов громкости итп, когда вам необходимо
изменять какую-либо величину в промежутке состоящем из более чем 2х чисел:
seta <вперед> "vstr <имя1>"
seta <назад>  "vstr <имя0>"
seta <имя0>   "<команды>; set <вперед> vstr <имя1>; set <назад> vstr <имя0>"
seta <имя1>   "<команды>; set <вперед> vstr <имя2>; set <назад> vstr <имя0>"
seta <имя2>   "<команды>; set <вперед> vstr <имяN>; set <назад> vstr <имя1>"
...
seta <имяN>   "<команды>; set <вперед> vstr <имяN>; set <назад> vstr <имя2>"


> 4.  Как делать менюшки

 У Q3 есть 3 строки с текстом которые мокут быть видимыми на экране, туда
поподают сообщения из консоли. В Q3 есть возможность изменять цвет текста.
Я приведу пример для 8 пунктов меню, клавишами вверх и вниз мы выбираем нужный
пункт, при этом на Энтер у нас биндится нужная команда:
seta text1 "echo   Menu Item 1"
seta text2 "echo   Menu Item 2"
seta text3 "echo   Menu Item 3"
seta text4 "echo   Menu Item 4"
seta text5 "echo   Menu Item 5"
seta text6 "echo   Menu Item 6"
seta text7 "echo   Menu Item 7"
seta text8 "echo   Menu Item 8"
seta stext1 "echo ^2Menu ^2Item ^21"
seta stext2 "echo ^2Menu ^2Item ^22"
seta stext3 "echo ^2Menu ^2Item ^23"
seta stext4 "echo ^2Menu ^2Item ^24"
seta stext5 "echo ^2Menu ^2Item ^25"
seta stext6 "echo ^2Menu ^2Item ^26"
seta stext7 "echo ^2Menu ^2Item ^27"
seta stext8 "echo ^2Menu ^2Item ^28"

seta curup     "vstr menu1"
seta curdown   "vstr menu2"
seta menucom   "vstr <команда1>"

alias menu1 "set curup vstr menu1; set curdown vstr menu2;
       set menucom vstr <команда1>;
       vstr stext1;vstr text2;vstr text3"

alias menu2 "set curup vstr menu1; set curdown vstr menu3;
       set menucom vstr <команда2>;
       vstr text1;vstr stext2; vstr text3"
...

alias menu7 "set curup vstr menu6; set curdown vstr menu8;
       set menucom vstr <команда7>;
       vstr text6;vstr stext7; vstr text8"

alias menu8 "set curup vstr menu7; set curdown vstr menu8;
       set menucom vstr <команда8>;
       vstr text6;vstr text7; vstr stext8"


bind <вверх> vstr curup
bind <вниз> vstr curdown
bind <энтер> vstr menucom

Еще, чтобы было более удобно, можно сделать алиаз на вызов меню:

seta menucall0 "vstr menucall1"
seta menucall1 "bind <вверх> vstr curup; bind <вниз> vstr curdown;
                bind <энтер> vstr menucom;
                set menucall0 vstr menucall2; vstr curup"
seta menucall2 "bind <вверх> vstr <старая команда>;
                bind <вниз> vstr <старая команда>; 
                bind <энтер> vstr <старая команда>;
                set menucall0 vstr menucall1; echo; echo; echo;
                echo LOG: Menu is closed."

 Либо на menucall2 можно просто сделать exec ваш конфиг, но тогда все настройки

будут загружены заново.




> 5.  Как сделать RJ

 Иногда работает неправильно.
cl_pitchspeed "9999"
seta rj "+lookdown; wait; +moveup; wait; +attack; wait; -attack; -lookdown;
         -moveup; wait; centerview; wait"
bind <key> vstr rj

Вот скрипт, работающий железно на всех версиях Ку3:
set www "wait;wait;wait;wait;wait;wait;wait;wait"
set rjump_1 "set freelook 0;set cl_pitchspeed 999;+lookdown;vstr
www;+attack;+moveup"
set rjump_2 "set cl_pitchspeed 140;-lookdown;set freelook 1;-attack;-moveup"
set rjump "vstr rjump_1;vstr www;vstr rjump_2;vstr www;centerview"
bind <key> "vstr rjump"



> 6.  Как забиндить по 2 оружия на клавишу

 Биндить надо алиазы weaponN

 Я долго думал как это реализовать, максимум что мне удалось приведено
ниже, работает правильно при условии cg_autoswitch 0:

set weapon1 "vstr weapon11"
set weapon11 "weapon 1; weapon 2; set weapon1 vstr weapon12; vstr reset2;
              vstr reset3"
set weapon12 "weapon 2; weapon 1; set weapon1 vstr weapon11; vstr reset2;
              vstr reset3"
set reset1 "set weapon1 vstr weapon11"

set weapon2 "vstr weapon21"
set weapon21 "weapon 3; weapon 4; set weapon2 vstr weapon22; vstr reset1;
              vstr reset3"
set weapon22 "weapon 4; weapon 3; set weapon2 vstr weapon21; vstr reset1;
              vstr reset3"
set reset2 "set weapon2 vstr weapon21"

set weapon3 "vstr weapon11"
set weapon31 "weapon 6; weapon 5; set weapon3 vstr weapon32; vstr reset1;
              vstr reset2"
set weapon32 "weapon 5; weapon 6; set weapon3 vstr weapon31; vstr reset1;
              vstr reset2"
set reset3 "set weapon3 vstr weapon31"

 Обратите внимание на алиаз resetN, при выборе weaponN должны вызываться все
reset алиазы, кроме resetN.




> 7.  Как сделать изменение громкости

bind <keyup> vstr vup
bind <keydown> vstr vdn
set vdn "vstr vol00"
set vup "vstr vol02"
set vol00 "set s_volume 0.0;play sound\items\protect;set vdn vstr vol00;
           set vup vstr vol01;echo;echo;echo ^3VOLUME: ^7----------"
set vol01 "set s_volume 0.1;play sound\items\protect;set vdn vstr vol00;
           set vup vstr vol02;echo;echo;echo ^3VOLUME: ^2|^7---------"
set vol02 "set s_volume 0.2;play sound\items\protect;set vdn vstr vol01;
           set vup vstr vol03;echo;echo;echo ^3VOLUME: ^2||^7--------"
set vol03 "set s_volume 0.3;play sound\items\protect;set vdn vstr vol02;
           set vup vstr vol04;echo;echo;echo ^3VOLUME: ^2|||^7-------"
set vol04 "set s_volume 0.4;play sound\items\protect;set vdn vstr vol03;
           set vup vstr vol05;echo;echo;echo ^3VOLUME: ^2||||^7------"
set vol05 "set s_volume 0.5;play sound\items\protect;set vdn vstr vol04;
           set vup vstr vol06;echo;echo;echo ^3VOLUME: ^2||||^3|^7-----"
set vol06 "set s_volume 0.6;play sound\items\protect;set vdn vstr vol05;
           set vup vstr vol07;echo;echo;echo ^3VOLUME: ^2||||^3||^7----"
set vol07 "set s_volume 0.7;play sound\items\protect;set vdn vstr vol06;
           set vup vstr vol08;echo;echo;echo ^3VOLUME: ^2||||^3|||^7---"
set vol08 "set s_volume 0.8;play sound\items\protect;set vdn vstr vol07;
           set vup vstr vol09;echo;echo;echo ^3VOLUME: ^2||||^3||||^7--"
set vol09 "set s_volume 0.9;play sound\items\protect;set vdn vstr vol08;
           set vup vstr vol10;echo;echo;echo ^3VOLUME: ^2||||^3||||^1|^7-"
set vol10 "set s_volume 1.0;play sound\items\protect;set vdn vstr vol09;
           set vup vstr vol10;echo;echo;echo ^3VOLUME: ^2||||^3||||^1||^7"




> 8.  Как сделать изменение яркости

bind <keyup> vstr gup
bind <keydown> vstr gdn
set gdn "vstr g10" // Gamma
set gup "vstr g12"
set g10 "set r_gamma 1.0;set gdn vstr g10;set gup vstr g11;echo;echo;
         echo ^3GAMMA: ^7----------"
set g11 "set r_gamma 1.1;set gdn vstr g10;set gup vstr g12;echo;echo;
         echo ^3GAMMA: ^2|^7---------"
set g12 "set r_gamma 1.2;set gdn vstr g11;set gup vstr g13;echo;echo;
         echo ^3GAMMA: ^2||^7--------"
set g13 "set r_gamma 1.3;set gdn vstr g12;set gup vstr g14;echo;echo;
         echo ^3GAMMA: ^2|||^7-------"
set g14 "set r_gamma 1.4;set gdn vstr g13;set gup vstr g15;echo;echo;
         echo ^3GAMMA: ^2||||^7------"
set g15 "set r_gamma 1.5;set gdn vstr g14;set gup vstr g16;echo;echo;
         echo ^3GAMMA: ^2||||^3|^7-----"
set g16 "set r_gamma 1.6;set gdn vstr g15;set gup vstr g17;echo;echo;
         echo ^3GAMMA: ^2||||^3||^7----"
set g17 "set r_gamma 1.7;set gdn vstr g16;set gup vstr g18;echo;echo;
         echo ^3GAMMA: ^2||||^3|||^7---"
set g18 "set r_gamma 1.8;set gdn vstr g17;set gup vstr g19;echo;echo;
         echo ^3GAMMA: ^2||||^3||||^7--"
set g19 "set r_gamma 1.9;set gdn vstr g18;set gup vstr g20;echo;echo;
         echo ^3GAMMA: ^2||||^3||||^1|^7-"
set g20 "set r_gamma 2.0;set gdn vstr g19;set gup vstr g20;echo;echo;
         echo ^3GAMMA: ^2||||^3||||^1||^7"




> 9.  Как сделать запись демки с разными именами

bind ins "vstr demo1"  // Demo
bind del "stoprecord; echo ^3LOG: ^7Demo record stopped."
bind end "bind ins vstr demo1; echo ^3LOG: ^7Demo names reseted."
seta demo0 "g_synchronousclients 1; wait; record demo00; wait;
            g_synchronousclients 0; bind ins vstr demo1;
            echo ^3LOG: ^7Write to ^200^7."
seta demo1 "g_synchronousclients 1; wait; record demo01; wait;
            g_synchronousclients 0; bind ins vstr demo2;
            echo ^3LOG: ^7Write to ^201^7."
seta demo2 "g_synchronousclients 1; wait; record demo02; wait;
            g_synchronousclients 0; bind ins vstr demo3;
            echo ^3LOG: ^7Write to ^202^7."
seta demo3 "g_synchronousclients 1; wait; record demo03; wait;
            g_synchronousclients 0; bind ins vstr demo4;
            echo ^3LOG: ^7Write to ^203^7."
seta demo4 "g_synchronousclients 1; wait; record demo04; wait;
            g_synchronousclients 0; bind ins vstr demo5;
            echo ^3LOG: ^7Write to ^204^7."
seta demo5 "g_synchronousclients 1; wait; record demo05; wait;
            g_synchronousclients 0; bind ins vstr demo6;
            echo ^3LOG: ^7Write to ^205^7."
seta demo6 "g_synchronousclients 1; wait; record demo06; wait;
            g_synchronousclients 0; bind ins vstr demo7;
            echo ^3LOG: ^7Write to ^206^7."
seta demo7 "g_synchronousclients 1; wait; record demo07; wait;
            g_synchronousclients 0; bind ins vstr demo8;
            echo ^3LOG: ^7Write to ^207^7."
seta demo8 "g_synchronousclients 1; wait; record demo08; wait;
            g_synchronousclients 0; bind ins vstr demo9;
            echo ^3LOG: ^7Write to ^208^7."
seta demo9 "g_synchronousclients 1; wait; record demo09; wait;
            g_synchronousclients 0; bind ins vstr demo1;
            echo ^3LOG: ^7Write to ^209^7."




> 10.  Как сделать управление просмотром демки

seta demopause    "cl_freezedemo 1; echo ^3DEMO: ^7Stop."
seta slow       "cl_freezedemo 0; timescale 0.5; echo ^3DEMO: ^7Slow Play."
seta normal   "cl_freezedemo 0; timescale 1; echo ^3DEMO: ^7Play."
seta ff   "cl_freezedemo 0; timescale 2; echo ^3DEMO: ^7Forward."
seta ff+   "cl_freezedemo 0; timescale 3; echo ^3DEMO: ^7Fast Forward."




> 11.  Как можно рассмотреть свою модельку (приближение/удаление/вращение)

bind <клавиша просмотра модельки> "toggle cg_thirdperson;vstr a0;vstr r40"
bind <клавиша приблизить> "vstr closer"
bind <клавиша отдалить> "vstr farther"
bind <клавиша вращать влево> "vstr left"
bind <клавиша вращать вправо> "vstr right"

set a0 "cg_thirdpersonangle 0;set left vstr a10;set right vstr a350"
set a10 "cg_thirdpersonangle 10;set left vstr a20;set right vstr a0"
set a20 "cg_thirdpersonangle 20;set left vstr a30;set right vstr a10"
set a30 "cg_thirdpersonangle 30;set left vstr a40;set right vstr a20"
set a40 "cg_thirdpersonangle 40;set left vstr a50;set right vstr a30"
set a50 "cg_thirdpersonangle 50;set left vstr a60;set right vstr a40"
set a60 "cg_thirdpersonangle 60;set left vstr a70;set right vstr a50"
set a70 "cg_thirdpersonangle 70;set left vstr a80;set right vstr a60"
set a80 "cg_thirdpersonangle 80;set left vstr a90;set right vstr a70"
set a90 "cg_thirdpersonangle 90;set left vstr a100;set right vstr a80"
set a100 "cg_thirdpersonangle 100;set left vstr a110;set right vstr a90"
set a110 "cg_thirdpersonangle 110;set left vstr a120;set right vstr a100"
set a120 "cg_thirdpersonangle 120;set left vstr a130;set right vstr a110"
set a130 "cg_thirdpersonangle 130;set left vstr a140;set right vstr a120"
set a140 "cg_thirdpersonangle 140;set left vstr a150;set right vstr a130"
set a150 "cg_thirdpersonangle 150;set left vstr a160;set right vstr a140"
set a160 "cg_thirdpersonangle 160;set left vstr a170;set right vstr a150"
set a170 "cg_thirdpersonangle 170;set left vstr a180;set right vstr a160"
set a180 "cg_thirdpersonangle 180;set left vstr a190;set right vstr a170"
set a190 "cg_thirdpersonangle 190;set left vstr a200;set right vstr a180"
set a200 "cg_thirdpersonangle 200;set left vstr a210;set right vstr a190"
set a210 "cg_thirdpersonangle 210;set left vstr a220;set right vstr a200"
set a220 "cg_thirdpersonangle 220;set left vstr a230;set right vstr a210"
set a230 "cg_thirdpersonangle 230;set left vstr a240;set right vstr a220"
set a240 "cg_thirdpersonangle 240;set left vstr a250;set right vstr a230"
set a250 "cg_thirdpersonangle 250;set left vstr a260;set right vstr a240"
set a260 "cg_thirdpersonangle 260;set left vstr a270;set right vstr a250"
set a270 "cg_thirdpersonangle 270;set left vstr a280;set right vstr a260"
set a280 "cg_thirdpersonangle 280;set left vstr a290;set right vstr a270"
set a290 "cg_thirdpersonangle 290;set left vstr a300;set right vstr a280"
set a300 "cg_thirdpersonangle 300;set left vstr a310;set right vstr a290"
set a310 "cg_thirdpersonangle 310;set left vstr a320;set right vstr a300"
set a320 "cg_thirdpersonangle 320;set left vstr a330;set right vstr a310"
set a330 "cg_thirdpersonangle 330;set left vstr a340;set right vstr a320"
set a340 "cg_thirdpersonangle 340;set left vstr a350;set right vstr a330"
set a350 "cg_thirdpersonangle 350;set left vstr a0;set right vstr a340"

set r5 "cg_thirdpersonrange 5;set farther vstr r10;set closer vstr r500"
set r10 "cg_thirdpersonrange 10;set farther vstr r20;set closer vstr r5"
set r20 "cg_thirdpersonrange 20;set farther vstr r30;set closer vstr r10"
set r30 "cg_thirdpersonrange 30;set farther vstr r40;set closer vstr r20"
set r40 "cg_thirdpersonrange 40;set farther vstr r50;set closer vstr r30"
set r50 "cg_thirdpersonrange 50;set farther vstr r60;set closer vstr r40"
set r60 "cg_thirdpersonrange 60;set farther vstr r70;set closer vstr r50"
set r70 "cg_thirdpersonrange 70;set farther vstr r80;set closer vstr r60"
set r80 "cg_thirdpersonrange 80;set farther vstr r90;set closer vstr r70"
set r90 "cg_thirdpersonrange 90;set farther vstr r100;set closer vstr r80"
set r100 "cg_thirdpersonrange 100;set farther vstr r120;set closer vstr r90"
set r120 "cg_thirdpersonrange 120;set farther vstr r140;set closer vstr r100"
set r140 "cg_thirdpersonrange 140;set farther vstr r160;set closer vstr r120"
set r160 "cg_thirdpersonrange 160;set farther vstr r180;set closer vstr r140"
set r180 "cg_thirdpersonrange 180;set farther vstr r200;set closer vstr r160"
set r200 "cg_thirdpersonrange 200;set farther vstr r220;set closer vstr r180"
set r220 "cg_thirdpersonrange 220;set farther vstr r240;set closer vstr r200"
set r240 "cg_thirdpersonrange 240;set farther vstr r260;set closer vstr r220"
set r260 "cg_thirdpersonrange 260;set farther vstr r280;set closer vstr r240"
set r280 "cg_thirdpersonrange 280;set farther vstr r300;set closer vstr r260"
set r300 "cg_thirdpersonrange 300;set farther vstr r350;set closer vstr r280"
set r350 "cg_thirdpersonrange 350;set farther vstr r400;set closer vstr r300"
set r400 "cg_thirdpersonrange 400;set farther vstr r500;set closer vstr r350"
set r500 "cg_thirdpersonrange 500;set farther vstr r5;set closer vstr r400"




> 12.  Как сделать antilag

set antilag_on "cg_lagometer 1; rate 100; snaps 3; cl_maxpackets 10;
   cl_packetdup 0; cl_nodelta 1; echo ^1[^2AntiLag ^3ON^1];
   play sound\misc\menu1; set antilag vstr antilag_off"
set antilag_off "cg_lagometer 0; rate 3000; snaps 20; cl_maxpackets 30;
   cl_packetdup 1; cl_nodelta 0; echo ^1[^2AntiLag ^3OFF^1];
   play sound\misc\menu3; set antilag vstr antiLag_on"
set antilag vstr antilag_on
bind <key> "vstr antilag"


Украинская Баннерная Сеть

Главная  Алфавитный индекс  Справка  Добавить FAQ  E-mail
Новости  Поиск по сайту

Copyright © 2001 - 2003 Olexandr Slobodyan.
Сайт создан в системе uCoz