Difference between revisions of "Scripting/ko"

From Team Fortress Wiki
Jump to: navigation, search
m
(무기 줌 스크립트)
 
(36 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:스크립팅}}
+
{{DISPLAYTITLE:스크립트}}
{{trans}}
 
<!--문서를 수정하기 전 잘못된 점이 있다면 토론을 이용해주세요. 주의하고있는 문서입니다. 무차별적인 수정은 자제해주시기 바랍니다.-->
 
  
'''스크립팅'''설정 파일(.cfg)이용하여 콘솔에서 사용하는 명령어들로 키 변경 그리고 새로운 명령을 자동으로 입력해주는 방식입니다.
+
'''스크립트'''설정 파일 {{code|.cfg}}을 이용해 복잡한 행동들과 [[console/ko|콘솔]] 명령들을 자동으로 실행하는 새로운 bind와 alias를 만드는 것을 의미합니다. 스크립트는 Team Fortress 2에 내장된 기능으로서, [[Valve Anti-Cheat/ko|VAC]]통해 제제당하지 않습니다. 스크립트를 사용하는 방식은 단순히 키를 누르면 명령이 실행되는 것부터 반복문과 서로 재정의 하는 alias까지 다양합니다. 스크립트를 이용해 자동으로 만들 수 있는 것들은 수동으로도 할 수 있지만, 스크립트는 이를 전장에서 쉽게 이용할 수 있게 합니다.
  
* 키 변경은 해당 키가 콘솔 명령어에 연결 되어있어야하며, [[weapon/ko|무기]]슬롯을 선택하거나 채팅 매크로를 작성 가능합니다.
+
== 스크립트 명령어 ==
 +
이 명령어들은 스크립트 외에는 사용할 수 없는 명령어로, 게임에 직접적으로 영향을 끼치지 않습니다.
  
* 앨리어스는 콘솔에서 사용하는 명령어들을 추출하여 새로운 명령어를 만들어냅니다. 앨리어스는 [[crouch|앉기]]와 [[jump|뛰기]]의 개인 명령어들을 하나로 통합하여 [[Jumping/ko#.EC.95.89.EA.B3.A0_.EB.9B.B0.EA.B8.B0|앉으면서 뛰기]]명령어를 만들 있습니다. 이는 키를 수정하는 것으로도 가능합니다.
+
=== bind ===
 +
{{Main|vdc:bind|l1=bind}} [[List of default keys/ko|기본 키 목록은 이 문서를 참조하십시오.]]
 +
가장 단순한 명령어는 bind 명령어로, 이 명령어는 특정 키를 누르면 설정, 명령어, 또는 다른 스크립트 등의 특정 작업을 수행할 있게 합니다.
  
These scripts range in complexity from simple lists of commands to self-referential loops and nested aliases that redefine one another. With enough time and effort, you can use these tools to create almost any behavior available to the client at the press of a single key.
+
<pre>bind [KEY] [COMMAND]</pre>
스크립트로 건드릴 수 있는 범위는 간단한듯 보이지만 다양하면서도 자기지시적 반복들과 앨리어스 집합들을 정의할 수 있습니다. 당신이 조금의 시간과 노력만 들인다면, 스크립트 툴을 이용하여 키 하나를 누름으로써 당신이 몰랐던 클라이언트 뒤의
+
큰따옴표도 사용할 수 있으며, 어떤 값과 명령 사이에 띄어쓰기가 필요한 경우에 사용하여, 이를 한 명령으로 인식하게 합니다. 예를 들어 {{code|bind mouse1 "say (글)"}}의 경우 say와 (글) 사이에 띄어쓰기가 필요하여 큰따옴표를 사용합니다.
  
==기본 스크립팅 파일들==
+
<pre>bind [KEY] "[COMMAND 1]; [COMMAND 2]; [COMMAND 3]"</pre>
''Team Fortress 2'' 에서는 각자 게임 파일에 맞추어 키 수정 그리고 앨리어스를 자동으로 읽어옵니다. 자동으로 읽어오는 파일의 목록입니다.
+
큰따옴표를 키에도 사용할 수 있으나, 명령에 사용되지 않으면 콘솔은 연속된 명령을 인식할 수 없기 때문에 명령에 큰따옴표를 사용해야 합니다.
  
* config.cfg - 이 기본설정 파일은 게임 안에서 비디오 설정을 변경하거나 키를 변경할 수 있습니다. 이 파일을 수정하는 동안에는 안전하며, 그냥 그대로 두는것이 가장 간단합니다. 다른 .cfg파일이 변경될 경우 config.cfg 파일 안에 기록도 가능합니다.
+
''주석:'' 명령 <pre>say "예시 문장"</pre>는 올바른 명령이지만, <pre>bind [KEY] "say "예시 문장""</pre>은 올바르지 않은 명령입니다. 이는 큰따옴표가 잘못 인식되며, say 뒤의 큰따옴표를 인식하고 명령을 중단합니다.
  
* autoexec.cfg - This is the default config file for executing custom keybinds and aliases. You may put your keybinds directly into this file, but it is often easier to create separate .cfg files for different scripts, which you then execute within this file.
+
bind 명령어는 두 가지의 형태가 있습니다.
 +
<pre>bind e "voicemenu 0 0"</pre>
 +
이 bind는 플레이어가 {{key|E}}를 누르면 메딕을 부르게 합니다.
  
* <클래스>.cfg - Each class has a config file which automatically runs whenever you switch to that class. You may put your keybinds directly into this file, but it is often easier to create separate .cfg files for different scripts, which you then execute within these files.
+
<pre>bind w +forward</pre>
 +
이 bind는 플레이어가 {{key|W}}를 누르고 있으면 앞으로 가게 합니다.
  
==문법==
+
=== say ===
여기 문법 규칙이 있습니다.
+
say 명령어는 문장이나 단어를 [[Text chat/ko|채팅]] 창에 전송할 수 있습니다.
 +
  bind "<아무 키>" "say <발신할 글>"
 +
"say_team <발신할 글>"은 팀에게만 발신합니다.
 +
"say_party <발신할 글>"은 파티에게만 발신합니다.
  
* 편집과 앨리어스가 작동하기 위해서는 아래와 같은 문법이 필요합니다.:
+
say 명령어 단독으로 사용할 경우 채팅을 직접 작성할 수 있습니다.
 +
  bind "<아무 키>" "say_party"
 +
<아무 >를 누르면 파티에게만 발신되는 채팅 작성 창을 엽니다.
  
:'''명령어 <구문1> <구문2>'''
+
=== toggle ===
 +
이 명령어는 두 개 이상의 값을 번갈아 사용할 때 사용합니다.
 +
  "toggle <convar>" 인수 1 [인수 2]
 +
<pre>toggle "sv_cheats" 0 1
 +
bind "p" "toggle sv_cheats" 0 1</pre>
 +
:''주석:'' 만약 값을 지정하지 않는다면, toggle과 bindtoggle은 값을 0과 1 중 현재 상태와 다른 값으로 전환합니다.
 +
toggle과 bindtoggle을 사용할 때, 할당되는 값이 큰따옴표 밖에 있어야 합니다. ("예시 명령" 0 1)
  
:* 명령어에는 스크립팅 가능한 세가지 명령어들이 있습니다.
+
=== bindToggle ===
 +
이 명령어는 {{code|bind "<아무 키>" toggle ~}}을 단축시킨 명령어입니다
  
::* bind - bind 명령어를 사용하면 해당 키의 역할을 지정할 수 있습니다.
+
<pre>bindToggle o sv_cheats 0 1</pre>
::* alias - Used to execute commands when the alias is executed.
+
:''주석:'' 만약 값을 지정하지 않는다면, toggle과 bindtoggle은 값을 0과 1 중 현재 상태와 다른 값으로 전환합니다.
::* exec - Used to execute commands automatically when a configuration file is loaded.
+
toggle과 bindtoggle을 사용할 때, 할당되는 값이 큰따옴표 밖에 있어야 합니다. ("예시 명령" 0 1)
  
:* <argument1> is either the key being bound or the name of the alias being created.
+
=== incrementvar ===
 +
이 명령어는 지정한 값 내의 인수를 순환합니다.
 +
  "incrementvar <convar> <최솟값> <최댓값> <증가값>"
 +
<pre>bind MWHEELUP "incrementvar fov_desired 75 90 1"
 +
bind MWHEELDOWN "incrementvar fov_desired 75 90 -1"</pre>
 +
이 명령어는 휠을 위로 올리면 [[Field of View/ko|시야]]가 넓어지고, 아래로 내리면 시야가 좁아지게 합니다.
 +
:''주석:'' incrementvar은 지정한 값보다 커지거나 작아지려 할 경우 값을 순환하도록 합니다. 예를 들어, 시야가 90보다 커지려 할 경우 75부터 90까지 다시 증가하고, 75보다 작아지려 할 경우 90에서 다시 75까지 작아집니다.
  
:* <argument2> is either the command being bound or the commands executed by the alias.
+
=== alias ===
 +
{{Main|vdc:alias|l1=alias}}
 +
alias는 여러 명령어를 한 명령으로 사용할 수 있게 합니다. 따라서 이는 굉장히 효율적이며, 여러 명령을 여러 번 사용해야 할 경우 가장 효과적입니다.
 +
:''주석:'' alias의 이름은 띄어쓰기를 포함할 수 없으며, 언더바, 숫자 및 특수문자를 포함할 수 있습니다. alias의 이름은 대소문자를 구분합니다.
 +
  alias <alias_name> "<command>; <command2>"
 +
  bind "<아무 키>" "<alias_name>"
 +
<pre>alias Call_For_Medic "Voicemenu 0 0"
 +
bind "e" "Call_For_Medic"</pre>
 +
이 스크립트는 bind와 똑같이 작동하며, 플레이어가 {{key|E}}를 누를 경우 메딕을 부르게 됩니다.
  
*명령어를 여러개 돌리고싶을 경우엔, 명령어가 끝나는 지점마다 세미콜론(;)을 넣습니다. 예제는 아래와 같습니다.
+
:''주석:'' alias는 + 문자를 앞에 사용할 수 있으며, +<alias>가 시행되고 있지 않을 때 -<alias>의 명령을 실행합니다. 이는 움직임과 관련된 bind를 만들 때 유용합니다.
  
:'''alias "spraynpray" "+attack; wait 500; -attack"'''
+
<pre>alias "+Diagonal" "+moveleft; +back"
:'''bind "mouse3" "spraynpray"
+
alias "-Diagonal" "-moveleft; -back"
 +
bind "z" "+Diagonal"</pre>
 +
이 스크립트는 플레이어가 대각선으로 움직이게 합니다. {{key|Z}}를 누르면 플레이어가 뒤로 왼쪽 45도로 움직이게 합니다.
  
:*When executed, the alias starts firing the player's weapon, continues for 500 physics frames (that is roughly five seconds if you are on a server that runs at a 100 frames per second), and then stops firing. The alias is keybound to execute when you press the middle mouse button.
+
:'''경고: 다음 명령은 사용할 수 없습니다.'''
 +
<pre>bind "z" "+moveleft; +back"</pre>
 +
{{key|Z}}를 누를 경우 플레이어가 뒤와 왼쪽으로 움직이게 하나, 게임 엔진은 +back 명령이 뒤에 있어서 -back 명령을 실행할 수 없으며, 플레이어가 계속 뒤로 움직이게 됩니다.
  
*If the set of commands in quotation marks ''itself'' contains quotation marks, you must escape the internal quotes by using a double-set of quotation marks ("") instead. Otherwise, the command is likely to be misinterpreted.
+
=== exec ===
 +
이 명령어는 다른 파일을 불러옵니다. 이는 복잡한 스크립트를 다른 파일에 저장하여 일반 파일이 복잡해지지 않게 합니다.
  
 +
<pre>exec autoexec.cfg</pre>
 +
이 스크립트는 플레이어의 autoexec.cfg 파일을 불러오고 게임에 할당합니다.
  
==키 수정==
 
''Team Fortress 2'' allows scripts and aliases to be bound to any key on the keyboard. The key you wish to bind a command to is placed after your bind command and before the action you want the key to execute, as in the section above. Most keys are self-explanatory, as all alphanumerics (a-z, 0-9) and function keys are simply listed by typing that key ("bind a" binds a key to 'a', "bind 5" binds to '5' and "bind F7" binds to 'F7'). Other keys require you type specific names into your .cfg file in order to access them, and these names are not all obvious. A list of these keys is provided below:
 
  
====키 이름들====
+
=== echo ===
* Keyboard Keys: Names of Keybinds
+
이 명령어는 글이 콘솔에 나타나게 합니다. 이는 디버깅에 사용됩니다.
* 왼쪽 쉬프트: SHIFT
+
  echo "<consolwriteline>"
* 왼쪽 컨트롤: CTRL
+
<pre>echo Scripting is; echo very useful</pre>
* 왼쪽 알트: ALT
+
이 명령은 <code>Scripting is</code>와 <code>very useful</code>를 ''두 줄''로 나타나게 합니다. 이는 <code>echo</code>로 전달되는 글의 끝에 새 행이 추가되기 때문입니다. 띄어쓰기는 글자 사이에 있거나, 큰따옴표 내에 있을 경우 인식됩니다. 예를 들어:
* 오른쪽 쉬프트: RSHIFT
 
* 오른쪽 컨트롤: RCTRL
 
* 오른쪽 알트: RALT
 
* 탭: TAB
 
* 뒤로가기: BACKSPACE
 
* 세미콜론(;): SEMICOLON
 
* ---
 
* 삽입(Insert): INS
 
* 스크롤 락(Scroll Lock): SCROLLLOCK
 
* Pause/Break: NUMLOCK
 
* ---
 
* Home: HOME
 
* End: END
 
* Delete: DEL
 
* Page Up: PGUP
 
* Page Down: PGDN
 
* ---
 
* Up Arrow: UPARROW
 
* Down Arrow: DOWNARROW
 
* Left Arrow: LEFTARROW
 
* Right Arrow: RIGHTARROW
 
* ---
 
* 숫자패드 키들: Names of Keybinds
 
* 0: KP_INS
 
* 1: KP_END
 
* 2: KP_DOWNARROW
 
* 3: KP_PGDN
 
* 4: KP_LEFTARROW
 
* 5: KP_5
 
* 6: KP_RIGHTARROW
 
* 7: KP_HOME
 
* 8: KP_UPARROW
 
* 9: KP_PGUP
 
* Enter: KP_ENTER
 
* ".": KP_DEL 
 
* "+": KP_PLUS
 
* "-": KP_MINUS
 
* "*": KP_MULTIPLY
 
* "/":KP_SLASH
 
* ---
 
* Mouse Wheel Direction: Names of Keybinds
 
* Mouse Wheel Up: MWHEELUP
 
* Mouse Wheel Down: MWHEELDOWN
 
* Mouse Left Click: MOUSE1
 
* Mouse Right Click: MOUSE2
 
* Mouse Wheel Click: MOUSE3
 
* Mouse Left Side Click: MOUSE4
 
* Mouse Right Side Click: MOUSE5
 
  
Using the above keynames, you are able to place the following example command into one of your config files: <bind KP_ENTER "voicemenu 0 1">. When you hit 'Enter' on your numpad in-game, you will trigger the "Thanks" voice command.
+
<pre>echo " Scripting is very useful.  "</pre>
 +
이 경우 큰따옴표로 글을 지정했기 때문에 띄어쓰기가 나타나게 됩니다.
 +
:''주석:'' 큰따옴표는 나타내려 할 경우 잘못 인식될 것이기 때문에 나타낼 수 없으나, 작은따옴표는 나타낼 수 있습니다.
 +
:''주석:'' echo는 가끔 큰따옴표가 없는 경우 잘못 나타낼 수 있으니 큰따옴표를 사용하는 것이 더 나으며, 나타내고자 하는 글을 사람이 알아보기 더 쉽게 합니다.
  
==기본 명령어==
+
=== wait ===
Most commands accept a single argument, which is whatever value you want to execute.
+
  wait <프레임>
 +
이 명령어는 게임이 다음 명령을 시행하기 전 주어진 프레임 동안 기다리게 합니다.
 +
:'''경고: wait 명령어는 특정 서버에서 비활성화 되어있을 수 있습니다. 따라서 특정 스크립트는 제대로 실행되지 않을 것이며, 게임이 강제 종료 될 수 있습니다. [[#wait 비활성화 확인|wait 비활성화 확인]]에서 이를 막을 방법을 알아보십시오.'''
  
'''bind "q" "sv_alltalk 1"'''
+
<pre>echo 못이 망치에 아무리 맞아도 피가 안 나는 이유는?;wait 300;echo 모세혈관이 없어서!</pre> <!-- 딱히 재밌는 두 줄짜리 개그가 없더라구요... -->
 +
이 스크립트는 첫 문장을 나타내고 300 프레임을 기다린 후 다음 문장을 나타내게 합니다.
  
A handful of important commands accept multiple arguments. Here are some examples:
+
== 클래스 특정 cfg 파일  ==
 +
특정 병과로 변경할 때, 게임이 그 병과에 맞는 cfg 파일을 실행하게 되며, 다음 이름을 따라야 합니다.
 +
<pre>
 +
scout.cfg
 +
soldier.cfg
 +
pyro.cfg
 +
demoman.cfg
 +
heavyweapons.cfg
 +
engineer.cfg
 +
medic.cfg
 +
sniper.cfg
 +
spy.cfg
 +
</pre>
 +
플레이어가 각 병과마다 설정해놓은 명령을 실행하게 합니다.
 +
autoexec.cfg와 class.cfg, 그리고 사용자가 생성한 cfg 문서들은 overrides 파일 안에 있어야 하며, 그러지 않으면 게임에 적용되지 않습니다.
 +
 
 +
== 실행 옵션 ==
 +
실행 옵션은 게임 화질과 비율 등 팀 포트리스 2가 실행되는 방식을 변경할 수 있습니다. {{vdc|Command Line Options|Command Line Options}}에서 모든 실행 옵션을 확인해주세요.
 +
 
 +
== 실행 옵션을 설정하는 방법 ==
 +
[[File:Setting Launch Options Korean.png|thumb|none|시작 옵션을 설정하는 방법.]]
 +
# Steam의 '''라이브러리'''에서 팀 포트리스 2를 찾고, 우클릭을 누르고 '''속성'''을 선택합니다.
 +
# '''일반''' 탭의 '''시작 옵션'''을 선택합니다.
 +
# 적용하고 싶은 시작 옵션을 입력합니다. 각 옵션은 띄어쓰기로 구분해야 합니다.
 +
# '''속성''' 창을 닫고 게임을 실행합니다.
 +
 
 +
=== 창 옵션 ===
 +
이 옵션을 잘못 사용하면 성능을 낮출 수 있습니다. 가능하면 게임 내 설정을 사용해주십시오.
 +
==== 비율 ====
 +
실행 옵션: '''-w # -h #'''
 +
:''설명:'' 게임 창의 너비와 높이를 픽셀 단위로 변경합니다.
 +
==== 재생률 ====
 +
실행 옵션: '''-freq #'''
 +
:''설명:'' 게임의 주사율(Hz)을 강제로 적용합니다.
 +
==== 창 모드 ====
 +
시작 옵션: '''-windowed'''
 +
:''설명:'' 게임을 창 모드로 실행합니다.
 +
==== 테두리 없는 창 모드 ====
 +
시작 옵션: '''-noborder'''
 +
:''설명:'' 창 모드일 때, 전체화면 모드처럼 테두리를 없앱니다.
 +
==== 전체화면 모드 ====
 +
시작 옵션: '''-fullscreen'''
 +
:''설명:'' 게임의 너비와 높이를 강제합니다.
 +
 
 +
=== 주변 기기 지원 ===
 +
==== 조이스틱 지원 비활성화 ====
 +
시작 옵션: '''-nojoy'''
 +
:''설명:'' 조이스틱 시스템을 로딩하지 않도록 하여, 실행 시간을 단축시키고 메모리 사용을 줄입니다.
 +
만약 조이스틱을 사용하려는 경우 사용하지 마십시오.
 +
==== Steam 컨트롤러 지원 비활성화 ====
 +
시작 옵션: '''-nosteamcontroller'''
 +
:''설명:'' Steam 컨트롤러 시스템을 로딩하지 않도록 하여, 실행 시간을 단축시키고 메모리 사용을 줄입니다.
 +
만약 Steam 컨트롤러를 사용하려는 경우 사용하지 마십시오.
  
* disguise X Y - This [[disguise]]s the [[Spy]]. X is the class numbered 1 through 9, while Y is the team numbered 1 or 2.
+
=== 소프트웨어 지원 ===
 +
==== SourceTV 비활성화 ====
 +
시작 옵션: '''-nohltv'''
 +
:''설명:'' [[SourceTV/ko|SourceTV]] 지원을 비활성화하여, 메모리 사용을 줄입니다. 당신의 클라이언트에서 SourceTV를 사용하려는 경우 사용하지 마십시오.
 +
==== 퀵타임 비활성화 ====
 +
시작 옵션: '''-noquicktime'''
 +
:''설명:'' [[w:ko:퀵타임|퀵타임]] 지원을 비활성화하여, 메모리 사용을 줄입니다. .MOV 파일을 내보내는 등 퀵타임 지원이 필요한 경우 사용하지 마십시오.
  
* voicemenu X Y - This executes a voice command. X is the number of the primary menu, while Y is the command position in that menu.
+
=== 엔진 옵션 ===
 +
=== 시작 영상 비활성화 ===
 +
시작 옵션: '''-novid'''
 +
:''설명:'' 게임을 실행할 때 나타나는 Valve 인트로 영상을 비활성화하여, 실행 시간을 단축시킵니다.
 +
==== beam 입자 제한 변경 ====
 +
시작 옵션: '''-particles #'''
 +
:''설명:'' beam 입자의 수를 제한합니다. #의 숫자를 1로 변경하여 메모리 사용을 줄일 수 있으며, 최대 512까지 변경할 수 있습니다.
 +
==== 글꼴 렌더링을 precache 하기====
 +
시작 옵션: '''-precachefontchars'''
 +
:''설명:'' 특정 문자의 글꼴 렌더링을 precache 하여, 렌더링 시간을 줄입니다.
 +
====Texture Streaming 비활성화====
 +
시작 옵션: '''-no_texture_stream'''
 +
:''설명:'' 더 좋은 퀄리티의 버전이 로딩되는 동안 낮은 퀄리티의 텍스처를 사용하지 않고, 언제나 더 좋은 퀄리티의 버전을 로딩하게 합니다. Texture Streaming을 비활성화하면 비디오 메모리 압력에 영향을 미칩니다.
  
Example: "voicemenu 1 1" is the command for Spy, so:
+
=== DirectX 버전 (Microsoft Windows만 가능) ===
 +
시작 옵션: '''-dxlevel #'''
 +
:''설명:'' 게임이 사용하는 DirectX 버전을 설정합니다. 많은 값을 사용할 수 있지만, '81'과 '100'을 사용하는 것이 좋습니다.
 +
::'-dxlevel 100' 은 DirectX 9와 Pixel Shader 3.0를 사용하며, 시스템의 그래픽 능력을 결정하는데 하드웨어가  사용됩니다.
 +
::'-dxlevel 81' 은 DirectX 8의 가장 안정적인 버전이며 Pixel Shader 1.1을 사용합니다. 이 버전은 DirectX 9의 버전들보다 더 좋은 성능을 주지만, 제한된 게임 내 컨텐츠를 사용하며, 성능 향상이 필요하지 않다면 사용하지 않는 것이 좋습니다.
 +
:''주석'': 이 시작 옵션을 가지고 게임을 한 번 실행한 후, 게임을 종료하고 이 시작 옵션을 삭제해야 적절한 구성 파일이 설정됩니다.
  
'''bind "t" "voicemenu 1 1"'''
+
== 키의 이름 ==
 +
키 위에 마우스를 올리면 스크립트 할 때 사용하는 이름을 볼 수 있습니다. 이름은 대소문자를 구분하지 않습니다.
 +
{|
 +
! width="45%" <!-- 키보드 -->|
 +
! width="03%" <!-- 띄어쓰기용 -->|
 +
! width="25%" <!-- 화살표 등  -->|
 +
! width="01%" <!-- 띄어쓰기용 -->|
 +
! width="25%" <!-- 키패드 1 -->|
 +
! width="05%" <!-- 키패드 2 -->|
 +
|-
 +
|
 +
{{tooltip|{{key|ESC}}|ESCAPE}}
 +
{{tooltip|{{key|F1}}|F1}}
 +
{{tooltip|{{key|F2}}|F2}}
 +
{{tooltip|{{key|F3}}|F3}}
 +
{{tooltip|{{key|F4}}|F4}}
 +
{{tooltip|{{key|F5}}|F5}}
 +
{{tooltip|{{key|F6}}|F6}}
 +
{{tooltip|{{key|F7}}|F7}}
 +
{{tooltip|{{key|F8}}|F8}}
 +
{{tooltip|{{key|F9}}|F9}}
 +
{{tooltip|{{key|F10}}|F10}}
 +
{{tooltip|{{key|F11}}|F11}}
 +
{{tooltip|{{key|F12}}|F12}}
  
This command will make your character yell Spy whenever you hit the key.
+
{{tooltip|{{key|` &nbsp;}}|`}}
 +
{{tooltip|{{key|1}}|1}}
 +
{{tooltip|{{key|2}}|2}}
 +
{{tooltip|{{key|3}}|3}}
 +
{{tooltip|{{key|4}}|4}}
 +
{{tooltip|{{key|5}}|5}}
 +
{{tooltip|{{key|6}}|6}}
 +
{{tooltip|{{key|7}}|7}}
 +
{{tooltip|{{key|8}}|8}}
 +
{{tooltip|{{key|9}}|9}}
 +
{{tooltip|{{key|0}}|0}}
 +
{{tooltip|{{key|-}}|-}}
 +
{{tooltip|{{key|{{=}}}}|{{=}}}}
 +
{{tooltip|{{key|← Backspace}}|BACKSPACE}}
  
==Incrementvar==
+
{{tooltip|{{key|TAB}}|TAB}}
This command cycles through a range of specified values whenever it executes and applies those values to another command. This has the form of:
+
{{tooltip|{{key|Q}}|Q}}
 +
{{tooltip|{{key|W}}|W}}
 +
{{tooltip|{{key|E}}|E}}
 +
{{tooltip|{{key|R}}|R}}
 +
{{tooltip|{{key|T}}|T}}
 +
{{tooltip|{{key|Y}}|Y}}
 +
{{tooltip|{{key|U}}|U}}
 +
{{tooltip|{{key|I}}|I}}
 +
{{tooltip|{{key|O}}|O}}
 +
{{tooltip|{{key|P}}|P}}
 +
{{tooltip|{{key|[}}|[}}
 +
{{tooltip|{{key|]}}|]}}
 +
{{tooltip|{{key|\ &nbsp; &nbsp; &nbsp;}}|\}}
  
:'''command "<argument1>" "incrementvar <argument2> X Y Z"'''
+
{{tooltip|{{key|⇪ Caps}}|CAPSLOCK}}
 +
{{tooltip|{{key|A}}|A}}
 +
{{tooltip|{{key|S}}|S}}
 +
{{tooltip|{{key|D}}|D}}
 +
{{tooltip|{{key|F}}|F}}
 +
{{tooltip|{{key|G}}|G}}
 +
{{tooltip|{{key|H}}|H}}
 +
{{tooltip|{{key|J}}|J}}
 +
{{tooltip|{{key|K}}|K}}
 +
{{tooltip|{{key|L}}|L}}
 +
{{tooltip|{{key|;}}|SEMICOLON}}
 +
{{tooltip|{{key|' &nbsp;}}|'}}
 +
{{tooltip|{{key|Enter ↵}}|ENTER}}
  
:*X and Y represent the range of values you want to execute with <argument2>.
+
{{tooltip|{{key|Shift &nbsp; &nbsp;}}|SHIFT}}
:*Z is the size of the step you want to make while you cycle through the range.
+
{{tooltip|{{key|Z}}|Z}}
 +
{{tooltip|{{key|X}}|X}}
 +
{{tooltip|{{key|C}}|C}}
 +
{{tooltip|{{key|V}}|V}}
 +
{{tooltip|{{key|B}}|B}}
 +
{{tooltip|{{key|N}}|N}}
 +
{{tooltip|{{key|M}}|M}}
 +
{{tooltip|{{key|, &nbsp;}}|,}}
 +
{{tooltip|{{key|. &nbsp;}}|.}}
 +
{{tooltip|{{key|/ &nbsp;}}|/}}
 +
{{tooltip|{{key|Shift &nbsp; &nbsp; &nbsp; &nbsp;}}|RSHIFT}}
  
If you wanted a value range of 1 through 10 and you wanted to increment your value by 2 each time the command was executed, you'd make X Y Z into 1 10 2. Each time it executes, <argument2> will execute with an incrementing value of 2, 4, 6, 8, 10, 2, 4, 6, 8, 10... and so forth.
+
{{tooltip|{{key|Ctrl &nbsp;}}|CTRL}}
 +
{{tooltip|{{key|⊞}}|LWIN}}
 +
{{tooltip|{{key|Alt}}|ALT}}
 +
{{tooltip|{{key|&nbsp; &nbsp; &nbsp; Spacebar &nbsp; &nbsp; &nbsp;}}|SPACE}}
 +
{{tooltip|{{key|⊞}}|RWIN}}
 +
{{tooltip|{{key|Alt}}|RALT}}
 +
{{tooltip|{{key|Menu}}|bind 설정할 수 없음}}
 +
{{tooltip|{{key|Ctrl &nbsp; &nbsp;}}|RCTRL}}
  
Here is a real example of incrementvar in action:
+
|<!-- 띄어쓰기용 -->
 +
|
 +
{{tooltip|{{key|PrtScn}}|bind 설정할 수 없음}}
 +
{{tooltip|{{key|ScrLk}}|SCROLLLOCK}}
 +
{{tooltip|{{key|Pause}}|PAUSE}}
  
:'''bind "n" "incrementvar net_graphpos 1 3 1"'''
+
{{tooltip|{{key|Insert &nbsp;}}|INS}}
 +
{{tooltip|{{key|Home}}|HOME}}
 +
{{tooltip|{{key|PgUp}}|PGUP}}
  
This binds the key "n" to cycle to the next position in the 3 available net_graph positions.
+
{{tooltip|{{key|Delete}}|DEL}}
 +
{{tooltip|{{key|&nbsp; End &nbsp;}}|END}}
 +
{{tooltip|{{key|PgDn}}|PGDN}}
  
==+ 와 - 명령어==
 
These commands have two states. While the bound key is pressed, the '''+''' command executes and continues to execute. When the key is released, the '''-''' command executes and continues to execute.
 
  
Example:
+
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{{tooltip|{{key|&uarr;}}|UPARROW}}
:'''bind "c" "+duck"
 
  
This + command is bound to "c" so whenever the key is pressed, the player ducks. Whenever the key is released, "+duck" is swapped to "-duck" and the player stops ducking.
+
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {{tooltip|{{key|&larr;}}|LEFTARROW}}
 +
{{tooltip|{{key|&darr;}}|DOWNARROW}}
 +
{{tooltip|{{key|&rarr;}}|RIGHTARROW}}
 +
|<!-- 띄어쓰기용 -->
 +
|
  
In general, if a command or alias is bound to a key, a + tells the game to run the command as long as the key is held. Similarly, if a command or alias is bound to a key, a - tells the game to run the command when the key is released.
+
{{Scripting Numpad}}
 +
|}
  
If an alias is defined with a + in front of it, the alias will be run whenever the key is pressed, as the key is pressed. The - command will then run as the key is released.
+
{|
 +
! align="left"| 마우스의 버튼
 +
! 스크립트에 사용하는 이름
 +
|-
 +
| 휠 위로 올리기
 +
| MWHEELUP
 +
|-
 +
| 휠 아래로 내리기
 +
| MWHEELDOWN
 +
|-
 +
| 좌클릭
 +
| MOUSE1
 +
|-
 +
| 우클릭
 +
| MOUSE2
 +
|-
 +
| 휠 클릭
 +
| MOUSE3
 +
|-
 +
| 앞으로 가기 버튼
 +
| MOUSE4
 +
|-
 +
| 뒤로 가기 버튼
 +
| MOUSE5
 +
|}
  
==대기 명령어==
 
If you want the game to delay for a period of time during an alias, or if you want to avoid client crashes caused by executing commands too quickly, use the '''wait''' command.
 
  
The wait command tells the game to delay the next command in the script by one physics frame, something like a full turn in the TF2 rules. It accepts values such as "wait 50", telling the game to wait fifty frames before the alias continues. "wait 100" is roughly a second on a 100 FPS server.
+
이를 이용해 다음과 같은 명령을 만들어 설정 파일에 저장할 수 있습니다: {{code|bind "KP_ENTER" "voicemenu 0 6"}}. 넘버패드의 {{key|Enter}}키를 누르면 음성 명령어 '그래'가 나옵니다.
  
Some servers disable the wait command. While playing on them, wait commands will be ignored, making some scripts susceptible to crashes. A script containing an indeterminate loop spaced by wait commands will always immediately hang upon usage on such servers.
+
== 유용한 명령어 ==
 +
{{Main|vdc:List of TF2 console commands and variables|l1=팀 포트리스 2 콘솔 명령어와 변수 목록}}
  
==Aliases==
+
===변장===
An '''alias''' is like a variable that stores a series of commands which can be executed as a group. A simple alias will take the form:
+
<code>disguise</code> 명령어는 두 값을 사용하며, 첫 번째 값은 병과를, 두 번째 값은 팀을 나타냅니다.
 +
:'''병과'''
 +
:1. 스카웃
 +
:2. 스나이퍼
 +
:3. 솔저
 +
:4. 데모맨
 +
:5. 메딕
 +
:6. 헤비
 +
:7. 파이로
 +
:8. 스파이
 +
:9. 엔지니어
  
'''alias "aliasname" "command1; command2; command3"'''
+
:''''''
 +
:1. 블루 팀
 +
:2. 레드 팀
 +
:-1. 상대 팀
 +
:-2. 자신의 팀
  
You can then execute the commands through a bound key:
+
예를 들어, <code>disguise 5 1</code>은 블루 팀의 메딕으로 변장하게 하며, <code>disguise 7 -2</code>은 같은 팀의 파이로로 변장하게 합니다.
 +
:''주석:'' <code>disguise 8 -2</code> (같은 팀 스파이로 변장)은 스파이의 변장을 해제하게 합니다. 은폐 상태에서 변장을 해제할 수 있습니다
 +
:''주석:'' 팀을 나타내는 값이 1, 2, -1, 또는 -2가 아닐 경우 스파이는 현재 팀에 상관없이 무조건 레드 팀으로 변장하게 됩니다.
  
'''bind "key" "aliasname"'''
+
=== 구조물 ===
 +
<code>build</code>와 <code>destroy</code> 명령어는 두 값을 사용하며, 첫 번째 값은 구조물을, 두 번째 값은 구조물의 타입을 결정합니다. 두 번째 값은 <code>0</code>이 아닌 값을 사용할 경우에만 필요하며, 현재 텔레포터의 입구와 출구를 구분하는 데만 사용됩니다.
  
Whenever the key is pressed, "command1", "command2", and "command3" are executed in order.
 
  
===Complex aliases===
+
<code>build</code> 명령어는 구조물을 설치하기 위한 청사진을 꺼내며, 스파이의 경우 [[Sapper/ko|전자 교란기]]를 꺼내게 됩니다.
Aliases can execute any command including other aliases. Furthermore, an alias can execute an alias in order to redefine that alias's commands. This allows you to create cycling aliases. Here is a very simple example:
+
:<code>build 0 0</code> 명령어는 [[Dispenser/ko|디스펜서]]를 설치합니다. <small>(엔지니어 전용)</small>
 +
:<code>build 1 0</code> 명령어는 [[teleporter/ko|텔레포터 입구]]를 설치합니다. <small>(엔지니어 전용)</small>
 +
:<code>build 1 1</code> 명령어는 [[teleporter/ko|텔레포터 출구]]를 설치합니다. <small>(엔지니어 전용)</small>
 +
:<code>build 2 0</code> 명령어는 [[Sentry Gun/ko|센트리 건]]을 설치합니다. <small>(엔지니어 전용)</small>
 +
:<code>build 3 0</code> 명령어는 [[Sapper/ko|전자 교란기]]를 설치합니다. <small>(스파이 전용)</small>
  
'''bind "key" namescroll'''
+
비슷하게, <code>destroy</code> 명령어는 구조물을 파괴합니다.
'''alias namescroll "firstname" '''
+
:<code>destroy 0 0</code> 명령어는 디스펜서를 파괴합니다. <small>(엔지니어 전용)</small>
'''alias firstname "setinfo name ""First_name""; alias namescroll secondname" '''
+
:<code>destroy 1 0</code> 명령어는 텔레포터 입구를 파괴합니다. <small>(엔지니어 전용)</small>
'''alias secondname "setinfo name ""Second_name""; alias namescroll thirdname"'''
+
:<code>destroy 1 1</code> 명령어는 텔레포터 출구를 파괴합니다. <small>(엔지니어 전용)</small>
'''alias thirdname "setinfo name ""Third-name""; alias namescroll firstname"'''
+
:<code>destroy 2 0</code> 명령어는 센트리 건을 파괴합니다. <small>(엔지니어 전용)</small>
 +
:''주석:'' 전자 교란기와 전자 교란기가 설치된 구조물은 파괴할 수 없습니다.
  
This is difficult to read, so to break it down.
+
<code>build</code> 명령어는 하나의 값만 사용할 수도 있습니다.
 +
:<code>build 0</code> 명령어는 디스펜서를 설치합니다. <small>(엔지니어 전용)</small>
 +
:<code>build 1</code> 명령어는 텔레포터 입구를 설치합니다. <small>(엔지니어 전용)</small>
 +
:<code>build 2</code> 명령어는 센트리 건을 설치합니다. <small>(엔지니어 전용)</small>
 +
:<code>build 3</code> 명령어는 텔레포터 출구를 설치합니다. <small>(엔지니어 전용)</small>
 +
:<code>build 3</code> 명령어는 전자 교란기를 설치합니다. <small>(스파이 전용) [더 이상 사용되지 않음]</small>
  
*The first line binds "key" to an alias "namescroll" which we have yet to define.
+
=== 음성 호출 ===
*The second line creates the alias "namescroll" which executes the command "firstname"
+
<code>voicemenu</code> 명령어는 메뉴 값과 명령 값인 두 값을 사용합니다.
*The third line defines the "firstname" alias as two commands:
+
{|
:*The first command sets your in-game name to "First_name"
+
! width="25%" <!-- 키보드 -->|
:*The second command redefines the alias "namescroll" as an alias for executing the alias "secondname"
+
! width="03%" <!-- 띄어쓰기 -->|
*The fourth line defines "secondname" in the same manner.  A different in-game name is set, and then "namescroll" is redefined to another alias "thirdname"
+
! width="25%" <!-- 키보드 -->|
*The fifth line defines "thirdname" just like the two before it, but with a twist.  It redefines the "namescroll" alias as executing the "firstname" alias.
+
! width="03%" <!-- 띄어쓰기 -->|
 +
! width="25%" <!-- 키보드 -->|
 +
|-
 +
|
 +
*<code>voicemenu 0</code>
 +
*:0: 메딕!
 +
*:1: 고맙다!
 +
*:2: 돌격! 돌격! 돌격!
 +
*:3: 이동하라!
 +
*:4: 왼쪽으로 이동하라
 +
*:5: 오른쪽으로 이동하라
 +
*:6: 그래
 +
*:7: 아니
 +
*:8: 내게 넘겨!
  
This completes a loop. Each press of the key executes a command and redefines the alias bound to the key, so that when it is next pressed it will execute a different command. If there were no loop, then the alias "namescroll" wouldn't always have another alias to execute with each keypress.
+
|<!-- 띄어쓰기용 -->
 +
|
 +
*<code>voicemenu 1</code>
 +
*:0: 적이다!
 +
*:1: 스파이다!
 +
*:2: 전방에 센트리!
 +
*:3: 여기 텔레포터가 필요하다
 +
*:4: 여기 디스펜서가 필요하다
 +
*:5: 여기 센트리가 필요하다
 +
*:6: 우버를 발동하라!
 +
*:7: 메딕: 우버차지 준비 완료
 +
*:8: 내게 넘겨!
  
===Alias 전환===
+
|<!-- 띄어쓰기용 -->
 +
|
 +
*<code>voicemenu 2</code>
 +
*:0: 도와줘!
 +
*:1: 전투 함성
 +
*:2: 격려
 +
*:3: 야유
 +
*:4: 긍정적
 +
*:5: 부정적
 +
*:6: 훌륭한 사격이군!
 +
*:7: 잘했어!
 +
|}
  
Aliases can be used to toggle the state of some command between values (eg toggle '''cl_showfps''' between 0 and 1). This example demonstrates creating a generic toggle:
+
:''주석'': 음성 호출 메뉴를 표시하려면 <code>voicemenu # #</code>이 아닌 <code>voice_menu_#</code> 명령어를 사용해야 하며, 1부터 3까지의 숫자를 넣을 수 있습니다.
  
'''alias ToggleStateA "do A stuff; alias ToggleControl ToggleStateB"'''
+
=== 유레카 효과 텔레포트 ===
'''alias ToggleStateB "do B stuff; alias ToggleControl ToggleStateA"'''
+
<code>eureka_teleport</code> 명령어는 [[Eureka Effect/ko|유레카 효과]]를 들고 있는 엔지니어를 기지나 텔레포터 출구로 순간이동 시킵니다.
'''alias ToggleControl ToggleStateA'''
+
*<code>eureka_teleport 0</code> 명령어는 플레이어를 기지로 순간이동 시킵니다.
'''bind {toggle button} ToggleControl'''
+
*<code>eureka_teleport 1</code> 명령어는 플레이어를 텔레포터 출구로 순간이동 시킵니다.
  
*The first line defines the first state and also tells the control to set the second state when next executed
+
:''주석:'' 명령어가 작동해도 콘솔에 "Unknown command" 라고 나타나게 됩니다.
*The second line defines the second state and also tells the control to set the first state when next executed
 
*The third line defines the control and initializes it to set the first state
 
*The last line binds the toggle control to the button with which you want to toggle
 
  
===Alias 스위칭===
+
=== 종합 ===
 +
*<code>clear</code> 명령어는 콘솔의 모든 정보를 지웁니다.
 +
*<code>alias</code> 명령어는 모든 정의된 alias를 표시합니다.
 +
*<code>fov_desired (20-90)</code> 명령어는 [[Field of View/ko|시야]]를 설정합니다.
 +
*<code>viewmodel_fov </code> 명령어는 무기 모델의 시야를 조정합니다.
 +
*<code>r_drawviewmodel (0/1)</code> 무기 모델을 키거나 (1), 끕니다 (0).
 +
*<code>lastdisguise</code> 명령어는 이전 변장으로 다시 변장하게 합니다. <small>(스파이 전용)</small>
 +
*<code>load_itempreset (0-3)</code> 명령어는 장비 설정을 A/B/C/D 로 변경합니다.
 +
*<code>say message</code> 명령어는 채팅에 메시지를 보냅니다.
 +
*<code>say_team message</code> 명령어는 팀 채팅에 에시지를 보냅니다.
 +
*<code>say_party message</code> 명령어는 파티 채팅에 메시지를 보냅니다.
 +
*<code>+taunt</code> 명령어는 플레이어의 도발 메뉴를 엽니다.
 +
*<code>+use_action_slot_item</code> 명령어는 플레이어가 액션 아이템을 사용하게 합니다.
 +
*<code>volume (0-1)</code> 명령어는 게임 내 불륨을 설정합니다.
 +
*<code>taunt_by_name (name)</code> 명령어는 도발 메뉴를 열지 않고 현재 플레이어의 무기 도발을 실행합니다.
  
You can use the states of a set of aliases to rebind a key to something and back to its original.  eg:
+
== 고급 스크립트 ==
alias +AlternateBinds "bind Q do_B_stuff"
+
=== 키다운 토글 ===
alias -AlternateBinds "bind Q do_A_stuff"
+
꾹 누르고 있어야 하는 명령어를 토글로 설정하게 합니다.
bind {bind switching key} +AlternateBinds
 
  
To execute do_B_stuff you would need to press both the bind switching key and Q.
+
<pre>bind w toggle_movement
 +
alias toggle_movement enable_movement
 +
alias enable_movement "alias toggle_movement disable_movement;+forward"
 +
alias disable_movement "alias toggle_movement enable_movement;-forward"</pre>
 +
이 스크립트는 {{key|W}} 키를 한 번 누르면 {{key|W}}키가 다시 눌리기 전까지 플레이어가 앞으로 이동하게 합니다.
  
===명령어 반복===
+
=== 조합키 ===
Aliases can be used in conjunction with the wait command to create looping aliases.<br>
+
하나의 키를 누르고 있는 동안 다른 키를 누름으로써 다른 행동을 취하는 스크립트를 만들 수 있습니다.
 
''Warning:Not having the wait in place, or being on a server with wait disabled will cause this example to crash TF2.''<br>
 
'''alias "Loop" "echo Looping every 150 ticks.;wait 150;Loop"'''
 
'''Loop'''
 
  
Lets break this down into components:<br>
+
<pre>bind e call
Line 1<br>
+
alias call Call_For_Medic
The echo displays a message to the console, just so you know it works.
+
alias Call_For_Medic "voicemenu 0 0"
The wait makes it wait 150 ticks between iterations
+
alias Call_For_Ubercharge "voicemenu 1 6"</pre>
Loop calls the alias again, restarting at the echo.
+
이 스크립트는 {{key|E}}가 눌릴 때마다 플레이어가 메딕을 부르게 하며, 사용되지 않은 [[ÜberCharge/ko|우버차지]]를 요청하는 alias도 있습니다.
 +
<pre>bind shift +toggleState
 +
alias +toggleState "alias call Call_For_Ubercharge"
 +
alias -toggleState "alias call Call_For_Medic"</pre>
 +
이제, {{key|Shift}}를 누르고 있으면 <code>call</code> alias가 우버차지를 요청하도록 변경하며, {{key|Shift}}를 떼면 다시 <code>call</code> alias가 메딕을 부르도록 합니다.
  
Line 2
+
만약 여러 키 조합을 하나의 토글로 연결하고 싶다면 첫 단계를 반복해야 합니다.
Loop starts the looping alias.
+
<pre>bind f thank
 +
alias thank Thank_Player
 +
alias Thank_Player "voicemenu 0 1"
 +
alias Good_Work "voicemenu 2 7"</pre>
 +
이 줄 다음엔 두 번째 단계와 비슷하게 만들면 됩니다.
  
You can also create loops of alias commands, like this example:
+
<pre>bind shift +toggleState
'''alias "Loop1" "echo Loop 1;wait 150;Loop2"'''
+
alias +toggleState "alias call Call_For_Ubercharge;alias thank Thank_Player"
'''alias "Loop2" "echo Loop 2;wait 150;Loop1"'''
+
alias -toggleState "alias call Call_For_Medic;alias thank Good_Work"</pre>
 +
이 스크립트는 다음과 같습니다.
 +
<pre>bind e call
 +
alias call Call_For_Medic
 +
alias Call_For_Medic "voicemenu 0 0"
 +
alias Call_For_Ubercharge "voicemenu 1 6"
  
Loop1 calls Loop2 which in turn calls Loop1, etc...
+
bind f thank
This method can also be used for breaking a loop without clearing the loop alias:
+
alias thank Thank_Player
'''alias "Loop1" "echo Loop1;wait 150;Loop2"'''
+
alias Thank_Player "voicemenu 0 1"
'''alias "Loop2" "Loop1"'''
+
alias Good_Work "voicemenu 2 7"
This would create a loop, then
 
'''alias "Loop2"'''
 
would break it, by clearing the Loop2 alias.
 
  
You can use these for button presses(Via the +/- prefixes covered earlier) like this:
+
bind shift +toggleState
'''alias "Loop2" "Loop1"'''
+
alias +toggleState "alias call Call_For_Ubercharge;alias thank Thank_Player"
'''alias "Loop1" "echo Loop1;wait 150;Loop2"'''
+
alias -toggleState "alias call Call_For_Medic;alias thank Good_Work"</pre>
'''alias "+Loop" "alias Loop2 Loop1;Loop2"'''
 
'''alias "-Loop" "alias Loop2"'''
 
'''bind "<Key>" "+Loop"'''
 
In order of what it's doing:
 
  
1. Make Loop2 point to Loop1
+
=== wait 비활성화 확인 ===
2. Make Loop1 echo 'Loop1' to the console
+
<code>wait</code> 명령어가 몇몇 스크립트에 중요하게 사용되기 때문에, 서버가 <code>wait</code> 명령어를 비활성화 시켰는지 확인하는 것이 중요할 수 있습니다.
3. wait 150
 
4. call Loop2
 
5. make +Loop point Loop2 to Loop1
 
6. run Loop2
 
7. make -Loop clear Loop2's link, breaking the loop.
 
  
== 유용한 스크립트 명령어들 ==
+
<pre>alias waitTester "alias waitTest waitPositive;wait;waitTest"
There are literally hundreds of different arguments for your script that can make them do almost anything. Here's a list of a few of them.
+
alias wait "alias waitTest waitNegative"
 +
alias waitPositive "echo Wait is enabled on this server.;exec waitPositive.cfg"
 +
alias waitNegative "echo Wait is DISABLED on this server!;exec waitNegative.cfg"
 +
waitTester</pre>
 +
이 스크립트는 서버 내 <code>wait</code> 명령어가 비활성화 되어있다면 wait 이름으로 alias를 만들 수 있다는 것을 이용합니다. 따라서, 스크립트는 먼저 <code>waitPositive</code>를 가리키는 <code>waitTest</code> alias를 만들고, <code>wait</code> 명령어가 서버 비활성화 되어있다면 <code>waitNegative</code>를 가리키게 됩니다.
  
===음성 명령어===
+
=== 반복문 ===
A '''voice command''' is the act of making your class say something, often used in gameplay as a way of either signaling information or just for goofing-off.
+
:'''경고: wait 명령어가 없는 반복문은 팀 포트리스 2 클라이언트를 멈출 수 있습니다. wait 비활성화 확인 스크립트를 사용한 다음에 반복문 스크립트를 사용하는 것을 매우 권장합니다.'''
 +
일반적으로, alias가 자신을 가리키게 하는 것은 초기화 할 수 없어 쓰이지 않습니다. 따라서, 반복문은 기다리는 부분과 반복하는 부분으로 나뉘어 만들어집니다.
  
Voice commands are used with the following syntax;
+
<pre>bind g loopKey
 +
alias loopKey startLoop
 +
alias startLoop "alias loopKey stopLoop;+attack;alias redirect loop;loop"
 +
alias stopLoop "-attack;alias redirect;alias loopKey startLoop"
 +
alias loop "+left;wait 33;-left;+right;wait 33;-right;redirect"</pre>
  
'''voicemenu <menu_number> <phrase_number>
+
이 스크립트는 {{key|G}}가 눌리면 33프레임 (약 0.5초)마다 시점을 앞과 뒤로 바꾸면서 공격하는 반복문입니다. {{key|G}}를 다시 누르면 반복이 멈추게 됩니다.
 +
 
 +
=== Sequence === <!-- 번역 필요할 수 있음 -->
 +
<pre>alias +pyrocombo "slot1;+attack;wait 32;slot2"
 +
alias -pyrocombo "-attack;slot1"</pre>
 +
이 스크립트는 sequence를 시작하는 alias와, sequence를 끝내는 alias로 구성되었습니다. sequence는 키를 뗄 때까지 32 프레임마다 [[Degreaser/ko|기름떼 제거기]]와 [[Panic Attack/ko|공황 공격]]으로 무기를 바꾸며 공격합니다. Sequence는 이렇게 사용할 수도 있습니다:
 +
<br><pre>alias quickscope "slot1;+attack2;wait 32;+attack;wait 16;-attack;-attack2"</pre>
 +
이 스크립트는 스나이퍼가 [[Sniper Rifle/ko|저격소총]]으로 퀵스코프를 하게 합니다.
 +
sequence는 스크립트를 만드는데 유용하며,  어떻게 만드는 지 알면 이후 스크립트를 만드는데 도움이 될 것입니다.
 +
 
 +
=== Cycle 스크립트 === <!-- 번역 필요할 수 있음 -->
 +
cycle 스크립트는 최소 3가지의 옵션이 있는 토글 스크립트입니다:
 +
<pre>
 +
alias message_1 "say message 1.; bind x message_2"
 +
alias message_2 "say message 2.; bind x message_3"
 +
alias message_3 "say message 3.; bind x message_1"
 +
bind x message_1
 +
</pre>
 +
이 스크립트는 {{key|X}} 키를 누를 때마다 채팅에 "message 1"→"message 2"→"message 3"→"message 1" 순서로 바뀌면서 글을 남깁니다.
  
Where <menu_number> is the one of the 3 menus where voice commands are spread out through <phrase_number> is one of the 7 voice commands that are within each <menu_number> menu.
+
{{note|콘솔 변수를 변경할 때 <code>[[vdc:toggle|toggle]]</code>, <code>[[vdc:incrementvar|incrementvar]]</code>, and <code>[[vdc:multvar|multvar]]</code> 명령어를 alias 대신 사용할 수 있습니다.}}
  
====음성 명령어를 위한 구문====
+
=== Selection 스크립트 === <!-- 번역 필요할 수 있음 -->
*0 <phrase_number>
+
selection 스크립트는 cycle을 더 이용하기 쉽게 합니다. selection 스크립트는 순서를 한 방향이 아닌 두 방향으로 만들어 어떤 명령어를 실행할 지 더 쉽게 알도록 합니다.
*:0: 메딕
+
<pre>
*:1: Thanks
+
alias CondC_UP Cond1
*:2: Go
+
alias CondC_DOWN Cond5
*:3: Move Up
+
alias ApplyCond ApplyCond33
*:4: Flank Left
+
alias ApplyCond33 "addcond 33"
*:5: Flank Right
+
alias ApplyCond49 "addcond 49"
*:6: Yes
+
alias ApplyCond72 "addcond 72"
*:7: No
+
alias ApplyCond74 "addcond 74"
*1 <phrase_number>
+
alias ApplyCond90 "addcond 90"
*:0: Incoming
+
alias Cond1 "alias CondC_UP Cond2;alias CondC_DOWN Cond5;alias ApplyCond ApplyCond33"
*:1: Cloaked Spy
+
alias Cond2 "alias CondC_UP Cond3;alias CondC_DOWN Cond1;alias ApplyCond ApplyCond49"
*:2: Sentry Ahead
+
alias Cond3 "alias CondC_UP Cond4;alias CondC_DOWN Cond2;alias ApplyCond ApplyCond72"
*:3: Teleporter Here
+
alias Cond4 "alias CondC_UP Cond5;alias CondC_DOWN Cond3;alias ApplyCond ApplyCond74"
*:4: Dispenser Here
+
alias Cond5 "alias CondC_UP Cond1;alias CondC_DOWN Cond4;alias ApplyCond ApplyCond90"
*:5: Sentry Here
+
</pre>
*:6: Activate ÜberCharge
+
이 스크립트는 어떤 조건을 플레이어에게 줄 지 더 쉽게 통제할 수 있으며, 더 쉽게 사용할 수 있습니다.
*:7: (Medic Only) ÜberCharge Ready
 
*2 <phrase_number>
 
*:0: Help
 
*:1: Battlecry
 
*:2: Cheers
 
*:3: Jeers
 
*:4: Positive
 
*:5: Negative
 
*:6: Nice Shot
 
*:7: Good Job
 
  
===빠른 스파이 변장===
+
=== 무작위 스크립트 ===
With these quick and easy commands, you can bind keys to specific disguises instead of having to flip through the disguise menu.
+
무작위 스크립트는 거의 쓰이지 않지만, 거래 광고 등 채팅에 사용할 때 유용할 수 있습니다.
  
Disguise commands are used with the following syntax:
+
'''주석: 팀 포트리스 2 스크립트의 특성 때문에, 이 부분이 굉장히 길 수 있습니다. cycle에 대해 잘 모를 경우 사용에 어려울 수 있습니다.'''
 +
<pre>
 +
alias call f1
 +
alias cycle c2
  
'''disguise <class_number> <team_number>
+
alias c1 "alias cycle c2;alias call f1"
 +
alias c2 "alias cycle c3;alias call f2"
 +
alias c3 "alias cycle c4;alias call f3"
 +
alias c4 "alias cycle c5;alias call f4"
 +
alias c5 "alias cycle c1;alias call f5"
  
Where <class_number> is the number of the class you wish to disguise as, and <team_number> the number of the team you wish to disguise as.
+
alias f1 "say 1"
 +
alias f2 "say 2"
 +
alias f3 "say 3"
 +
alias f4 "say 4"
 +
alias f5 "say 5"
  
====Arguments for disguise commands====
+
alias +w "+forward;cycle"
*1 <class_number>
+
alias -w "-forward;cycle"
*:1: Scout
+
alias +a "+moveleft;cycle"
*:2: Sniper
+
alias -a "-moveleft;cycle"
*:3: Soldier
+
alias +s "+back;cycle"
*:4: Demoman
+
alias -s "-back;cycle"
*:5: Medic
+
alias +d "+moveright;cycle"
*:6: Heavy
+
alias -d "-moveright;cycle"
*:7: Pyro
 
*:8: Spy
 
*:9: Engineer
 
  
*2 <team_number>
+
bind o call
*:1: BLU team
+
bind w +w
*:2: RED team
+
bind a +a
*:-1: Opposite team
+
bind s +s
*:-2: Same team
+
bind d +d
 +
</pre>
 +
이 스크립트는 여러 alias 값을 할당하고 해제합니다. {{key|WASD}} 키가 눌리면, cycle 명령어가 실행되며, cycle의 값이 다음 cycle로 넘어가고 "call" 명령어에 설정합니다. 이는 플레이어의 움직임에 영향을 받습니다. 반복문 등을 이용하면 더 무작위로 만들 수 있습니다.
  
===엔지니어 빠른 건물제작===
+
=== Timed action === <!-- 번역 -->
Similar to the [[Spy]]'s quick disguise, this allows the [[Engineer]] to bypass his [[PDA]] interface and instantly destroy an existing building type, while simultaneously pulling up blueprints to place a new building of the same type.
+
Timed action은 어떤 키가 특정 시간만큼 눌려있을 경우 실행됩니다. 이는 키가 눌렸을 때 바로 실행되지 않아야 하는 스크립트를 만들 때 사용될 수 있습니다.
  
Building commands are used with the following syntax:
+
<pre>
 +
alias "+ti_zoom" "alias zoom_con zoomOn; wait 132; zoom_con"
 +
alias "-ti_zoom" "zoomOff; alias zoom_con ; rb_tizoom-M4"
 +
alias "rb_tizoom-M4" "unbind mouse4; wait 132; bind mouse4 +ti_zoom"
 +
alias "zoomOn" "fov_desired 20; r_drawviewmodel 0"
 +
alias "zoomOff" "fov_desired 90; r_drawviewmodel 1"
 +
bind "mouse4" "+ti_zoom"
 +
</pre>
  
'''build <building_number><br>
+
{{key|Mouse 4}}를 누르고 바로 떼는 경우 아무 효과가 없으나, 2초간 누르고 있으면 시야를 20으로 줄이며, 무기 모델을 끕니다. {{key|Mouse 4}}를 아무 때나 떼면 이 설정을 원래대로 돌립니다.
'''destroy <building number>
 
  
Where <building_number> is the number of the building you wish to destroy or pull up blueprints for.
+
이 스크립트는 +와 - alias를 사용하여 만들어집니다. <code>+ti_zoom</code>를 누르면 <code>zoom_con</code>를 재정의하며 스크립트가 실행되며, <code>wait</code> 기간 동안 눌러진 상태가 되면 스크립트를 실행합니다. 하지만, 키를 떼면 <code>zoom_con</code>가 아무 것도 실행되지 않도록 재정의됩니다. 이후 같은 <code>wait</code> 기간동안 키를 해제하고, 이후 다시 정의합니다.
  
====Arguments for building commands====
+
'''주석:''' 키를 다시 bind하는 것은 스크립트가 키가 눌리지 않으면 실행되지 않기 때문에 과도한 부분입니다. 하지만, 키가 여러 번 눌리면 스크립트가 실행될 수 있기 때문에, <code>wait</code> 명령어가 이를 막습니다.
*Number: Building/Destroying
 
*:0: Dispenser
 
*:1: Teleporter Entrance
 
*:2: Sentry Gun/Minisentry
 
*:3: Teleporter Exit
 
  
An example of how to implement the above syntax is as follows:
+
=== 기본 조건문 ===
 +
기본 조건문은 스크립트가 완전히 새로운 스크립트를 실행하지 않아도 행동을 바꾸게 합니다. 더미 alias를 만듦으로써 입력에 따라 출력을 바꿀 수 있습니다. 기본 조건문은 명령의 상태에 따라 무한히 많은 행동을 취할 수 있으나, 한 조건문 당 많은 조건을 쓰진 않습니다.
  
 +
기본 조건문의 예시는 다음과 같습니다:
 
<pre>
 
<pre>
alias sentry "destroy 2; build 2"
+
alias "check_test" "check1; check2; test"
alias dispenser "destroy 0; build 0"
+
alias "check1" ""
alias entrance "destroy 1; build 1"
+
alias "check2" ""
alias exit "destroy 3; build 3"
+
alias "test" "success"
bind f1 sentry
+
 
bind f2 dispenser
+
alias "fail_check" "alias test failure"
bind f3 entrance
+
 
bind f4 exit
+
alias "success" "echo SUCCESS!"
 +
alias "failure" "alias test success; echo FAILURE!"
 +
 
 +
alias "+k" "alias check1 fail_check"
 +
alias "-k" "alias check1"
 +
alias "+j" "alias check2 fail_check"
 +
alias "-j" "alias check2"
 +
 
 +
bind "l" "check_test"
 +
bind "j" "+j"
 +
bind "k" "+k"
 
</pre>
 
</pre>
  
In this example, buildings are bound to the F1-F4 keys so that they do not interfere with weapon selection keys. When activated, the script will instantly and irreversibly destroy an existing building of the listed type, while pulling up the [[Engineer]]'s blueprints of the destroyed building's same type, ready to deploy. This script will still function if only one or two building types are used (in case you only want to map Sentry quickbuilding to a single key).
+
이 스크립트의 주요 부분은 <code>check_test</code> alias입니다. 스크립트를 실행하면, 이 alias가 2개의 조건을 확인하며, 조건에 알맞은 경우 <code>success</code> alias를 실행합니다. 하나의 조건이라도 알맞지 않으면 더미 alias인 <code>test</code>가 <code>failure</code>를 실행하게 합니다. 간단히 말해, 조건에 알맞으면 <code>test</code>가 가리키는 alias를 실행하지 않고, 조건에 알맞지 않으면 <code>test</code>가 가리키는 alias를 실행합니다.
 +
 
 +
위 예시의 경우, {{key|J}}나 {{key|K}}를 누르지 않은 채로 {{key|L}}을 누르면 조건에 알맞게 되어 콘솔에 <code>SUCCESS!</code>를 표시하며,{{key|J}}나 {{key|K}}를 누른 채로 {{key|L}}을 누르면 조건에 알맞지 않게 되어 <code>FAILURE!</code>를 표시합니다.
 +
 
 +
실제로 사용하는 조건문 예시:
 +
<pre>
 +
// 움직이면 조준선의 색이 바뀌게 됩니다
 +
 
 +
alias "+w" "+forward; press_w"
 +
alias "+a" "+moveleft; press_a"
 +
alias "+s" "+back; press_s"
 +
alias "+d" "+moveright; press_d"
 +
alias "-w" "-forward; unpress_w"
 +
alias "-a" "-moveleft; unpress_a"
 +
alias "-s" "-back; unpress_s"
 +
alias "-d" "-moveright; unpress_d"
 +
 
 +
alias "press_w" "alias check_w pressed_w; chc_forward"
 +
alias "press_a" "alias check_a pressed_a; chc_left"
 +
alias "press_s" "alias check_s pressed_s; chc_back"
 +
alias "press_d" "alias check_d pressed_d; chc_right"
 +
alias "unpress_w" "alias check_w unpressed; check_none"
 +
alias "unpress_a" "alias check_a unpressed; check_none"
 +
alias "unpress_s" "alias check_s unpressed; check_none"
 +
alias "unpress_d" "alias check_d unpressed; check_none"
 +
 
 +
alias "check_w" "unpressed"
 +
alias "check_a" "unpressed"
 +
alias "check_s" "unpressed"
 +
alias "check_d" "unpressed"
 +
 
 +
alias "pressed_w" "dchk_fail; chc_forward"
 +
alias "pressed_a" "dchk_fail; chc_left"
 +
alias "pressed_s" "dchk_fail; chc_back"
 +
alias "pressed_d" "dchk_fail; chc_right"
 +
alias "unpressed" ""
 +
 
 +
alias "check_none" "check_s; check_a; check_d; check_w; dmy_check"
 +
alias "dmy_check" "chc_success"
 +
 
 +
alias "dchk_fail" "alias dmy_check chc_failure"
 +
alias "dchk_reset" "alias dmy_check chc_success"
 +
 
 +
alias "chc_failure" "dchk_reset"
 +
alias "chc_success" "chc_default"
 +
 
 +
alias "chc_default" "color0"
 +
alias "chc_forward" "color1"
 +
alias "chc_left" "color2"
 +
alias "chc_back" "color3"
 +
alias "chc_right" "color4"
 +
 
 +
// Bind
 +
bind "w" "+w"
 +
bind "a" "+a"
 +
bind "s" "+s"
 +
bind "d" "+d"
 +
 
 +
// 색
 +
alias "color0" "cl_crosshair_red 0; cl_crosshair_green 255; cl_crosshair_blue 0"        // 움직이지 않을 때의 기본 색
 +
alias "color1" "cl_crosshair_red 0; cl_crosshair_green 0; cl_crosshair_blue 255"        // 앞으로 가기를 눌렀을 때의 색
 +
alias "color2" "cl_crosshair_red 255; cl_crosshair_green 0; cl_crosshair_blue 255"      // 왼쪽으로 가기를 눌렀을 때의 색
 +
alias "color3" "cl_crosshair_red 128; cl_crosshair_green 212; cl_crosshair_blue 255"    // 뒤로 가기를 눌렀을 때의 색
 +
alias "color4" "cl_crosshair_red 255; cl_crosshair_green 140; cl_crosshair_blue 25"    // 오른쪽으로 가기를 눌렀을 때의 색
 +
</pre>
 +
 
 +
이 스크립트는 {{key|WASD}}를 누르며 움직일 때 조준선의 색이 바뀌게 합니다. 이 스크립트가 이용하는 중요한 것은 조건에 알맞지 않으면 여러 가지 행위를 한다는 것입니다. 조건에 알맞지 않으면 조준선이 색이 바뀌고, 조건을 확인하기 위한 더미 명령도 바꿉니다. 이는 여러 키가 눌리지 않으면, 조준선의 색을 가장 마지막에 누른 키에 맞는 색으로 바꿉니다.
 +
 
 +
== 코멘트 ==
 +
스크립트가 길어지면, 적절한 이름을 가진 alias가 필요해집니다. 하지만, 언제나 alias의 이름만으로 alias를 설명하기엔 무리일 수 있습니다. 두 개의 슬래시 (//)를 이용하면 코멘트를 달 수 있으며 스크립트는 이를 실행하지 않습니다.
 +
 
 +
<pre>voicemenu 1 6 //우버를 발동하라!</pre>
 +
음성 호출이 무엇을 가리키는 지 나타나지 않기 때문에, 코멘트로 설명할 수 있습니다.
 +
 
 +
== 주목할 만한 스크립트들 ==
 +
다음은 게임에 영향을 끼친 스크립트들입니다. 몇몇 스크립트는 패치되었고, 나머지 스크립트들은 현재 사용 가능합니다.
 +
 
 +
=== 패치된 스크립트들 ===
 +
==== 권총 스크립트 ====
 +
이전에, [[Pistol/ko|권총]]은 사람이 누르는 속도만큼 빠르게 쏠 수 있었습니다. 이에 키 하나만 누르면 굉장히 빠르게 쏠 수 있는 스크립트가 만들어졌습니다.
  
===메딕 자동호출===
+
{{Patch name|8|13|2009}}: 권총의 발사 속도 문제를 수정하여 플레이어가 발사 단추를 누르는 속도에 관계되지 않게 했습니다.
The player can control the Medic's autocall threshold through keybinds. The command is:
 
  
'''hud_medicautocallersthreshold <percentage>
+
==== 돌격 방패 조종 스크립트 ====
 +
이전에, 키보드 명령어로 화면을 돌리는 것은 마우스로 돌리는 것과 달랐습니다. [[Chargin' Targe/ko|돌격 방패]]는 플레이어가 화면을 돌릴 수 있는 속도에 제한을 둔 첫번째 무기이며, Valve는 마우스로 화면을 돌리는 속도에 제한을 두었습니다. 하지만, 키보드로 화면을 돌리는 것에 제한을 두지 않았고, 이후 이 제한을 무시하는 스크립트들이 만들어졌습니다.
  
The percentage is the percent health below which the autocall is triggered; 0 will show nothing, while 300 will show all nearby allies (since 300% is the maximum possible health).
+
{{Patch name|6|23|2011}}: 돌격 방패로 빨리 회전할 수 있었던 점을 수정했습니다.
  
This command can be used to make the popular "Medic Radar" script:
+
==== 공중에서 앉기 스크립트 ====
This set of aliases and commands will temporarily boost the [[Medic]]'s autocall threshold to 300% (which covers everyone, even a [[Spy]] who just [[overheal]]ed with a [[Conniver's Kunai]]) for as long as they hold a key down, allowing the player to see where all of their teammates are by their [[Medic]] autocall speech bubbles in the event they find themselves alone.
+
이전에, 플레이어는 공중에서 제한 없이 앉기를 누를 수 있었습니다. 이후 굉장히 빠르게 앉기를 눌렀다 떼는 스크립트를 만들어졌는데, 이 스크립트 때문에 공중의 적을 맞추기 힘들어졌었습니다.
  
  '''alias "autocall_default" "hud_medicautocallersthreshold "75""<br>
+
{{Patch name|3|6|2009}}: 이제 공중에서 두 번만 앉을 수 있습니다.
  '''alias "autocall_all" "hud_medicautocallersthreshold "300""<br>
 
  '''alias "+radar" "autocall_all"<br>
 
  '''alias "-radar" "autocall_default"<br>
 
  '''bind mouse3 "+radar"<br>
 
  
The default autocall value, or the autocall threshold when this command is not in use, can be adjusted to any desired number (in the example it is listed as 75% health) and the keybind to activate it can be changed as well (the example is bound to MOUSE3).
+
==== 잠수 스크립트 ====
 +
대부분의 서버가 잠수를 통해 [[Item drop system/ko|아이템을 획득]]하는 것을 막는 방법을 이용했습니다. 플레이어들은 이 시스템을 무시하는 스크립트를 만들었습니다.
  
==주목할만한 스크립트==
+
[http://www.teamfortress.com/post.php?id=11105 잠수를 막는 해결책]에서 플레이어가 팝업 알림을 확인해야 아이템을 계속 얻을 수 있도록 했습니다.
There are several notable scripts that have affected gameplay. Some of these are patched out, while others remain functional.
 
  
===패치된 스크립트===
+
=== 이용 가능한 스크립트들 ===
====Pistol scripts====
+
==== 무기 모델을 끄는 스크립트 ====
Originally, the [[Pistol]] could be fired almost as fast as the human hand could press a key. Realizing this, some people created scripts that made the Pistol fire as rapidly as possible as long as you held down the fire button. This not only allowed the [[Scout]] and [[Engineer]] to fire faster than most people could manage, but it was easier to aim because you weren't mashing any keys.
+
무기의 칸 등에 따라 무기 모델을 키고 끄는 스크립트가 많이 있습니다. 플레이어들은 무기 모델을 꺼 화면이 더 잘 보이게 하지만, 근접 무기 등은 모델을 켜놓는 경우가 있습니다. 에를 들어, [[Spy/ko|스파이]]는 은폐했을 때 무기 모델을 보는 것이 중요합니다. 또한 근접 무기가 상대에게 언제 맞는지 알기 위해 근접 무기 모델을 켜놓기도 합니다.
  
Valve eventually leveled the playing field. They patched the Pistol to have a lower max firing rate, which was reached by default whenever a player held down the attack key. The Pistol scripts were no longer necessary.
+
==== 무기 줌 스크립트 ====
 +
이 스크립트는 [[Field of View/ko|시야]]를 변경하여 어느 무기를 사용하든 줌 효과를 사용할 수 있게 합니다.
 +
  alias "+zoomer" "fov_desired 75; r_drawviewmodel 0"
 +
  alias "-zoomer" "fov_desired 90; viewmodel_fov 110; r_drawviewmodel 1"
 +
  bind "shift" "+zoomer"
  
====Targe turn scripts====
+
==== 센트리 건 점프 스크립트 ====
Originally, the keyboard commands to turn your viewpoint left and right were not treated the same as the mouse commands. The [[Chargin' Targe]] was the first weapon to create a restriction on how quickly you could turn your viewpoint, therefore Valve put a limit on mouse turn-speed, yet forgot to apply the same restriction to the keyboard command that resulted in the same action.
+
{{update link|Engineer Update}} 이후, 엔지니어는 [[Sentry Gun/ko|센트리 건]]을 들고 옮길 수 있습니다. 동시에, 같은 업데이트에서 [[Wrangler/ko|랭글러]]를 이용해 [[Jumping/ko#센트리 건 점프|센트리 건 점프]]를 할 수 있게 되었습니다. 굉장히 빠른 입력을 이용해 플레이어가 센트리 건 점프를 함과 동시에 센트리 건을 들 수 있는 것을 알아냈습니다.
  
Players made scripts that rebound keys whenever a player charged, allowing them to turn at full speed. The most sophisticated examples temporarily rebound the mouse x-axis inputs to the keyboard turn commands, then unbound them when the player attacked at the end of the charge.
+
사람이 이를 할 수도 있지만, 굉장히 어렵습니다. 이에 매 번 센트리 건으로 점프를 함과 동시에 센트리 건을 옮기는 스크립트가 만들어졌습니다.
 +
:''주석:'' [[Rescue Ranger/ko|구조대원]]은 먼 거리에서 100 [[metal/ko|금속]]을 이용해 [[buildings/ko|구조물]]을 옮길 수 있으므로 이를 더 쉽게 할 수 있습니다.
  
Valve eventually capped the keyboard turn commands as they did with the mouse commands, thus conferring no advantage to individuals who used the script.
+
==== 총잡이 스크립트 ====
 +
[[Combat Mini-Sentry/ko|소형 센트리 건]]을 부수고 다시 짓는 것이 번거로울 수 있기 때문에, 플레이어들은 소형 센트리 건을 부수고 다시 짓는 과정을 키 한 두 번만 눌러서 할 수 있는 스크립트를 만들었습니다. 이 스크립트는 [[Frontier Justice/ko|개척자의 정의]]의 복수 치명타와 함께 이용하면 매우 유용합니다.
  
However, it is still possible to write a script that will toggle sensitivity between extremely high values when charging and normal values when the player performs an attack. It is also possible to turn easily while using a gamepad's analog sticks.
+
==== 감도와 컨트롤 스크립트 ====
 +
몇몇 플레이어는 특정 병과에 따라 다른 감도와 컨트롤을 선호합니다. 예를 들어, 메딕은 조준이 많이 필요하지 않으나 스나이퍼는 정확한 조준이 필요하여 각각 다른 마우스 감도를 사용하고 싶어할 수 있습니다. 이 스크립트는 병과마다, 혹은 무기마다 마우스 감도 등의 설정을 바꿉니다.
  
====공중에서 앉기 스크립트====
+
==== 차지 대시 스크립트 ====
Originally, you could crouch as many times as you liked in a single jump. By binding a script to crouch and uncrouch as rapidly as possible, you could exploit the engine and make it difficult to properly register shots on jumping targets.
+
점프와 돌격의 타이밍을 잡는 것이 어려울 수 있어, 몇몇 플레이어는 키 하나만 눌러 돌격으로 가장 멀리 날아갈 수 있게 하는 스크립트를 만들었습니다. 플레이어는 근접 공격으로 돌격을 멈출 수도 있습니다.
  
Valve patched it so you could only crouch twice in a single jump.
+
==== 퀵스코프 스크립트 ====
 +
많은 플레이어가 스나이퍼로 조준을 하자마자 쏘는 것을 힘들어 합니다. 이 스크립트는 키 하나만 누르면 조준을 하자마자 쏘게 합니다. 하지만 조준을 하지 않은 상태에서 사용해야 합니다.
  
===Current Scripts===
+
==== 로켓 점프 스크립트 ====
====무기 숨기기 스크립트====
+
가장 높게나 가장 멀리[[Jumping/ko#솔저의 점프|로켓 점프]]를 하기 위해선 점프, 앉기와 로켓 쏘기를 거의 동시에 해야 합니다. 이는 스크립트를 통해 키 하나만 눌러서 쉽게 할 수 있습니다.
There are a large number of scripts which toggle the weapon display option depending on which weapon slot is selected for a class. Players often make their guns invisible to clear up the screen, but make items like melee weapons, PDAs, watches, and so forth visible because these models indicate important information. For example, the [[Spy]] relies heavily on his visible model to determine when he is cloaked, when his cloak is disturbed, and when the [[Dead Ringer]] activates. Other classes use the melee animations to judge when their attacks will hit.
 
  
====센트리 점핑 스크립트====
+
==== 자동 변장 스크립트 ====
Since the [[Engineer Update]], Engineers have been able to pack up and carry their [[Sentry Gun]]s. Simultaneously introduced in the update, the [[Wrangler]] allows Engineers to [[Sentry jump]] with their Sentry rockets. With extremely fast inputs, it was discovered that a player could Sentry jump and successfully pack up their Sentry before they were launched away.
+
수동으로 변장하는 것이 번거롭다고 생각한 플레이어들을 위한 이 스크립트는 어떤 무기든 공격하자마자 변장하게 합니다. 토글로 설정할 수 있고, 변장할 병과를 직접 설정할 수 있습니다.
  
While a human can repeat this feat, it is difficult. Some players made scripts which could reliably execute the commands in the right order at the right speed allowing them to make a Sentry jump while carrying their Sentry every time.
+
==== 우버차지 알림 스크립트 ====
 +
이 스크립트를 이용하면, [[Medic/ko|메딕]]이 우버차지를 사용하면 팀 채팅에 메시지를 남겨 팀이 같이 공격할 수 있게 합니다. 비슷한 스크립트로 "우버차지 준비 완료" 음성 호출을 사용하여 상대 팀을 속일 수 있습니다.
  
====Gunslinger Scripts====
+
==== 메딕 레이더 ====
Since it can be troublesome to destroy then rebuild a [[Combat Mini-Sentry]] in the heat of battle through the PDA, some players have scripted the destruction and rebuilding of their Combat Mini-Sentry with the click of one or two mouse buttons. Such a script is especially useful when using the [[Frontier Justice]], as the player gains practically instant access to revenge crits when needed.
+
<pre>alias "autocall_default" "hud_medicautocallersthreshold 75.730003/사용자 지정 숫자"
 +
alias "autocall_all" "hud_medicautocallersthreshold 150"
 +
alias "+radar" "autocall_all"
 +
alias "-radar" "autocall_default"
 +
bind [KEY] "+radar</pre>
 +
이 스크립트는 메딕으로만 사용 가능하며, 키를 누르면 자동 호출의 퍼센트가 굉장히 큰 수로 지정되어 주변에 팀이 어디 있는지 알 수 있습니다.
  
====Sensitivity and Control scripts====
+
==== 자살 스크립트 ====
Some players prefer different mouse sensitivities and control schemes for some classes. (For example, changing from the Demoman, which doesn't require fine aiming, to the Sniper, which encourages low sensitivity for precise aiming so that a hand twitching inadvertently won't ruin a player's aim too much) These scripts alter control schemes and mouse settings on a per class, or even per weapon, basis.
+
{{main|Suicide/ko|l1=자살}}
 +
[[Ubersaw/ko|우버톱]]을 든 메딕에게 공격 당하는 등의 상황에서, <code>kill</code>를 지정한 키를 눌러서 자살하는 것이 도움이 될 수도 있습니다. 이는 대부분 경쟁 모드에서 사용하나, 공개 서버에서 웃기기 위한 용도로 사용하는 경우가 있습니다. 또한, <code>explode</code>를 사용하는 경우 폭발하며 자살하게 됩니다.
  
====차지 대시 스크립트====
+
==== Null-Cancelling 움직임 스크립프 ====
Since timing a charge and jump can be difficult, some players may use a quick script that binds the two actions to a button so that the charge dash will cover the maximum amount of distance possible. The player is still required to swing their melee weapon normally to end the charge though.
+
아무 설정도 하지 않은 팀 포트리스 2에서, 반대 방향으로 움직이는 키들을 동시에 누르는 경우 플레이어의 모든 움직임을 없애고 가만히 있게 합니다. 이 스크립트는 마지막에 눌린 키만을 입력으로 받아 그 방향으로 움직이게 합니다.
  
====퀵스코프 스크립트====
+
==== 채팅 bind 스크립트 ====
Many players find it difficult to scope in and fire straight after to get a quick headshot. There are scripts that will zoom in and fire just by clicking one mouse button. It may be harder to aim for some players because it is required that the player aim outside of the scope, though if this is mastered, a player can become much more effective at quickscoping.
+
채팅 bind 스크립트는 미리 적어놓은 메시지를 채팅에 보내기 위한 스크립트 입니다. 일반적으로, 이 스크립트를 키에 적용해 채팅을 직접 치지 않고도 채팅에 글을 쓸 수 있게 합니다. 이 스크립트는 유저마다 다르게 사용할 수 있으며, 글자 수 제한 내의 모든 메시지를 보낼 수 있습니다. 이 메시지는 팀 채팅에 적을 수도 있습니다. 또한 거래 관련한 채팅을 적을 수도 있으며, 몇 분마다 채팅을 보내도록 할 수도 있습니다.
  
====Gloves of Running Urgently Scripts====
+
==== 보이스 채팅 토글 ====
While using the Gloves of Running Urgently, the player will constantly lose 6 health per second. However, jumping preserves the speed bonus granted by this weapon while the player is still in the air. Because of this, by jumping with this weapon, and then immediately switching to another weapon, health loss can be minimized with very little negative impact on speed. While a player can manually jump and continually switch weapons, using a script greatly simplifies this technique.
+
<pre>bind [KEY] mic_toggle
 +
alias mic_toggle mic_enable
 +
alias mic_enable "+voicerecord; alias mic_toggle mic_disable"
 +
alias mic_disable "-voicerecord; alias mic_toggle mic_enable"</pre>
 +
이 스크립트는 눌러서 보이스 채팅을 하는 것이 아닌 토글로 보이스 채팅을 할 수 있게 합니다.
  
====로켓 점프 스크립트====
+
== 주석 ==
In order to Rocket Jump to a maximum height or distance, it is required that the player jumps, crouches, and fires their rocket at roughly the same time. Some players seem to find this difficult, and so use a simple script to perform this action at the press of a button.
+
* 각 스크립트 파일은 1[[w:ko:메비바이트|MiB]] (1.04858 메가바이트)의 정보만 가질 수 있습니다. 파일의 끝에 [[#Exec|exec]]를 이용하여 다른 파일을 열게 함으로써 우회할 수 있습니다.
  
==관련 항목==
+
== 같이 보기 ==
* [[List of useful console commands|유용한 콘솔 명령어 목록]]
+
* [[List of useful console commands/ko|유용한 콘솔 명령어 목록]]
* [[Customizing#tf.5Ccfg.5Cconfig default.cfg|config_default.cfg 커스터마이징]]: 팀 포트리스2의 기본적인 키 설정입니다.
+
* {{vdc|List of TF2 console commands and variables|팀 포트리스 2 콘솔 명령어와 변수 목록}}
 +
* {{vdc|Command Line Options|명령어 옵션}}<!-- 어떻게 번역해야 하지 -->
 +
* {{vdc|VScript}}
 +
* [[Cheats/ko|치트]]
  
==외부 항목==
+
== 외부 링크 ==
*[http://forums.steampowered.com/forums/showthread.php?t=709568 스팀 유저포럼 - TF2 스크립팅 튜토리얼]. 스크립트의 기초에 관하여 다루고 있으며, 많고 실용적이며 이해하기 쉬운 예제들이 있습니다.
+
* [https://gamebanana.com/scripts/games/297 Gamebanana에 있는 스크립트 예시]
*[http://warriornation.net/Forum/showthread.php?t=568008 TF2 scripting tutorial - Warrior Nation Network]. 한층 수준이 높은 게시글로, 기본적으로 스크립팅 문법 이해가 전제로 깔려있습니다.
+
* [https://cfg.tf 팀 포트리스 2 구성 파일을 설정할 수 있는 cfg.tf]
*[http://www.gamebanana.com/scripts/games/297 Gamebanana.com - TF2 scripts]. 팀 포트리스2를 위한 수백개의 스크립트 예제들.
 
  
 
[[Category:Customization/ko]]
 
[[Category:Customization/ko]]

Latest revision as of 07:31, 17 March 2024


스크립트는 설정 파일 .cfg을 이용해 복잡한 행동들과 콘솔 명령들을 자동으로 실행하는 새로운 bind와 alias를 만드는 것을 의미합니다. 스크립트는 Team Fortress 2에 내장된 기능으로서, VAC를 통해 제제당하지 않습니다. 스크립트를 사용하는 방식은 단순히 키를 누르면 명령이 실행되는 것부터 반복문과 서로 재정의 하는 alias까지 다양합니다. 스크립트를 이용해 자동으로 만들 수 있는 것들은 수동으로도 할 수 있지만, 스크립트는 이를 전장에서 쉽게 이용할 수 있게 합니다.

목차

스크립트 명령어

이 명령어들은 스크립트 외에는 사용할 수 없는 명령어로, 게임에 직접적으로 영향을 끼치지 않습니다.

bind

본문: bind

기본 키 목록은 이 문서를 참조하십시오.

가장 단순한 명령어는 bind 명령어로, 이 명령어는 특정 키를 누르면 설정, 명령어, 또는 다른 스크립트 등의 특정 작업을 수행할 수 있게 합니다.

bind [KEY] [COMMAND]

큰따옴표도 사용할 수 있으며, 어떤 값과 명령 사이에 띄어쓰기가 필요한 경우에 사용하여, 이를 한 명령으로 인식하게 합니다. 예를 들어 bind mouse1 "say (글)"의 경우 say와 (글) 사이에 띄어쓰기가 필요하여 큰따옴표를 사용합니다.

bind [KEY] "[COMMAND 1]; [COMMAND 2]; [COMMAND 3]"

큰따옴표를 키에도 사용할 수 있으나, 명령에 사용되지 않으면 콘솔은 연속된 명령을 인식할 수 없기 때문에 명령에 큰따옴표를 사용해야 합니다.

주석: 명령

say "예시 문장"

는 올바른 명령이지만,

bind [KEY] "say "예시 문장""

은 올바르지 않은 명령입니다. 이는 큰따옴표가 잘못 인식되며, say 뒤의 큰따옴표를 인식하고 명령을 중단합니다.

bind 명령어는 두 가지의 형태가 있습니다.

bind e "voicemenu 0 0"

이 bind는 플레이어가 E를 누르면 메딕을 부르게 합니다.

bind w +forward

이 bind는 플레이어가 W를 누르고 있으면 앞으로 가게 합니다.

say

say 명령어는 문장이나 단어를 채팅 창에 전송할 수 있습니다.

 bind "<아무 키>" "say <발신할 글>"

"say_team <발신할 글>"은 팀에게만 발신합니다. "say_party <발신할 글>"은 파티에게만 발신합니다.

say 명령어 단독으로 사용할 경우 채팅을 직접 작성할 수 있습니다.

 bind "<아무 키>" "say_party"

<아무 키>를 누르면 파티에게만 발신되는 채팅 작성 창을 엽니다.

toggle

이 명령어는 두 개 이상의 값을 번갈아 사용할 때 사용합니다.

 "toggle <convar>" 인수 1 [인수 2]
toggle "sv_cheats" 0 1
bind "p" "toggle sv_cheats" 0 1
주석: 만약 값을 지정하지 않는다면, toggle과 bindtoggle은 값을 0과 1 중 현재 상태와 다른 값으로 전환합니다.

toggle과 bindtoggle을 사용할 때, 할당되는 값이 큰따옴표 밖에 있어야 합니다. ("예시 명령" 0 1)

bindToggle

이 명령어는 bind "<아무 키>" toggle ~을 단축시킨 명령어입니다

bindToggle o sv_cheats 0 1
주석: 만약 값을 지정하지 않는다면, toggle과 bindtoggle은 값을 0과 1 중 현재 상태와 다른 값으로 전환합니다.

toggle과 bindtoggle을 사용할 때, 할당되는 값이 큰따옴표 밖에 있어야 합니다. ("예시 명령" 0 1)

incrementvar

이 명령어는 지정한 값 내의 인수를 순환합니다.

 "incrementvar <convar> <최솟값> <최댓값> <증가값>"
bind MWHEELUP "incrementvar fov_desired 75 90 1"
bind MWHEELDOWN "incrementvar fov_desired 75 90 -1"

이 명령어는 휠을 위로 올리면 시야가 넓어지고, 아래로 내리면 시야가 좁아지게 합니다.

주석: incrementvar은 지정한 값보다 커지거나 작아지려 할 경우 값을 순환하도록 합니다. 예를 들어, 시야가 90보다 커지려 할 경우 75부터 90까지 다시 증가하고, 75보다 작아지려 할 경우 90에서 다시 75까지 작아집니다.

alias

본문: alias

alias는 여러 명령어를 한 명령으로 사용할 수 있게 합니다. 따라서 이는 굉장히 효율적이며, 여러 명령을 여러 번 사용해야 할 경우 가장 효과적입니다.

주석: alias의 이름은 띄어쓰기를 포함할 수 없으며, 언더바, 숫자 및 특수문자를 포함할 수 있습니다. alias의 이름은 대소문자를 구분합니다.
 alias <alias_name> "<command>; <command2>"
 bind "<아무 키>" "<alias_name>"
alias Call_For_Medic "Voicemenu 0 0"
bind "e" "Call_For_Medic"

이 스크립트는 bind와 똑같이 작동하며, 플레이어가 E를 누를 경우 메딕을 부르게 됩니다.

주석: alias는 + 문자를 앞에 사용할 수 있으며, +<alias>가 시행되고 있지 않을 때 -<alias>의 명령을 실행합니다. 이는 움직임과 관련된 bind를 만들 때 유용합니다.
alias "+Diagonal" "+moveleft; +back"
alias "-Diagonal" "-moveleft; -back"
bind "z" "+Diagonal"

이 스크립트는 플레이어가 대각선으로 움직이게 합니다. Z를 누르면 플레이어가 뒤로 왼쪽 45도로 움직이게 합니다.

경고: 다음 명령은 사용할 수 없습니다.
bind "z" "+moveleft; +back"

Z를 누를 경우 플레이어가 뒤와 왼쪽으로 움직이게 하나, 게임 엔진은 +back 명령이 뒤에 있어서 -back 명령을 실행할 수 없으며, 플레이어가 계속 뒤로 움직이게 됩니다.

exec

이 명령어는 다른 파일을 불러옵니다. 이는 복잡한 스크립트를 다른 파일에 저장하여 일반 파일이 복잡해지지 않게 합니다.

exec autoexec.cfg

이 스크립트는 플레이어의 autoexec.cfg 파일을 불러오고 게임에 할당합니다.


echo

이 명령어는 글이 콘솔에 나타나게 합니다. 이는 디버깅에 사용됩니다.

 echo "<consolwriteline>"
echo Scripting is; echo very useful

이 명령은 Scripting isvery useful두 줄로 나타나게 합니다. 이는 echo로 전달되는 글의 끝에 새 행이 추가되기 때문입니다. 띄어쓰기는 글자 사이에 있거나, 큰따옴표 내에 있을 경우 인식됩니다. 예를 들어:

echo " Scripting is very useful.   "

이 경우 큰따옴표로 글을 지정했기 때문에 띄어쓰기가 나타나게 됩니다.

주석: 큰따옴표는 나타내려 할 경우 잘못 인식될 것이기 때문에 나타낼 수 없으나, 작은따옴표는 나타낼 수 있습니다.
주석: echo는 가끔 큰따옴표가 없는 경우 잘못 나타낼 수 있으니 큰따옴표를 사용하는 것이 더 나으며, 나타내고자 하는 글을 사람이 알아보기 더 쉽게 합니다.

wait

 wait <프레임>

이 명령어는 게임이 다음 명령을 시행하기 전 주어진 프레임 동안 기다리게 합니다.

경고: wait 명령어는 특정 서버에서 비활성화 되어있을 수 있습니다. 따라서 특정 스크립트는 제대로 실행되지 않을 것이며, 게임이 강제 종료 될 수 있습니다. wait 비활성화 확인에서 이를 막을 방법을 알아보십시오.
echo 못이 망치에 아무리 맞아도 피가 안 나는 이유는?;wait 300;echo 모세혈관이 없어서!

이 스크립트는 첫 문장을 나타내고 300 프레임을 기다린 후 다음 문장을 나타내게 합니다.

클래스 특정 cfg 파일

특정 병과로 변경할 때, 게임이 그 병과에 맞는 cfg 파일을 실행하게 되며, 다음 이름을 따라야 합니다.

scout.cfg
soldier.cfg
pyro.cfg
demoman.cfg
heavyweapons.cfg
engineer.cfg
medic.cfg
sniper.cfg
spy.cfg

플레이어가 각 병과마다 설정해놓은 명령을 실행하게 합니다. autoexec.cfg와 class.cfg, 그리고 사용자가 생성한 cfg 문서들은 overrides 파일 안에 있어야 하며, 그러지 않으면 게임에 적용되지 않습니다.

실행 옵션

실행 옵션은 게임 화질과 비율 등 팀 포트리스 2가 실행되는 방식을 변경할 수 있습니다. Command Line Options 에 대한 Valve Developer Community에서 모든 실행 옵션을 확인해주세요.

실행 옵션을 설정하는 방법

시작 옵션을 설정하는 방법.
  1. Steam의 라이브러리에서 팀 포트리스 2를 찾고, 우클릭을 누르고 속성을 선택합니다.
  2. 일반 탭의 시작 옵션을 선택합니다.
  3. 적용하고 싶은 시작 옵션을 입력합니다. 각 옵션은 띄어쓰기로 구분해야 합니다.
  4. 속성 창을 닫고 게임을 실행합니다.

창 옵션

이 옵션을 잘못 사용하면 성능을 낮출 수 있습니다. 가능하면 게임 내 설정을 사용해주십시오.

비율

실행 옵션: -w # -h #

설명: 게임 창의 너비와 높이를 픽셀 단위로 변경합니다.

재생률

실행 옵션: -freq #

설명: 게임의 주사율(Hz)을 강제로 적용합니다.

창 모드

시작 옵션: -windowed

설명: 게임을 창 모드로 실행합니다.

테두리 없는 창 모드

시작 옵션: -noborder

설명: 창 모드일 때, 전체화면 모드처럼 테두리를 없앱니다.

전체화면 모드

시작 옵션: -fullscreen

설명: 게임의 너비와 높이를 강제합니다.

주변 기기 지원

조이스틱 지원 비활성화

시작 옵션: -nojoy

설명: 조이스틱 시스템을 로딩하지 않도록 하여, 실행 시간을 단축시키고 메모리 사용을 줄입니다.

만약 조이스틱을 사용하려는 경우 사용하지 마십시오.

Steam 컨트롤러 지원 비활성화

시작 옵션: -nosteamcontroller

설명: Steam 컨트롤러 시스템을 로딩하지 않도록 하여, 실행 시간을 단축시키고 메모리 사용을 줄입니다.

만약 Steam 컨트롤러를 사용하려는 경우 사용하지 마십시오.

소프트웨어 지원

SourceTV 비활성화

시작 옵션: -nohltv

설명: SourceTV 지원을 비활성화하여, 메모리 사용을 줄입니다. 당신의 클라이언트에서 SourceTV를 사용하려는 경우 사용하지 마십시오.

퀵타임 비활성화

시작 옵션: -noquicktime

설명: 퀵타임 지원을 비활성화하여, 메모리 사용을 줄입니다. .MOV 파일을 내보내는 등 퀵타임 지원이 필요한 경우 사용하지 마십시오.

엔진 옵션

시작 영상 비활성화

시작 옵션: -novid

설명: 게임을 실행할 때 나타나는 Valve 인트로 영상을 비활성화하여, 실행 시간을 단축시킵니다.

beam 입자 제한 변경

시작 옵션: -particles #

설명: beam 입자의 수를 제한합니다. #의 숫자를 1로 변경하여 메모리 사용을 줄일 수 있으며, 최대 512까지 변경할 수 있습니다.

글꼴 렌더링을 precache 하기

시작 옵션: -precachefontchars

설명: 특정 문자의 글꼴 렌더링을 precache 하여, 렌더링 시간을 줄입니다.

Texture Streaming 비활성화

시작 옵션: -no_texture_stream

설명: 더 좋은 퀄리티의 버전이 로딩되는 동안 낮은 퀄리티의 텍스처를 사용하지 않고, 언제나 더 좋은 퀄리티의 버전을 로딩하게 합니다. Texture Streaming을 비활성화하면 비디오 메모리 압력에 영향을 미칩니다.

DirectX 버전 (Microsoft Windows만 가능)

시작 옵션: -dxlevel #

설명: 게임이 사용하는 DirectX 버전을 설정합니다. 많은 값을 사용할 수 있지만, '81'과 '100'을 사용하는 것이 좋습니다.
'-dxlevel 100' 은 DirectX 9와 Pixel Shader 3.0를 사용하며, 시스템의 그래픽 능력을 결정하는데 하드웨어가 사용됩니다.
'-dxlevel 81' 은 DirectX 8의 가장 안정적인 버전이며 Pixel Shader 1.1을 사용합니다. 이 버전은 DirectX 9의 버전들보다 더 좋은 성능을 주지만, 제한된 게임 내 컨텐츠를 사용하며, 성능 향상이 필요하지 않다면 사용하지 않는 것이 좋습니다.
주석: 이 시작 옵션을 가지고 게임을 한 번 실행한 후, 게임을 종료하고 이 시작 옵션을 삭제해야 적절한 구성 파일이 설정됩니다.

키의 이름

키 위에 마우스를 올리면 스크립트 할 때 사용하는 이름을 볼 수 있습니다. 이름은 대소문자를 구분하지 않습니다.

ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12

`   1 2 3 4 5 6 7 8 9 0 - = ← Backspace

Tab ⇆ Q W E R T Y U I O P [ ] \      

⇪ Caps A S D F G H J K L ; '   Enter ↵

Shift     Z X C V B N M ,   .   /   Shift        

Ctrl   Alt       Spacebar       Alt ≣ Menu Ctrl    

PrtScn ScrLk Pause

Insert   Home PgUp

Delete   End   PgDn


                 

         

Num / * -
7 8 9 +
4 5 6
1 2 3
    0     .
마우스의 버튼 스크립트에 사용하는 이름
휠 위로 올리기 MWHEELUP
휠 아래로 내리기 MWHEELDOWN
좌클릭 MOUSE1
우클릭 MOUSE2
휠 클릭 MOUSE3
앞으로 가기 버튼 MOUSE4
뒤로 가기 버튼 MOUSE5


이를 이용해 다음과 같은 명령을 만들어 설정 파일에 저장할 수 있습니다: bind "KP_ENTER" "voicemenu 0 6". 넘버패드의 ↵ Enter키를 누르면 음성 명령어 '그래'가 나옵니다.

유용한 명령어

본문: 팀 포트리스 2 콘솔 명령어와 변수 목록

변장

disguise 명령어는 두 값을 사용하며, 첫 번째 값은 병과를, 두 번째 값은 팀을 나타냅니다.

병과
1. 스카웃
2. 스나이퍼
3. 솔저
4. 데모맨
5. 메딕
6. 헤비
7. 파이로
8. 스파이
9. 엔지니어
1. 블루 팀
2. 레드 팀
-1. 상대 팀
-2. 자신의 팀

예를 들어, disguise 5 1은 블루 팀의 메딕으로 변장하게 하며, disguise 7 -2은 같은 팀의 파이로로 변장하게 합니다.

주석: disguise 8 -2 (같은 팀 스파이로 변장)은 스파이의 변장을 해제하게 합니다. 은폐 상태에서 변장을 해제할 수 있습니다
주석: 팀을 나타내는 값이 1, 2, -1, 또는 -2가 아닐 경우 스파이는 현재 팀에 상관없이 무조건 레드 팀으로 변장하게 됩니다.

구조물

builddestroy 명령어는 두 값을 사용하며, 첫 번째 값은 구조물을, 두 번째 값은 구조물의 타입을 결정합니다. 두 번째 값은 0이 아닌 값을 사용할 경우에만 필요하며, 현재 텔레포터의 입구와 출구를 구분하는 데만 사용됩니다.


build 명령어는 구조물을 설치하기 위한 청사진을 꺼내며, 스파이의 경우 전자 교란기를 꺼내게 됩니다.

build 0 0 명령어는 디스펜서를 설치합니다. (엔지니어 전용)
build 1 0 명령어는 텔레포터 입구를 설치합니다. (엔지니어 전용)
build 1 1 명령어는 텔레포터 출구를 설치합니다. (엔지니어 전용)
build 2 0 명령어는 센트리 건을 설치합니다. (엔지니어 전용)
build 3 0 명령어는 전자 교란기를 설치합니다. (스파이 전용)

비슷하게, destroy 명령어는 구조물을 파괴합니다.

destroy 0 0 명령어는 디스펜서를 파괴합니다. (엔지니어 전용)
destroy 1 0 명령어는 텔레포터 입구를 파괴합니다. (엔지니어 전용)
destroy 1 1 명령어는 텔레포터 출구를 파괴합니다. (엔지니어 전용)
destroy 2 0 명령어는 센트리 건을 파괴합니다. (엔지니어 전용)
주석: 전자 교란기와 전자 교란기가 설치된 구조물은 파괴할 수 없습니다.

build 명령어는 하나의 값만 사용할 수도 있습니다.

build 0 명령어는 디스펜서를 설치합니다. (엔지니어 전용)
build 1 명령어는 텔레포터 입구를 설치합니다. (엔지니어 전용)
build 2 명령어는 센트리 건을 설치합니다. (엔지니어 전용)
build 3 명령어는 텔레포터 출구를 설치합니다. (엔지니어 전용)
build 3 명령어는 전자 교란기를 설치합니다. (스파이 전용) [더 이상 사용되지 않음]

음성 호출

voicemenu 명령어는 메뉴 값과 명령 값인 두 값을 사용합니다.

  • voicemenu 0
    0: 메딕!
    1: 고맙다!
    2: 돌격! 돌격! 돌격!
    3: 이동하라!
    4: 왼쪽으로 이동하라
    5: 오른쪽으로 이동하라
    6: 그래
    7: 아니
    8: 내게 넘겨!
  • voicemenu 1
    0: 적이다!
    1: 스파이다!
    2: 전방에 센트리!
    3: 여기 텔레포터가 필요하다
    4: 여기 디스펜서가 필요하다
    5: 여기 센트리가 필요하다
    6: 우버를 발동하라!
    7: 메딕: 우버차지 준비 완료
    8: 내게 넘겨!
  • voicemenu 2
    0: 도와줘!
    1: 전투 함성
    2: 격려
    3: 야유
    4: 긍정적
    5: 부정적
    6: 훌륭한 사격이군!
    7: 잘했어!
주석: 음성 호출 메뉴를 표시하려면 voicemenu # #이 아닌 voice_menu_# 명령어를 사용해야 하며, 1부터 3까지의 숫자를 넣을 수 있습니다.

유레카 효과 텔레포트

eureka_teleport 명령어는 유레카 효과를 들고 있는 엔지니어를 기지나 텔레포터 출구로 순간이동 시킵니다.

  • eureka_teleport 0 명령어는 플레이어를 기지로 순간이동 시킵니다.
  • eureka_teleport 1 명령어는 플레이어를 텔레포터 출구로 순간이동 시킵니다.
주석: 명령어가 작동해도 콘솔에 "Unknown command" 라고 나타나게 됩니다.

종합

  • clear 명령어는 콘솔의 모든 정보를 지웁니다.
  • alias 명령어는 모든 정의된 alias를 표시합니다.
  • fov_desired (20-90) 명령어는 시야를 설정합니다.
  • viewmodel_fov 명령어는 무기 모델의 시야를 조정합니다.
  • r_drawviewmodel (0/1) 무기 모델을 키거나 (1), 끕니다 (0).
  • lastdisguise 명령어는 이전 변장으로 다시 변장하게 합니다. (스파이 전용)
  • load_itempreset (0-3) 명령어는 장비 설정을 A/B/C/D 로 변경합니다.
  • say message 명령어는 채팅에 메시지를 보냅니다.
  • say_team message 명령어는 팀 채팅에 에시지를 보냅니다.
  • say_party message 명령어는 파티 채팅에 메시지를 보냅니다.
  • +taunt 명령어는 플레이어의 도발 메뉴를 엽니다.
  • +use_action_slot_item 명령어는 플레이어가 액션 아이템을 사용하게 합니다.
  • volume (0-1) 명령어는 게임 내 불륨을 설정합니다.
  • taunt_by_name (name) 명령어는 도발 메뉴를 열지 않고 현재 플레이어의 무기 도발을 실행합니다.

고급 스크립트

키다운 토글

꾹 누르고 있어야 하는 명령어를 토글로 설정하게 합니다.

bind w toggle_movement
alias toggle_movement enable_movement
alias enable_movement "alias toggle_movement disable_movement;+forward"
alias disable_movement "alias toggle_movement enable_movement;-forward"

이 스크립트는 W 키를 한 번 누르면 W키가 다시 눌리기 전까지 플레이어가 앞으로 이동하게 합니다.

조합키

하나의 키를 누르고 있는 동안 다른 키를 누름으로써 다른 행동을 취하는 스크립트를 만들 수 있습니다.

bind e call
alias call Call_For_Medic
alias Call_For_Medic "voicemenu 0 0"
alias Call_For_Ubercharge "voicemenu 1 6"

이 스크립트는 E가 눌릴 때마다 플레이어가 메딕을 부르게 하며, 사용되지 않은 우버차지를 요청하는 alias도 있습니다.

bind shift +toggleState
alias +toggleState "alias call Call_For_Ubercharge"
alias -toggleState "alias call Call_For_Medic"

이제, ⇧ Shift를 누르고 있으면 call alias가 우버차지를 요청하도록 변경하며, ⇧ Shift를 떼면 다시 call alias가 메딕을 부르도록 합니다.

만약 여러 키 조합을 하나의 토글로 연결하고 싶다면 첫 단계를 반복해야 합니다.

bind f thank
alias thank Thank_Player
alias Thank_Player "voicemenu 0 1"
alias Good_Work "voicemenu 2 7"

이 줄 다음엔 두 번째 단계와 비슷하게 만들면 됩니다.

bind shift +toggleState
alias +toggleState "alias call Call_For_Ubercharge;alias thank Thank_Player"
alias -toggleState "alias call Call_For_Medic;alias thank Good_Work"

이 스크립트는 다음과 같습니다.

bind e call
alias call Call_For_Medic
alias Call_For_Medic "voicemenu 0 0"
alias Call_For_Ubercharge "voicemenu 1 6"

bind f thank
alias thank Thank_Player
alias Thank_Player "voicemenu 0 1"
alias Good_Work "voicemenu 2 7"

bind shift +toggleState
alias +toggleState "alias call Call_For_Ubercharge;alias thank Thank_Player"
alias -toggleState "alias call Call_For_Medic;alias thank Good_Work"

wait 비활성화 확인

wait 명령어가 몇몇 스크립트에 중요하게 사용되기 때문에, 서버가 wait 명령어를 비활성화 시켰는지 확인하는 것이 중요할 수 있습니다.

alias waitTester "alias waitTest waitPositive;wait;waitTest"
alias wait "alias waitTest waitNegative"
alias waitPositive "echo Wait is enabled on this server.;exec waitPositive.cfg"
alias waitNegative "echo Wait is DISABLED on this server!;exec waitNegative.cfg"
waitTester

이 스크립트는 서버 내 wait 명령어가 비활성화 되어있다면 wait 이름으로 alias를 만들 수 있다는 것을 이용합니다. 따라서, 스크립트는 먼저 waitPositive를 가리키는 waitTest alias를 만들고, wait 명령어가 서버 비활성화 되어있다면 waitNegative를 가리키게 됩니다.

반복문

경고: wait 명령어가 없는 반복문은 팀 포트리스 2 클라이언트를 멈출 수 있습니다. wait 비활성화 확인 스크립트를 사용한 다음에 반복문 스크립트를 사용하는 것을 매우 권장합니다.

일반적으로, alias가 자신을 가리키게 하는 것은 초기화 할 수 없어 쓰이지 않습니다. 따라서, 반복문은 기다리는 부분과 반복하는 부분으로 나뉘어 만들어집니다.

bind g loopKey
alias loopKey startLoop
alias startLoop "alias loopKey stopLoop;+attack;alias redirect loop;loop"
alias stopLoop "-attack;alias redirect;alias loopKey startLoop"
alias loop "+left;wait 33;-left;+right;wait 33;-right;redirect"

이 스크립트는 G가 눌리면 33프레임 (약 0.5초)마다 시점을 앞과 뒤로 바꾸면서 공격하는 반복문입니다. G를 다시 누르면 반복이 멈추게 됩니다.

Sequence

alias +pyrocombo "slot1;+attack;wait 32;slot2"
alias -pyrocombo "-attack;slot1"

이 스크립트는 sequence를 시작하는 alias와, sequence를 끝내는 alias로 구성되었습니다. sequence는 키를 뗄 때까지 32 프레임마다 기름떼 제거기공황 공격으로 무기를 바꾸며 공격합니다. Sequence는 이렇게 사용할 수도 있습니다:


alias quickscope "slot1;+attack2;wait 32;+attack;wait 16;-attack;-attack2"

이 스크립트는 스나이퍼가 저격소총으로 퀵스코프를 하게 합니다. sequence는 스크립트를 만드는데 유용하며, 어떻게 만드는 지 알면 이후 스크립트를 만드는데 도움이 될 것입니다.

Cycle 스크립트

cycle 스크립트는 최소 3가지의 옵션이 있는 토글 스크립트입니다:

alias message_1 "say message 1.; bind x message_2"
alias message_2 "say message 2.; bind x message_3"
alias message_3 "say message 3.; bind x message_1"
bind x message_1

이 스크립트는 X 키를 누를 때마다 채팅에 "message 1"→"message 2"→"message 3"→"message 1" 순서로 바뀌면서 글을 남깁니다.

Pictogram comment.png 콘솔 변수를 변경할 때 toggle, incrementvar, and multvar 명령어를 alias 대신 사용할 수 있습니다.

Selection 스크립트

selection 스크립트는 cycle을 더 이용하기 쉽게 합니다. selection 스크립트는 순서를 한 방향이 아닌 두 방향으로 만들어 어떤 명령어를 실행할 지 더 쉽게 알도록 합니다.

alias CondC_UP Cond1
alias CondC_DOWN Cond5
alias ApplyCond ApplyCond33
alias ApplyCond33 "addcond 33"
alias ApplyCond49 "addcond 49"
alias ApplyCond72 "addcond 72"
alias ApplyCond74 "addcond 74"
alias ApplyCond90 "addcond 90"
alias Cond1 "alias CondC_UP Cond2;alias CondC_DOWN Cond5;alias ApplyCond ApplyCond33"
alias Cond2 "alias CondC_UP Cond3;alias CondC_DOWN Cond1;alias ApplyCond ApplyCond49"
alias Cond3 "alias CondC_UP Cond4;alias CondC_DOWN Cond2;alias ApplyCond ApplyCond72"
alias Cond4 "alias CondC_UP Cond5;alias CondC_DOWN Cond3;alias ApplyCond ApplyCond74"
alias Cond5 "alias CondC_UP Cond1;alias CondC_DOWN Cond4;alias ApplyCond ApplyCond90"

이 스크립트는 어떤 조건을 플레이어에게 줄 지 더 쉽게 통제할 수 있으며, 더 쉽게 사용할 수 있습니다.

무작위 스크립트

무작위 스크립트는 거의 쓰이지 않지만, 거래 광고 등 채팅에 사용할 때 유용할 수 있습니다.

주석: 팀 포트리스 2 스크립트의 특성 때문에, 이 부분이 굉장히 길 수 있습니다. cycle에 대해 잘 모를 경우 사용에 어려울 수 있습니다.

alias call f1
alias cycle c2

alias c1 "alias cycle c2;alias call f1"
alias c2 "alias cycle c3;alias call f2"
alias c3 "alias cycle c4;alias call f3"
alias c4 "alias cycle c5;alias call f4"
alias c5 "alias cycle c1;alias call f5"

alias f1 "say 1"
alias f2 "say 2"
alias f3 "say 3"
alias f4 "say 4"
alias f5 "say 5"

alias +w "+forward;cycle"
alias -w "-forward;cycle"
alias +a "+moveleft;cycle"
alias -a "-moveleft;cycle"
alias +s "+back;cycle"
alias -s "-back;cycle"
alias +d "+moveright;cycle"
alias -d "-moveright;cycle"

bind o call
bind w +w
bind a +a
bind s +s
bind d +d

이 스크립트는 여러 alias 값을 할당하고 해제합니다. WASD 키가 눌리면, cycle 명령어가 실행되며, cycle의 값이 다음 cycle로 넘어가고 "call" 명령어에 설정합니다. 이는 플레이어의 움직임에 영향을 받습니다. 반복문 등을 이용하면 더 무작위로 만들 수 있습니다.

Timed action

Timed action은 어떤 키가 특정 시간만큼 눌려있을 경우 실행됩니다. 이는 키가 눌렸을 때 바로 실행되지 않아야 하는 스크립트를 만들 때 사용될 수 있습니다.

alias "+ti_zoom" "alias zoom_con zoomOn; wait 132; zoom_con"
alias "-ti_zoom" "zoomOff; alias zoom_con ; rb_tizoom-M4"
alias "rb_tizoom-M4" "unbind mouse4; wait 132; bind mouse4 +ti_zoom"
alias "zoomOn" "fov_desired 20; r_drawviewmodel 0"
alias "zoomOff" "fov_desired 90; r_drawviewmodel 1"
bind "mouse4" "+ti_zoom"

Mouse 4를 누르고 바로 떼는 경우 아무 효과가 없으나, 2초간 누르고 있으면 시야를 20으로 줄이며, 무기 모델을 끕니다. Mouse 4를 아무 때나 떼면 이 설정을 원래대로 돌립니다.

이 스크립트는 +와 - alias를 사용하여 만들어집니다. +ti_zoom를 누르면 zoom_con를 재정의하며 스크립트가 실행되며, wait 기간 동안 눌러진 상태가 되면 스크립트를 실행합니다. 하지만, 키를 떼면 zoom_con가 아무 것도 실행되지 않도록 재정의됩니다. 이후 같은 wait 기간동안 키를 해제하고, 이후 다시 정의합니다.

주석: 키를 다시 bind하는 것은 스크립트가 키가 눌리지 않으면 실행되지 않기 때문에 과도한 부분입니다. 하지만, 키가 여러 번 눌리면 스크립트가 실행될 수 있기 때문에, wait 명령어가 이를 막습니다.

기본 조건문

기본 조건문은 스크립트가 완전히 새로운 스크립트를 실행하지 않아도 행동을 바꾸게 합니다. 더미 alias를 만듦으로써 입력에 따라 출력을 바꿀 수 있습니다. 기본 조건문은 명령의 상태에 따라 무한히 많은 행동을 취할 수 있으나, 한 조건문 당 많은 조건을 쓰진 않습니다.

기본 조건문의 예시는 다음과 같습니다:

alias "check_test" "check1; check2; test"
alias "check1" ""
alias "check2" ""
alias "test" "success"

alias "fail_check" "alias test failure"

alias "success" "echo SUCCESS!"
alias "failure" "alias test success; echo FAILURE!"

alias "+k" "alias check1 fail_check"
alias "-k" "alias check1"
alias "+j" "alias check2 fail_check"
alias "-j" "alias check2"

bind "l" "check_test"
bind "j" "+j"
bind "k" "+k"

이 스크립트의 주요 부분은 check_test alias입니다. 스크립트를 실행하면, 이 alias가 2개의 조건을 확인하며, 조건에 알맞은 경우 success alias를 실행합니다. 하나의 조건이라도 알맞지 않으면 더미 alias인 testfailure를 실행하게 합니다. 간단히 말해, 조건에 알맞으면 test가 가리키는 alias를 실행하지 않고, 조건에 알맞지 않으면 test가 가리키는 alias를 실행합니다.

위 예시의 경우, JK를 누르지 않은 채로 L을 누르면 조건에 알맞게 되어 콘솔에 SUCCESS!를 표시하며,JK를 누른 채로 L을 누르면 조건에 알맞지 않게 되어 FAILURE!를 표시합니다.

실제로 사용하는 조건문 예시:

// 움직이면 조준선의 색이 바뀌게 됩니다

alias "+w" "+forward; press_w"
alias "+a" "+moveleft; press_a"
alias "+s" "+back; press_s"
alias "+d" "+moveright; press_d"
alias "-w" "-forward; unpress_w"
alias "-a" "-moveleft; unpress_a"
alias "-s" "-back; unpress_s"
alias "-d" "-moveright; unpress_d"

alias "press_w" "alias check_w pressed_w; chc_forward"
alias "press_a" "alias check_a pressed_a; chc_left"
alias "press_s" "alias check_s pressed_s; chc_back"
alias "press_d" "alias check_d pressed_d; chc_right"
alias "unpress_w" "alias check_w unpressed; check_none"
alias "unpress_a" "alias check_a unpressed; check_none"
alias "unpress_s" "alias check_s unpressed; check_none"
alias "unpress_d" "alias check_d unpressed; check_none"

alias "check_w" "unpressed"
alias "check_a" "unpressed"
alias "check_s" "unpressed"
alias "check_d" "unpressed"

alias "pressed_w" "dchk_fail; chc_forward"
alias "pressed_a" "dchk_fail; chc_left"
alias "pressed_s" "dchk_fail; chc_back"
alias "pressed_d" "dchk_fail; chc_right"
alias "unpressed" ""

alias "check_none" "check_s; check_a; check_d; check_w; dmy_check"
alias "dmy_check" "chc_success"

alias "dchk_fail" "alias dmy_check chc_failure"
alias "dchk_reset" "alias dmy_check chc_success"

alias "chc_failure" "dchk_reset"
alias "chc_success" "chc_default"

alias "chc_default" "color0"
alias "chc_forward" "color1"
alias "chc_left" "color2"
alias "chc_back" "color3"
alias "chc_right" "color4"

// Bind
bind "w" "+w"
bind "a" "+a"
bind "s" "+s"
bind "d" "+d"

// 색
alias "color0" "cl_crosshair_red 0; cl_crosshair_green 255; cl_crosshair_blue 0"        // 움직이지 않을 때의 기본 색
alias "color1" "cl_crosshair_red 0; cl_crosshair_green 0; cl_crosshair_blue 255"        // 앞으로 가기를 눌렀을 때의 색
alias "color2" "cl_crosshair_red 255; cl_crosshair_green 0; cl_crosshair_blue 255"      // 왼쪽으로 가기를 눌렀을 때의 색
alias "color3" "cl_crosshair_red 128; cl_crosshair_green 212; cl_crosshair_blue 255"    // 뒤로 가기를 눌렀을 때의 색
alias "color4" "cl_crosshair_red 255; cl_crosshair_green 140; cl_crosshair_blue 25"     // 오른쪽으로 가기를 눌렀을 때의 색

이 스크립트는 WASD를 누르며 움직일 때 조준선의 색이 바뀌게 합니다. 이 스크립트가 이용하는 중요한 것은 조건에 알맞지 않으면 여러 가지 행위를 한다는 것입니다. 조건에 알맞지 않으면 조준선이 색이 바뀌고, 조건을 확인하기 위한 더미 명령도 바꿉니다. 이는 여러 키가 눌리지 않으면, 조준선의 색을 가장 마지막에 누른 키에 맞는 색으로 바꿉니다.

코멘트

스크립트가 길어지면, 적절한 이름을 가진 alias가 필요해집니다. 하지만, 언제나 alias의 이름만으로 alias를 설명하기엔 무리일 수 있습니다. 두 개의 슬래시 (//)를 이용하면 코멘트를 달 수 있으며 스크립트는 이를 실행하지 않습니다.

voicemenu 1 6 //우버를 발동하라!

음성 호출이 무엇을 가리키는 지 나타나지 않기 때문에, 코멘트로 설명할 수 있습니다.

주목할 만한 스크립트들

다음은 게임에 영향을 끼친 스크립트들입니다. 몇몇 스크립트는 패치되었고, 나머지 스크립트들은 현재 사용 가능합니다.

패치된 스크립트들

권총 스크립트

이전에, 권총은 사람이 누르는 속도만큼 빠르게 쏠 수 있었습니다. 이에 키 하나만 누르면 굉장히 빠르게 쏠 수 있는 스크립트가 만들어졌습니다.

2009년 8월 13일 패치: 권총의 발사 속도 문제를 수정하여 플레이어가 발사 단추를 누르는 속도에 관계되지 않게 했습니다.

돌격 방패 조종 스크립트

이전에, 키보드 명령어로 화면을 돌리는 것은 마우스로 돌리는 것과 달랐습니다. 돌격 방패는 플레이어가 화면을 돌릴 수 있는 속도에 제한을 둔 첫번째 무기이며, Valve는 마우스로 화면을 돌리는 속도에 제한을 두었습니다. 하지만, 키보드로 화면을 돌리는 것에 제한을 두지 않았고, 이후 이 제한을 무시하는 스크립트들이 만들어졌습니다.

2011년 6월 23일 패치: 돌격 방패로 빨리 회전할 수 있었던 점을 수정했습니다.

공중에서 앉기 스크립트

이전에, 플레이어는 공중에서 제한 없이 앉기를 누를 수 있었습니다. 이후 굉장히 빠르게 앉기를 눌렀다 떼는 스크립트를 만들어졌는데, 이 스크립트 때문에 공중의 적을 맞추기 힘들어졌었습니다.

2009년 3월 6일 패치: 이제 공중에서 두 번만 앉을 수 있습니다.

잠수 스크립트

대부분의 서버가 잠수를 통해 아이템을 획득하는 것을 막는 방법을 이용했습니다. 플레이어들은 이 시스템을 무시하는 스크립트를 만들었습니다.

잠수를 막는 해결책에서 플레이어가 팝업 알림을 확인해야 아이템을 계속 얻을 수 있도록 했습니다.

이용 가능한 스크립트들

무기 모델을 끄는 스크립트

무기의 칸 등에 따라 무기 모델을 키고 끄는 스크립트가 많이 있습니다. 플레이어들은 무기 모델을 꺼 화면이 더 잘 보이게 하지만, 근접 무기 등은 모델을 켜놓는 경우가 있습니다. 에를 들어, 스파이는 은폐했을 때 무기 모델을 보는 것이 중요합니다. 또한 근접 무기가 상대에게 언제 맞는지 알기 위해 근접 무기 모델을 켜놓기도 합니다.

무기 줌 스크립트

이 스크립트는 시야를 변경하여 어느 무기를 사용하든 줌 효과를 사용할 수 있게 합니다.

 alias "+zoomer" "fov_desired 75; r_drawviewmodel 0"
 alias "-zoomer" "fov_desired 90; viewmodel_fov 110; r_drawviewmodel 1"
 bind "shift" "+zoomer"

센트리 건 점프 스크립트

엔지니어 업데이트 이후, 엔지니어는 센트리 건을 들고 옮길 수 있습니다. 동시에, 같은 업데이트에서 랭글러를 이용해 센트리 건 점프를 할 수 있게 되었습니다. 굉장히 빠른 입력을 이용해 플레이어가 센트리 건 점프를 함과 동시에 센트리 건을 들 수 있는 것을 알아냈습니다.

사람이 이를 할 수도 있지만, 굉장히 어렵습니다. 이에 매 번 센트리 건으로 점프를 함과 동시에 센트리 건을 옮기는 스크립트가 만들어졌습니다.

주석: 구조대원은 먼 거리에서 100 금속을 이용해 구조물을 옮길 수 있으므로 이를 더 쉽게 할 수 있습니다.

총잡이 스크립트

소형 센트리 건을 부수고 다시 짓는 것이 번거로울 수 있기 때문에, 플레이어들은 소형 센트리 건을 부수고 다시 짓는 과정을 키 한 두 번만 눌러서 할 수 있는 스크립트를 만들었습니다. 이 스크립트는 개척자의 정의의 복수 치명타와 함께 이용하면 매우 유용합니다.

감도와 컨트롤 스크립트

몇몇 플레이어는 특정 병과에 따라 다른 감도와 컨트롤을 선호합니다. 예를 들어, 메딕은 조준이 많이 필요하지 않으나 스나이퍼는 정확한 조준이 필요하여 각각 다른 마우스 감도를 사용하고 싶어할 수 있습니다. 이 스크립트는 병과마다, 혹은 무기마다 마우스 감도 등의 설정을 바꿉니다.

차지 대시 스크립트

점프와 돌격의 타이밍을 잡는 것이 어려울 수 있어, 몇몇 플레이어는 키 하나만 눌러 돌격으로 가장 멀리 날아갈 수 있게 하는 스크립트를 만들었습니다. 플레이어는 근접 공격으로 돌격을 멈출 수도 있습니다.

퀵스코프 스크립트

많은 플레이어가 스나이퍼로 조준을 하자마자 쏘는 것을 힘들어 합니다. 이 스크립트는 키 하나만 누르면 조준을 하자마자 쏘게 합니다. 하지만 조준을 하지 않은 상태에서 사용해야 합니다.

로켓 점프 스크립트

가장 높게나 가장 멀리로켓 점프를 하기 위해선 점프, 앉기와 로켓 쏘기를 거의 동시에 해야 합니다. 이는 스크립트를 통해 키 하나만 눌러서 쉽게 할 수 있습니다.

자동 변장 스크립트

수동으로 변장하는 것이 번거롭다고 생각한 플레이어들을 위한 이 스크립트는 어떤 무기든 공격하자마자 변장하게 합니다. 토글로 설정할 수 있고, 변장할 병과를 직접 설정할 수 있습니다.

우버차지 알림 스크립트

이 스크립트를 이용하면, 메딕이 우버차지를 사용하면 팀 채팅에 메시지를 남겨 팀이 같이 공격할 수 있게 합니다. 비슷한 스크립트로 "우버차지 준비 완료" 음성 호출을 사용하여 상대 팀을 속일 수 있습니다.

메딕 레이더

alias "autocall_default" "hud_medicautocallersthreshold 75.730003/사용자 지정 숫자"
alias "autocall_all" "hud_medicautocallersthreshold 150"
alias "+radar" "autocall_all"
alias "-radar" "autocall_default"
bind [KEY] "+radar

이 스크립트는 메딕으로만 사용 가능하며, 키를 누르면 자동 호출의 퍼센트가 굉장히 큰 수로 지정되어 주변에 팀이 어디 있는지 알 수 있습니다.

자살 스크립트

본문: 자살

우버톱을 든 메딕에게 공격 당하는 등의 상황에서, kill를 지정한 키를 눌러서 자살하는 것이 도움이 될 수도 있습니다. 이는 대부분 경쟁 모드에서 사용하나, 공개 서버에서 웃기기 위한 용도로 사용하는 경우가 있습니다. 또한, explode를 사용하는 경우 폭발하며 자살하게 됩니다.

Null-Cancelling 움직임 스크립프

아무 설정도 하지 않은 팀 포트리스 2에서, 반대 방향으로 움직이는 키들을 동시에 누르는 경우 플레이어의 모든 움직임을 없애고 가만히 있게 합니다. 이 스크립트는 마지막에 눌린 키만을 입력으로 받아 그 방향으로 움직이게 합니다.

채팅 bind 스크립트

채팅 bind 스크립트는 미리 적어놓은 메시지를 채팅에 보내기 위한 스크립트 입니다. 일반적으로, 이 스크립트를 키에 적용해 채팅을 직접 치지 않고도 채팅에 글을 쓸 수 있게 합니다. 이 스크립트는 유저마다 다르게 사용할 수 있으며, 글자 수 제한 내의 모든 메시지를 보낼 수 있습니다. 이 메시지는 팀 채팅에 적을 수도 있습니다. 또한 거래 관련한 채팅을 적을 수도 있으며, 몇 분마다 채팅을 보내도록 할 수도 있습니다.

보이스 채팅 토글

bind [KEY] mic_toggle
alias mic_toggle mic_enable
alias mic_enable "+voicerecord; alias mic_toggle mic_disable"
alias mic_disable "-voicerecord; alias mic_toggle mic_enable"

이 스크립트는 눌러서 보이스 채팅을 하는 것이 아닌 토글로 보이스 채팅을 할 수 있게 합니다.

주석

  • 각 스크립트 파일은 1MiB (1.04858 메가바이트)의 정보만 가질 수 있습니다. 파일의 끝에 exec를 이용하여 다른 파일을 열게 함으로써 우회할 수 있습니다.

같이 보기

외부 링크