#ifndef __GAMESCRIPTDEFINE_H__ #define __GAMESCRIPTDEFINE_H__ // 人物屬性 const int CHARA_NAME = 1; const int CHARA_DISPLAY_NAME = 2; // 顯示名稱 const int CHARA_MODEL = 3; // 模型 const int CHARA_ICON = 4; // 大頭像 const int CHARA_TEAM = 5; // 隊伍 const int CHARA_ICON2 = 6; // 大頭像 const int CHARA_AUDIO = 7; // 喊叫聲 const int CHARA_SFX = 8; // 特效 const int CHARA_HP = 10; // 生命 const int CHARA_MAX_HP = 11; // 生命上限 const int CHARA_RAGE = 12; // 氣 const int CHARA_STAMINA = 13; // 體力 const int CHARA_BODY_TYPE = 20; // 體型 const int CHARA_WIDTH = 21; // 寬 const int CHARA_HEIGHT = 22; // 高 const int CHARA_POSE_BOX0 = 23; // pose box 0 寬,高 const int CHARA_POSE_BOX1 = 24; // pose box 1 寬,高 const int CHARA_POSE_BOX2 = 25; // pose box 2 寬,高 const int CHARA_POSE_BOX3 = 26; // pose box 3 寬,高 const int CHARA_POSE_BOX4 = 27; // pose box 4 寬,高 const int CHARA_SHADOW_MODEL = 28; // 影子(0, 1, 2) const int CHARA_WEAPON_OFFSET = 29; // 武器dummy位移 const int CHARA_WALK_SPEED = 30; // 走路速度 const int CHARA_RUN_SPEED = 31; // 跑步速度 const int CHARA_SPRINT_SPEED = 32; // 急奔速度 const int CHARA_JUMP_SPEED = 33; // 跳躍速度 const int CHARA_DOUBLE_JUMP_HSPEED = 34; // 二段跳水平速度 const int CHARA_DOUBLE_JUMP_VSPEED = 35; // 二段跳垂直速度 const int CHARA_LIFT_JUMP_SPEED = 36; // 舉物跳速度 const int CHARA_VJUMP_SPEED = 37; // 雲梯縱速度 const int CHARA_WALL_VWALK_SPEED = 38; // 垂直走壁速度 const int CHARA_WALL_HWALK_SPEED = 39; // 水平走壁速度 const int CHARA_CUTSCENE_WALK_SPEED = 40; // cutscene走路速度 const int CHARA_CUTSCENE_RUN_SPEED = 41; // cutscene跑步速度 const int CHARA_DEFEND_WALK_SPEED = 42; // 防禦走路速度 const int CHARA_DEMONIZE_SPRINT_SPEED = 43; // 魔化急奔速度 const int CHARA_ATTACK_RATE = 50; // 攻擊力 const int CHARA_DEFEND_RATE = 51; // 防禦力 const int CHARA_RAGE_INCREASE_RATE = 52; // 怒氣增加倍數 const int CHARA_STAMINA_DECREASE_RATE = 53; // 體力減少倍數 const int CHARA_CUSTOM = 100; //持續性狀態及特效 const int STATUS_EFFECT_ATTACK = 1; // 特裝攻擊力倍數 const int STATUS_EFFECT_DEFEND = 2; // 特裝防禦力倍數 const int STATUS_EFFECT_RAGE_INCREASE = 3; // 特裝怒氣增加倍數 const int STATUS_EFFECT_RAGE_DECREASE = 4; // 特裝怒氣減少倍數 const int STATUS_EFFECT_STAMINA_INCREASE = 5; // 特裝體力增加倍數 const int STATUS_EFFECT_STAMINA_DECREASE = 6; // 特裝體力減少倍數 const int STATUS_EFFECT_RUN_SPEED = 7; // 特裝跑速度倍數 const int STATUS_EFFECT_HIDDEN = 8; // 隱匿 const int STATUS_EFFECT_SICK_SLOW = 9; // 遲緩 const int STATUS_EFFECT_SICK_POISON = 10; // 中毒 const int STATUS_EFFECT_BLOOD_CLOCK = 11; // 血鐘 // 體型 const int BODY_TYPE_MAN = 0; // 男 const int BODY_TYPE_WOMAN = 1; // 女 const int BODY_TYPE_GIANT = 2; // 大 const int BODY_TYPE_SMALL_MONSTER = 3; // 小怪 const int BODY_TYPE_BIG_MONSTER = 4; // 大怪 const int BODY_TYPE_BOSS1 = 5; // 王1 const int BODY_TYPE_BOSS2 = 6; // 王2 const int BODY_TYPE_MAN2 = 7; // 男2 // 物件屬性 const int ITEM_NAME = 1; const int ITEM_DISPLAY_NAME = 2; const int ITEM_MODEL = 3; const int ITEM_ICON = 4; const int ITEM_LIGHT = 5; const int ITEM_LIGHTPOS = 6; const int ITEM_LIGHT_SFX = 7; const int ITEM_FLY_SFX = 8; const int ITEM_HITWALL_SFX = 9; const int ITEM_PHYSICS = 10; // 物理類型 const int ITEM_MASS = 11; // 質量 const int ITEM_BOUNCE = 12; // 彈性 const int ITEM_GRAVITY = 13; // 重力 const int ITEM_FRICTION = 14; // 摩擦力 const int ITEM_SIZE = 15; // Bounding const int ITEM_WEAPON_ID = 20; // 武器編號 const int ITEM_DART_ID = 21; // 飛鏢編號 const int ITEM_EQUIPMENT_RAGE = 22; // 特裝耗氣 const int ITEM_LIFTABLE = 25; // 可舉 const int ITEM_PICKABLE = 26; // 可撿 const int ITEM_DROPABLE = 27; // 可丟 const int ITEM_DEADUSEABLE = 28; // 可用在死人身上 const int ITEM_COUNT = 30; // 數量(飛鏢) const int ITEM_HP = 31; // 生命值 const int ITEM_DAMAGE = 32; // 傷害值 const int ITEM_TIMER = 33; const int ITEM_NOHURTTIME = 34; // 連續兩次被攻擊的間隔時間 const int ITEM_MOVEPOINT = 40; // 移動點個數 const int ITEM_WAITTIME = 41; // 停留時間 const int ITEM_MOVESPEED = 42; // 移動速度 const int ITEM_MOVETYPE = 43; // 移動方式 (ONCE or LOOP) const int ITEM_NEXTPOINT = 44; // 下個目標點 const int ITEM_ROTATEAXIS = 45; // 旋轉軸 const int ITEM_ROTATESPEED = 46; // 旋轉速度 const int ITEM_ROTATEANGLE = 47; // 旋轉圈數 const int ITEM_ROTATECENTER = 48; // 旋轉中心 const int ITEM_DESTROYTIME = 16; // 破掉後多久消失 const int ITEM_FADESPEED = 17; // 漸淡的速度 const int ITEM_ATTACKDATA = 18; // 攻擊種類 const int ITEM_CUSTOM = 100; const int ITEM_PHYSICS_NONE = 0; // 沒有物理 const int ITEM_PHYSICS_NORMAL = 1; // 一般物理 const int ITEM_PHYSICS_MACHINE = 2; // 美術動作 const int ITEM_PHYSICS_SLEEP = 3; // 一般物理暫停 const int ITEM_PHYSICS_ROTATE = 4; // 漂浮旋轉 const int ITEM_PHYSICS_BROKEN = 5; // 爆炸 const int ITEM_PHYSICS_MACHINE2 = 6; // 旋轉機關 const int ITEM_PHYSICS_WAKEUP = 7; // 剛睡醒 const int ITEM_ONUSE = 1; const int ITEM_ONATTACK = 2; const int ITEM_ONTOUCH = 3; const int ITEM_ONTIMER = 4; const int ITEM_ONHITCHARA = 5; const int ITEM_ONHITITEM = 6; const int ITEM_ONHITWALL = 7; const int ITEM_ONTROD = 8; const int ITEM_ONREACH = 9; // 武器屬性 const int WEAPON_DISPLAY_NAME = 2; const int WEAPON_MODEL = 3; // 模型 const int WEAPON_SCENE_MODEL = 4; // 模型,放在場景目錄 const int WEAPON_ATTACK_POWER = 20; // 攻擊力 const int WEAPON_ATTACK_RANGE = 21; // 攻擊距離(AI) // projectile attribute const int PRJ_MODEL = 3; const int PRJ_SFX = 4; const int PRJ_SPEED = 10; const int PRJ_GRAVITY = 11; const int PRJ_COLLISION = 12; const int PRJ_LIFE_TIME = 13; const int PRJ_SPAWN_POSITION = 14; const int PRJ_DAMAGE = 20; const int PRJ_ATTACKDATA = 21; const int PRJ_SFX_FLY = 30; const int PRJ_SFX_HITCHARA = 31; const int PRJ_SFX_HITCHARADEF = 32; const int PRJ_SFX_HITITEM = 33; // ground material const int MATERIAL_NORMAL = 0; const int MATERIAL_WATER = 1; const int MATERIAL_WATER2 = 2; const int MATERIAL_BLOOD = 3; const int MATERIAL_BLOOD2 = 4; const int MATERIAL_WOOD = 5; // chara selection const int CHARA_SELECT_WEAPON0 = -2; const int CHARA_SELECT_WEAPON1 = -1; const int CHARA_SELECT_ITEM0 = 0; const int CHARA_SELECT_ITEM1 = 1; const int CHARA_SELECT_EQUIPMENT = 2; const int CHARA_SELECT_DART = 3; const int CHARA_SELECT_NOTHING = -99; // toolbar const int TOOLBAR_NONE = 0; const int TOOLBAR_ITEM = 1; const int TOOLBAR_AI = 2; const int TOOLBAR_PERFORM = 3; // game state const int APPSTATE_IDLE = 0; const int APPSTATE_MAIN_MENU = 1; const int APPSTATE_CHARA_MENU = 2; const int APPSTATE_RECEIVE_GAME_WORLD = 3; const int APPSTATE_AUTO_DEMO = 4; const int APPSTATE_DISCONNECT = 5; const int APPSTATE_JOIN_FAIL = 6; const int APPSTATE_CONTENT_DAMAGE = 7; const int APPSTATE_SINGLE_MENU = 10; const int APPSTATE_START_SINGLE = 11; const int APPSTATE_CONTINUE_SINGLE = 12; const int APPSTATE_OFFLINE_MENU = 20; const int APPSTATE_HOST_OFFLINE = 21; const int APPSTATE_LAN_MENU = 30; const int APPSTATE_HOST_LAN = 31; const int APPSTATE_SEARCH_LAN = 32; const int APPSTATE_CONNECT_LAN = 33; const int APPSTATE_INTERNET_MENU = 40; const int APPSTATE_HOST_INTERNET = 41; const int APPSTATE_SEARCH_INTERNET = 42; const int APPSTATE_CONNECT_INTERNET = 43; const int APPSTATE_LOGIN_INTERNET = 44; const int APPSTATE_COMPETITION_MENU = 45; const int APPSTATE_PLAY_GAME = 50; const int APPSTATE_GAME_OVER = 51; const int APPSTATE_NEXT_ROUND = 52; const int APPSTATE_RESTART_NET_GAME = 53; const int APPSTATE_LEAVE_SPECTATOR_MODE = 54; // ui state const int UI_BEGIN = 1; const int UI_MAIN_MENU = 2; const int UI_CHARA_MENU = 3; const int UI_CHARA2_MENU = 4; const int UI_WEAPON_MENU = 5; const int UI_MISSION_MENU = 6; const int UI_MISSION_ROUTE = 7; const int UI_MAP_MENU = 8; const int UI_MOVIE_MENU = 9; const int UI_JOIN_FAIL = 10; const int UI_DISCONNECT = 11; const int UI_CONFIRM_LOGOUT = 12; const int UI_SAVE_SPACE_NOT_ENOUGH = 13; const int UI_CONFIRM_NOT_SAVE_GAME = 14; const int UI_CONTENT_DAMAGE = 15; const int UI_CONFIRM_QUIT_MISSION = 16; const int UI_SETTING_MENU = 20; const int UI_SETTING_AUDIO = 21; const int UI_SETTING_VIDEO = 22; const int UI_SETTING_CONTROLLER = 23; const int UI_SETTING_MISC = 24; const int UI_SETTING_LIVE = 25; const int UI_SETTING_PLAYER_NAME = 26; const int UI_SINGLE_MENU = 30; const int UI_STORY_MODE_MENU = 31; const int UI_OFFLINE_MENU = 32; const int UI_TRAINING_MENU = 33; const int UI_LAN_MENU = 40; const int UI_LAN_SERVER_LIST = 41; const int UI_INTERNET_MENU = 45; const int UI_INTERNET_SERVER_LIST = 46; const int UI_INTERNET_MENU2 = 47; const int UI_INTERNET_MENU3 = 48; const int UI_CREATE_GAME = 50; const int UI_CREATE_GAME_OPTION = 51; const int UI_JOINING_GAME = 52; const int UI_SAVE_MENU = 53; const int UI_SAVE_SPACE_NOT_ENOUGH2 = 54; const int UI_OVERWRITE_SAVE = 55; const int UI_SAVING_GAME = 56; const int UI_CONFIRM_LEAVE_GAME = 57; const int UI_CONFIRM_JOIN_OTHER_GAME = 58; const int UI_SESSION_NOT_COMPATIBLE = 59; const int UI_EXTRA_MENU = 70; const int UI_THEATER_MENU = 71; const int UI_TIP_MENU = 72; const int UI_BACKGROUND = 99; // in game UI const int UI2_BEGIN = 100; const int UI2_RECEIVE_GAME_WORLD = 101; const int UI2_SPECTATOR_MENU = 102; const int UI2_FOLLOW_MENU = 103; const int UI2_GAME_OVER = 104; const int UI2_STAGE_CLEAR = 105; const int UI2_NET_ROUND_OVER = 106; const int UI2_NET_GAME_OVER = 107; const int UI2_AUTO_DEMO = 108; const int UI2_DEDICATED_SERVER = 109; const int UI2_PLAY_GAME = 110; const int UI2_PONG = 119; const int UI2_TRAINING_MENU_BEGIN = 120; const int UI2_TRAINING_MENU = 120; const int UI2_TRAINING_OVER1 = 121; const int UI2_TRAINING_OVER2 = 122; const int UI2_TRAINING_MENU_END = 129; const int UI2_START_MENU_BEGIN = 150; const int UI2_START_MENU = 150; const int UI2_CONFIRM_LEAVE_GAME = 151; const int UI2_CONFIRM_JOIN_OTHER_GAME = 152; const int UI2_SESSION_NOT_COMPATIBLE = 153; const int UI2_COMBO_TABLE = 154; const int UI2_SETTING_MENU = 160; const int UI2_SETTING_LIVE = 161; const int UI2_KICK_MENU = 162; const int UI2_CONFIRM_KICK = 163; const int UI2_START_MENU_END = 169; const int UI2_INGAME_SCORE_BOARD = 170; const int UI2_MISSION_OBJECTIVE = 171; const int UI2_BACKGROUND = 199; // top UI const int UIT_BEGIN = 200; const int UIT_RECONNECT_CONTROLLER = 201; const int UIT_BACKGROUND = 299; // net mode const int NET_MODE_NONE = 0; const int NET_MODE_LAN = 1; const int NET_MODE_INTERNET = 2; const int NET_MODE_OFFLINE = 3; // rule const int RULE_SCENARIO = 0; const int RULE_ONE_ON_ONE = 1; const int RULE_DEATH_MATCH = 2; const int RULE_TEAM_DEATH_MATCH = 3; const int RULE_VIP = 4; const int RULE_GIANT_KILL = 5; const int RULE_CUSTOM1 = 6; const int RULE_CUSTOM2 = 7; // music variable condition const int MUSIC_COND_STOP = 0; const int MUSIC_COND_NORMAL = 1000; const int MUSIC_COND_ALERT = 2000; const int MUSIC_COND_FIGHT = 30000; const int MUSIC_COND_HP_LOW = 4000; const int MUSIC_COND_SPECIAL1 = 5000; const int MUSIC_COND_SPECIAL2 = 6000; const int MUSIC_COND_SPECIAL3 = 7000; const int MUSIC_COND_SPECIAL4 = 8000; const int MUSIC_COND_SPECIAL5 = 9000; const int MUSIC_COND_SPECIAL6 = 10000; // game over const int GAMEOVER_LOSE = 0; const int GAMEOVER_WIN = 1; const int GAMEOVER_CONTINUE = 2; const int GAMEOVER_NEXT_ROUND = 10; const int GAMEOVER_FINAL_ROUND = 11; const int GAMEOVER_COMPETITION_HOST_WIN = 12; // scene info const int SCENEINFO_ID = 1; const int SCENEINFO_NAME = 2; const int SCENEINFO_RULE = 3; // save const int SAVE_TOTAL_SCORE = 0; const int SAVE_TOTAL_STONE = 1; const int SAVE_TOTAL_TIME = 2; const int SAVE_UNLOCK_MOVIE = 3; const int SAVE_UNLOCK_WEAPON = 4; const int SAVE_UNLOCK_CHARA = 5; const int SAVE_UNLOCK_MISSION = 6; const int SAVE_CLEAR_MISSION = 7; const int SAVE_UNLOCK_ACTION = 8; const int SAVE_WEAPON = 9; const int SAVE_WEAPON2 = 10; const int SAVE_CHARA = 11; const int SAVE_PARTNER = 12; const int SAVE_MISSION = 13; const int SAVE_DATE = 30; const int SAVE_TIME = 31; const int SAVE_MISSION_NAME = 32; // network error code const int NET_RESULT_OK = 128; const int NET_RESULT_TIMEOUT = 129; const int NET_RESULT_WRONG_VERSION = 130; const int NET_RESULT_PLAYERS_FULL = 131; const int NET_RESULT_TEAM_FULL = 132; const int NET_RESULT_CONNECT_FAIL = 133; const int NET_RESULT_SERVER_CLOSE = 134; const int NET_RESULT_UNKNOWN = 255; // login state const int LOGIN_NOT_SIGNED_IN = 0; const int LOGIN_SINGING = 1; const int LOGIN_FAILED = 2; const int LOGIN_SUCCEEDED = 3; const int LOGIN_PASSCODE_NEEDED = 4; #endif