본문으로 건너뛰기
검색어를 입력하세요.
이 페이지는 기계 번역의 도움을 받아 번역되었습니다. 정확한 기준은 중국어 간체 문서입니다.

시나리오 이벤트와 트리거

시나리오 이벤트는 게임에서 시나리오 스크립트를 구성하는 기본 단위입니다. 트리거는 적절한 시점에 이벤트를 찾아 호출하고, 이벤트 안의 명령은 시나리오 이벤트 큐에 들어가 순서대로 실행됩니다.

스크립트의 특수 기호는 모두 영어 반각 기호를 사용하는 것을 권장합니다. 예: *, #, :, ;, |, [, ], $. 시나리오 텍스트와 설정표에서도 이러한 기호를 일반 문자로 잘못 사용하지 않도록 주의하세요.

하나의 시나리오 이벤트는 주로 이벤트 ID, 명령 내용, 결과 세 부분으로 구성됩니다.

구성설명
시나리오 이벤트 ID트리거나 EVENT, SUB_EVENT 같은 명령이 호출하는 고유 식별자입니다.
명령 내용이벤트가 트리거된 뒤 실행되는 명령 항목입니다. 여러 줄 명령은 순서대로 실행 큐에 들어갑니다.
결과명령 반환 결과에 따라 조건을 판정하고 다른 이벤트로 이동하거나 현재 이벤트를 끝냅니다.

트리거는 게임의 상호작용, 맵 진입, 퀘스트 완료, 전투 결과 같은 시점을 시나리오 이벤트와 연결합니다. 트리거가 맞더라도 모든 흐름을 즉시 끊고 실행하는 것이 아니라, 대응 이벤트를 시나리오 이벤트 큐에 넣고 실행기가 순서대로 처리합니다.

인터페이스 유형트리거 시점오브젝트 매개변수
passive수동 트리거입니다. 맵 편집기 트리거나 TRIGGER 명령으로 직접 실행할 때 자주 사용합니다.
talkNPC와 상호작용할 때 트리거됩니다.
first_in처음 게임에 진입할 때 트리거됩니다.
encounter샌드박스 맵의 유닛과 상호작용할 때 트리거됩니다.대상 유닛 제어 ID
before_enter_map대상 맵에 들어가기 전에 트리거됩니다. 이벤트가 응답하면 현재 맵 진입 행동을 중단합니다.대상 맵 ID
enter_map맵에 들어갈 때 트리거됩니다.대상 맵 ID
before_leave_map현재 맵을 떠나기 전에 트리거됩니다. 이벤트가 응답하면 현재 맵 이탈 행동을 중단합니다.현재 맵 ID
leave_map현재 맵을 떠날 때 트리거됩니다.현재 맵 ID
enter_place장소에 들어갈 때 트리거됩니다.대상 장소 ID
reach_place월드맵에서 장소에 들어가기 전에 트리거됩니다. 이벤트가 응답하면 장소 진입 행동을 중단합니다.대상 장소 ID
leave_place장소를 떠날 때 트리거됩니다.현재 장소 ID
before_leave_place장소를 떠나기 전에 트리거됩니다. 이벤트가 응답하면 장소 이탈 행동을 중단합니다.현재 장소 ID
reach_building시설에 들어가기 전에 트리거됩니다. 이벤트가 응답하면 시설 진입 행동을 중단합니다.대상 시설 ID
set_lordAI가 플레이어를 성주로 임명하거나 해임할 때 트리거됩니다.트리거 유형과 오브젝트 ID
job_cmd플레이어에게 업무 명령을 내릴 때 트리거됩니다.
see_warband월드맵에서 다른 부대의 전투를 마주칠 때 트리거됩니다.
curplace_inwar플레이어가 있는 장소가 공격받을 때 트리거됩니다.
quest_done퀘스트 조건이 모두 달성되었지만 아직 제출되지 않았을 때 트리거됩니다.퀘스트 ID
on_end_work어느 장소의 작업을 끝낼 때 트리거됩니다.
occupy_place플레이어가 장소 점령에 성공할 때 트리거됩니다.대상 장소 ID
new_day새로운 하루가 시작될 때 트리거됩니다.대상 날짜
reward_follower플레이어 부하에게 포상할 때 트리거됩니다.
reward_player플레이어가 포상을 받을 때 트리거됩니다.
dip_event플레이어 세력이 외교 이벤트를 만날 때 트리거됩니다.외교 이벤트 유형과 상대 세력 ID
dip_ret_success플레이어 세력이 요청한 외교 활동이 성공했을 때 트리거됩니다.외교 이벤트 유형과 상대 세력 ID
dip_ret_fail플레이어 세력이 요청한 외교 활동이 실패했을 때 트리거됩니다.외교 이벤트 유형과 상대 세력 ID
player_failed플레이어가 조우전에서 패배할 때 트리거됩니다.
reinforce_request플레이어와 관련된 지원 이벤트가 발생할 때 트리거됩니다.
is_fall세력이 붕괴할 때 트리거됩니다.세력 ID
is_to_fall세력이 모든 거점을 잃어 곧 붕괴할 때 트리거됩니다.세력 ID
before_cash_present포상 전에 트리거됩니다. 포상을 중단하는 데 사용할 수 있습니다.
before_present선물 전에 트리거됩니다. 선물을 중단하는 데 사용할 수 있습니다.
on_present선물할 때 트리거됩니다.
encounter_role캐릭터를 만나 공통 대화에 들어가기 전에 트리거됩니다.대상 캐릭터 ID
helped_camp양측 전투 조우에서 한쪽을 도운 뒤 트리거됩니다.상대 부대 대장의 소속 진영
on_saodang야외 장소를 소탕한 뒤 트리거됩니다.
on_place_rep_up장소 공헌도가 오를 때 트리거됩니다. 최신 공헌도는 arg_int_val1에서 읽을 수 있습니다.
on_place_rep_down장소 공헌도가 내려갈 때 트리거됩니다. 최신 공헌도는 arg_int_val1에서 읽을 수 있습니다.
team_dismiss부대가 해산될 때 트리거됩니다.부대 유형
team_into_place부대가 장소에 들어갈 때 트리거됩니다.부대 유형과 장소 ID
in_game게임 생성 또는 저장 불러오기 후 트리거됩니다.
bar_challenge플레이어가 술집에서 도전을 시작할 때 트리거됩니다.
tournament_start플레이어가 현지 격투 대회에 참가할 때 트리거됩니다.
be_promoted플레이어 작위 등급이 오를 때 트리거됩니다. tagrole은 세력 영주입니다.
be_demoted플레이어 작위 등급이 내려갈 때 트리거됩니다. tagrole은 세력 영주입니다.
space_move플레이어가 도시 내부 구역을 전환할 때 트리거됩니다.enter 또는 leave, 구역 ID
on_diplomacy_strategy정보 화면의 외교 버튼을 누를 때 트리거됩니다. tagcamp는 대상 세력입니다.
on_diplomacy_quit정보 화면의 나가기 버튼을 누를 때 트리거됩니다. tagcamp는 대상 세력입니다.
after_generate_role캐릭터 생성 후 트리거됩니다. tagrole은 생성된 캐릭터입니다.생성 템플릿 ID
match_prepare격투 대회 준비가 시작될 때 트리거됩니다.격투 대회 ID
match_start격투 대회가 정식으로 개최될 때 트리거됩니다.격투 대회 ID
match_end격투 대회가 끝날 때 트리거됩니다.종료 유형과 격투 대회 ID
match_fight격투 대회 전투가 시작될 때 트리거됩니다.격투 대회 ID
match_watch_fight격투 대회를 관전할 때 트리거됩니다.격투 대회 ID
match_fast_fight격투 대회를 빠른 전투로 처리할 때 트리거됩니다.격투 대회 ID
match_join_team격투 대회 팀에 참가할 때 트리거됩니다. arg_int_val1은 신청한 팀 ID입니다.격투 대회 ID
match_end_talk격투 대회 종료 대화 시 트리거됩니다.결과 유형과 대화 캐릭터

스크립트 프리셋 필드

“스크립트 프리셋 필드” 섹션

프리셋 필드는 현재 문맥의 오브젝트를 대신해 쓸 수 있어 재사용 가능한 공통 이벤트를 작성할 때 유용합니다.

필드설명
CUR_ROLE현재 조우 캐릭터 템플릿 ID입니다. 대화 상자와 선택 상자에서 자주 사용합니다.
CUR_BATTLE현재 조우한 월드맵 갱신 유닛에 대응하는 전투 ID입니다.

전투 매개변수 정보

“전투 매개변수 정보” 섹션

특정 전투표의 제한 조건 필드와 BATTLE 같은 명령의 전투 매개변수는 원래 전투 설정을 덮어쓸 수 있습니다.

매개변수1ID:매개변수1;매개변수2ID:매개변수2;...
매개변수설명
player플레이어 측 출전 영웅 유닛을 덮어씁니다. 형식: 캐릭터ID|캐릭터ID2.
units플레이어 측 출전 편제를 덮어씁니다. 형식: 병종카드ID,수량,레벨|병종카드ID2,수량,레벨. 레벨을 비우면 카드 초기 레벨을 사용합니다.
add_stat초기 배치 캐릭터에 속성을 추가합니다.
place_stat전투 장소에 속성 필드를 추가합니다.
can_capture이번 전투에서 패배 측을 포로로 잡을 수 있는지 지정합니다. 1은 가능, 0은 불가입니다.
can_loot_equip이번 전투에서 적 장비가 드롭될 수 있는지 지정합니다. 1은 가능, 0은 불가입니다.

결과 스크립트 형식

“결과 스크립트 형식” 섹션

결과 스크립트는 조건에 따라 이벤트를 다른 후속 명령으로 보냅니다. 게임은 첫 줄부터 판단하며, 처음 성립한 조건의 대응 명령을 실행합니다.

조건표현식그룹1:실행명령1
조건표현식그룹2:실행명령2
...
조건표현식그룹N:실행명령N
형식설명
[%global_int:ID%]전역 정수 필드 ID 값을 반환합니다.
[$global_str:ID$]전역 문자열 필드 ID 값을 반환합니다.
필드설명
save_max_hard_level이미 해금한 최고 난이도입니다. 기본값은 0입니다.

내장 사용자 지정 변수

“내장 사용자 지정 변수” 섹션
필드설명
system_沙盒模式현재 샌드박스 모드 여부를 표시합니다.
system_探索地图点数탐험 맵 포인트를 기록합니다.
system_星星별 개수를 기록합니다.
system_敌方角色血量百分比플레이어와 적 캐릭터가 전투할 때 상대 체력의 추가 배율입니다.
system_敌方角色攻击百分比플레이어와 적 캐릭터가 전투할 때 상대 공격력과 마법 공격력의 추가 배율입니다.
config_ai_level현재 AI 강도입니다. 0 쉬움, 1 보통, 2 어려움입니다.
config_roll_limit전투 구르기 제한 여부입니다. 0 꺼짐, 1 켜짐입니다.
config_hunger_penalty굶주림 페널티 여부입니다. 0 꺼짐, 1 켜짐입니다.
config_upgrade_cost_reduce유닛 업그레이드 경험치와 재료 비용의 할인율입니다.
config_soldier_dead_scale병사 사망 확률 배율입니다.

초기 설정 필드는 캐릭터 생성, 시작 맵, 기본 시간 속도와 전투 기본 공식 같은 기초 설정에 사용됩니다.

필드설명
init_pos기본 시작 위치 정보입니다.
init_statu플레이어가 시작할 때 적용되는 기본 속성 상태입니다.
init_money기본 시작 재산입니다.
home_place기본 시작 장소 ID입니다.
init_skillpages처음부터 활성화되는 스킬 페이지입니다.
init_skills주인공이 처음부터 보유하는 스킬 목록입니다.
init_equip주인공의 시작 장비 정보입니다.
init_camp_rl초기 진영 관계표입니다. 형식은 진영A,진영B,관계상태,우호도|... 입니다.
gametime_scale월드맵에서 게임 시간이 흐르는 배율입니다.
battletime_scale전투 중 게임 시간이 흐르는 배율입니다. 0이면 조우전이나 공성전에서 게임 시간이 멈춥니다.
custom_intval_watcher기본 사용자 지정 변수 감시 필드입니다. 형식은 ADD_INTVAL_WATCHER와 같습니다.
def_dropitem_model전투 중 아이템이 바닥에 떨어질 때 사용하는 기본 모델과 특수효과 정보입니다.
default_role_model_male / default_role_model_female캐릭터 모델을 지정하지 않았을 때 사용하는 기본 남성/여성 캐릭터 모델입니다.
default_role_act_male / default_role_act_female무기 유형에 맞는 동작을 찾지 못했을 때 사용하는 기본 남성/여성 동작 ID입니다.
default_weapons_speed모든 무기 유형에 대응하는 기본 공격 속도입니다.
def_formula_phy_x / def_formula_mag_x물리 방어와 주술 방어 계산 공식의 계수입니다.