← 기술 문서

스테이지 스크립트 명령 레퍼런스

스테이지 이벤트 스크립트의 모든 명령, 조건, 컨텍스트 마커, 이벤트 타입, 변수, 출격 레코드 필드를 정리했습니다. 미니 스테이지를 만들 때 참고하세요.

업데이트 2026-10-07

스테이지의 각 이벤트는 16비트 워드의 나열입니다. 명령 오프코드 3D31–3D79 뒤에 그 오퍼랜드가 오고, 조건 3E00–3E1D가 if 블록을 이루며, 컨텍스트 마커 3DD0–3DDB가 현재 주인공의 루트나 선택지에 따라 실행할 구간을 고르고, FFFF로 이벤트가 끝납니다. 미니 스테이지에서는 명령을 {"op": "3D45", "args": [1]}처럼 쓰며, 조건과 마커도 같은 방식으로 씁니다.

이 페이지는 config/data/original-jp-v1.json의 stage_scripts 테이블에서 생성됩니다. “코드 확인”은 게임의 핸들러에서 의미를 확인했다는 뜻이고, “구조 확인”은 무엇을 읽고 쓰는지는 알지만 무엇을 위한 것인지는 아직 완전히 알지 못한다는 뜻입니다.

구현 근거(각 항목이 어떤 게임 코드에 기반하는지)와 게임 내 확인 결과는 중국어로 기록되어 있습니다. 각 항목에서 중국어 페이지의 해당 위치로 링크합니다.

이벤트 타입

이벤트의 타입에 따라 언제 검사되는지, 그리고 네 개의 발동 파라미터(header)를 어떻게 읽는지가 정해집니다.

타입 이름 검사 시점 발동 파라미터
0 턴 시작 페이즈 0 1. 턴 수: 현재 턴 ≥ 이 값
2. 페이즈: 현재 페이즈 8010F5E8과 같아야 함(1 아군 / 2 적)
3. 예약
4. 예약
1 지연 카운트(3D52로 시작) 페이즈 0 1. 초기 상태: 실행 중에 3D52가 0xFD로 바꿔 씀
2. 페이즈: 실행 중에 3D52가 바꿔 씀; 4 = 제한 없음
3. 예약
4. 예약
2 기체 파괴 / 철수 항상 1. 게이트 변수: 100–115는 변수가 3인 동안 이벤트가 발동하지 않음(8009DE7C가 각 스테이지 시작 시 100–114를 3으로 설정하며, 스크립트가 0을 써서 활성화); 다른 번호는 검사하지 않음; 0은 게이트 없음
2. 캐릭터: 이 캐릭터가 탄 기체의 HP가 0%가 됨
3. 예약
4. 예약
3 HP가 비율 이하 항상 1. 캐릭터: 캐릭터 138은 특례로, 그 기체의 HP < 11일 때만 계속
2. 비율: HP% ≤ 이 값이고 맵 위
3. 예약
4. 예약
4 전투 이벤트(전투 후, 페이즈 7) 페이즈 7 1. 캐릭터 A: 0 = 제한 없음
2. 캐릭터 B: 0 = 제한 없음
3. 예약
4. 예약
5 전투 이벤트(전투 전, 페이즈 4) 페이즈 4 1. 캐릭터 A: 0 = 제한 없음
2. 캐릭터 B: 0 = 제한 없음
3. 예약
4. 예약
6 적 전멸 항상 1. 마지막 턴: 현재 턴(0부터) ≤ 이 값인 동안만 발동; 현재 턴보다 작아지면 8009E834가 바로 반환
2. 페이즈: 4 = 제한 없음
3. 예약
4. 예약
7 한 소속의 남은 기체 수 항상 1. 소속 선택: 2 → 제3세력 수 0x9B2, 그 밖에는 적의 수 0x9B1
2. 최대 수: 남은 수 ≤ 이 값
3. 페이즈: 4 = 제한 없음
4. 게이트 변수: 100–115는 변수가 3인 동안 이벤트가 발동하지 않음(8009DE7C가 각 스테이지 시작 시 100–114를 3으로 설정하며, 스크립트가 0을 써서 활성화); 다른 번호는 검사하지 않음
8 구역 도달(3D57로 활성화) 페이즈 0, 페이즈 1, 페이즈 2, 페이즈 6 1. 턴 또는 모드: 숫자 = 현재 턴 ≥ 이 값; 0xFF = 도달 시 발동; 0xFE = 아군이 모두 떠남
2. 대상: N×1000 + 캐릭터(또는 500 + 소속; 21 = 맵 위에 있는 목록의 첫 캐릭터)
3. x 범위: x0×10 + 너비
4. y 범위: y0×10 + 높이
9 설득(0x992, 페이즈 6) 페이즈 0, 페이즈 1, 페이즈 2, 페이즈 6 1. 설득하는 쪽: 800A4634가 등록 순서대로, 아직 실행하지 않았고 게이트를 만족하며 두 캐릭터가 상하좌우로 인접한 첫 슬롯을 찾아 engine+0x992에 씀
2. 대상: 대상은 어느 소속이든 가능
3. 게이트 변수: 0xFFF8(−8)은 게이트 없음; 그 밖에는 변수가 게이트 값과 같을 때만 설득이 나타남. 스테이지를 넘나드는 여러 단계의 설득은 이것으로 이어짐
4. 게이트 값
10 등록되지만 검사되지 않음 없음 1. 예약
2. 예약
3. 예약
4. 예약
11 등록되지만 검사되지 않음 없음 1. 예약
2. 예약
3. 예약
4. 예약
12 오프닝 이벤트(페이즈 C1) engine+4 = 0xC1 1. 예약
2. 예약
3. 예약
4. 예약
13 페이즈 C2 이벤트(초기 배치) engine+4 = 0xC2 1. 예약
2. 예약
3. 예약
4. 예약
14 엔딩 이벤트(페이즈 C3, 3D4A 이후) engine+4 = 0xC3 1. 예약
2. 예약
3. 예약
4. 예약

명령

3D31 · 월드맵: 지점에 배치(3D32와 같은 핸들러)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0E64

  1. 지점 — world_location

근거(중국어)

3D32 · 월드맵: 지점에 배치

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0E64

  1. 지점 — world_location

근거(중국어)

3D33 · 월드맵: 지점으로 이동

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0EFC

  1. 지점 — world_location

근거(중국어)

3D34 · 맵 전환 후 위치로 스크롤(맵, x, y, 종류)

오퍼랜드(4워드) · 코드 확인 · 핸들러 0x8009F6FC

  1. 맵 — map: 맵 번호(base:map_assets; 8010F5EE에 씀)
  2. x — x: 칸 x
  3. y — y: 칸 y
  4. 종류 — raw: 미해명

근거(중국어)

3D35 · 카메라를 위치로 스크롤(위치, 대기 플래그)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A03E8

  1. 위치 — position: 상위 바이트 x / 하위 바이트 y; 0x40–0x44는 3D54가 기억한 위치 기준 상대값
  2. 대기 플래그 — raw: 미해명

근거(중국어)

3D36 · 화면 흔들기(강도)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009F880

  1. 강도 — raw: 미해명

근거(중국어)

3D37 · 맵 이펙트 오버레이(이펙트, 위치)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x8009FF2C

  1. 이펙트 — raw: 미해명
  2. 위치 — position: 상위 바이트 x / 하위 바이트 y; 0x40–0x44는 3D54가 기억한 위치 기준 상대값

근거(중국어)

3D38 · 대기(프레임)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A00F0

  1. 프레임 — count: 개수

근거(중국어)

3D39 · 효과음 재생

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009FA4C

  1. 효과음 — se: 효과음 번호

근거(중국어)

3D3A · BGM 재생(0 = 정지)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009FA70

  1. 곡 — bgm: 곡 번호

근거(중국어)

3D3B · 화면 페이드(모드)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009F948

  1. 모드 — raw: 미해명

근거(중국어)

3D3C · 기체를 위치로 이동(파일럿, 위치)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A0360

  1. 파일럿 — actor: 캐릭터 번호(base:actors)
  2. 위치 — position: 상위 바이트 x / 하위 바이트 y; 0x40–0x44는 3D54가 기억한 위치 기준 상대값

근거(중국어)

3D3D · 출격(–, –, –, 수: 0 = 모함 선택, 200 = 전부 자동, 그 밖에는 선택 상한; 기준 그룹)

오퍼랜드(5워드) · 코드 확인 · 핸들러 0x800A09D0

  1. 예약(원본 스크립트는 기준 x를 복사) — raw: 미해명
  2. 예약(원본 스크립트는 기준 y를 복사) — raw: 미해명
  3. 파라미터(원본 스크립트에서는 항상 0) — raw: 미해명
  4. 수(0 모함 / 200 자동 / 그 밖에는 상한) — raw: 미해명
  5. 기준 그룹 — group: 출격 레코드 그룹

근거(중국어)

3D3E · 대사 · 표시 모드 0

오퍼랜드(1워드) · 대사 표시 모드 0 · 코드 확인 · 핸들러 0x8009F654

  1. 텍스트 — text: 테이블 0의 텍스트 번호

근거(중국어)

3D3F · 대사 · 표시 모드 1

오퍼랜드(1워드) · 대사 표시 모드 1 · 코드 확인 · 핸들러 0x8009F670

  1. 텍스트 — text: 테이블 0의 텍스트 번호

근거(중국어)

3D40 · 대사 · 표시 모드 2

오퍼랜드(1워드) · 대사 표시 모드 2 · 코드 확인 · 핸들러 0x8009F68C

  1. 텍스트 — text: 테이블 0의 텍스트 번호

근거(중국어)

3D41 · 대사 · 표시 모드 3

오퍼랜드(1워드) · 대사 표시 모드 3 · 코드 확인 · 핸들러 0x8009F6A8

  1. 텍스트 — text: 테이블 0의 텍스트 번호

근거(중국어)

3D42 · 대사 · 표시 모드 4

오퍼랜드(1워드) · 대사 표시 모드 4 · 코드 확인 · 핸들러 0x8009F6C4

  1. 텍스트 — text: 테이블 0의 텍스트 번호

근거(중국어)

3D43 · 대사 · 표시 모드 5

오퍼랜드(1워드) · 대사 표시 모드 5 · 코드 확인 · 핸들러 0x8009F6E0

  1. 텍스트 — text: 테이블 0의 텍스트 번호

근거(중국어)

3D44 · 선택지 표시(창 슬롯, 선택지 수, 선택지 텍스트)

오퍼랜드(3워드) · 코드 확인 · 핸들러 0x8009FA94

  1. 창 슬롯 — raw: 미해명
  2. 선택지 수 — count: 개수
  3. 선택지 텍스트 — text: 테이블 0의 텍스트 번호

근거(중국어)

3D45 · 레코드 그룹 출격(등장)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009FC04

  1. 그룹 — group: 출격 레코드 그룹

근거(중국어)

3D46 · 기체 철수(캐릭터 또는 그룹, 즉시)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x8009FDC4

  1. 캐릭터 또는 그룹 — actor_or_group: 500 미만은 캐릭터 번호, 500부터는 그룹(값 − 500)
  2. 즉시 — bool: 스위치

근거(중국어)

3D47 · 대사 창을 닫고 32프레임 대기

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A013C

근거(중국어)

3D48 · 대사 창 닫기

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A0194

근거(중국어)

3D49 · 연출 전투 장면(전투 항목 A, 전투 항목 B)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A10F0

  1. 전투 항목 A — battle_entry
  2. 전투 항목 B — battle_entry

근거(중국어)

3D4A · 스테이지 승리

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A01CC

근거(중국어)

3D4B · 다음 장면 설정(500 = 8010F5F2 복원)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0260

  1. 장면 — scene: 장면

근거(중국어)

3D4C · 게임 오버

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A02E0

근거(중국어)

3D4D · 월드맵에서 전장으로 전환

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A031C

근거(중국어)

3D4E · 창을 닫고 1프레임 양보

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A0468

근거(중국어)

3D4F · 기체 파괴(캐릭터 또는 그룹)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009FE9C

  1. 캐릭터 또는 그룹 — actor: 캐릭터 번호(base:actors)

근거(중국어)

3D50 · 기체 변형(캐릭터, 변형 전 기체, 변형 후 기체)

오퍼랜드(3워드) · 코드 확인 · 핸들러 0x800A04AC

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 변형 전 기체 — unit: 기체 번호(base:units)
  3. 변형 후 기체 — unit: 기체 번호(base:units)

근거(중국어)

3D51 · MAP 무기 발사(캐릭터, 기체, MAP 무기, 방향, –)

오퍼랜드(5워드) · 코드 확인 · 핸들러 0x800A051C

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 기체 — unit: 기체 번호(base:units)
  3. MAP 무기 — weapon
  4. 방향 — raw: 미해명
  5. – — raw: 미해명

근거(중국어)

3D52 · 지연 카운트 이벤트 시작(슬롯, 턴 수, 페이즈)

오퍼랜드(3워드) · 코드 확인 · 핸들러 0x800A05D0

  1. 타입 1 슬롯 — event_slot_type1: 이 장면에서 타입 1 이벤트의 등록 번호
  2. 턴 수 — count: 개수
  3. 페이즈 — side: 페이즈 1 아군 / 2 적 / 3 제3세력(4 = 제한 없음)

근거(중국어)

3D53 · 지연 카운트 이벤트 정지(슬롯)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0638

  1. 타입 1 슬롯 — event_slot_type1: 이 장면에서 타입 1 이벤트의 등록 번호

근거(중국어)

3D54 · 캐릭터의 위치 기억

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0678

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)

근거(중국어)

3D55 · 정신기 사용 / 카메라를 캐릭터로 전환(캐릭터, 정신기 또는 30)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A0714

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 정신기 — spirit

근거(중국어)

3D56 · 녹색 목표 구역 강조 표시(인코딩된 모서리 A, 인코딩된 모서리 B, –)

오퍼랜드(3워드) · 코드 확인 · 핸들러 0x800A0780

  1. 모서리 A — raw: 미해명
  2. 모서리 B — raw: 미해명
  3. 예약 — raw: 미해명

근거(중국어)

3D57 · 구역 도달 이벤트 슬롯 활성화(슬롯, 값)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A0BD0

  1. 타입 8 슬롯 — event_slot_type8: 이 장면에서 타입 8 이벤트의 등록 번호
  2. 값 — bool: 스위치

근거(중국어)

3D58 · 기체의 소속 변경(캐릭터, 새 소속)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A0C14

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 새 소속 — raw: 미해명

근거(중국어)

3D59 · 출격 금지(캐릭터; 500 이상은 500 + 기체 번호)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0C80

  1. 캐릭터 또는 500 + 기체 — raw: 미해명

근거(중국어)

3D5A · 부대 편성 변경(캐릭터, 파라미터, 기체, 모드 / 이전 기체)

오퍼랜드(4워드) · 코드 확인 · 핸들러 0x800A0B3C

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 파라미터 — raw: 미해명
  3. 기체 — unit: 기체 번호(base:units)
  4. 모드 / 이전 기체 — raw: 미해명

근거(중국어)

3D5B · 자금 추가: 파라미터 × 1000

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0D24

  1. 천 단위 — value: 번호

근거(중국어)

3D5C · 합체 / 분리(캐릭터, 1 = 합체, 0 = 분리)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A0D68

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 모드 — raw: 미해명

근거(중국어)

3D5D · 합체 로봇의 형태 설정(1 = 합체, 0 = 분리; 계열 0 = 단쿠가, 1 = 컴배틀러 V)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A1010

  1. 형태 — raw: 미해명
  2. 계열 — raw: 미해명

근거(중국어)

3D5E · 부대 이름 입력 화면 열기

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A1050

근거(중국어)

3D5F · 모든 파일럿의 기력 −30(최소 50)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1078

  1. 파라미터 — raw: 미해명

근거(중국어)

3D60 · 아군 기체 정렬 배치(시작 x, 시작 y, 줄당 수)

오퍼랜드(3워드) · 코드 확인 · 핸들러 0x800A10AC

  1. x — x: 칸 x
  2. y — y: 칸 y
  3. 줄당 수 — count: 개수

근거(중국어)

3D61 · “아군 전멸 시 패배” 판정 일시 중지(스위치)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1328

  1. 일시 중지 — bool: 스위치

근거(중국어)

3D62 · 캐릭터의 신원 교체(캐릭터 → 캐릭터)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A1224

  1. 이전 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 새 캐릭터 — actor: 캐릭터 번호(base:actors)

근거(중국어)

3D63 · 착지 / 이륙(캐릭터)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1264

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)

근거(중국어)

3D64 · 부파일럿 하차(캐릭터; 500,500 = 아이샤가 마나미의 모함으로 이동)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A12CC

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 모드 — raw: 미해명

근거(중국어)

3D65 · 승리 / 패배 조건 설정(승리, 패배)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A1360

  1. 승리 조건 — victory_condition
  2. 패배 조건 — defeat_condition

근거(중국어)

3D66 · 대사 중 카메라를 화자로 옮기지 않음(스위치)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A13A4

  1. 화자를 따라가지 않음 — bool: 스위치

근거(중국어)

3D67 · 파워업 / 합체 장면(장면 번호)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A13F0

  1. 장면 번호 — raw: 미해명

근거(중국어)

3D68 · 카메라를 선택한 기체로 되돌리기

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A1458

근거(중국어)

3D69 · 기체의 행동 상태 설정(캐릭터, 1 = 행동 가능, 0 = 행동 불가)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A14A4

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 행동 상태 — raw: 미해명

근거(중국어)

3D6A · 갓마즈 합체(모드)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A14E4

  1. 모드 — raw: 미해명

근거(중국어)

3D6B · 선택 표시(캐릭터, 기체, 1 = 설정, 0 = 해제)

오퍼랜드(3워드) · 코드 확인 · 핸들러 0x800A158C

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 기체 — unit: 기체 번호(base:units)
  3. 스위치 — raw: 미해명

근거(중국어)

3D6C · 기체의 개조 단계 설정(기체, 단계)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A15D0

  1. 기체 — unit: 기체 번호(base:units)
  2. 단계 — value: 번호

근거(중국어)

3D6D · 현재 페이즈를 1(아군 페이즈)로 설정

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1610

  1. 파라미터 — raw: 미해명

근거(중국어)

3D6E · 기체 철수(캐릭터)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1644

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)

근거(중국어)

3D6F · 무기 해금(무기 번호)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1680

  1. 무기 — raw: 미해명

근거(중국어)

3D70 · 부파일럿 추가(파일럿, 부파일럿)

오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A16BC

  1. 파일럿 — actor: 캐릭터 번호(base:actors)
  2. 부파일럿 — actor: 캐릭터 번호(base:actors)

근거(중국어)

3D71 · 엔딩으로 이동(돌아오지 않음)

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A02B8

근거(중국어)

3D72 · 월드맵 이동 수단 설정(이동 수단)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0FCC

  1. 이동 수단 — raw: 미해명

근거(중국어)

3D73 · 부대 분할: 미리 정한 목록으로 선택(1 = 목록 A, 0 = 목록 B)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A16FC

  1. 목록 — raw: 미해명

근거(중국어)

3D74 · 부대 분할 선택 표시 모두 해제

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A1924

근거(중국어)

3D75 · 모함에서 기체 발진(캐릭터; 함장이면 함 전체가 발진, 999 = 46 브라이트)

오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A197C

  1. 캐릭터(함장이면 함 전체가 발진; 999 = 46) — actor: 캐릭터 번호(base:actors)

근거(중국어)

3D76 · 핸들러 없음

오퍼랜드 없음 · 코드 확인

근거(중국어)

3D77 · 핸들러 없음

오퍼랜드 없음 · 코드 확인

근거(중국어)

3D78 · 아무 동작 없음(도달 불가)

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A01BC

근거(중국어)

3D79 · 아무 동작 없음(도달 불가)

오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A01C4

근거(중국어)

조건

조건은 ACC 레지스터와 변수를 검사하고 설정합니다. “시작”은 블록을 열며, 거짓이면 스크립트는 대응하는 “블록 끝”(3E1D)까지 건너뜁니다. 블록은 중첩할 수 있습니다.

3E00 · ACC = 0

오퍼랜드 없음 · 종류: 문 · 코드 확인 · 핸들러 0x800A2388

근거(중국어)

3E01 · 캐릭터의 HP 비율 < 기준값(이고 맵 위)이면 ACC = 값

오퍼랜드(3워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A1FBC

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)
  2. 비율 — value: 번호
  3. ACC 값 — value: 번호

근거(중국어)

3E02 · 변수 ≠ 값이면

오퍼랜드(2워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A207C

  1. 변수 — flag: 2비트 변수 0–199
  2. 값 — value: 번호

근거(중국어)

3E03 · 변수 = 값이면 ACC = 값 2

오퍼랜드(3워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A20C4

  1. 변수 — flag: 2비트 변수 0–199
  2. 값 — value: 번호
  3. ACC 값 — value: 번호

근거(중국어)

3E04 · 현재 턴 < 턴 수이면 ACC = 값

오퍼랜드(2워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A2344

  1. 턴 수 — value: 번호
  2. ACC 값 — value: 번호

근거(중국어)

3E05 · 항상 참(미구현)

오퍼랜드 없음 · 종류: 시작 · 코드 확인

근거(중국어)

3E06 · ACC = !(레벨[캐릭터 A] < 레벨[캐릭터 B])

오퍼랜드(2워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A22CC

  1. 캐릭터 A — actor: 캐릭터 번호(base:actors)
  2. 캐릭터 B — actor: 캐릭터 번호(base:actors)

근거(중국어)

3E07 · 항상 참(미구현)

오퍼랜드 없음 · 종류: 시작 · 코드 확인

근거(중국어)

3E08 · ACC = 값이면

오퍼랜드(1워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A23C4

  1. 값 — value: 번호

3E09 · ACC ≥ 값이면

오퍼랜드(1워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A23EC

  1. 값 — value: 번호

3E0A · ACC ≠ 값이면

오퍼랜드(1워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A2438

  1. 값 — value: 번호

3E0B · ACC ≥ 값이면

오퍼랜드(1워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A23EC

  1. 값 — value: 번호

근거(중국어)

3E0C · ACC < 값이면

오퍼랜드(1워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A2414

  1. 값 — value: 번호

3E0D · ACC = 격추 수[캐릭터]

오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A228C

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)

근거(중국어)

3E0E · 변수 = (변수 + 1) mod 4

오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A2198

  1. 변수 — flag: 2비트 변수 0–199

3E0F · 변수 = (변수 − 1) mod 4(0 이하이면 3)

오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A220C

  1. 변수 — flag: 2비트 변수 0–199

3E10 · 선택지 1을 골랐으면

오퍼랜드 없음 · 종류: 시작 · 코드 확인 · 핸들러 0x800A2394

근거(중국어)

3E11 · 선택지 2를 골랐으면

오퍼랜드 없음 · 종류: 시작 · 코드 확인 · 핸들러 0x800A23A4

근거(중국어)

3E12 · 선택지 3을 골랐으면

오퍼랜드 없음 · 종류: 시작 · 코드 확인 · 핸들러 0x800A23B4

근거(중국어)

3E13 · 변수 = 값

오퍼랜드(2워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A2158

  1. 변수 — flag: 2비트 변수 0–199
  2. 값 — value: 번호

근거(중국어)

3E14 · ACC = 값

오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A2138

  1. 값 — value: 번호

3E15 · ACC = 한 소속의 기체 수

오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A24FC

  1. 소속 — faction: 소속 번호 0 아군 / 1 적 / 2 제3세력

근거(중국어)

3E16 · ACC = 전투 중인 다른 캐릭터(지정한 캐릭터가 아닌 쪽)

오퍼랜드(1워드) · 종류: 문 · 구조 확인 · 핸들러 0x800A2478

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)

근거(중국어)

3E17 · ACC = engine+0x9B6(부호 있는 바이트)

오퍼랜드 없음 · 종류: 문 · 구조 확인 · 핸들러 0x800A2460

근거(중국어)

3E18 · ACC = 현재 장면

오퍼랜드 없음 · 종류: 문 · 코드 확인 · 핸들러 0x800A2570

근거(중국어)

3E19 · engine+0x998 = engine+0x9A8

오퍼랜드 없음 · 종류: 문 · 구조 확인 · 핸들러 0x800A2590

근거(중국어)

3E1A · ACC = engine+0x998

오퍼랜드 없음 · 종류: 문 · 구조 확인 · 핸들러 0x800A25A0

3E1B · ACC = 캐릭터의 존재 상태(0 없음 / 1 맵 위 / 3 철수)

오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A1F7C

  1. 캐릭터 — actor: 캐릭터 번호(base:actors)

근거(중국어)

3E1C · 무조건 블록 시작(항상 참)

오퍼랜드 없음 · 종류: 시작 · 코드 확인 · 핸들러 0x800A2584

근거(중국어)

3E1D · 조건 블록 끝

오퍼랜드 없음 · 종류: 블록 끝 · 코드 확인 · 핸들러 0x800A1D60

근거(중국어)

컨텍스트 마커

마커에 도달했을 때 현재 컨텍스트와 일치하면 스크립트는 그대로 계속하고, 그렇지 않으면 다음에 일치하는 마커나 이벤트 끝까지 건너뜁니다.

마커 이름 일치 조건
3DD0 공통 구간(모든 컨텍스트) 항상
3DD1 아크라이트 블루 루트 현재 주인공
3DD2 세레인 메네스 루트 현재 주인공
3DD3 브래드 스카이윈드 루트 현재 주인공
3DD4 마나미 하밀 루트 현재 주인공
3DD5 리얼계 주인공(3DD1/3DD2) 주인공 분류
3DD6 슈퍼계 주인공(3DD3/3DD4) 주인공 분류
3DD7 남성 주인공(3DD1/3DD3) 주인공 분류
3DD8 여성 주인공(3DD2/3DD4) 주인공 분류
3DD9 선택지 1 선택지 결과
3DDA 선택지 2 선택지 결과
3DDB 선택지 3 선택지 결과

오퍼랜드 타입

오퍼랜드의 타입은 값의 범위를 나타냅니다. 여기에 없는 타입은 오퍼랜드 이름으로 설명합니다.

타입 의미
actor 캐릭터 번호(base:actors)
text 테이블 0의 텍스트 번호
unit 기체 번호(base:units)
flag 2비트 변수 0–199
scene 장면
group 출격 레코드 그룹
position 상위 바이트 x / 하위 바이트 y; 0x40–0x44는 3D54가 기억한 위치 기준 상대값
x 칸 x
y 칸 y
count 개수
frames 프레임
se 효과음 번호
bgm 곡 번호
event_slot_type1 이 장면에서 타입 1 이벤트의 등록 번호
event_slot_type8 이 장면에서 타입 8 이벤트의 등록 번호
actor_or_group 500 미만은 캐릭터 번호, 500부터는 그룹(값 − 500)
bool 스위치
value 번호
side 페이즈 1 아군 / 2 적 / 3 제3세력(4 = 제한 없음)
deploy_side 출격 소속 0/1/2(3 → 0, 4 → 2)
raw 미해명
faction 소속 번호 0 아군 / 1 적 / 2 제3세력
map 맵 번호(base:map_assets; 8010F5EE에 씀)

변수

2비트 변수(값 0–3)가 200개 있으며 0x8015E818에 저장됩니다. 조건으로 읽고 쓰며 스테이지가 바뀌어도 유지됩니다.

출격 레코드(28바이트)

스테이지의 출격 레코드는 기체를 배치하며, 한 건에 하프워드 14개이고 그룹 999에서 끝납니다. “미니 스테이지 필드”는 스테이지 deployments의 해당 필드 이름입니다.

오프셋 바이트 이름 미니 스테이지 필드 확인 정도
+0 2 그룹 group 코드 확인
+2 2 x x 코드 확인
+4 2 y y 코드 확인
+6 2 파일럿 actor 코드 확인
+8 1 미해명 바이트 byte8 미해명
+9 1 레벨 오프셋 level_offset 코드 확인
+10 2 기체 unit 코드 확인
+12 2 개조 번호 upgrade 코드 확인
+14 6 미해명 raw14, raw16, raw18 미해명
+20 2 소속 faction 코드 확인
+22 2 행동 플래그 behavior 구조 확인
+24 2 추가 값 extra 구조 확인
+26 2 미해명 raw26 미해명