화면상에 출력되는 메세지, 다이얼로그, 메뉴등을 다루는 부분이다. GUI 컨트롤과 겹치는 부분이 있다.
미션을 시작할때/ 중간의 전환시의 문구표시라던지 미션을 마친 뒤에 표시되는 효과등에 사용하게 될 것 같다.
해당
액션에 배정되어있는 키를 리턴한다.
- Array = actionKeys userAction
|
actionkeys "reloadMagazine" |
해당
액션에 대한 버튼 이미지나 설정된 이름등의 리스트를 리턴한다.
- Structured Text = actionKeysImages userAction
|
hint str (actionkeysImages "reloadMagazine") |
해당
액션에 설정된 버튼명의 리스트를 리턴한다.
- String = actionKeysNames userAction
마우스 휠 스크롤, 키보드의 [,]키로 좌측 상단에 표시시켜서 보통 인벤토리 열람, 무기의 전환, 자리별 차량 탑승등으로 사용해왔던 액션메뉴에 새로운 행동을 추가시키는 스크립트이다.
Number = unitName addAction [title, filename, arguments, priority, showWindow, hideOnUse, shortcut, condition]
- action : 표시될 이름
- filename : 실행시킬 파일명 (간단한 명령도 가능)
- arguments : 함수로 전달시킬것들
- priority : 액션메뉴에 표시될 순서로 0~6까지 지정가능하며 숫자가 높을 수록 상단에 위치
- showWindow : 조준점 하단에 해당명령 표시여부
- hideOnUse : 사용 후 액션 메뉴를 사라지게 할꺼면 true, 계속해서 띄울꺼면 false
- shortcut : 키매핑을 입력하면 해당 키 입력이 이루어질때 기존의 동작 대신에 추가한 액션을 실행한다.
- condition : 해당 액션이 활성화되는 조건의 설정.
- removeAction
addAction으로 행동 생성시 0번부터 순차적으로 적용되는 번호를 사용해서 특정 행동을 액션메뉴에서 삭제시키는 스크립트.
unitName removeAction index
|
nul = this addAction ["test", {hint '???'}];
nul = this addAction ["Remove test", {player removeAction 0}]; |
해당 디스플레이에 속하는 디스플레이를 생성한다.
- parent createDisplay resourceName
- resourceName : 이 링크의 Rsc로 시작되는 굵은 글씨의 것들이다.
|
_display createDisplay "RscDisplayMainMap" |
다이얼로그를 생성한다.
- Boolean = createDialog dialogName
|
createDialog "gui1" |
- dialog
해당 다이얼로그의 현재상태를 리턴한다.
- Boolean = dialog
- true = open
- false = closed
해당 디스플레이 하단에 싱글 미션 디스플레이를 하위 디스플레이로 생성한다.이 미션 다이얼로그는 해당루트의 하단에 지정된 문구의 디렉토리를 설정하게 된다.
- Display = display createMissionDisplay string
|
findDisplay 46 createMissionDisplay "Test" |
해당 레이어의 효과를 제거하고, 페이드아웃할 시간을 지정한다.
- layer cutFadeOut delay
titleFadeOut
타이틀 이펙트를 제거하고 정해진 시간동안 페이드 아웃시킨다.
- titleFadeOut duration
미션의 description.ext, 캠페인의 description.ext, 글로벌 resource.cpp를 통해서 정의된 객체를 출력한다.
- (layer) cutObj [name, type, (speed)]
- layer : Number = 이 파라미터는 옵션이다. 효과가 보여지게 될 레이어를 선택한다. 0은 가장 뒤에 있는 레이어다.
- [name, type, speed]
- name : object의 클래스명
기본적으로 configFile(Ctrl + G) 하위의 CfgTitles에 적용되어있는 것들인 BISLogo, Sphere, TVSet을 사용할 수 있는 것으로 보인다.
- type : String
- speed : Number = 옵션으로, 단위는 초. 지정하지 않을경우의 값은 1.
|
cutObj ["sphere","PLAIN",3]; 0 cutFadeOut 5; |
- titleObj
description.ext를 통해서 지정된 Object를 출력
- titleObj [text, type, speed]
- TYPE
- "PLAIN"
- "PLAIN DOWN"
- "BLACK"
- "BLACK FADED"
- "BLACK OUT"
- "BLACK IN"
- "WHITE OUT"
- "WHITE IN"
미션의 description.ext, 캠페인의 description.ext, 글로벌 resource.cpp를 통해서 정의된 객체를 출력한다.
- cutRsc [name, type, speed]
- layer cutRsc [name, type, speed]
- layer : Number = 이 파라미터는 옵션이다. 효과가 보여지게 될 레이어를 선택한다. 0은 가장 뒤에 있는 레이어다.
- [name, type, speed]
- name : object의 클래스명."Default"로 정할경우 현재 출력되고 있는 것을 제거한다. 기본적으로 사용할 수 있는 것들은 configFile(Ctrl+G)의 RscTitles하단에 명시되어있다.
- type : String
- speed : Number = 옵션으로, 단위는 초. 지정하지 않을경우의 값은 1.
|
cutRsc ["RscMissionEnd","PLAIN",3]; 0 cutFadeOut 5; |
-
titleRsc
Description.ext를 통해서 지정된 resource를 출력한다.
- titleRsc [text, type, speed]
- text : 해당 resource의 클래스명. "Default"는 현재 resource를 제거한다.
- type
- "PLAIN"
- "PLAIN DOWN"
- "BLACK"
- "BLACK FADED"
- "BLACK OUT"
- "BLACK IN"
- "WHITE OUT"
- "WHITE IN"
- number = 옵션. default 1
텍스트 메세지를 화면 가운데에 출력한다.
- cutText [text,type,speed]
- layer cutText [text,type,speed]
- text : String - 출력되는 내용
- type : String
- speed : Number = 옵션으로, 단위는 초. 지정하지 않을경우의 값은 1.
- titleCut
더이상 사용하지 않는 명령. cutText를 대신 사용하길 권장하고 있다.
- titleCut [text, type, speed]
- titleText
화면에 해당 텍스트를 출력한다. cutText를 함께 사용하면 두가지 내용을 같이 출력할 수 있다.
- titleText [text, type, speed]
- text = String
- type
- "PLAIN"
- "PLAIN DOWN"
- "BLACK"
- "BLACK FADED"
- "BLACK OUT"
- "BLACK IN"
- "WHITE OUT"
- "WHITE IN"
- speed : 옵션. default 1
|
cutText ["cutText","PLAIN",3]; titleText["titleText","Plain down"]; |
타이틀의 효과를 설정한다.
- trigger setTitleEffect [type, effect, text]
- waypoint setTitleEffect [type, effect, text]
- type
- "NONE"
- "OBJECT"
- CfgTitles의 하위 클래스 중 text부분에 설정해놓은 형태로 출력한다.
- "RES"
- RscTitles의 하위 클래스 중 text부분에 설정해놓은 형태로 출력한다.
- "TEXT"
- Effect
- "PLAIN"
- "PLAIN DOWN"
- "BLACK"
- "BLACK FADED"
- "BLACK OUT"
- "BLACK IN"
- "WHITE OUT"
- "WHITE IN"
|
trigger1 setTitleEffect ["RES","Plain","RscMissionEnd"]; |
키보드와 마우스 입력 차단 여부를 설정한다. 일반적으로 화면전환시에 사용한다. 잘못 사용하면 프로그램을 종료해야한다.
- disableUserInput state
지정한 idc를 가지는 컨트롤을 리턴한다.
- Control = display displayCtrl idc
해당 디스플레이에 이벤트 핸들러를 추가한다. 해당 이벤트에 설정된 기본 코드가 제대로 실행되었는지 여부를 리턴한다.
- display displaySetEventHandler [handlerName, function]
- handlerName
이 스크립트에서 사용할때는 위 링크에 명시되어있는 이벤트명 앞의 on을 떼고 사용해야한다. (예: onMouseMoving → MouseMoving) on을 붙이는건 config에서 사용할때이다.
Scope부분을 보고 사용할 수 있는 것을 사용하면 된다.
- function : 해당 핸들러에서 리턴해주는 내용을 _this를 사용해서 활용할 수 있다.
해당 디스플레이의 이벤트 핸들러를 설정(수정)한다. 해당 이벤트에 설정된 기본 코드가 제대로 실행되었는지 여부를 리턴한다. 자세한 활용은
커맨드 그룹 GUI Control의 ctrlSetEventHandler와 비슷하므로 참조하면 된다.
- display displaySetEventHandler [handlerName, function]
- handlerName
이 스크립트에서 사용할때는 위 링크에 명시되어있는 이벤트명 앞의 on을 떼고 사용해야한다. (예: onMouseMoving → MouseMoving) on을 붙이는건 config에서 사용할때이다.
Scope부분을 보고 사용할 수 있는 것을 사용하면 된다.
- function : 해당 핸들러에서 리턴해주는 내용을 _this를 사용해서 활용할 수 있다.
해당 내용을 디버그 콘솔이나 로그파일로 전송한다. 내부용 버전에서만 가능하고, 판매용에선 사용할 수 없다.
- echo text
화면 좌측 하단에 출력되는 라디오 메세지의 출력여부를 설정한다.
- enableRadio state
여러 종류의 변수를 활용해서 하나의 문자열을 만든다. 해당 문자열을 다시 숫자로 바꾸고 싶을때는
parseNumber를 사용하면 된다.
- String = format [formatString, var1, var2 ...]
- formatString : %1, %2등을 사용해서 사용할 변수가 들어갈 곳을 지정해서 원하는 문자열을 만든다.
- val1 : %1에 들어갈 아무 변수
- val2 : %2에 들어갈 아무 변수
|
hint format["%1\n %2",player,position player]; |
여러가지 변수를 활용해서 structured Text를 만든다. 방식은 format과 같다.
- Structured Text = formatText [format, arg1, arg2, ...]
해당 유닛이 글로벌 라디오 채널을 통해서 해당 메세지를 보내도록 한다.
- unit globalChat chatText
|
player globalChat "Global"; player groupChat "Group"; player sidechat "Side"; |
description.ext를 통해서 지정해놓은 메세지(텍스트 + 음성)를 글로벌 라디오를 통해서 해당 유닛이 전송하도록 만든다.
unit globalRadio radioName
- radioName : description.ext에서 지정해놓은 메세지 클래스의 이름. 기본적인 것들은 configFile (Ctrl + G)의 RadioProtocolDefault를 참조하면 된다.
- groupRadio
description.ext를통해서 지정해놓은 메세지(텍스트+음성)를 그룹 라디오를 통해서 해당 유닛이 전송하도록 한다.
- unit groupRadio radioName
- radioName : description.ext에서 지정해놓은 메세지 클래스의 이름
- sideRadio
description.ext를통해서 지정해놓은 메세지를 특정 진영 라디오를 통해서 해당 유닛이 전송하도록 한다.
- unitName sideRadio chat
- vehicleRadio
description.ext를통해서 지정해놓은 메세지를 차량 라디오를 통해서 해당 유닛이 전송하도록 한다.
- vehicleName vehicleRadio name
지정된 화면 위치에 일정시간이 지나면 사라지는 문자열을 출력한다.
- hint text
hint와 같지만 문자열이 화면가운데에 출력되고 Continue를 누를때까지 게임이 정지된다.
- hintC text
|
player addAction["hintC","hintC 'HintC'"]; |
해당 제목과 내용을 포함한 힌트 다이얼로그를 출력한다. 제대로 작동되지 않는다고 한다.
- title hintC [text1, text2, ...]
해당 제목과structured Text로 된내용을 포함한 힌트 다이얼로그를 출력한다. 제대로 작동되지 않는다고 한다.
- title hintC structuredText
해당 제목과 내용을 포함한 힌트 다이얼로그를 출력한다. 디버그 콘솔이나 init에서 작동하지 않고, execVM처럼 외부에서 호출했을때 정상작동한다.
- title hintC text
|
"Title" hintC "Text" |
cadet모드를 사용하는 동안에 해당 문자열로 된 힌트를 출력한다. 문자열에 \n을 포함하면 줄을 나눌 수 있다.
- hintCadet text
- cadetMode
플레이어의 난이도가 "Recruit"과 "Regular"일경우 true를, "Veteran"과 "Expert"를 플레이하고 있으면 false를 출력한다.
- Boolean = cadetMode
사운드 없이 힌트만 출력한다.
- hintSilent text
해당 이미지를 포함한 structured Text를 만든다.
- Structured Text = image filename
Stringtable.csv를 통해서 정해진 대로 특정 문자열을 다른 문자열로 사용할 수 있게 한다.특정 단어나 문장에 맞춰서 설정해놓은 각각의 언어에 맞게 출력되도록 한다.
- localize stringName
댓글 없음:
댓글 쓰기