싱글 플레이에서 주로 쓰이고, 멀티에선 왠만해선 잘 쓰이지 않을 그룹에 대한 명령들이다. DayZ처럼 유닛들을 다양하게 생성해서 컨트롤해야한다면 편하게 쓰일 것 같다.
그룹을 생성한다.
- Group = createGroup side
|
group1 = createGroup west;
group1 createUnit ["B_Soldier_F",(position this), [],2,"FORM"];
group1 createUnit ["B_Soldier_02_f",(position this), [],2,"FORM"];
group1 createUnit ["B_Soldier_03_f",(position this), [],2,"FORM"];
group1 createUnit ["B_Soldier_lite_F",(position this), [],2,"FORM"]; |
- deleteGroup group
해당 그룹에 속해있는 유닛들의 목록을 리턴.
- Array = units groupOrunit
해당 유닛이 속해있는 그룹을 리턴
- Group = group object
존재하지 않는 그룹. if문등으로 체크할때 쓰면 될 것 같다.
- Group = grpNull
지정한 유닛들을 라디오 메세지로 특정 그룹으로 합류시킨다.
- unitArray join group
|
player addAction ["Join","(units group1) join (group player)"]; |
- joinSilent
라디오 명령 없이 그룹으로 합류시킵니다.
- unitArray joinSilent group
|
player addAction ["Join","(units group1) joinSilent (group player)"]; |
해당 그룹의 리더를 선정한다.
- groupName selectLeader unitName
- leader
해당 유닛이나 그룹의 리더를 리턴해준다.
Object = leader unitName
- unitName : Object or Group
해당 차량내에서 유닛들에게 명령을 내려서 실질적으로 차량을 컨트롤하는 유닛을 리턴
- Object = effectiveCommander vehicle
해당 유닛이 속해있는 그룹의 포메이션 리더를 리턴한다. 대체로 그룹 리더와 이 값이 같지만 그렇지 않을때도 있다.
- Object = formLeader unitName
포메이션 리더를 리턴한다.
- Object = formationLeader unitName
해당 유닛이 포메이션 리더인지 여부를 리턴한다.
- isLeader = isFormationLeader unit
해당그룹의 포메이션을 설정한다.
- group setFormation formation
- "COLUMN"
- "STAG COLUMN"
- "WEDGE"
- "ECH LEFT"
- "ECH RIGHT"
- "VEE"
- "LINE"
- "FILE"
- "DIAMOND"
|
player addAction ["COLUMN", "group1 setFormation 'COLUMN'"];
player addAction ["STAG COLUMN", "group1 setFormation 'STAG COLUMN'"];
player addAction ["WEDGE", "group1 setFormation 'WEDGE'"];
player addAction ["ECH LEFT", "group1 setFormation 'ECH LEFT'"];
player addAction ["ECH RIGHT", "group1 setFormation 'ECH RIGHT'"];
player addAction ["VEE", "group1 setFormation 'VEE'"];
player addAction ["LINE", "group1 setFormation 'LINE'"];
player addAction ["FILE", "group1 setFormation 'FILE'"];
player addAction ["DIAMOND", "group1 setFormation 'DIAMOND'"]; |
해당그룹의 포메이션명을 리턴.
- String = formation grp
해당유닛의 포메이션이 보고 있는 방향을 리턴.
- Number = formationDirection unitName
해당 유닛이 속해있는 포메이션의 전체 유닛들을 목록으로 리턴.
- Array = formationMembers person
해당 유닛이 속해있는 포메이션의 포지션을 리턴.
- Array = formationPosition person
생성된 유닛중 플레이가 가능한 유닛으로 지정한다.
selectPlayer를 통해서 유닛의 전환이 가능하지만 몇가지 제역사항이 있다.
- addSwitchableUnit unitName
|
group1 = createGroup west;
group1 createUnit ["B_Soldier_F",(position this), [],2,"FORM"];
group1 createUnit ["B_Soldier_02_f",(position this), [],2,"FORM"];
group1 createUnit ["B_Soldier_03_f",(position this), [],2,"FORM"];
group1 createUnit ["B_Soldier_lite_F",(position this), [],2,"FORM"];
switch1 = ((units group1) select 0);
addSwitchableUnit switch1;
selectPlayer switch1; |
- removeSwitchableUnit unitName
- Array = switchableUnits
라디오를 통해서 타겟을 지정한다.
- unitName commandTarget target
- doTarget : 타겟 지정을 라디오를 통한 명령없이 한다.
- assignedTarget : 해당 유닛에게 지정된 타겟을 리턴한다
- Object = assignedTarget vehicleName
라디오를 통해서 공격명령을 내린다. 만약 타겟이 사라지거나
objNull을 지정하면
doTarget이나
CommandTarget으로 지정한 현재의 타겟을 공격한다. 강제성이 있어서 아군 유닛도 사살한다.사거리 내에 있지 않으면 발포하지 않는다.
- unitName commandFire target
- unitName : Object or Array
-
target : Object
- doFire : 라디오로 명령하는 것이 아닌 직접 명령으로 발포명령을 내린다. 먼저 doTarget을 지정해놓는 편이 좋다고 한다.
- unitName doFire target
- unitName : Object or Array
|
trigger1 = createTrigger["emptyDetector",getpos player];
trigger1 setTriggerActivation["ALPHA","PRESENT",true];
trigger1 setTriggerStatements["this", "(units (group player))commandTarget cursorTarget",""];
trigger2 = createTrigger["emptyDetector",getpos player];
trigger2 setTriggerActivation["BRAVO","PRESENT",true];
trigger2 setTriggerStatements["this", "(units (group player))commandFire objNull",""];
1 setRadioMsg "Target";
2 setRadioMsg "Fire"; |
라디오 명령으로 특정 유닛을 따라오도록 만듭니다.
- unitName commandFollow followedunit
- doFollow
라디오 명령 없이 따라오도록 설정합니다.
- unitName doFollow unitName2
|
trigger1 = createTrigger["emptyDetector",getpos player];
trigger1 setTriggerActivation["ALPHA","PRESENT",true];
trigger1 setTriggerStatements["this", "unit1 commandFollow player",""];
1 setRadioMsg "Follow Player"; |
라디오로
FSM 파일을 실행하도록 명령합니다.
- unitName commandFSM [fsm name, position, target]
차량에서 내리도록 라디오로 명령한다. 라디오 없이는
doGetOut을 쓴다.
- commandGetOut unitName
특정지점으로 이동하도록 명령한다. 라디오 없이는
doMove를 사용한다.
- unitName commandMove position
행동을 멈추도록 라디오로 명령한다. 라디오 없이는
doStop을 쓴다.
- commandStop unitName
특정 지역이나 객체를 지켜보도록 설정한다. target에 objNull을 지정하면 주시하는 것을 멈추도록 명령하는 것이 된다.
- unitName(s) commandWatch position
unitName(s) commandWatch target
해당 유닛을 정해진 팀으로 지정한다.
- vehicleName assignTeam team
- vehicleName : Object
- team : String
- "MAIN"
- "RED"
- "GREEN"
- "BLUE"
- "YELLOW"
해당 유닛이 속해있는 팀의 색상을 리턴
- assignedTeam unitName
해당 유닛에게 지정된 팀을 해제시킨다. "MAIN"으로 설정하는 것과 같다.
- unassignTeam vehicleName
해당 색상의 팀을 없앤다. 해당 팀의 유닛들을 모두 "MAIN"으로 설정하는 것과 같다.
- dissolveTeam teamColor
댓글 없음:
댓글 쓰기