팁/공략 Return to Castle Wolfenstein & Enemy Territory 콘솔 가이드 #3
페이지 정보
본문
어느정도 게임에 익숙해지고 울펜을 즐길 줄 아는 대열에 합류하게 되면 자연스레 스크립트니, 컨픽이니 하는 말들을 듣게 됩니다. 콘솔명령어를 파일로 저장하여 사용하는걸로 봐서는 그리 다르지 않아 보이는데 무엇이 다른것인지 알아보겠습니다.
2. 모타를 설치한다
3. 커맨드맵을 표시한다
4. 발사한다
weaponbank 3; wait 120; weapalt; wait 120; +mapexpand
-mapexpand; weapalt; wait 120; weaponbank 2
bind "Y" "vstr mot"
set mot01 "weaponbank 3; wait 120; weapalt; wait 120; +mapexpand; set mot vstr mot02"
set mot02 "-mapexpand; weapalt; wait 120; weaponbank 2; set mot vstr mot01"
set mot "vstr mot01"
(자세한 스크립트 작성법은 다음에 알려드리도록 하겠습니다)
==========================================================================
// 키세팅은 기본세팅으로 사용하던거 사용하세요.
seta com_hunkMegs "256" // 자기 컴에 맞게 바꾸세요. 게임이 사용할 메모리 용량입니다
seta com_maxfps "125" // 맥스 fps 125 로 했습니다. 실내에서는 나오더군요
seta r_displayrefresh "75" unsafe // 눈보호를 위해서 모니터 주파수 75hz
seta sensitivity "2.000000" // 마우스 감도입니다. 각자 쓰던거 쓰세요
seta cl_mouseAccel "0.25" // 마우스 엑셀값입니다. 그냥 쓰던거 쓰세요
seta cg_autoswitch "0"
seta cg_wolfparticles "1" // 파티클 0 으로 하면 프레임 상승합니다. 파티클없어져요.
seta cg_crosshairSize "48" // 크로스헤어는 점으로, 중간값으로 했습니다.
seta cg_drawCrosshair "5"
seta r_picmip "3" // 미친척하고 3으로 했습니다. 텍스쳐 다 뭉게집니다.
seta r_texturebits "16" unsafe // 텍스쳐 비트 16 비트
seta r_colorbits "16" unsafe // 컬러비트도 16 비트
seta r_stencilbits "0" unsafe
seta r_depthbits "16" unsafe
seta r_overBrightBits "0"
seta r_ignorehwgamma "1" // 하드웨어 감마 무시
seta r_simpleMipMaps "1" // 밉멥 1
seta r_fastsky "0" // 하늘 빨리 그리고
seta r_drawSun "1" // 그래도 태양없으니깐 허전해서
seta r_vertexlight "1"
seta r_intensity "1.500000" // 선명도 높이고
seta r_dynamiclight "0" // 다이나믹 라이트 없애고
seta r_mapoverbrightbits "2.5" // 맵밝기는 2.5 로 했습니다. 각자 고치세요
seta r_gamma "2.000000" // 감마 2
seta cg_shadows "0" // 그림자 없어도 되구요
seta cg_brassTime "0"
seta cg_showblood "0" // 피없애고
seta cg_bloodFlash "0"
seta cg_complaintPopUp "0" // 컴플레인 팝업 없애고
seta cg_useScreenshotJPEG "1"
seta cg_crosshairPulse "0" // 크로스 헤어는 안 벌어지게
seta cg_crosshairColor "White" // 크로스 헤어 하얀색
seta cg_crosshairAlpha "1.0" // 알파 최고로 주고
seta cg_crosshairAlphaAlt "1.0"
seta cg_crosshairColorAlt "White"
seta cg_coronafardist "4096" // 구름은 저멀리 보내고
seta cg_fov "100" // 시야각 100 도
seta cg_runpitch "0.000" // 화면흔들림 0
seta cg_runroll "0.000"
seta cg_bobup "0.000"
seta cg_bobpitch "0.000"
seta cg_bobroll "0.000"
seta cg_bobyaw "0.000"
seta cg_bloodTime "000"
seta cg_coronas "1"
seta cg_bloodDamageBlend "0.0"
seta cg_atmosphericEffects "0" // 비, 눈 안내리고
==========================================================================
작성된 스크립트나, 컨픽을 게임중에 로드하는 일은 참 번거롭습니다. 이럴떄는 ET가 설치된 폴더의 Etmain폴더에 작성한 스크립트나 컨픽파일을 위치시킨후 AUTOEXEC.CFG라는 파일을 만들고 다음과 같이 작성하여 저장합니다.
set devdll 1
exec 파일명.cfg
스크립트와 컨픽파일은 위에 언급된 콘솔명령어들로 이루어진 CFG 확장자를 가진 파일입니다. 보통 텍스트파일로 작업하여 저장후 확장자만 CFG로 변경하시면 됩니다.
그럼 단일 스크립트부터 만들어 보겠습니다.
단일 스크립트(싱글 바인드)
키를 바인딩하는 단일스크립트는 아주 쉽습니다. 만약 무기를 SMG로 변경하는 이벤트를 스크립트로 작성해보면 구문은 다음과 같습니다.
bind [key] "[command]"
[key]를 X로 변경하고 [command]를 weaponbank 3으로 변경하면 되죠.
bind x "weaponbank 3"
간단하죠?
단일 스크립트 (멀티플 바인드)
다중명령어 역시 바인드 키로 실행할 수 있습니다. 단 명령어들을 구분할때는 조심을 해야합니다.
명령어들의 구분은 세미콜론(;) 으로 합니다. 이때의 구문은 다음과 같습니다.
bind [key] "[command1]; [command2]; [command3]; ..... "
ex) bind X "weaponbank 3; vsay fireinthehole"
X를 치면 SMG로 바꾸고 보이스쳇으로 "fire in the hole"을 외치게 됩니다.
다른 예를 하나 들어볼까요?
스크린샷을 찍는데 화면의 모든 2D그래픽을 지우고 깨끗한 화면을 만들어 스샷을 찍은후 원상태로 복구하는 스크립트를 만들어보겠습니다.
bind F11 "cg_draw2d 0; cg_drawgun 0; wait; wait; wait; screenshot; toggle cg_draw2d; toggle cg_drawgun"
F11번을 치면 화면의 모든 2D를 OFF하고 (cg_draw2d 0), 총을 감춘뒤 (cg_drawgun 0) 딜레이를 약간 주고 (wait), 스크린샷을 찍습니다(screenshot) 그리고 원상태로 복구.. 이해가 되시죠? 그럼 저뒤에 toggle cg_draw2d는 무엇인가 궁금하실겁니다.
콘솔명령어에서도 알려드렸듯이 toggle은 ON, OFF의 속성을 갖고 있는 명령어들앞에 붙어 간단히 사용을 할수 있게 해줍니다. 예를 들어
bind F3 "toggle cg_drawFPS"
위와 같이 설정하면 F3을 누를떄마다 현재의 프레임이 화면에 보였다가 사라졌다가 하는 것입니다. 어디에 쓸수 있을지는 각자 생각해 보는게 좋을것 같습니다. (저 같으면 MG42 설치후 MG42의 모습을 감출때 써보겠습니다 ㅎㅎ)
이렇게 바인드키 하나로 여러가지 명령어들을 처리할수 있는게 멀티플바인드라고 합니다.
다중 스크립트(멀티플 바인드)
모바일 MG42를 사용하는 솔져가 어떤키를 치면 업드려 MG42를 설치하고 화면에서 MG42의 총모습을 지웠다가 다시 한번 키를 누르면 자리에서 일어나 총모습을 나타나게 하고 권총으로 무기를 바꾸게 할려고합니다.
물론 키 하나로 해결해야지요..
그럼 먼저 MG42를 설치하는 과정을 세분화 합니다.
MG42설치
1. MG42를 선택한다 (weaponbank 3)
2. 업드린다 (+prone)
3. MG42를 설치한다 (weapalt)
4. 총의 모습을 지운다 (cg_drawgun 0)
MG42해체
1. 일어난다 (+prone)
2. 총의 모습을 나타낸다 (cg_drawgun 1)
3. 권총으로 무기를 바꾼다 (weaponbank 2)
그럼 이제 작성해보겠습니다. 주의하실점은 스크립트로 어떤 이벤트를 만들때에는 딜레이 타임을 적절히 맞춰줘야합니다.
명령어는 바로 실행이되는데 화면속의 플레이어의 동작들이 이 명령어를 처리하기도 전에 다른 명령어가 내려지면 오동작을 발생하게됩니다. 딜레이 타임은 프레임수와 관계가 많으니 유념하시고 작업하시길 바랍니다.
bind X "vstr mg"
set mg01 "+prone; -prone; weaponbank 3; wait 120; weapalt; wait 120; toggle cg_drawgun; set mg vstr mg02"
set mg02 "+prone; -prone; toggle cg_drawgun; wait 120; weaponbank 2; set mg vstr mg01"
set mg "vstr mg01"
설명 :
// - 주석을 달때 사용합니다. // 뒤에 오는것들은 주석으로 간주됩니다.
vstr [변수명] - 변수를 지정합니다.
set [변수명] "[command]" - vstr로 지정된 변수에 값을 정의합니다.
Line1 : bind X "vstr mg"
X키를 치면 vstr로 지정된 mg라는 변수에 정의된 명령어를 처리합니다. (스크립트안에 같은 변수가 있으면 오류가 나겠죠?)
Line2 : set mg01 "+prone; -prone; weaponbank 3; wait 120; weapalt; wait 120; toggle cg_drawgun; set mg vstr mg02"
mg01이라는 변수에 다중명령어들을 정의합니다. 제일 마지막에보니 명령어들을 다 실행시키고 mg라는 변수에 mg02(해체)라는 변수를 다시 지정하는군요. 이 라인의 명령어들이 다 실행되면 MG42의 설치가 끝납니다.
Line3 : set mg02 "+prone; -prone; toggle cg_drawgun; wait 120; weaponbank 2; set mg vstr mg01"
mg02변수에 다중명령어들을 정의합니다. 일어나서, 총을 보이게 하고, 권총으로 바꿔들게 하는 명령들이 순차적으로 나열되여 있습니다. 역시 마지막에는 mg변수에 mg01(설치)을 지정하는군요.
Line4 : set mg "vstr mg01"
mg라는 변수에 다시 mg01이라는 변수를 지정합니다.
각 라인에대한 설명은 이쯤 하고 X키를 누를때 처리되는 순서를 한번 살펴보겠습니다.
처음 X를 누르면 바인드된 변수 mg를 거쳐 mg01(설치)의 내용을 실행하고 다시 mg에 mg02(해체)를 지정합니다. 따라서 다음번 X를 누르면 방금전 명령에 mg에 mg02(해체)를 지정했으니, mg01(설치)이 아닌 mg02(해체)를 실행하고 mg에 다시 mg01(설치)를 지정하는것이죠. 이렇게 해서 설치와 해체를 키 하나로 번갈아 가면서 사용할 수 있는 것입니다. 이해가 되셨는지 모르겠습니다. 위 예제를 구문으로 처리하면 다음과 같습니다.
bind x "vstr [변수0]"
set [변수1] "[명령어1-1]; [명령어1-2]; [명령어1-3]; .... ; set [변수0] vstr [변수2]"
set [변수2] "[명령어2-1]; [명령어2-2]; [명령어2-3]; .... ; set [변수0] vstr [변수3]"
set [변수3] "[명령어3-1]; [명령어3-2]; [명령어3-3]; .... ; set [변수0] vstr [변수4]"
set [변수4] "[명령어4-1]; [명령어4-2]; [명령어4-3]; .... ; set [변수0] vstr [변수5]"
set [변수5] "[명령어5-1]; [명령어5-2]; [명령어5-3]; .... ; set [변수0] vstr [변수6]"
set [변수6] "[명령어6-1]; [명령어6-2]; [명령어6-3]; .... ; set [변수0] vstr [변수7]"
set [변수7] "[명령어7-1]; [명령어7-2]; [명령어7-3]; .... ; set [변수0] vstr [변수n+1]"
.
.
.
.
.
set [변수n] "[명령어n-1]; [명령어n-2]; [명령어n-3]; .... ; set [변수0] vstr [변수1]"
set [변수0] "vstr [변수1]"
이런 형태의 구문이 되겠습니다.
댓글목록
등록된 댓글이 없습니다.