#pragma once //#include #include "SkillBase.h" #include "SMessage.h" #include "SNetMessageBill.h" #include "GameDefine.h" #include "K3DTypes.h" //#include "Util.h" #include #pragma pack( 1 ) //=================================================================================================== ///Interface 메세지 /// IME struct SIMSG_IME_NOTIFY : public SGameMessage { SIMSG_IME_NOTIFY() : SGameMessage(IMSG_IME_NOTIFY) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Key Up struct SIMSG_KEYUP : public SGameMessage { SIMSG_KEYUP() : SGameMessage(IMSG_KEYUP) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Key Down struct SIMSG_KEYDOWN : public SGameMessage { SIMSG_KEYDOWN() : SGameMessage(IMSG_KEYDOWN) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse Move struct SIMSG_MOUSEMOVE : public SGameMessage { SIMSG_MOUSEMOVE() : SGameMessage(IMSG_MOUSEMOVE) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse Wheel struct SIMSG_MOUSEWHEEL : public SGameMessage { SIMSG_MOUSEWHEEL() : SGameMessage(IMSG_MOUSEWHEEL) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse L Btn Up struct SIMSG_LBUTTONUP : public SGameMessage { SIMSG_LBUTTONUP() : SGameMessage(IMSG_LBUTTONUP) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse L Btn Down struct SIMSG_LBUTTONDOWN : public SGameMessage { SIMSG_LBUTTONDOWN() : SGameMessage(IMSG_LBUTTONDOWN) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse L Btn DBLCLK struct SIMSG_LBUTTONDBLCLK : public SGameMessage { SIMSG_LBUTTONDBLCLK() : SGameMessage(IMSG_LBUTTONDBLCLK) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse M Btn Up struct SIMSG_MBUTTONUP : public SGameMessage { SIMSG_MBUTTONUP() : SGameMessage(IMSG_MBUTTONUP) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse M Btn Down struct SIMSG_MBUTTONDOWN : public SGameMessage { SIMSG_MBUTTONDOWN() : SGameMessage(IMSG_MBUTTONDOWN) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse M Btn DBLCLK struct SIMSG_MBUTTONDBLCLK : public SGameMessage { SIMSG_MBUTTONDBLCLK() : SGameMessage(IMSG_MBUTTONDBLCLK) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse R Btn Up struct SIMSG_RBUTTONUP : public SGameMessage { SIMSG_RBUTTONUP() : SGameMessage(IMSG_RBUTTONUP) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse R Btn Down struct SIMSG_RBUTTONDOWN : public SGameMessage { SIMSG_RBUTTONDOWN(): SGameMessage(IMSG_RBUTTONDOWN) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; /// Mouse R Btn DBLCLK struct SIMSG_RBUTTONDBLCLK : public SGameMessage { SIMSG_RBUTTONDBLCLK() : SGameMessage(IMSG_RBUTTONDBLCLK) { nMsg = 0; wParam = 0; lParam = 0; } int nMsg; unsigned long wParam; unsigned long lParam; }; struct SIMSG_TOGGLE_UIWINDOW : public SGameMessage { enum _UIWINDOW_TYPE { UIWINDOW_NONE = -1, UIWINDOW_LOGIN, ///< 계정 입력 창 UIWINDOW_LOGIN_LOGO, UIWINDOW_NOTIFY, ///< ???? UIWINDOW_MINIMAP, ///< 미니맵 UIWINDOW_CHARSELECT, // Character Management (Create/Delete/Change security pass) UIWINDOW_CREATECHAR, ///< 캐릭터 생성 UIWINDOW_SERVERLIST, ///< 서버 리스트 UIWINDOW_SERVERNOTICE, ///< 서버 공지 UIWINDOW_CLANSELECT, ///< 종족 선택 UIWINDOW_MAINFRAME, ///< 좌측상단(로컬 플레이어 정보) UIWINDOW_CHATTING, ///< 채팅 UIWINDOW_INVENTORY, ///< 인벤토리 UIWINDOW_TARGET, ///< 타겟 UIWINDOW_TARGETPORTRAIT, ///< 타겟 얼굴창 UIWINDOW_CREATURE, ///< 크리쳐(리스트) UIWINDOW_CONSOLE, ///< 콘솔 UIWINDOW_CHARNAMELIST, ///< 캐릭터 이름 리스트 UIWINDOW_SELECTCHAR_INFO, ///< 선택한 캐릭터의 간략한 정보 UIWINDOW_DEVOUTPUT, ///< 디버그 창 UIWINDOW_MAINMENU, ///< 메인 메뉴 버튼 UIWINDOW_MAINMENU_SUB, ///< 아이템/월드맵 등등 탭(좌측하단) UIWINDOW_NPCDIALOG, ///< NPC 대화창 UIWINDOW_HQUICKSLOT, // [22] H Quick Slot UIWINDOW_VQUICKSLOT, ///< V 퀵 슬롯 UIWINDOW_HQUICKSLOTMENU, ///< H 퀵 슬롯 메뉴 UIWINDOW_INPUTNUMBER, ///< 숫자 입력 창 UIWINDOW_SKILL, ///< 스킬 UIWINDOW_SKILLFUND, ///< 스킬 투자 UIWINDOW_SYSMENU, ///< 시스템 메뉴 (스킬/ 캐릭터 등등 좌측 버튼) UIWINDOW_ITEMCOMBINE, ///< 아이템 조합 UIWINDOW_ITEMCONTRIBUTION, ///< 아이템 기부 UIWINDOW_SHOP, ///< 상점 UIWINDOW_SHOPKART, ///< 상점 카트 UIWINDOW_STORAGEKART, ///< 창고 카트 UIWINDOW_STATE_H_EFFECT, ///< 상태 이상 H UIWINDOW_STATE_V_EFFECT, ///< 상태 이상 V UIWINDOW_MOTION, // [36] Motion 5 windows UIWINDOW_SYSTEM, // [37] System – 5 windows UIWINDOW_SYSTEM_MAIN, ///< 시스템 메인 UIWINDOW_MOTION_NORMAL, ///< 모션 기본 (비어 있음) UIWINDOW_MOTION_PARTY, ///< 모션 파티 (비어 있음) UIWINDOW_MOTION_GESTURE, ///< 모션 감점 (비어 있음) UIWINDOW_SYSTEM_NORMAL, ///< 캐릭터 변경 버튼 있는 창 UIWINDOW_CREATURE_MAIN, ///< 소환된 크리처 메인 프레임 (정보 창) UIWINDOW_CREATUREFORM, ///< 크리처 장착(등록) 창 UIWINDOW_TRADE, ///< 거래 UIWINDOW_CHARINFO, ///< 캐릭터 정보 /// 2011.02.09 - prodongi UIWINDOW_CHARINFO_SUB_BASIC, UIWINDOW_CHARINFO_SUB_ADDED, UIWINDOW_CREATURE_PAGE, ///< 소환수 창(소환수 리스트에서 더블클릭) UIWINDOW_CREATURE_DETAIL, ///< 소환수 추가 정보 UIWINDOW_CREATURE_SKILL, ///< 소환수 스킬 UIWINDOW_CREATURE_SKILLFUND,///< 소환수 스킬 투자 UIWINDOW_PET_COMMAND, ///< 팻 조작 // sonador #2.1.2.4.3 팻 조작 UI 연동 UIWINDOW_PARTY, ///< 파티 UIWINDOW_PARTY_STATE, ///< 파티지속효과 UIWINDOW_STORAGE, ///< 창고 // { [sonador][3.1.2]경매장 구현 UIWINDOW_AUCTION, ///< 경매장 UIWINDOW_AUCTION_SEARCH, ///< 경매장_물품검색 UIWINDOW_AUCTION_REGISTER, ///< 경매장_경매등록 UIWINDOW_AUCTION_TENDER, ///< 경매장_입찰목록 UIWINDOW_AUCTION_DEPOSIT, ///< 경매장_보관함 // } UIWINDOW_INPUTTEXT, ///< 텍스트 입력 창 UIWINDOW_PARTY_MENU, ///< 파티 메뉴(파티창 오른쪽) UIWINDOW_PARTY_RMENU, UIWINDOW_POPUP_PARTY_MENU_CREATURE, ///< 우클릭 크리처 팝업 메뉴 //2011.11.15 - servantes //UIWINDOW_CREATURE_HQUICK, //소환된 크리쳐 퀵슬롯 //퀵슬롯 통합으로 제거 됨 2009.03.24 sfreer UIWINDOW_WORLDMAP, ///< 월드맵 UIWINDOW_CHAT_OPTION, ///< 채팅 옵션 UIWINDOW_TARGET_STATE, ///< 타겟 지속 효과 UIWINDOW_STORE_HOST, ///< 노점 서버 UIWINDOW_STORE_CLIENT, ///< 노점 클라이언트 UIWINDOW_QUEST_LIST, // [71] Quest list UIWINDOW_QUEST_INFO, ///< 퀘스트 정보 UIWINDOW_QUEST_REWARD, ///< 퀘스트 보상 UIWINDOW_LOCAL_SIGN, ///< 지역 표시 UIWINDOW_PARTY_CREATE, ///< 파티 생성 UIWINDOW_PARTY_INVITE, ///< 파티 초대 UIWINDOW_JEWEL_EQUIP, ///< 보석 장착 UIWINDOW_SOUL_CHARGE, ///< 내구도 수리 UIWINDOW_DUNGEON_STONE, ///< 던전스톤 UIWINDOW_DUNGEON_UNIT, ///< 던전공대 UIWINDOW_LICENSE, ///< 약관 동의 UIWINDOW_COMMUNITY, ///< 커뮤니티 UIWINDOW_GUILD, ///< 길드 UIWINDOW_FRIEND, ///< 친구 UIWINDOW_CUT, ///< 차단 리스트 UIWINDOW_CREATECHAR_SECOND, // Character Creation Step 2 UIWINDOW_CREATECHAR_ROTATE00, ///< 캐릭터 생성 왼쪽 회전 UIWINDOW_CREATECHAR_ROTATE01, ///< 캐릭터 생성 오른쪽 회전 UIWINDOW_NOTICE, ///< 공지 출력할 윈도우 UIWINDOW_CHINAWARRING, ///< 중국쪽에서 로그인 화면에 보여줄 경고 메세지문구 (건강문구라든가??) UIWINDOW_WEBGAMESUTDOWN, ///< 웹로긴시 로긴쪽에서 종료하는 버튼윈도우 //풀다운 -N4- UIWINDOW_FULLDOWN_PLAYER, UIWINDOW_FULLDOWN_TARGETPLAYER, UIWINDOW_FULLDOWN_TARGETMONSTER, UIWINDOW_FULLDOWN_MINIMAP, UIWINDOW_FULLDOWN_ITEMDROP, UIWINDOW_FULLDOWN_CREATURE, UIWINDOW_CASH_STORAGE, ///< 캐쉬 창고 UIWINDOW_CREATECHAR_BOTTOM, // The window below UIWINDOW_CREATECHAR_SECOND_BOTTOM,// The window below UIWINDOW_CASH_TITLE, ///< 캐쉬 상정 타이틀 UIWINDOW_GUILD_TITLE, ///< 길드 타이틀 //유료 아이템 UIWINDOW_RESURRECT, ///< 부활 UIWINDOW_RECALL, ///< 소환 UIWINDOW_HELP_TITLE, ///< HELP 타이틀 UIWINDOW_POPURL_TITLE, ///< POPUP URL 타이틀 UIWINDOW_GAME_RATING, ///< 게임등급 표시 UIWINDOW_GAME_RATING_18ONLY, ///< 게임등급 표시 UIWINDOW_SCREENSHOT, ///< 스크린샷 표시 UIWINDOW_RACE_SELECT, // Race selection (character creation before customizing) UIWINDOW_RACE_TEXT, ///< 종족 택스트 UIWINDOW_RACE_DESC, ///< 종족 설명 UIWINDOW_EFFECT_FOCUS, ///< 집중 효과 UIWINDOW_LOADING, ///< 로딩 화면 UIWINDOW_CREATURE_CARD_FRONT, ///< 크리쳐 카드 // 2010.08.03 - prodongi UIWINDOW_CREATURE_CARD_BACK, ///< 크리쳐 카드 서브 // 2010.08.03 - prodongi UIWINDOW_SKIN_COLOR, ///< 피부색 UIWINDOW_CONTRIBUTION_MSGBOX, ///< 기부 보상관련 모달형 윈도우(메세지박스) UIWINDOW_KOREAWARRING_GRADE_15, ///< 15세 UIWINDOW_KOREAWARRING_GRADE_18, ///< 18세 UIWINDOW_KOREAWARRING_VIO_LAN, ///< 폭력 언어 UIWINDOW_SECURITYSETTING, ///< 보안 설정 UIWINDOW_SECURITYSETTINGMODIFY, ///< 보안 설정 변경 UIWINDOW_SECURITYCHARACTER, ///< 보안 캐릭터 UIWINDOW_SECURITYSTORAGE, ///< 보안 창고 UIWINDOW_IN_GAME_LOGOUT, ///< 게임내 로그아웃 클릭시 표시되는 윈도우 UIWINDOW_TEST, ///< 테스트용 윈도우 //AddOn용 윈도우 타입들 UIWINDOW_TARGET_WND_ADDON, ///< Target창 애드온 UIWINDOW_INVENTORY_WND_ADDON, ///< Inventory창 애드온 UIWINDOW_LOGIN_PUBLISHER, ///< sonador #2.3.3.4 (국내) copy rights 변경 // #2.1.2.11.1 UIWINDOW_HUNTAHOLIC_LOBBY, UIWINDOW_HUNTAHOLIC_INSTANCE, UIWINDOW_HUNTAHOLIC_SCOREBOARD, UIWINDOW_HUNTAHOLIC_RESULT, UIWINDOW_HUNTAHOLIC_CREATE_INSTANCE, UIWINDOW_HUNTAHOLIC_CONFIRM_PASSWORD, UIWINDOW_TASKBAR, UIWINDOW_CHANGE_NAME, // sonador #2.1.24 UIWINDOW_IP_BLOCK, // floyd 2008. 12. 12 UIWINDOW_BADGE, // hunee 2009-03-02 UIWINDOW_RESURRECT_PVP, // kappamind 2009.03.10 UIWINDOW_CONTRIBUTION_RANKING, // kappamind 2009.04.02 기부시스템 랭킹 UI UIWINDOW_CONTRIBUTION_REWARD_CONFIRM, // 정동섭 2009.4.21 기부보상 (랭킹순위권) 아이템 받기확인용 창 //로비리뉴얼에서 추가됨. 2009.06.05 sfreer UIWINDOW_LOGIN_SUBTITLE, UIWINDOW_LOGIN_SUBMENU, UIWINDOW_LOGIN_COPYRIGHT_LOGO, //로그인시 화면 우측 하단에 나오는 nflavor로고 UIWINDOW_LOGIN_TEXT, UIWINDOW_LOGIN_GAMERATING, UIWINDOW_CREDIT, UIWINDOW_CREDIT_TEXT, UIWINDOW_SERVERMENU, UIWINDOW_SERVERSCREENSHOT, UIWINDOW_SERVERTEXT, UIWINDOW_SECURITYCLEAR, UIWINDOW_CHARSELECTTEXT, UIWINDOW_ENDING, UIWINDOW_INTRO_SUB, UIWINDOW_PROTECTSOLUTION, UIWINDOW_INSTANCE_ENTRANCE, UIWINDOW_INSTANCE_TASKBAR_ENTRANCE, //UIWINDOW_INSTANCE_WARRECORD, /// 2011.05.26 안 쓰임 - prodongi UIWINDOW_COPYRIGHTS_MARKING01, UIWINDOW_COPYRIGHTS_MARKING02, // GUILD UI. // 2010.3.5 bintitle 테스트 UIWINDOW_GUILD_MAINWND, // 메인 UIWINDOW_GUILD_SUB_INFO, // 길드정보 UIWINDOW_GUILD_SUB_MANAGE, // 길드관리 UIWINDOW_GUILD_SUB_MASTER, // 길드마스터 UIWINDOW_GUILD_MAIN_TAP_MEMBER, // 길드맴버 //UIWINDOW_GUILD_MAIN_ UIWINDOW_MEMOWND, // TEST 메모 // 길드관리 - 패널윈도우 //UIWINDOW_GUILD_SUB_MANAGE_PANEL_ONESELF, // 나의관리 //UIWINDOW_GUILD_SUB_MANAGE_PANEL_MARK, // 길드마크넣기 UIWINDOW_GUILD_SUB_MANAGE_PANEL_PERSNAL, // Panel 나의관리 UIWINDOW_GUILD_SUB_MANAGE_PANEL_GUILDMARK, // Panel 길드마크넣기 UIWINDOW_GUILD_SUB_MANAGE_PANEL_MEMBER, // Panel 길드원 관리 UIWINDOW_GUILD_SUB_MANAGE_PANEL_TEAM, // Panel 공격대 결성 UIWINDOW_GUILD_SUB_MANAGE_PANEL_CLASSNAME, // Panel 길드등급 명칭 UIWINDOW_GUILD_SUB_MANAGE_PANEL_INVITATION, // Panel 길드원 가입 UIWINDOW_GUILD_SUB_MANAGE_PANEL_NOTICE, // Panel 길드 공지 UIWINDOW_GUILD_SUB_MANAGE_PANEL_DONATE, // 길드마스터 - 패널윈도우 UIWINDOW_GUILD_SUB_MASTER_PANEL_CLASS1, // N등급 길드원 // 길드맴버관련 팝업윈도우. UIWINDOW_GUILD_SUBMENU_RIGHTCLICK, UIWINDOW_GUILD_SUB_MANAGE_INVITATION, // 길드관리 - 길드원가입 - 길드초대윈도우. UIWINDOW_GUILD_SUB_MANAGE_CLASS, // 길드관리 - 길드원관리 - 길드원등급 팝업 윈도우. UIWINDOW_GUILD_SUBMENU_CLASS_RIGHTCLICK, // 길드등급 팝업메뉴. UIWINDOW_GUILD_SUB_MANAGE_EXPULSION, // 길드원제명 팝업 윈도우. UIWINDOW_GUILD_SUB_INFO_ALLIANCE, // 연합길드 정보 팝업 윈도우. UIWINDOW_GUILD_SUB_MASTER_PROMOTE, // 길드장인계 팝업 윈도우. UIWINDOW_GUILD_SUB_MANAGE_TEAM, // 공격대결성 팝업 윈도우. UIWINDOW_GUILD_SUB_MANAGE_TEAM_HELP, // 공격대관련 도움말 팝업 윈도우. UIWINDOW_EQUIPMENT, // [187] Equipment. Separates what was previously attached to the inventory (Inventory renewal). 2010.07.23. bintitle. UIWINDOW_EQUIPMENT_POPUP, // 장비창의 우클릭메뉴. // 아이템 파괴 윈도우. UIWINDOW_DESTRUCTION, UIWINDOW_BOSS_MONSTER_CARD, ///< 보스 몬스터카드 // 2010.08.06 - prodongi // 내구도출력UI. UIWINDOW_DURABILITY, // 공식 리스트 윈도우. UIWINDOW_FORMULA, // 아이템강화 윈도우. UIWINDOW_UPGRADE, // 아이템수리 윈도우. UIWINDOW_REPAIR, // 아이템합성 진행률 출력 윈도우. UIWINDOW_MIX_PROGRESS, // 도움말 출력 윈도우. UIWINDOW_HELP_WND, // 크리처 농장. UIWINDOW_CREATURE_FRAM_WND, //servantes 2011.01.17 // 크리처 농장 도움말. // servantes 2011.02.17 UIWINDOW_CREATURE_FRAM_HELP_WND, /// 2011.02.16 - prodongi UIWINDOW_RECHARGE_MSGBOX, /// 충전 확인 창 // 인스턴스 던전 입장 UI // servantes 2011.06.30 UIWINDOW_MISSION_ENTERANCE_WND, // 인스턴스 던전 제목 UI // servantes 2011.06.30 UIWINDOW_MISSION_TITLE_WND, UIWINDOW_POPUP_PARTY_MENU_CHARACTER, // 우클릭 캐릭터 팝업 메뉴 UI : servantes 2011.11.15 UIWINDOW_DUNGEON_UNIT_MINI, // 공대창 미니 : 2011.10.10 - marine UIWINDOW_RAID_SIEGE_STATUS, /// 2011.10.12 레이드 시즈 상태 창 - prodongi UIWINDOW_DUNGEON_UNIT_INVITATION, // 공격대 초대창 : 2011.10.20 - marine UIWINDOW_GUILD_MEMBER_LIST, // 길드 리스트 : 2011. 10. 26 - marine UIWINDOW_MISSION, /// 2011.11.29 미션 윈도우 - prodongi UIWINDOW_TITLE_MAIN, // 2012. 4. 4 - marine 호칭 메인창 UIWINDOW_TITLE_GAIN_RESULT, // 2012. 4. 4 - marine 호칭 획득 결과 알림창 UIWINDOW_ARENA_GUIDE_TOOLTIP, /// 2012.04.26 유도 툴팁 - prodongi UIWINDOW_ANNOUNCE, /// 2012.04.30 공지 - prodongi UIWINDOW_NOTIFICATION, /// 2012.05.04 알림창 - prodongi UIWINDOW_ARENA_MENU, /// 2012.05.02 아레나 메뉴 - prodongi UIWINDOW_ARENA_SELECTION_READY, /// 2012.05.02 아레나 선택 준비 - prodongi UIWINDOW_ARENA_PRACTICE_READY, /// 2012.05.02 아레나 연습 준비 - prodongi UIWINDOW_ARENA_WAITING, /// 2012.05.02 아레나 대기 - prodongi UIWINDOW_ARENA_PRACTICE_WAITING, /// 2012.05.02 아레나 빠른 대기 - prodongi UIWINDOW_ARENA_GAME_CLASSIC, /// 2012.05.02 아레나 게임 - prodongi UIWINDOW_ARENA_GAME_SLAUGHTER, /// 2012.05.02 아레나 게임 - prodongi UIWINDOW_ARENA_GAME_BINGO, /// 2012.05.02 아레나 게임 - prodongi UIWINDOW_ARENA_GAME_BINGO_BOARD, // [221] 2012.05.02 Arena Bingo Game – prodongi UIWINDOW_ARENA_GAME_SLAUGHTER_PRACTICE, // [222] 2012.05.02 Arena Game – prodongi UIWINDOW_ARENA_RESULT, /// 2012.05.02 아레나 결과 - prodongi UIWINDOW_ARENA_REPORT_DIVE, /// 2012.05.31 잠수 신고 창 - prodongi UIWINDOW_AWAKENING, UIWINDOW_DECOMPOSITION, // 분해 창 - ( UIWINDOW_DECOMPOSITION ) UIWINDOW_TARGET_PLAYER, // 타겟 창 - 플레이어 ( UIWINDOW_TARGET_PLAYER ) UIWINDOW_TARGET_CREATURE, // 타겟 창 - 크리쳐 ( UIWINDOW_TARGET_CREATURE ) UIWINDOW_TARGET_NPC, // 타겟 창 - NPC( UIWINDOW_TARGET_NPC ) UIWINDOW_TARGET_PROP, // 타겟 창 - 퀘스트 프랍( UIWINDOW_TARGET_PROP ) UIWINDOW_PARTYMATCHING, // AziaMafia OFF ALL PARTYMATCHING UIWINDOW_PARTYMATCHING_REGISTER, // 파티 매칭 등록 UIWINDOW_LAST // 마지막 번호. loop테스트용 }; SIMSG_TOGGLE_UIWINDOW( _UIWINDOW_TYPE Type ) : SGameMessage( IMSG_TOGGLE_UIWINDOW ), m_Type( Type ) { } _UIWINDOW_TYPE m_Type; }; struct SIMSG_SHOW_UIWINDOW : public SGameMessage { SIMSG_SHOW_UIWINDOW( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, bool bShow, bool bModal=false ) : SGameMessage( IMSG_SHOW_UIWINDOW ), m_Type( Type ), m_bShow( bShow ), m_bModal( bModal ) { } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Type; bool m_bShow; bool m_bModal; }; struct SIMSG_LOGIN_ACCOUNT : public SGameMessage { SIMSG_LOGIN_ACCOUNT( const char* szAccount, const char* szPassword/*, const char* szOTP*/ ) : SGameMessage( IMSG_LOGIN_ACCOUNT ), m_strAccount( szAccount ), m_strPassword( szPassword )/*, m_strOTP( szOTP )*/ { } std::string m_strAccount; std::string m_strPassword; // std::string m_strOTP; }; struct SIMSG_LOGIN_OTP_ACCOUNT : public SGameMessage { SIMSG_LOGIN_OTP_ACCOUNT( const char* szAccount, const char* szOTP ) : SGameMessage( IMSG_LOGIN_OTP_ACCOUNT ), m_strAccount( szAccount ), m_strOTP( szOTP ) { } std::string m_strAccount; std::string m_strOTP; }; // floyd 3.11.1 iMBC 채널링 구현 struct SIMSG_LOGIN_IMBC_ACCOUNT : public SGameMessage { SIMSG_LOGIN_IMBC_ACCOUNT( const char* szAccount, const char* szPassword ) : SGameMessage( IMSG_LOGIN_IMBC_ACCOUNT ), m_strAccount( szAccount ), m_strPassword( szPassword ) { } std::string m_strAccount; std::string m_strPassword; }; //gmpbigsun( 20100613 ) : SID 인증 struct SIMSG_LOGIN_SID : public SGameMessage { SIMSG_LOGIN_SID( const char* szSID ) : SGameMessage( IMSG_LOGIN_SID ), m_strSID( szSID ) { } std::string m_strSID; }; struct SIMSG_LICENSE_AGREE : public SGameMessage { SIMSG_LICENSE_AGREE( bool bIsAgree ) : SGameMessage( IMSG_LICENSE_AGREE ), m_bIsAgree( bIsAgree ) { } bool m_bIsAgree; }; struct SIMSG_CREATE_NEWCHAR : public SGameMessage { SIMSG_CREATE_NEWCHAR( const char* szName ) : SGameMessage( IMSG_CREATE_NEWCHAR ), m_strName( szName ) { } std::string m_strName; int m_nRace; int m_nSex; }; struct SIMSG_CHARLIST_SELECTEDINFO : public SGameMessage { SIMSG_CHARLIST_SELECTEDINFO( int nIndex, int nLevel = 0, int nJobLevel = 0, int nJobID = (-1), const char* szName = "", bool bSelected = false ) : SGameMessage( IMSG_CHARLIST_SELECTEDINFO ), m_nIndex( nIndex ), m_nLevel( nLevel ), m_nJobLevel( nJobLevel ), m_nJobID( nJobID ), m_strName( szName ), m_bSelected( bSelected ) { } int m_nIndex; int m_nLevel; int m_nJobLevel; int m_nJobID; std::string m_strName; bool m_bSelected; }; struct SIMSG_SET_NOTICEWND : public SGameMessage { enum NOTICE_USE_TYPE { NOTICE_DEF = 0, NOTICE_OLD, }; SIMSG_SET_NOTICEWND( const char* szNotice, int nUseType = NOTICE_DEF ) : SGameMessage( IMSG_SET_NOTICEWND ), m_strNotice( szNotice ), m_nUseType(nUseType) { } int m_nUseType; std::string m_strNotice; }; struct SIMSG_UIWND_NOTIFY_TO_LOBBY : public SGameMessage { SIMSG_UIWND_NOTIFY_TO_LOBBY( const char* szButtonID, bool bJustPress = false ) : SGameMessage( IMSG_UIWND_NOTIFY_TO_LOBBY ), m_szButtonID( szButtonID ), m_bJustPress( bJustPress ) { m_nSelectIndex = -1; //m_groupId = 0; m_textureId = 0; } const char* m_szButtonID; bool m_bJustPress; int m_nSelectIndex; // @brief 2010.04.21 Used only for hair settings when customizing a character. - prodongi int m_hairColor; int m_textureId; }; struct SIMSG_DELETE_SELECTEDAVATAR : public SGameMessage { SIMSG_DELETE_SELECTEDAVATAR() : SGameMessage( IMSG_DELETE_SELECTEDAVATAR ) { } char name[19]; char security_no[19]; }; struct SIMSG_REQ_UIDISPLAY_INFO : public SGameMessage { enum _UIREQUEST_TYPE { UIREQ_CHARSTATUS, ///< 요청하는 정보의 종류 UIREQ_QUICKSLOT, UIREQ_INVENTORY, }; SIMSG_REQ_UIDISPLAY_INFO( _UIREQUEST_TYPE Type ) : SGameMessage( IMSG_REQ_UIDISPLAY_INFO ), m_Type( Type ) { } _UIREQUEST_TYPE m_Type; }; struct SIMSG_UI_QUICKSLOT_INFO : public SGameMessage { SIMSG_UI_QUICKSLOT_INFO() : SGameMessage( IMSG_UI_QUICKSLOT_INFO ) { } // It seems enough to receive 12 * 4 ID information }; //----------------------------------------------------------------------------------------------------------------- // IMSG UI - 타겟 정보 //----------------------------------------------------------------------------------------------------------------- struct SIMSG_UI_TARGET_INFO : public SGameMessage { string strName; // 이름 string strEvolutionName; // 진화 이름 string strCobName; // Cob 이름 KSeqAvatarEx* pSeqForm; // NULL 이면, 타겟 없음. AR_HANDLE handle; // 핸들 int nObjType; // 오브젝트 타입 ( 캐릭터, NPC, PROP... ) int nHP; // HP int nMP; // MP int nMaxHP; // 최대 HP int nMaxMP; // 최대 MP int nLevel; // 레벨 int nJobID; // 직업 아이디 int nMobID; // 몬스터 아이디 SIMSG_UI_TARGET_INFO() : SGameMessage(IMSG_UI_TARGET_INFO) , strName( "" ) , strEvolutionName( "" ) , strCobName( "" ) , pSeqForm(NULL) , handle( NULL ) , nHP( NULL ) , nMP( NULL ) , nMaxHP( NULL ) , nMaxMP( NULL ) , nObjType( -1 ) , nLevel( NULL ) , nJobID( -1 ) , nMobID( NULL ) { } }; //----------------------------------------------------------------------------------------------------------------- // IMSG UI - 타겟 정보 (플레이어) //----------------------------------------------------------------------------------------------------------------- struct SIMSG_UI_TARGET_INFO_PLAYER : public SIMSG_UI_TARGET_INFO { GAME_DEFINE::CLAN eClan; // 종족 SIMSG_UI_TARGET_INFO_PLAYER() : eClan( GAME_DEFINE::CLAN::GCLAN_NOTHING ) { } }; //----------------------------------------------------------------------------------------------------------------- // IMSG UI - 타겟 정보 (필드프랍) //----------------------------------------------------------------------------------------------------------------- struct SIMSG_UI_TARGET_INFO_PROP : public SIMSG_UI_TARGET_INFO { int nType; // 타입 SIMSG_UI_TARGET_INFO_PROP() : nType( NULL ) { } }; //----------------------------------------------------------------------------------------------------------------- // IMSG UI - 타겟 정보 (NPC) //----------------------------------------------------------------------------------------------------------------- struct SIMSG_UI_TARGET_INFO_NPC : public SIMSG_UI_TARGET_INFO { std::string strJobName; // 직업 이름 SIMSG_UI_TARGET_INFO_NPC() : strJobName( "" ) { } }; /// 2012.01.05 - prodongi struct SIMSG_UI_TARGET_PORTRAIT_REFRESH : public SGameMessage { SIMSG_UI_TARGET_PORTRAIT_REFRESH() : SGameMessage(IMSG_UI_TARGET_PORTRAIT_REFRESH) , pszName(NULL), pSeqForm(NULL), handle(0), nHP(0), nMP(0), nMaxHP(0), nMaxMP(0), nObjType(0), pCobName(NULL), nLevel(0), nJobID(-1), nMobID(0) {} const char * pszName; ///< 이름 class KSeqAvatarEx * pSeqForm; ///< NULL 이면, 타겟 없음. AR_HANDLE handle; ///< 타겟 핸들 int nHP; ///< HP int nMP; ///< MP int nMaxHP; int nMaxMP; int nObjType; ///< 캐릭터 인가?, NPC, Mob 인가 등등... const char * pCobName; ///< Cob Name int nLevel; ///< level int nJobID; ///< job id int nMobID; ///< mob id }; struct SIMSG_UI_NAME_FORCE_SET : public SGameMessage { SIMSG_UI_NAME_FORCE_SET() : SGameMessage(IMSG_UI_NAME_FORCE_SET) { handle = 0; bForceShow = false; } AR_HANDLE handle; ///< 타겟 핸들 bool bForceShow; }; struct SIMSG_UI_TARGET_ACTIVE_INFO : public SGameMessage { SIMSG_UI_TARGET_ACTIVE_INFO() : SGameMessage(IMSG_UI_TARGET_ACTIVE_INFO) {} enum { TARGET_HIDEWINDOW = 0, ///< 창 숨김 TARGET_SHOWWINDOW, ///< 창 표시 TARGET_ACTIVE_OFF, ///< 타겟마크 비활성 TARGET_ACTIVE_ON, ///< 타겟마크 활성 TARGET_ACTIVE_ING, ///< 타겟마크 계속 활성, 공격시 TARGET_ACTIVE_FORCE_OFF, ///< 강제로 꺼짐 }; AR_HANDLE handle; ///< 타겟 핸들 int nActiveInfo; ///< 위에 참조 }; struct SIMSG_UI_TARGET_CAM_POS : public SGameMessage { SIMSG_UI_TARGET_CAM_POS() : SGameMessage( IMSG_UI_TARGET_CAM_POS ) { pos = K3DVertex(0,0,0); } K3DVertex pos; }; struct SIMSG_UI_DROP_ITEM_NAME : public SGameMessage { SIMSG_UI_DROP_ITEM_NAME() : SGameMessage( IMSG_UI_DROP_ITEM_NAME ) { hItem = 0; bShow = false; }; AR_HANDLE hItem; bool bShow; }; struct SIMSG_UI_DROP_ALL_ITEM_NAME : public SGameMessage { SIMSG_UI_DROP_ALL_ITEM_NAME() : SGameMessage( IMSG_UI_DROP_ALL_ITEM_NAME ) { bShow = false; }; bool bShow; }; /// 게임 -> UI 상태 동기화 맞추기 위한 메세지 struct SIMSG_UI_TARGET_STAT : public SGameMessage { enum { USE_DEF = 0, USE_EXP = 1, USE_HPMP = 2, USE_STATE_DMG = 3, USE_EXP_JP_BONUS_PCBANG = 4, USE_EXP_JP_BONUS_STAMINA = 5, USE_EXP_JP_BONUS_PREMIUM_PCBANG = 6, USE_EXP_JP_BONUS_OGOK = 7, // 오곡크래커 관련 2009.04.14 sfreer USE_EXP_JP_BONUS_SUPER_SAVE = 8, // 2010.10.01 성장의 물약(구슈퍼세이버) prodongi }; SIMSG_UI_TARGET_STAT() : SGameMessage( IMSG_UI_TARGET_STAT ) { handle = 0; m_nMode = 0; m_nVar1 = 0; m_nVar2 = 0; m_nVar3 = 0; m_nVar4 = 0; } AR_HANDLE handle; int m_nMode; __int64 m_nVar1; ///< HP 100% 또는 Exp __int64 m_nVar2; ///< MP 100% 또는 Jp __int64 m_nVar3; __int64 m_nVar4; }; struct SIMSG_UI_2DPOS_INFO : public SGameMessage { SIMSG_UI_2DPOS_INFO() : SGameMessage( IMSG_UI_2DPOS_INFO ) ,handle(0), nX(0), nY(0), nX_middle(0), nY_middle(0), nX_bottom(0), nY_bottom(0), nReal_X(0), nReal_Y(0), bVisible( true ), bNotClip( true ), fAlpha(1.0f), fRadian(0.f),fCamDistance(0.f) {} enum { TY_MY, TY_CREATURE, TY_MOB, TY_PLAYER, TY_NPC, TY_ITEM, TY_PET, }; AR_HANDLE handle; int nX; int nY; int nX_middle; int nY_middle; int nX_bottom; int nY_bottom; int nReal_X; int nReal_Y; int nObjType; // Self, creature, monster, NPC, other players, party members, Chaos character, Chaos party members, boss monsters, etc… bool bVisible; bool bNotClip; // Check if visible in field of view (true = visible) float fAlpha; float fRadian; float fCamDistance; // Distance to the camera }; struct SIMSG_UI_MY_DEGREE : public SGameMessage { SIMSG_UI_MY_DEGREE() : SGameMessage( IMSG_UI_MY_DEGREE ) {} float fRadian; }; struct SIMSG_UI_GAUGE_TIME_INFO : public SGameMessage { SIMSG_UI_GAUGE_TIME_INFO() : SGameMessage( IMSG_UI_GAUGE_TIME_INFO ) {} DWORD time; AR_HANDLE caster; ///< 플레이어 혹은 크리쳐 int nSkillID; int nSkillLv; }; struct SIMSG_UI_ETC_INFO : public SGameMessage { SIMSG_UI_ETC_INFO() : SGameMessage( IMSG_UI_ETC_INFO ) {} DWORD fps; DWORD dwTotal, dwFree; float x, y, z; float cx, cy, cz; }; struct SIMSG_UI_NAME_TEXT : public SGameMessage { SIMSG_UI_NAME_TEXT( bool show ) : SGameMessage( IMSG_UI_NAME_TEXT ) , bShow(show) { } bool bShow; }; struct SIMSG_UI_ACT_INVENTORY : public SGameMessage { SIMSG_UI_ACT_INVENTORY() : SGameMessage( IMSG_UI_ACT_INVENTORY ) { m_nActType = ACT_USE; m_nHandle = 0; m_nCnt = count_t( 1 ); m_TargetHandle = 0; m_ItemUseTargetHandle = 0; m_putBeltSlot = 0; // 2010.08.17 - prodongi } /// 음 .... 신체부위별 또는 소지인벤 타입을 나누고 .. 소지인벤의 경우 인덱스를 넘기면 될듯 .. ? enum { ACT_USE = 0, ACT_DISCARD, ACT_SKILLCARD_BIND, ///< 스킬 카드 장착 ACT_SKILLCARD_UNBIND, ///< 스킬 카드 장착 해제 ACT_CREATURE_USE, ACT_BELT_PUTON, ///< 벨트 카드 장착 ACT_BELT_PUTOFF, ///< 벨트 카드 장착 해제 }; int m_nActType; AR_HANDLE m_nHandle; ///< Item Handle count_t m_nCnt; AR_HANDLE m_TargetHandle; ///< Target Handle 스킬 카드 장착(해제)시만 사용 AR_HANDLE m_ItemUseTargetHandle; // std::string m_strParameter; int m_putBeltSlot; // 2010.08.17 - prodongi }; struct SIMSG_UI_ACT_CREATURE : public SGameMessage { SIMSG_UI_ACT_CREATURE( AR_HANDLE nSelectHandle ) : SGameMessage( IMSG_UI_ACT_CREATURE ), m_nHandle( nSelectHandle ) { } AR_HANDLE m_nHandle; }; struct SIMSG_UI_ACT_TARGET : public SGameMessage { SIMSG_UI_ACT_TARGET() : SGameMessage( IMSG_UI_ACT_TARGET ), m_nTargetHandle( 0 ) { } AR_HANDLE m_nTargetHandle; ///< 0이면 타겟 해제, 0 보다 크면, 타겟 설정 }; struct SIMSG_UI_ACT_FAR_PARTY_TARGET : public SGameMessage { SIMSG_UI_ACT_FAR_PARTY_TARGET() : SGameMessage( IMSG_UI_ACT_FAR_PARTY_TARGET ), m_nTargetHandle( 0 ) { } SIMSG_UI_ACT_FAR_PARTY_TARGET(AR_HANDLE hTarget) : SGameMessage( IMSG_UI_ACT_FAR_PARTY_TARGET ), m_nTargetHandle( hTarget ) { } AR_HANDLE m_nTargetHandle; ///< 0이면 타겟 해제, 0 보다 크면, 타겟 설정 }; struct SIMSG_UI_ACT_NPCDIALOG : public SGameMessage { SIMSG_UI_ACT_NPCDIALOG( const char* szTrigger ) : SGameMessage( IMSG_UI_ACT_NPCDIALOG ), m_strTrigger( szTrigger ) { } std::string m_strTrigger; }; /// 스킬 배우기 UI -> Game struct SIMSG_UI_ACT_LEARN_SKILL : public SGameMessage { SIMSG_UI_ACT_LEARN_SKILL() : SGameMessage (IMSG_UI_ACT_LEARN_SKILL) { handle = NULL; nSkillID = NULL; nOriginSkillID = NULL; nSkillLv = NULL; } AR_HANDLE handle; int nSkillID; // 배울 스킬 아이디 int nOriginSkillID; // 랜덤 스킬 일 경우 원래의 스킬 아이디 short nSkillLv; }; /// Jop Level Up UI -> Game struct SIMSG_UI_ACT_JOB_LEVELUP : public SGameMessage { SIMSG_UI_ACT_JOB_LEVELUP() : SGameMessage (IMSG_UI_ACT_JOB_LEVELUP) { handle = 0; } AR_HANDLE handle; }; struct SIMSG_UI_ACT_FULLEQUIP : public SGameMessage { SIMSG_UI_ACT_FULLEQUIP() : SGameMessage(IMSG_UI_ACT_FULLEQUIP) { ::ZeroMemory( itemHandle, sizeof(itemHandle) ); } AR_HANDLE itemHandle[ItemBase::MAX_ITEM_WEAR]; }; struct SIMSG_UI_ACT_USESKILL : public SGameMessage { SIMSG_UI_ACT_USESKILL() : SGameMessage(IMSG_UI_ACT_USESKILL) { nSkillID = 0; nLevel = 0; summon_card_handle = 0; m_isRegionTarget = false; /// 2011.03.03 - prodongi } int nSkillID; ///< 사용할 Skill int nLevel; ///< Skill 발동 Level AR_HANDLE summon_card_handle; ///< 소환,역소환 카드 핸들 AR_HANDLE caster_handle; ///< 누가 쏘는지.. AR_HANDLE target_handle; /// 2010.10.13 - prodongi K3DVector m_targetPos; bool m_isRegionTarget; /// 2010.10.21 지면 타겟인가 아닌가 }; struct SIMSG_UI_ACT_USESKILL_BY_TOGGLE : public SIMSG_UI_ACT_USESKILL { SIMSG_UI_ACT_USESKILL_BY_TOGGLE() { bSucceed = false; nType = IMSG_UI_ACT_USESKILL_BY_TOGGLE; } bool bSucceed; }; struct SIMSG_UI_ACT_USEITEM : public SGameMessage { SIMSG_UI_ACT_USEITEM() : SGameMessage(IMSG_UI_ACT_USEITEM) { m_hItemUseTargetHandle = 0; m_hTargetHandle = 0; m_hItemHandle = 0; m_fUseRange = 0; m_nSkillID = 0; m_bNeedTarget = false; m_bIsPosition = false; } AR_HANDLE m_hItemUseTargetHandle; AR_HANDLE m_hTargetHandle; AR_HANDLE m_hItemHandle; float m_fUseRange; int m_nSkillID; bool m_bNeedTarget; bool m_bIsPosition; std::string m_strParameter; }; struct SIMSG_UI_PARTY_SELECT : public SGameMessage { SIMSG_UI_PARTY_SELECT() : SGameMessage( IMSG_UI_PARTY_SELECT ){ } std::string m_strPlayerName; }; struct SIMSG_UI_CHANGE_MAP_PROCESS : public SGameMessage { SIMSG_UI_CHANGE_MAP_PROCESS( int nMode ) : SGameMessage(IMSG_UI_CHANGE_MAP_PROCESS) { m_zoom_map_type = nMode; m_display_positoin_x = 0; m_display_positoin_y = 0; m_zoom_x = 0; m_offset_x = 0; m_offset_y = 0; m_size_x = 0; m_size_y = 0; m_blank_a = 0; m_blank_r = 0; m_blank_g = 0; m_blank_b = 0; zoom_minimap = 0; } int m_zoom_map_type; ///< 출력 방식 int m_display_positoin_x; ///< 표시 위치 X 인덱스 int m_display_positoin_y; ///< 표시 위치 Y 인덱스 int m_zoom_x; ///< 확대 배율 int m_offset_x; int m_offset_y; int m_size_x; ///< 맵의 가로 크기 int m_size_y; ///< 맵의 세로 크기 std::string m_strBlank_resource; ///< 여백처리 int m_blank_a; ///< 여백 칼라 int m_blank_r; ///< 여백 칼라 int m_blank_g; ///< 여백 칼라 int m_blank_b; ///< 여백 칼라 int zoom_minimap; }; struct SIMSG_UI_CUSTOM : public SGameMessage { enum { BUTTON_ON, BUTTON_OFF, BUTTON_ALLON, BUTTON_ALLOFF, WINDOW_CLOSE, BUTTON_CHANGE, BUTTON_OUT_ANI, BUTTON_IN_ANI, }; SIMSG_UI_CUSTOM( int nWinID, int nCmd ) : SGameMessage(IMSG_UI_CUSTOM), m_nWinID(nWinID),m_nCmd(nCmd) { } SIMSG_UI_CUSTOM( int nWinID, int nCmd, int nValue ) : SGameMessage(IMSG_UI_CUSTOM), m_nWinID(nWinID),m_nCmd(nCmd), m_nValue(nValue) { } int m_nWinID; int m_nCmd; int m_nValue; }; struct SIMSG_UI_ACT_USECOMMAND : public SGameMessage { SIMSG_UI_ACT_USECOMMAND() : SGameMessage(IMSG_UI_ACT_USECOMMAND) { nCmdID = 0; } int nCmdID; ///< 사용할 command }; struct SIMSG_UI_ACT_ITEMCOMBINE : public SGameMessage { SIMSG_UI_ACT_ITEMCOMBINE() : SGameMessage(IMSG_UI_ACT_ITEMCOMBINE) { } struct CombineItemInfo { AR_HANDLE hItem; unsigned short uiCount; CombineItemInfo( AR_HANDLE _hItem, unsigned short _uiCount ) : hItem( _hItem ), uiCount( _uiCount ) { } CombineItemInfo() { hItem = 0; uiCount = 0; } }; CombineItemInfo main_Items; std::vector vtItems; }; struct SIMSG_UI_ACT_ITEMCONTRIBUTION : public SGameMessage { SIMSG_UI_ACT_ITEMCONTRIBUTION() : SGameMessage(IMSG_UI_ACT_ITEMCONTRIBUTION) , n64_Gold(0), jp(0) { } struct ContributionItemInfo { AR_HANDLE hItem; //unsigned short uiCount; __int64 uiCount; ContributionItemInfo( AR_HANDLE _hItem, __int64 _uiCount ) : hItem( _hItem ), uiCount( _uiCount ) { } ContributionItemInfo() { hItem = 0; uiCount = 0; } }; std::vector vtItems; __int64 n64_Gold; int jp; }; struct SIMSG_UI_ACT_REQUESTREWARDITEM : public SGameMessage { SIMSG_UI_ACT_REQUESTREWARDITEM() : SGameMessage(IMSG_UI_ACT_REQUEST_REWARD) { nRewardCount[0] = nRewardCount[1] = nRewardCount[2] = nRewardCount[3] = 0; } unsigned short nRewardCount[4]; }; struct SIMSG_UI_ACT_BUYITEMS : public SGameMessage { SIMSG_UI_ACT_BUYITEMS() : SGameMessage( IMSG_UI_ACT_BUYITEMS ) { } struct BuyItemInfo { ItemBase::ItemCode item_code; count_t buy_count; BuyItemInfo( ItemBase::ItemCode Code, count_t byCount ) : item_code( Code ), buy_count( byCount ) { } }; std::vector vtBuyItems; }; struct SIMSG_UI_ACT_BUYITEMS_FROM_STORE : public SGameMessage { SIMSG_UI_ACT_BUYITEMS_FROM_STORE() : SGameMessage( IMSG_UI_ACT_BUYITEMS_FROM_STORE ) { } AR_HANDLE hTarget; std::vector< TS_SC_WATCH_BOOTH::TS_BOOTH_ITEM_INFO > vList; }; struct SIMSG_UI_ACT_SELLITEMS_TO_STORE : public SGameMessage { SIMSG_UI_ACT_SELLITEMS_TO_STORE() : SGameMessage( IMSG_UI_ACT_SELLITEMS_TO_STORE ) { } struct SellItemToStoreInfo { AR_HANDLE target; AR_HANDLE item_handle; count_t cnt; SellItemToStoreInfo(){} SellItemToStoreInfo( AR_HANDLE _target, AR_HANDLE _item_handle, count_t _cnt ) : target(_target), item_handle(_item_handle), cnt(_cnt) {} }; std::vector< SellItemToStoreInfo > vList; }; struct SIMSG_UI_ACT_SELLITEMS : public SGameMessage { SIMSG_UI_ACT_SELLITEMS() : SGameMessage( IMSG_UI_ACT_SELLITEMS ) { } struct SellItemInfo { AR_HANDLE handle; count_t sell_count; SellItemInfo( AR_HANDLE hItem, count_t byCount ) : handle( hItem ), sell_count( byCount ) { } }; std::vector vtSellItems; }; struct SIMSG_UI_ACT_EQUIP_SUMMON : public SGameMessage { SIMSG_UI_ACT_EQUIP_SUMMON() : SGameMessage(IMSG_UI_ACT_EQUIP_SUMMON) { for( int i(0); 15>i; i++ ) card_handle[i]=0; //for( int i(0); 6>i; i++ ) card_handle[i]=0; } AR_HANDLE card_handle[ 15 ]; //card_handle[ 6 ]; }; struct SIMSG_UI_ACT_SELECT_SUMMON : public SGameMessage { SIMSG_UI_ACT_SELECT_SUMMON() : SGameMessage(IMSG_UI_ACT_SELECT_SUMMON) { card_handle = 0; } AR_HANDLE card_handle; }; //struct SIMSG_SETCURSOR : public SGameMessage //Set Cursor //{ // SIMSG_SETCURSOR() : SGameMessage(IMSG_SETCURSOR) // { // nMsg = 0; // wParam = 0; // lParam = 0; // } // int nMsg; // unsigned long wParam; // unsigned long lParam; //}; struct SIMSG_HOTKEY_EX : public SGameMessage { SIMSG_HOTKEY_EX() : SGameMessage(IMSG_HOTKEY_EX) { bAlt = FALSE; bShift = FALSE; bCtrl = FALSE; bTab = FALSE; wParam = 0; } BOOL bUp; // Is it UP or not BOOL bAlt; ///< Alt 1 : On BOOL bShift; ///< Shift 1 : On BOOL bCtrl; ///< Ctrl 1 : On BOOL bTab; ///< Tab 1 : On BOOL bCtrlShift; ///< 1 : On // ctrl + shift WPARAM wParam; ///< Key }; struct SIMSG_UI_MOVE : public SGameMessage { SIMSG_UI_MOVE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int nX, int nY ) : SGameMessage( IMSG_UI_MOVE ), m_nType (Type), m_nX (nX), m_nY (nY) { m_strString = ""; } SIMSG_UI_MOVE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int nX, int nY, const char* pStr ) : SGameMessage( IMSG_UI_MOVE ), m_nType (Type), m_nX (nX), m_nY (nY) { m_strString = pStr; } int m_nType; int m_nX; int m_nY; std::string m_strString; // 2011.11.10 - servantes : 문자열 버퍼 추가 }; struct SIMSG_UI_MOVE_EX : public SGameMessage { SIMSG_UI_MOVE_EX( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int left, int nTop, int nRight, int nBottom ) : SGameMessage( IMSG_UI_MOVE_EX ), m_nType (Type), m_nLeft(left), m_nTop(nTop), m_nRight(nRight), m_nBottom(nBottom) { } int m_nType; int m_nLeft; int m_nRight; int m_nTop; int m_nBottom; }; struct SIMSG_UI_SETUP_REGION: public SGameMessage { SIMSG_UI_SETUP_REGION( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, std::string strRegion, int nX, int nY ) : SGameMessage( IMSG_UI_SETUP_REGION ), m_nType( Type ), m_strRegion( strRegion ), m_nX( nX ), m_nY( nY ) { } std::string m_strRegion; int m_nType; int m_nX; int m_nY; }; struct SIMSG_UI_FOCUS : public SGameMessage { SIMSG_UI_FOCUS( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type ) : SGameMessage(IMSG_UI_FOCUS), m_nType(Type) {} int m_nType; }; struct SIMSG_UI_QUICKSLOT_STATECHANGE : public SGameMessage { SIMSG_UI_QUICKSLOT_STATECHANGE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE ReceiveWndType, int qsposy, int slotstate, int slotorder) : SGameMessage( IMSG_UI_QUICKSLOT_STATECHANGE ), m_ReceiveWndType( ReceiveWndType ), m_nQSPosY( qsposy ), m_nQuickSlotState(slotstate), m_nQuickSlotOrder(slotorder) { } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_ReceiveWndType; int m_nQSPosY; int m_nQuickSlotState; int m_nQuickSlotOrder; }; struct SIMSG_UI_SHOP_BUYMODECHANGE : public SGameMessage { SIMSG_UI_SHOP_BUYMODECHANGE( bool bBuyMode ) : SGameMessage( IMSG_UI_SHOP_BUYMODECHANGE ), m_bBuyMode( bBuyMode ) { } bool m_bBuyMode; }; struct SIMSG_UI_SHOP_BUYITEM_TOKART : public SGameMessage { SIMSG_UI_SHOP_BUYITEM_TOKART( ItemBase::ItemCode ItemID, count_t byCount ) : SGameMessage( IMSG_UI_SHOP_BUYITEM_TOKART ), m_ItemID( ItemID ), m_byCount( byCount ) { } ItemBase::ItemCode m_ItemID; count_t m_byCount; }; struct SIMSG_UI_SHOP_SELLITEM_TOKART : public SGameMessage { SIMSG_UI_SHOP_SELLITEM_TOKART( AR_HANDLE handle, count_t byCount ) : SGameMessage( IMSG_UI_SHOP_SELLITEM_TOKART ), m_hItem( handle ), m_byCount( byCount ) { } AR_HANDLE m_hItem; count_t m_byCount; }; struct SIMSG_UI_STORE_BUYITEM_TOKART : public SGameMessage { SIMSG_UI_STORE_BUYITEM_TOKART( TS_ITEM_BASE_INFO info, count_t byCount, int nIndex ) : SGameMessage( IMSG_UI_STORE_BUYITEM_TOKART ), m_ItemInfo( info ), m_byCount(byCount), m_nIndex( nIndex ) { } TS_ITEM_BASE_INFO m_ItemInfo; count_t m_byCount; int m_nIndex; }; struct SIMSG_UI_STORE_SELLITEM_TOKART : public SGameMessage { SIMSG_UI_STORE_SELLITEM_TOKART( AR_HANDLE handle, count_t byCount, int nIndex ) : SGameMessage( IMSG_UI_STORE_SELLITEM_TOKART ), m_hItem( handle ), m_byCount( byCount ), m_nIndex(nIndex) { } AR_HANDLE m_hItem; count_t m_byCount; int m_nIndex; }; struct SIMSG_UI_SEND_DATA : public SGameMessage { SIMSG_UI_SEND_DATA(): SGameMessage( IMSG_UI_SEND_DATA ) {} SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, number_t nNumber ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_nNumber( m_nNumber ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, const char *pszData ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_strString( pszData ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, const char *pszData, number_t nNumber, number_t nNumber2 ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_strString( pszData ), m_nNumber( nNumber ), m_nNumber2( nNumber2 ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, number_t nNumber, const char *pszData ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_nNumber( nNumber ), m_strString( pszData ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, unsigned int HANDLE, const char *pszData ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_dwData( HANDLE ), m_strString( pszData ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, const char *pszData, const char *pszText ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_strString( pszData ), m_strText( pszText ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, const char *pszData, const char *pszText, unsigned int dwData ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_strString( pszData ), m_strText( pszText ), m_dwData( dwData ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, const char *pszData, const char *pszText, number_t nNumber, number_t nNumber2 ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_strString( pszData ), m_strText( pszText ) , m_nNumber( nNumber ), m_nNumber2( nNumber2 ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, unsigned int HANDLE, number_t nNumber, const char *pszData ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_dwData( HANDLE ), m_nNumber(nNumber), m_strString( pszData ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, const char *pszData, const char *pszText, unsigned int HANDLE, number_t nNumber, number_t nNumber2 ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_strString( pszData ), m_strText( pszText ), m_dwData( HANDLE ) , m_nNumber( nNumber ), m_nNumber2( nNumber2 ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, const char *pszData, const char *pszText, unsigned int HANDLE, number_t nNumber, number_t nNumber2, number_t nNumber3 ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_strString( pszData ), m_strText( pszText ), m_dwData( HANDLE ) , m_nNumber( nNumber ), m_nNumber2( nNumber2 ), m_nNumber3( nNumber3 ) { } // 추가. binitle. SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, const char *pszText, void * pData ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_strText( pszText ), m_pData( pData ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, const char *pszText, unsigned int dwData ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_strString( pszText ), m_dwData( dwData ) { } SIMSG_UI_SEND_DATA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE nTarget, const char *pszText, unsigned int dwData, const char *pszText2 ) : SGameMessage( IMSG_UI_SEND_DATA ), m_nTarget( nTarget ), m_strString( pszText ), m_dwData( dwData ), m_strText( pszText2 ) { } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_nTarget; std::string m_strString; number_t m_nNumber; number_t m_nNumber2; number_t m_nNumber3; unsigned int m_dwData; std::string m_strText; void * m_pData; // 추가. bintitle. 2010.04.26 }; struct SIMSG_UI_REQ_INPUTNUMBER : public SGameMessage { enum { TYPE_NUMBER = 0, TYPE_GOLD, TYPE_JP }; SIMSG_UI_REQ_INPUTNUMBER( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Sender, count_t nAllValue, int nInputType = TYPE_NUMBER ) : SGameMessage( IMSG_UI_REQ_INPUTNUMBER ), m_Sender( Sender ), m_nAllValue( nAllValue ), m_nInputType( nInputType ) { } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Sender; count_t m_nAllValue; int m_nInputType; }; struct SIMSG_UI_INPUTNUMBER : public SGameMessage { SIMSG_UI_INPUTNUMBER( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Receiver, count_t nValue ) : SGameMessage( IMSG_UI_INPUTNUMBER ), m_Receiver( Receiver ), m_nValue( nValue ) { } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Receiver; count_t m_nValue; }; struct SIMSG_UI_REQ_INPUTTEXT : public SGameMessage { // { [sonador][7.0.6] Mantis 0002624 염원의 깃털 사용중 소환수 소환할 때 입력창 오류 수정 enum USAGE { USAGE_NONE, USAGE_PARTY, USAGE_ADD_FRIEND, USAGE_ADD_CUTNAME, USAGE_CREATE_GUILD, USAGE_CREATE_ALLIANCE, USAGE_CREATURE_NAMEPLATE, USAGE_FEATHER_OF_DESIRE, USAGE_CHANGE_PET_NAME, //!< 팻이름 변경 // sonador 10.2.1 팻 시스템 구현 USAGE_ARENA_CHANGE_PLAYER_NAME, /// 2012.05.03 아레나 플레이어 이름 변경 - prodongi USAGE_ARENA_INVITE_TEAM, /// 2012.05.15 아레나 연습 경기 팀 초대 - prodongi }; // } /// 2011.11.21 maintitle, subtitle 분리 - prodongi SIMSG_UI_REQ_INPUTTEXT( USAGE nUsage, SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Receiver, const char* szSubTitle, int mainTitleId = -1, int okCaptionId = -1, int nLimitText = 18, SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Sender = SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE::UIWINDOW_LAST ) : SGameMessage( IMSG_UI_REQ_INPUTTEXT ) { m_Receiver = Receiver; m_Sender = Sender; m_subTitle = szSubTitle; m_mainTitleId = mainTitleId; m_okCaptionId = okCaptionId; m_nLimitText = nLimitText; m_nUsage = nUsage; m_pMessageChain = 0; } // { [sonador] use for message chain SIMSG_UI_REQ_INPUTTEXT( USAGE nUsage , SGameMessage* pMessageChain , SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Receiver , const char* szSubTitle , int mainTitleId = -1 , int okCaptionId = -1 , int nLimitText = 18 , SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Sender = SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE::UIWINDOW_LAST ) : SGameMessage( IMSG_UI_REQ_INPUTTEXT ) { m_Receiver = Receiver; m_Sender = Sender; m_subTitle = szSubTitle; m_mainTitleId = mainTitleId; m_okCaptionId = okCaptionId; m_nLimitText = nLimitText; m_nUsage = nUsage; m_pMessageChain = pMessageChain; } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Sender; SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Receiver; /// 2011.11.21 maintitle, subtitle 분리 - prodongi std::string m_subTitle; int m_mainTitleId; int m_okCaptionId; int m_nLimitText; USAGE m_nUsage; SGameMessage* m_pMessageChain; }; struct SIMSG_UI_INPUTTEXT : public SGameMessage { SIMSG_UI_INPUTTEXT( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Receiver, const char* szText, SIMSG_UI_REQ_INPUTTEXT::USAGE nUsage, SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Sender = SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE::UIWINDOW_LAST ) : SGameMessage( IMSG_UI_INPUTTEXT ), m_nUsage( nUsage ) { m_Sender = Sender; m_Receiver = Receiver; m_strText = szText; } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Sender; SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Receiver; SIMSG_UI_REQ_INPUTTEXT::USAGE m_nUsage; std::string m_strText; }; struct SIMSG_UI_MINIMAP_INFO : public SGameMessage { SIMSG_UI_MINIMAP_INFO() : SGameMessage( IMSG_UI_MINIMAP_INFO ) { nMapPosX = -1; nMapPosY = -1; nMapCountX = 0; nMapCountY = 0; strMiniMapFile.clear(); } int nMapPosX; int nMapPosY; std::string strMiniMapFile; float fMapSize; int nMapCountX; int nMapCountY; }; struct SIMSG_UI_MINIMAP_ALPHA : public SGameMessage { SIMSG_UI_MINIMAP_ALPHA( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int nAlpha ) : SGameMessage( IMSG_UI_MINIMAP_ALPHA ) { m_Type = Type; m_nAlpha = nAlpha; } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Type; int m_nAlpha; }; struct SIMSG_UI_SYSMENU : public SGameMessage { SIMSG_UI_SYSMENU( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, bool bShow ) : SGameMessage( IMSG_UI_SYSMENU ) { m_nType = Type; m_bShow = bShow; } int m_nType; bool m_bShow; }; struct SIMSG_UI_SYSMENU_HOTKEY : public SGameMessage { SIMSG_UI_SYSMENU_HOTKEY( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type ) : SGameMessage( IMSG_UI_SYSMENU_HOTKEY ) { m_nType = Type; } int m_nType; }; struct SIMSG_UI_STATE_UPDATE : public SGameMessage { SIMSG_UI_STATE_UPDATE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, AR_HANDLE Handle=0 ) : SGameMessage( IMSG_UI_STATE_UPDATE ) { m_nType = Type; m_hPlayer = Handle; } AR_HANDLE m_hPlayer; int m_nType; }; struct SIMSG_REFRESH_QUICKSLOT : public SGameMessage { SIMSG_REFRESH_QUICKSLOT() : SGameMessage( IMSG_REFRESH_QUICKSLOT ) { } }; struct SIMSG_UI_SAVE_CLIENT_INFO : public SGameMessage { SIMSG_UI_SAVE_CLIENT_INFO( const std::string& rInfoString ) : SGameMessage( IMSG_UI_SAVE_CLIENT_INFO ), m_strInfo( rInfoString ) { } std::string m_strInfo; }; struct SIMSG_UI_SAVE_QUICK_SLOT : public SGameMessage { SIMSG_UI_SAVE_QUICK_SLOT( const std::string& rInfoString ) : SGameMessage( IMSG_UI_SAVE_QUICK_SLOT ), m_strInfo( rInfoString ) { } std::string m_strInfo; }; struct SIMSG_UI_SAVE_CURRENT_KEY : public SGameMessage { SIMSG_UI_SAVE_CURRENT_KEY( const std::string& rInfoString ) : SGameMessage( IMSG_UI_SAVE_CURRENT_KEY ), m_strInfo( rInfoString ) { } std::string m_strInfo; }; struct SIMSG_UI_SAVE_SAVED_KEY : public SGameMessage { SIMSG_UI_SAVE_SAVED_KEY( const std::string& rInfoString ) : SGameMessage( IMSG_UI_SAVE_SAVED_KEY ), m_strInfo( rInfoString ) { } std::string m_strInfo; }; struct SIMSG_REQ_OPEN_MSGBOX : public SGameMessage { enum _MSGBOXTYPE { MSGBOX_NONE, MSGBOX_OK, MSGBOX_OKCANCEL, MSGBOX_CANCEL, MSGBOX_CONTINUECANCEL, MSGBOX_OKINFO, MSGBOX_YESNO, // 2011.07.06 - servantes }; enum _MSGBOXID { MSGBOX_NOTUSE = 0, MSGBOX_GENERAL, MSGBOX_EXITGAME, MSGBOX_ALREADYEXIST, MSGBOX_NOCONNECTSERVER, MSGBOX_SERVERLIMITMAX, MSGBOX_DELETECHARCHECK, MSGBOX_DELETECHARWAIT, // #2.1.2.8.3 sonador MSGBOX_ITEMDROPCHECK, MSGBOX_PARTYJOINCHECK, MSGBOX_PARTYARENAOPPONENTJOINCHECK, MSGBOX_PARTYARENAMEMBERJOINCHECK, MSGBOX_GUILDJOINCHECK, MSGBOX_TRADEJOINCHECK, MSGBOX_TRADEFREEZECHECK, MSGBOX_PARTYDESTROYCHECK, MSGBOX_PARTYKICKMEMBERCHECK, MSGBOX_GIVEUPQUEST, MSGBOX_DEAD, MSGBOX_OPTION_APPLY, MSGBOX_LOGINWAITING, MSGBOX_CASHSHOP_OPEN, MSGBOX_STORE_PRICE_OVER, MSGBOX_STORE_PRICE_UNDER, MSGBOX_STORE_WEIGHT_OVER, MSGBOX_BAD_USER_WARNING, MSGBOX_SELL_WARNING, MSGBOX_SELECT_SERVER, MSGBOX_CONTRIBUTION_REWARD_DISABLE, MSGBOX_BATTLE_ACCEPT, MSGBOX_ALLIANCE_ACCEPT, MSGBOX_JEWEL_EQUIP, MSGBOX_RESTART_GAME, MSGBOX_AUCTION_DEREGISTER, // [ [sonador][3.1.2]경매장 구현 MSGBOX_HUNTAHOLIC_SCOREBOARD, // #2.1.2.11.1 MSGBOX_HUNTAHOLIC_MAXPOINT, // #2.1.2.11.5 //던전스톤 MSGBOX_DUNGEONSTONE_REQUEST, MSGBOX_DUNGEONSTONE_CANCEL, MSGBOX_RAID_GUILD_INVITE, MSGBOX_RAID_MERCENARY_INVITE, //던전 입장 할까? MSGBOX_DUNGEON_RAID_CONFIRM, //보안 관련 MSGBOX_SECURITYSETTING_SUCCES, MSGBOX_SECURITYSETTING_FAILED, MSGBOX_SECURITYSETTINGMODIFY_SUCCES, MSGBOX_SECURITYSETTINGMODIFY_FAILED, MSGBOX_SECURITYCHARACTER_FAILED, MSGBOX_SECURITYSTORAGE_FAILED, MSGBOX_SECURITYCHARACTER_ACCESS_DENIED, MSGBOX_SECURITYCLEAR_SUCCES, MSGBOX_SECURITYCLEAR_FAILED, MSGBOX_SECURITYCLEAR_IMPOSSIBLE, //핵쉴드 관련 MSGBOX_HS_DETECT_ALREADYHOOKED, ///< 사용 안함 MSGBOX_HS_DETECT_AUTOMOUSE, ///< 메세지 and 종료 MSGBOX_HS_DETECT_HOOKFUNCTION, ///< 메세지 and 종료 MSGBOX_HS_DETECT_DRIVERFAILED, ///< 메세지 and 종료 MSGBOX_HS_DETECT_SPEEDHACK, ///< 메세지 and 종료 MSGBOX_HS_DETECT_SPEEDHACK_APP, ///< 메세지 and 종료 MSGBOX_HS_DETECT_MESSAGEHOOK, ///< 메세지 and 종료 MSGBOX_HS_DETECT_KDTRACE, ///< 메세지 and 종료 MSGBOX_HS_DETECT_KDTRACE_CHANGED, ///< 메세지 and 종료 MSGBOX_HS_DETECT_SPEEDHACK_RATIO, ///< 사용 안함 MSGBOX_HS_DETECT_GAME_HACK, ///< 메세지 and 종료 MSGBOX_HS_DETECT_GENERAL_HACK, ///< 메세지 and Yes | Cancel MSGBOX_HS_DETECT_MODULE_CHANGE, ///< 메세지 and 종료 MSGBOX_HS_DETECT_AUTOMACRO, ///< 메시지 and 종료 // sonador 7.4.1 AHNHS_ACTAPC_DETECT_AUTOMACRO 관련 callback 처리 MSGBOX_HS_DETECT_ENGINEFAILED, ///< sonador 7.4.4 핵쉴드 270 적용 MSGBOX_HS_DETECT_CODEMISMATCH, // MSGBOX_NP_COMM_ERROR, MSGBOX_NP_COMM_CLOSE, MSGBOX_NP_INIT_ERROR, MSGBOX_NP_SPEEDHACK, MSGBOX_NP_GAMEHACK_KILLED, MSGBOX_NP_GAMEHACK_DETECT, MSGBOX_NP_GAMEHACK_DOUBT, MSGBOX_DEATHMATCH_FREED_ENTER, MSGBOX_DEATHMATCH_RANKED_ENTER, MSGBOX_DEATHMATCH_EXIT, MSGBOX_SECRET_DUNGEON_CONFIRM, ///< 상급 던전 // 2010.05.12 헤어 아이템 사용- prodongi MSGBOX_USE_HAIR_ITEM, // 길드 Guild 관련. MSGBOX_GUILD_SECESSION, // 길드탈퇴. MSGBOX_GUILD_YES, MSGBOX_GUILD_OKCANCEL, MSGBOX_GUILD_EXPULSION, // 길드제명 (길드추방) MSGBOX_GUILD_DESTROY, // 길드해체. MSGBOX_GUILD_PROMOTE, // 길드장인계. MSGBOX_GUILD_TEAM, // 공격대결성. MSGBOX_GUILD_BUFF, MSGBOX_GUILD_DONATE, MSGBOX_GUILD_UPGRADE, // 2010.06.11 - prodongi MSGBOX_LOGIN_ERR, MSGBOX_ITEMDESTRUCTION, // 아이템파괴. MSGBOX_CREATURE_FARM_ASSIGN_OKCANCEL, // 크리처 농장 맡기기 2011.03.04 servantes MSGBOX_CREATURE_FARM_REGAIN_OKCANCEL, // 크리처 농장 되찾기 MSGBOX_CREATURE_FARM_DO_NOT_ASSIGN1, // 기간제 카드나 내구도가 0인 크리쳐 카드는 맡기실 수 없습니다 2011.05.16 servantes MSGBOX_CREATURE_FARM_DO_NOT_ASSIGN2, // 소환되어 있거나 한번도 편성하지 않은 크리쳐 카드는 맡기실 수 없습니다 2011.05.16 servantes MSGBOX_CREATURE_FARM_DO_NOT_ASSIGN3, // 편성되어 있거나 벨트에 장착되어 있는 크리쳐 카드는 맡기실 수 없습니다 2011.05.16 servantes MSGBOX_CREATURE_FARM_DO_NOT_ASSIGN4, // 60레벨의 기본형 크리쳐나 100레벨이 넘는 크리쳐 카드는 맡기실 수 없습니다.자신의 레벨보다 높은 크리쳐 카드는 맡기실 수 없습니다. 2011.05.16 servantes // 2011.07.06 - servantes MSGBOX_INSTANCE_DUNGEON_ENTERANCE, // XX던전으로 이동하겠습니까 MSGBOX_INSTANCE_DUNGEON_EXIT, // XX던전에서 퇴장하시겠습니까 MSGBOX_INSTANCE_DUNGEON_EXIT2, // XX던전에서 나가겠습니까 MSGBOX_INSTANCE_DUNGEON_CONFIRM, // 인스턴스던전 확인 윈도우 // 2011.09.20 - servantes MSGBOX_COMPOSE_RAID, // "msgbox_compose_raid", // 레이드를 구성하시겠습니까? //MSGBOX_COMPOSE_RAID_ON_GUILD_UI, // "msgbox_compose_raid_on_guild_ui", // 길드 UI에서 레이드를 구성하시겠습니까? 2011.10.19 안쓰입니다 - prodongi // MSGBOX_SET_RAID_NAME, // "msgbox_set_raid_name", // 로 표기하겠습니까? MSGBOX_SCRIPTSHOWWINDOW_CONFIRM, // 2011.10.26 script show window confirm - prodongi /// 2012.05.17 - prodongi MSGBOX_ARENA_WAITING_EXIT, MSGBOX_ARENA_PRACTICE_WAITING_EXIT, MSGBOX_ARENA_PRACTICE_EXIT, MSGBOX_ARENA_GAME_EXIT, MSGBOX_DECOMPOSITON_CONFIRM_APPEND, MSGBOX_DECOMPOSITON_CONFIRM_DO, MSGBOX_GENERAL_AND_HTTP_LINK, // 웹젠 통합관련 메시지 박스 타입 MSGBOX_MAX, }; SIMSG_REQ_OPEN_MSGBOX( _MSGBOXID MsgBoxID, int nTextID = -1, bool bClose = false, DWORD dwWaitTime = 0 ) : SGameMessage( IMSG_REQ_OPEN_MSGBOX ) , m_MsgBoxID( MsgBoxID ), m_nTextID( nTextID ), m_bClose( bClose ), m_strText( "" ), m_dwWaitTime(dwWaitTime), m_hOwner(0) {} SIMSG_REQ_OPEN_MSGBOX( _MSGBOXID MsgBoxID, const char* szText = "", bool bClose = false, DWORD dwWaitTime = 0 ) : SGameMessage( IMSG_REQ_OPEN_MSGBOX ) , m_MsgBoxID( MsgBoxID ), m_nTextID( -1 ), m_bClose( bClose ), m_strText( szText ), m_dwWaitTime(dwWaitTime), m_hOwner(0) {} SIMSG_REQ_OPEN_MSGBOX( _MSGBOXID MsgBoxID, const char* szText, const char* szReqValue, bool bClose = false, DWORD dwWaitTime = 0 ) : SGameMessage( IMSG_REQ_OPEN_MSGBOX ) , m_MsgBoxID( MsgBoxID ), m_nTextID( -1 ), m_bClose( bClose ), m_strText( szText ), m_dwWaitTime(dwWaitTime), m_strTextValue(szReqValue), m_hOwner(0) {} SIMSG_REQ_OPEN_MSGBOX( _MSGBOXID MsgBoxID, AR_HANDLE hOwner, bool bClose, const char* szText, bool bIsPlayer = true, const char* szTextValue = "" ) : SGameMessage( IMSG_REQ_OPEN_MSGBOX ) , m_MsgBoxID( MsgBoxID ), m_nTextID( -1 ), m_bClose( bClose ), m_strText( szText ), m_dwWaitTime(0), m_hOwner(hOwner), m_bIsPlayer( bIsPlayer ), m_strTextValue( szTextValue ) {} _MSGBOXTYPE m_Type; bool m_bClose; int m_nTextID; _MSGBOXID m_MsgBoxID; std::string m_strText; DWORD m_dwWaitTime; std::string m_strTextValue; AR_HANDLE m_hOwner; bool m_bIsPlayer; }; struct SIMSG_UPDATE_MSGBOX : public SGameMessage { SIMSG_UPDATE_MSGBOX( SIMSG_REQ_OPEN_MSGBOX::_MSGBOXID MsgBoxID, const char* szText = "" ) : SGameMessage( IMSG_UPDATE_MSGBOX ) , m_MsgBoxID( MsgBoxID ), m_strMessage( szText ) { } SIMSG_REQ_OPEN_MSGBOX::_MSGBOXID m_MsgBoxID; std::string m_strMessage; }; struct SIMSG_UI_DISCARDITEM : public SGameMessage { SIMSG_UI_DISCARDITEM() : SGameMessage( IMSG_UI_DISCARDITEM ) { } }; // 아이템파괴 메세지박스. struct SIMSG_UI_DESTRUCTIONITEM : public SGameMessage { SIMSG_UI_DESTRUCTIONITEM() : SGameMessage( IMSG_UI_DESTRUCTIONITEM ) { } }; struct SIMSG_UI_STORE_OVER : public SGameMessage { SIMSG_UI_STORE_OVER() : SGameMessage( IMSG_UI_STORE_OVER ) { } }; struct SIMSG_UI_STORE_UNDER : public SGameMessage { SIMSG_UI_STORE_UNDER() : SGameMessage( IMSG_UI_STORE_UNDER ) { } }; struct SIMSG_UI_STORE_WEIGHT_OVER : public SGameMessage { SIMSG_UI_STORE_WEIGHT_OVER() : SGameMessage( IMSG_UI_STORE_WEIGHT_OVER ) { } }; struct SIMSG_UI_STORE_SELL_WARNING : public SGameMessage { SIMSG_UI_STORE_SELL_WARNING(bool OK) : SGameMessage( IMSG_UI_STORE_SELL_WARNING ), bOK(OK) { } bool bOK; }; struct SIMSG_UI_WARP_COMPLETE : public SGameMessage { SIMSG_UI_WARP_COMPLETE( int nX, int nY ) : SGameMessage( IMSG_UI_WARP_COMPLETE ) { nWarpX = nX; nWarpY = nY; } int nWarpX, nWarpY; }; struct SIMSG_UI_CHANGE_GUILD_NAME : public SGameMessage { SIMSG_UI_CHANGE_GUILD_NAME() : SGameMessage( IMSG_UI_CHANGE_GUILD_NAME ) { m_nGuildID = 0; } int m_nGuildID; std::string m_strNewGuildName; }; struct SIMSG_UI_MINIMAP_ROTATE : public SGameMessage { SIMSG_UI_MINIMAP_ROTATE( AR_HANDLE hPlayer, K3DVector vecPlayerPos ) : SGameMessage( IMSG_UI_MINIMAP_ROTATE ) { m_hPlayer = hPlayer; m_fRadian = 0.f; m_vecPlayerPos = vecPlayerPos; } AR_HANDLE m_hPlayer; float m_fRadian; K3DVector m_vecPlayerPos; }; struct SIMSG_UI_CHAT_OPTION : public SGameMessage { enum CHAT_KIND { CHAT_ALLMSG = 0, CHAT_WHISPER, CHAT_PARTY, CHAT_GUILD, CHAT_AD, CHAT_NOTICE, CHAT_SYSTEM, }; SIMSG_UI_CHAT_OPTION( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int nKind, int nPosX = 0, int nPosY = 0, bool bTabChange = false ) : SGameMessage( IMSG_UI_CHAT_OPTION ) { m_Type = Type; m_Kind = nKind; m_nPosX = nPosX; m_nPosY = nPosY; m_bTabChange = bTabChange; } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Type; int m_Kind; int m_nPosX; int m_nPosY; bool m_bTabChange; }; struct SIMSG_UI_CHAT_UPDATE : public SGameMessage { SIMSG_UI_CHAT_UPDATE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int nKind ) : SGameMessage( IMSG_UI_CHAT_UPDATE ) { m_Type = Type; m_Kind = nKind; } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Type; int m_Kind; }; struct SIMSG_UI_OPEN_UPDATE : public SGameMessage { SIMSG_UI_OPEN_UPDATE( bool bShow = false ) : SGameMessage( IMSG_UI_OPEN_UPDATE ) { m_bShow = bShow; } bool m_bShow; }; struct SIMSG_UI_CHAT_TABNAME_CHANGE : public SGameMessage { SIMSG_UI_CHAT_TABNAME_CHANGE( std::string strName, int nTabKind ) : SGameMessage( IMSG_UI_CHAT_TABNAME_CHANGE ) { m_strName = strName; m_nTabKind = nTabKind; } std::string m_strName; int m_nTabKind; }; struct SIMSG_UI_CHAT_TABNAME_OPTION_CHANGE : public SGameMessage { SIMSG_UI_CHAT_TABNAME_OPTION_CHANGE( std::string strName ) : SGameMessage( IMSG_UI_CHAT_TABNAME_OPTION_CHANGE ) { m_strName = strName; } std::string m_strName; }; struct SIMSG_UI_TAB_UPDATE : public SGameMessage { SIMSG_UI_TAB_UPDATE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int nTabType ) : SGameMessage( IMSG_UI_TAB_UPDATE ) { m_Type = Type; m_nTabType = nTabType; } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Type; int m_nTabType; }; struct SIMSG_UI_CREATURE_FUND_TAB_UPDATE : public SGameMessage { SIMSG_UI_CREATURE_FUND_TAB_UPDATE( int nTabType, int nGradeTab ) : SGameMessage( IMSG_UI_CREATURE_FUND_TAB_UPDATE ) { m_nTabType = nTabType; m_nGradeTab = nGradeTab; } int m_nTabType; int m_nGradeTab; }; struct SIMSG_UI_SKILL_RADIO_UPDATE : public SGameMessage { SIMSG_UI_SKILL_RADIO_UPDATE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int nIndex ) : SGameMessage( IMSG_UI_SKILL_RADIO_UPDATE ) { m_Type = Type; m_nIndex = nIndex; } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Type; int m_nIndex; }; struct SIMSG_UI_SKILL_TIME_UPDATE : public SGameMessage { SIMSG_UI_SKILL_TIME_UPDATE( AR_HANDLE hTarget, int nSkillID ) : SGameMessage( IMSG_UI_SKILL_TIME_UPDATE ) { m_hTarget = hTarget; m_nSkillID = nSkillID; } AR_HANDLE m_hTarget; int m_nSkillID; }; struct SIMSG_UI_MOTION_TIME_UPDATE : public SGameMessage { SIMSG_UI_MOTION_TIME_UPDATE( int nMotionCmd ) : SGameMessage( IMSG_UI_MOTION_TIME_UPDATE ) { m_nMotionCommandID = nMotionCmd; } int m_nMotionCommandID; }; struct SIMSG_UI_REQ_RETURN_LOBBY : public SGameMessage { SIMSG_UI_REQ_RETURN_LOBBY( bool send_msg = false ) : SGameMessage(IMSG_UI_REQ_RETURN_LOBBY) , send_msg_to_server( send_msg ) { //서버에 접속 종료 알림. //결과 받은 후, 로비 되살리기 //캐릭터 선택 모드로 바로 간다. //아이템이 보이도록 수정 한다. } bool send_msg_to_server; }; struct SIMSG_UI_RELOAD : public SGameMessage { SIMSG_UI_RELOAD( bool bDelete ) : SGameMessage(IMSG_UI_RELOAD), m_bDelete(true) { m_bDelete = bDelete; } bool m_bDelete; }; struct SIMSG_UI_NPC_SEQFORM_INFO : public SGameMessage { SIMSG_UI_NPC_SEQFORM_INFO( AR_HANDLE _hTarget ) : SGameMessage(IMSG_UI_NPC_SEQFORM_INFO) { hTarget = _hTarget; pSeqForm = NULL; nObjectType = 0; nContentID = 0; pCobName = NULL; } class KSeqAvatarEx * pSeqForm; ///< NULL 이면, 타겟 없음. AR_HANDLE hTarget; int nObjectType; int nContentID; const char * pCobName; }; //servantes 2011.01.24 struct SIMSG_UI_CREATURE_SEQFORM_INFO : public SGameMessage { SIMSG_UI_CREATURE_SEQFORM_INFO( AR_HANDLE _hTarget ) : SGameMessage(IMSG_UI_CREATURE_SEQFORM_INFO) { hTarget = _hTarget; pSeqForm = NULL; nObjectType = 0; nContentID = 0; pCobName = NULL; } class KSeqAvatarEx * pSeqForm; ///< NULL 이면, 타겟 없음. AR_HANDLE hTarget; int nObjectType; int nContentID; const char * pCobName; }; struct SIMSG_UI_CREATURE : public SGameMessage // 2011.03.15 { SIMSG_UI_CREATURE( AR_HANDLE _hTarget, int msg ) : SGameMessage(IMSG_UI_CREATURE) { hTarget = _hTarget; nMsg = msg; } AR_HANDLE hTarget; int nMsg; }; struct SIMSG_UI_CREATURE_DATA : public SGameMessage // 2011.03.28 { SIMSG_UI_CREATURE_DATA( int _index, int _type, int _id_string ) : SGameMessage(IMSG_UI_CREATURE_DATA) { index = _index; type = _type; id_string = _id_string; } int index; int type; int id_string; }; struct SIMSG_UI_CREATURE_QUICK_UPDATE : public SGameMessage { SIMSG_UI_CREATURE_QUICK_UPDATE() : SGameMessage(IMSG_UI_CREATURE_QUICK_UPDATE) { } }; struct SIMSG_UI_CONSOLE_RELUST : public SGameMessage { SIMSG_UI_CONSOLE_RELUST( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type) : SGameMessage(IMSG_UI_CONSOLE_RELUST), m_Type( Type ), m_nResult( 0 ) { }; SIMSG_UI_CONSOLE_RELUST( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int nResult ) : SGameMessage(IMSG_UI_CONSOLE_RELUST), m_Type( Type ), m_nResult( nResult ) { }; SIMSG_UI_CONSOLE_RELUST( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, std::string strResult ) : SGameMessage(IMSG_UI_CONSOLE_RELUST), m_Type( Type ), m_nResult( 0 ), m_strResult( strResult ) { }; SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Type; int m_nResult; std::string m_strResult; }; struct SIMSG_UI_DISPLAY_LOCAL_NAME : public SGameMessage { SIMSG_UI_DISPLAY_LOCAL_NAME() : SGameMessage(IMSG_UI_DISPLAY_LOCAL_NAME) { bShow = true; strLocalName.clear(); nCurrentLocation = 0; bDeathMatch = false; } std::string strLocalName; bool bShow; int nCurrentLocation; // 2010.06.15 - prodongi bool bDeathMatch; }; struct SIMSG_UI_OPTION_APPLY : public SGameMessage { SIMSG_UI_OPTION_APPLY( bool bApply ) : SGameMessage(IMSG_UI_OPTION_APPLY) { m_bApply = bApply; } bool m_bApply; }; struct SIMSG_UI_DISPLAY_SYS_MSG : public SGameMessage { SIMSG_UI_DISPLAY_SYS_MSG( int SysMsg, int Var1 = 0, int Var2 = 0, const char* lpText=NULL, unsigned int _dwValue=0 ) : SGameMessage(IMSG_DISPLAY_SYS_MSG) , nSystemMsg( SysMsg ) , nVar1( Var1 ) , nVar2( Var2 ) , dwValue( _dwValue ) { if(lpText) strText = lpText; } int nSystemMsg; int nVar1; int nVar2; unsigned int dwValue; std::string strText; }; struct SIMSG_UI_EMPTY_SOULPWER_MSG : public SGameMessage { SIMSG_UI_EMPTY_SOULPWER_MSG( unsigned int handle=0, bool On=true ): SGameMessage(IMSG_UI_EMPTY_SOULPWER_MSG), Handle( handle ), bOn(On) {} AR_HANDLE Handle; bool bOn; }; struct SIMSG_UI_DISPLAY_STATE_DMG_SYS_MSG : public SGameMessage { SIMSG_UI_DISPLAY_STATE_DMG_SYS_MSG() : SGameMessage(IMSG_UI_DISPLAY_STATE_DMG_SYS_MSG) { nSystemMsg = 0; nLevel = 0; nValue = 0; strStateName = "무엇인가"; strTargetNamme = "무엇인가"; } int nSystemMsg; int nLevel; int nValue; std::string strStateName; std::string strTargetNamme; }; struct SIMSG_UI_GUILDICON : public SGameMessage { SIMSG_UI_GUILDICON() : SGameMessage(IMSG_UI_GUILDICON) { nGuild_id = 0; } int nGuild_id; std::string strGuildName; std::string strIconAniName; }; struct SIMSG_UI_GUILDICON_LEAVE : public SGameMessage { SIMSG_UI_GUILDICON_LEAVE( AR_HANDLE target ) : SGameMessage(IMSG_UI_GUILDICON_LEAVE) { handle = target; } AR_HANDLE handle; }; struct SIMSG_UI_GUILDICON_REFRESH : public SGameMessage { SIMSG_UI_GUILDICON_REFRESH() : SGameMessage(IMSG_UI_GUILDICON_REFRESH) { nGuild_id = 0; } int nGuild_id; std::string strGuildName; std::string strIconAniName; std::vector vHandleList; }; struct SIMSG_UI_GUILDICON_DESTROY : public SGameMessage { SIMSG_UI_GUILDICON_DESTROY( int nGuilID ) : SGameMessage(IMSG_UI_GUILDICON_DESTROY) { nGuild_id = nGuilID; } int nGuild_id; }; struct SIMSG_SHOW_GUAGE : public SGameMessage { SIMSG_SHOW_GUAGE( AR_HANDLE ar_handle, bool Enter ) : SGameMessage(IMSG_SHOW_GUAGE) { handle = ar_handle; bEnter = Enter; } AR_HANDLE handle; bool bEnter; }; struct SIMSG_UI_CHANGE_WIN_ALPHA : public SGameMessage { SIMSG_UI_CHANGE_WIN_ALPHA( float Alpha ) : SGameMessage( IMSG_UI_CHANGE_WIN_ALPHA ) { fAlpha = Alpha; } float fAlpha; }; struct SIMSG_UI_LIST_MOVE_BACK : public SGameMessage { SIMSG_UI_LIST_MOVE_BACK( int nWID ) : SGameMessage( IMSG_UI_LIST_MOVE_BACK ) { nWinID = nWID; } int nWinID; }; /// 2012.06.20 - prodongi struct SIMSG_UI_LIST_MOVE_FORCE_BACK : public SGameMessage { SIMSG_UI_LIST_MOVE_FORCE_BACK( int nWID ) : SGameMessage( IMSG_UI_LIST_MOVE_FORCE_BACK ) { nWinID = nWID; } int nWinID; }; struct SIMSG_UI_BOOTH_OPTION_CHANGE : public SGameMessage { SIMSG_UI_BOOTH_OPTION_CHANGE( int nType ) : SGameMessage( IMSG_UI_BOOTH_OPTION_CHANGE ) { m_nType = nType; } int m_nType; }; struct SIMSG_UI_MAINPLAYER_INFO : public SGameMessage { SIMSG_UI_MAINPLAYER_INFO( ) : SGameMessage( IMSG_UI_MAINPLAYER_INFO ) { pSeqForm = NULL; pCobName = NULL; pAniName = NULL; handle = 0; bRefresh = false; } class KSeqAvatarEx * pSeqForm; ///< NULL 이면, 타겟 없음. const char * pCobName; ///< Cob Name const char * pAniName; AR_HANDLE handle; bool bRefresh; }; struct SIMSG_UI_MAINPLAYER_CAM_POS : public SGameMessage { SIMSG_UI_MAINPLAYER_CAM_POS() : SGameMessage( IMSG_UI_MAINPLAYER_CAM_POS ) { pos = K3DVertex(0,0,0); } K3DVertex pos; }; struct SIMSG_UI_MAINPLAYER_CAM_TARGET_POS : public SGameMessage { SIMSG_UI_MAINPLAYER_CAM_TARGET_POS() : SGameMessage( IMSG_UI_MAINPLAYER_CAM_TARGET_POS ) { pos = K3DVertex(0,0,0); } K3DVertex pos; }; struct SIMSG_UI_MAINPLAYER_LIGHT_DIR : public SGameMessage { SIMSG_UI_MAINPLAYER_LIGHT_DIR() : SGameMessage( IMSG_UI_MAINPLAYER_LIGHT_DIR ) { pos = K3DVertex(0,0,0); } K3DVertex pos; }; struct SIMSG_UI_MAINPLAYER_LIGHT : public SGameMessage { enum { COLOR_DIFFUSE = 0, COLOR_SPECULAR, COLOR_AMBIENT, }; SIMSG_UI_MAINPLAYER_LIGHT( int nMode ) : SGameMessage( IMSG_UI_MAINPLAYER_LIGHT ) { mode = nMode; } int mode; K3DColor color; }; struct SIMSG_UI_DUNGEONSTONE : public SGameMessage { enum { DUNGEONSTONE_REQUEST = 0, DUNGEONSTONE_CANCEL, }; SIMSG_UI_DUNGEONSTONE( int nReqType, int nData ) : SGameMessage( IMSG_UI_DUNGEONSTONE ) { m_nReqType = nReqType; m_nData = nData; } int m_nReqType; int m_nData; }; struct SIMSG_UI_DUNGEONUNIT_UPDATE : public SGameMessage { SIMSG_UI_DUNGEONUNIT_UPDATE(bool initAttackUnitMember = false) : SGameMessage( IMSG_UI_DUNGEONUNIT_UPDATE ) , m_initAttackUnitMember(initAttackUnitMember) { } bool m_initAttackUnitMember; /// 2011.12.22 true로 세팅될 때, m_bIsInitAttackUnit를 false로 설정한다, 공대리스트창이 공대가 생성되고 처음 만들어질때만 설정해야 된다 - prodongi }; struct SIMSG_UI_TITLE_GAIN_NOTIFY : public SGameMessage { SIMSG_UI_TITLE_GAIN_NOTIFY( std::string _str ) : SGameMessage( IMSG_UI_TITLE_GAIN_NOTIFY ) , str(_str) { } std::string str; }; // 주 호칭 장착, 해제 struct SIMSG_UI_TITLE_SET_MAIN : public SGameMessage { SIMSG_UI_TITLE_SET_MAIN(std::string str, AR_HANDLE _handle) : SGameMessage( IMSG_UI_TITLE_SET_MAIN ), strName(str), handle(_handle){} std::string strName; AR_HANDLE handle; }; // 부 호칭 장착, 해제 struct SIMSG_UI_TITLE_SET_SUB : public SGameMessage { SIMSG_UI_TITLE_SET_SUB(int _id, int _index) : SGameMessage( IMSG_UI_TITLE_SET_SUB ),id(_id),index(_index) {} int id; int index; }; // 상태 변경 struct SIMSG_UI_TITLE_SET_CONDITION : public SGameMessage { SIMSG_UI_TITLE_SET_CONDITION(int _id, int _count) : SGameMessage( IMSG_UI_TITLE_SET_CONDITION ), id(_id), count(_count){} int id; int count; }; // 즐겨 찾기 장착 해제 struct SIMSG_UI_TITLE_SET_BOOKMARK : public SGameMessage { SIMSG_UI_TITLE_SET_BOOKMARK(bool _equip, int _id) : SGameMessage( IMSG_UI_TITLE_SET_BOOKMARK ), equip(_equip), id(_id) {} bool equip; int id; }; // 호칭 획득 struct SIMSG_UI_TITLE_SET_ACHIEVE : public SGameMessage { SIMSG_UI_TITLE_SET_ACHIEVE(int _id) : SGameMessage( IMSG_UI_TITLE_SET_ACHIEVE ), id(_id){} int id; }; // 호칭 오픈 struct SIMSG_UI_TITLE_SET_OPEN : public SGameMessage { SIMSG_UI_TITLE_SET_OPEN(int _id) : SGameMessage( IMSG_UI_TITLE_SET_OPEN ), id(_id){} int id; }; // 주호칭 해제 가능한 남은 쿨타임 struct SIMSG_UI_TITLE_SET_COOLTIME : public SGameMessage { SIMSG_UI_TITLE_SET_COOLTIME(AR_TIME _time) : SGameMessage( IMSG_UI_TITLE_SET_COOLTIME ), time(_time){} AR_TIME time; }; // 새로운 호칭 들어온 경우 알림 struct SIMSG_UI_TITLE_NEW_ALRAM : public SGameMessage { SIMSG_UI_TITLE_NEW_ALRAM() : SGameMessage( IMSG_UI_TITLE_NEW_ALRAM ){} }; struct SIMSG_UI_TITLE_OPTION_CHANGE : public SGameMessage { SIMSG_UI_TITLE_OPTION_CHANGE() : SGameMessage( IMSG_UI_TITLE_OPTION_CHANGE ){} }; struct SIMSG_UI_TITLE_WND_OPEN : public SGameMessage { SIMSG_UI_TITLE_WND_OPEN() : SGameMessage( IMSG_UI_TITLE_WND_OPEN ){} }; struct SIMSG_UI_NAMEPANEL_PARTY_HP: public SGameMessage { SIMSG_UI_NAMEPANEL_PARTY_HP(AR_HANDLE _handle) : SGameMessage( IMSG_UI_NAMEPANEL_PARTY_HP ) ,handle( _handle ){} AR_HANDLE handle; }; struct SIMSG_UI_ADD_MONSTER : public SGameMessage { // 1.2.6 CharacterWnd 선공/비선공 구분 구현 SIMSG_UI_ADD_MONSTER( int _handle, int _code, unsigned char _objtype, int _nameid, int _hp, int _maxhp ) : SGameMessage ( IMSG_UI_ADD_MONSTER ) , handle ( _handle ) , code ( _code ) , objtype ( _objtype ) , nameid ( _nameid ) , hp ( _hp ) , max_hp ( _maxhp ) { } c_hidint< int, 45 > handle; c_hidint< int, 77 > code; c_hidint< unsigned char, 789 > objtype; c_hidint< int, 2346 > nameid; c_hidint< int, 890 > hp; c_hidint< int, 12789 > max_hp; }; struct SIMSG_UI_WHISPER : public SGameMessage { SIMSG_UI_WHISPER( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, const char* lpName ) : SGameMessage( IMSG_UI_WHISPER ) ,m_Type(Type), m_strWhisperName(lpName){} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Type; std::string m_strWhisperName; }; struct SIMSG_UI_STATE_LIST_UPDATE : public SGameMessage { enum { STATE_DELETE = 0, STATE_CHANGE, STATE_ADD, STATE_DELETE_CASH, STATE_ADD_CASH, STATE_CHANGE_CASH, STATE_UPDATE_MARK, /// 2011.01.14 - prodongi STATE_REFRESH, }; SIMSG_UI_STATE_LIST_UPDATE( AR_HANDLE Player, int UpdateType, bool harmful, int Index, class SStateSlot* pstate) : SGameMessage( IMSG_UI_STATE_LIST_UPDATE ),hPlayer(Player), nUpdateType(UpdateType), bharmful(harmful), nIndex(Index), pState(pstate) {} // SIMSG_UI_STATE_LIST_UPDATE(): SGameMessage( IMSG_UI_STATE_LIST_UPDATE ) {} AR_HANDLE hPlayer; int nUpdateType; bool bharmful; int nIndex; class SStateSlot* pState; }; struct SIMSG_UI_FRIEND_UPDATE : public SGameMessage { SIMSG_UI_FRIEND_UPDATE( const char* lpCharName ) : SGameMessage( IMSG_UI_FRIEND_UPDATE ),strCharName(lpCharName) {} std::string strCharName; }; struct SIMSG_UI_INPUTTEXT_UPDATE : public SGameMessage { SIMSG_UI_INPUTTEXT_UPDATE( SIMSG_UI_REQ_INPUTTEXT::USAGE nUsage, const char* szSubText, int mainTitleId = -1, int okCaptionId = -1 ) : SGameMessage( IMSG_UI_INPUTTEXT_UPDATE ), m_nUsage( nUsage ), m_subTitle( szSubText ), m_mainTitleId(mainTitleId), m_okCaptionId(okCaptionId) // [sonador][7.0.6] Mantis 0002624 { } SIMSG_UI_REQ_INPUTTEXT::USAGE m_nUsage; // [sonador][7.0.6] Mantis 0002624 std::string m_subTitle; int m_mainTitleId; int m_okCaptionId; }; struct SIMSG_UI_CHANGE_RESOLUTION : public SGameMessage { SIMSG_UI_CHANGE_RESOLUTION( int nOldWidth, int nOldHeight, int nWidth, int nHeight ): SGameMessage( IMSG_UI_CHANGE_RESOLUTION ) { m_nOldWidth = nOldWidth; m_nOldHeight = nOldHeight; m_nWidth = nWidth; m_nHeight = nHeight; } int m_nOldWidth; int m_nOldHeight; int m_nWidth; int m_nHeight; }; struct SIMSG_UI_CHANGE_SUMMON_NAME : public SGameMessage { SIMSG_UI_CHANGE_SUMMON_NAME( const char* szName ): SGameMessage( IMSG_UI_CHANGE_SUMMON_NAME ) { m_strName = szName; } std::string m_strName; }; struct SIMSG_UI_FADE_IN_EFFECT : public SGameMessage { SIMSG_UI_FADE_IN_EFFECT() : SGameMessage( IMSG_UI_FADE_IN_EFFECT ) {} }; struct SIMSG_UI_FADE_OUT_EFFECT : public SGameMessage { SIMSG_UI_FADE_OUT_EFFECT() : SGameMessage( IMSG_UI_FADE_OUT_EFFECT ) {} }; struct SIMSG_UI_RACE_SELECT : public SGameMessage { SIMSG_UI_RACE_SELECT( int nRace ): SGameMessage( IMSG_UI_RACE_SELECT ), m_nRace(nRace) {} int m_nRace; }; struct SIMSG_UI_CUSTOMIZIG_UPDATE : public SGameMessage { SIMSG_UI_CUSTOMIZIG_UPDATE( int nRace, int nHair, int nFace, int nBody, int nSex ) :SGameMessage( IMSG_UI_CUSTOMIZIG_UPDATE ), m_nRace(nRace), m_nHair(nHair), m_nFace(nFace), m_nBody(nBody), m_nSex(nSex) {} int m_nRace; int m_nHair; int m_nFace; int m_nBody; int m_nSex; }; struct SIMSG_UI_SOULSTONE_CRAFT : public SGameMessage { SIMSG_UI_SOULSTONE_CRAFT() : SGameMessage(IMSG_UI_SOULSTONE_CRAFT) { } AR_HANDLE craft_item_handle; enum{ MAX_SOULSTONE_NUM = 8, }; // 4 AR_HANDLE soulstone_handle[ MAX_SOULSTONE_NUM ]; }; struct SIMSG_UI_REPAIR_SOULSTONE : public SGameMessage { SIMSG_UI_REPAIR_SOULSTONE() : SGameMessage(IMSG_UI_REPAIR_SOULSTONE) { } enum{ MAX_REPAIR_COUNT = 6, }; AR_HANDLE item_handle[ MAX_REPAIR_COUNT ]; }; struct SIMSG_REQUEST_REMOVE_STATE : public SGameMessage { SIMSG_REQUEST_REMOVE_STATE(): SGameMessage( IMSG_REQUEST_REMOVE_STATE ) {} SIMSG_REQUEST_REMOVE_STATE( AR_HANDLE handle, int nstate ) : SGameMessage( IMSG_REQUEST_REMOVE_STATE ), target(handle), m_nState(nstate) { } AR_HANDLE target; int m_nState; }; struct SIMSG_UI_RESURRECTION : public SGameMessage { SIMSG_UI_RESURRECTION( int resurrectiontype, AR_HANDLE owner, int useitem, const char* statename = "" ) : SGameMessage( IMSG_UI_RESURRECTION ) , nResurrectionType( resurrectiontype ) , hOwner( owner ) , szStateName( statename ) , nUseItem( useitem ) { } int nResurrectionType; AR_HANDLE hOwner; const char* szStateName; int nUseItem; }; struct SIMSG_UI_CHANGE_DISPLAY_NAME : public SGameMessage { SIMSG_UI_CHANGE_DISPLAY_NAME( AR_HANDLE owner, const char* name, bool restory ) : SGameMessage( IMSG_UI_CHANGE_DISPLAY_NAME ) , hOwner( owner ) , pChangeName( name ) , bRestory( restory ) { } AR_HANDLE hOwner; const char* pChangeName; bool bRestory; }; struct SIMSG_REQ_CHANGE_ITEM_POSITION : public SGameMessage { SIMSG_REQ_CHANGE_ITEM_POSITION( bool bstorage, AR_HANDLE handle_1, AR_HANDLE handle_2 ) : SGameMessage( IMSG_REQ_CHANGE_ITEM_POSITION ), is_storage(bstorage), item_handle_1(handle_1), item_handle_2(handle_2) {} bool is_storage; AR_HANDLE item_handle_1; AR_HANDLE item_handle_2; }; struct SIMSG_UI_PASSWORD_COMPARE : public SGameMessage { SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE window_type; enum COMPARE_RESULT { SUCCESS_FROM_CLIENT = 0, SUCCESS_FROM_SERVER, FAILED_MATCH_FROM_CLIENT, FAILED_MATCH_FROM_SERVER, FAILED_SPECIALCHAR_FROM_CLIENT, FAILED_SPECIALCHAR_FROM_SERVER, FAILED_NOT_EXIT_FROM_SERVER, FAILED_ACCESS_DENIED_FROM_SERVER, FAILED_DB_ERROR_FROM_SERVER, }; COMPARE_RESULT compare_result; const char* password1; // const char* password2; // int mode; SIMSG_UI_PASSWORD_COMPARE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _window_type, COMPARE_RESULT result ) : SGameMessage( IMSG_UI_PASSWORD_COMPARE ), window_type( _window_type ), compare_result( result ) , password1( NULL ) , password2( NULL ) , mode( -1 ) { } }; struct SIMSG_UI_WINDOW_ADDON : public SGameMessage { SIMSG_UI_WINDOW_ADDON() : SGameMessage( IMSG_UI_WINDOW_ADDON ) , main_window_name( NULL ) , addon_window_name( NULL ) , c_position_x( NULL ) , c_position_y( NULL ) , n_position_x( 0 ) , n_position_y( 0 ) , open_type( 0 ) { } const char* main_window_name, *addon_window_name; const char* c_position_x, *c_position_y; int n_position_x, n_position_y; int open_type; std::vector< std::string > vControlList; }; struct SIMSG_GET_ADDON_POSITION : public SGameMessage { SIMSG_GET_ADDON_POSITION( int _type, KRect _main, KRect _addon ) : SGameMessage( IMSG_UI_GET_ADDON_POSITION ) , type( _type ) , val( 0 ) , main_rect( _main ) , addon_rect( _addon ) { } int type; int val; KRect main_rect; KRect addon_rect; }; // { [sonador][3.1.3] 경매장 서버 연동 /// C2S: 서버로 경매 물품 검색 요청 메시지 struct SIMSG_REQ_AUCTION_SEARCH : public SGameMessage { // 2010.08.27 - prodongi SIMSG_REQ_AUCTION_SEARCH( int nCategoryID, int nSubCategoryID, const char* lpszKeyword = 0, int nPagenum = 0, bool equipable = false ) : SGameMessage( IMSG_REQ_AUCTION_SEARCH ), category_id( nCategoryID ), sub_category_id( nSubCategoryID ), keyword( lpszKeyword ), page_num( nPagenum ), is_equipable(equipable) { } int category_id; ///< 검색 카테고리 - 대분류 int sub_category_id; ///< 검색 카테고리 - 중분류 std::string keyword; ///< 검색 키워드(없으면 빈 문자열이면 됨) int page_num; ///< 요청 페이지 번호( index start from 1 ) bool is_equipable; // 2010.08.27 - prodongi }; /// S2C: 서버로 부터 경매 물품 검색 요청에 따른 결과 메시지 struct SIMSG_RES_AUCTION_SEARCH : public SGameMessage { SIMSG_RES_AUCTION_SEARCH( ) : SGameMessage( IMSG_RES_AUCTION_SEARCH ) { } typedef TS_SC_AUCTION_SEARCH::SEARCHED_AUCTION_INFO item_info_t; int page_num; ///< 현재 페이지 번호 int total_page_count; ///< 전체 페이지 수 int auction_info_count; ///< 현재 페이지에 해당하는 경매 데이터 수 item_info_t auction_info[ GameRule::AUCTION_INFO_COUNT_PER_PAGE ]; ///< 경매 물품 정보 }; /// C2S: 자신이 등록한 경매 물품 목록 요청 struct SIMSG_REQ_AUCTION_SELLING_LIST : public SGameMessage { SIMSG_REQ_AUCTION_SELLING_LIST( int nPageNum = 1 ) : SGameMessage( IMSG_REQ_AUCTION_SELLING_LIST ), page_num( nPageNum ) { } int page_num; ///< 요청 페이지 번호 }; /// S2C: 자신이 등록한 경매 물품 목록 결과 struct SIMSG_RES_AUCTION_SELLING_LIST : public SGameMessage { SIMSG_RES_AUCTION_SELLING_LIST( ) : SGameMessage( IMSG_RES_AUCTION_SELLING_LIST ) { } int page_num; ///< 현재 페이지 번호 int total_page_count; ///< 전체 페이지 수 int auction_info_count; ///< 현재 페이지에 해당하는 경매 데이터 수 TS_SC_AUCTION_SELLING_LIST::REGISTERED_AUCTION_INFO auction_info[ GameRule::AUCTION_INFO_COUNT_PER_PAGE ]; ///< 현재 페이지에 해당하는 경매 데이터 }; /// C2S: 자신이 입찰한 경매 물품 목록 요청 struct SIMSG_REQ_AUCTION_BIDDED_LIST : public SGameMessage { SIMSG_REQ_AUCTION_BIDDED_LIST( int nPageNum = 1 ) : SGameMessage( IMSG_REQ_AUCTION_BIDDED_LIST ), page_num( nPageNum ) { } int page_num; }; /// S2C: 자신이 입찰한 경매 물품 목록 결과 struct SIMSG_RES_AUCTION_BIDDED_LIST : public SGameMessage { SIMSG_RES_AUCTION_BIDDED_LIST( ) : SGameMessage( IMSG_RES_AUCTION_BIDDED_LIST ) { } int page_num; ///< 현재 페이지 번호 int total_page_count; ///< 전체 페이지 수 int auction_info_count; ///< 현재 페이지에 해당하는 경매 데이터 수 TS_SC_AUCTION_BIDDED_LIST::BIDDED_AUCTION_LIST auction_info[ GameRule::AUCTION_INFO_COUNT_PER_PAGE ]; ///< 현재 페이지에 해당하는 경매 데이터 }; /// 경매 입찰 요청 struct SIMSG_REQ_AUCTION_BID : public SGameMessage { SIMSG_REQ_AUCTION_BID( ) : SGameMessage( IMSG_REQ_AUCTION_BID ), auction_uid( 0 ), bidding_price( 0 ) { } int auction_uid; ///< 입찰 대상 경매 번호 money_t bidding_price; ///< 입찰 요청 가격 }; /// 경매 물품 즉시구매 요청(결과는 TS_SC_RESULT로 보내고 페이지 갱신은 클라에서 요청 따로 보냄) struct SIMSG_REQ_AUCTION_INSTANT_PURCHASE : public SGameMessage { SIMSG_REQ_AUCTION_INSTANT_PURCHASE( ) : SGameMessage( IMSG_REQ_AUCTION_INSTANT_PURCHASE ), auction_uid( 0 ) { } int auction_uid; ///< 즉시 구매 대상 경매 번호 }; /// 경매 물품 등록 요청(결과는 TS_SC_RESULT로 보내고 페이지 갱신은 클라에서 요청 따로 보냄) struct SIMSG_REQ_AUCTION_REGISTER : public SGameMessage { SIMSG_REQ_AUCTION_REGISTER( ) : SGameMessage ( IMSG_REQ_AUCTION_REGISTER ) , item_handle ( 0 ) , item_count ( 0 ) , start_price ( 0 ) , instant_purchase_price( 0 ) , duration_type ( 0 ) { } AR_HANDLE item_handle; ///< 경매 등록할 아이템 핸들 count_t item_count; ///< 경매 등록할 아이템 수량 money_t start_price; ///< 경매 시작가 money_t instant_purchase_price; ///< 경매 물품 즉구가 unsigned char duration_type; ///< 경매 기간 타입(AUCTION_DURATION_TYPE 값이 들어감) }; /// 자신이 등록한 경매 취소 요청(결과는 TS_SC_RESULT로 보내고 페이지 갱신은 클라에서 요청 따로 보냄) struct SIMSG_REQ_AUCTION_CANCEL : public SGameMessage { SIMSG_REQ_AUCTION_CANCEL( ) : SGameMessage( IMSG_REQ_AUCTION_CANCEL ), auction_uid( 0 ) { } int auction_uid; ///< 취소할 경매 번호 }; /// 자신 소유 보관 아이템 목록 요청 struct SIMSG_REQ_AUCTION_ITEM_KEEPING_LIST : public SGameMessage { SIMSG_REQ_AUCTION_ITEM_KEEPING_LIST( int nPageNum = 1 ) : SGameMessage( IMSG_REQ_AUCTION_ITEM_KEEPING_LIST ), page_num( nPageNum ) { } int page_num; }; /// 자신 소유 보관 아이템 목록 결과 struct SIMSG_RES_AUCTION_ITEM_KEEPING_LIST : public SGameMessage { SIMSG_RES_AUCTION_ITEM_KEEPING_LIST( ) : SGameMessage( IMSG_RES_AUCTION_ITEM_KEEPING_LIST ) { } int page_num; ///< 현재 페이지 번호 int total_page_count; ///< 전체 페이지 수 int keeping_info_count; ///< 현재 페이지에 해당하는 아이템 보관 데이터 수 TS_SC_ITEM_KEEPING_LIST::TS_ITEM_KEEPING_INFO keeping_info[ GameRule::AUCTION_INFO_COUNT_PER_PAGE ]; ///< 현재 페이지에 해당하는 아이템 보관 데이터 }; /// 자신 소유 보관 아이템 회수 요청(결과는 TS_SC_RESULT로 보내고 페이지 갱신은 클라에서 요청 따로 보냄) struct SIMSG_REQ_AUCTION_ITEM_KEEPING_TAKE : public SGameMessage { SIMSG_REQ_AUCTION_ITEM_KEEPING_TAKE( ) : SGameMessage( IMSG_REQ_AUCTION_ITEM_KEEPING_TAKE ), keeping_uid( 0 ) { } int keeping_uid; ///< 요청 아이템 보관 번호 }; // } [sonador][3.1.3] 경매장 서버 연동 /// sonador 1.9.1 인벤토리 및 창고 정렬 기능 구현 struct SIMSG_REQ_ARRANGE_ITEM : public SGameMessage { SIMSG_REQ_ARRANGE_ITEM( bool isStorage ) : SGameMessage( IMSG_REQ_ARRANGE_ITEM ), bIsStorage( isStorage ) { } bool bIsStorage; }; /// sonador 10.2.1 팻 시스템 구현 struct SIMSG_REQ_SET_PET_NAME : public SGameMessage { SIMSG_REQ_SET_PET_NAME() : SGameMessage( IMSG_REQ_SET_PET_NAME ), handle( 0 ) { } AR_HANDLE handle; std::string name; }; // #2.1.2.11.1 struct SIMSG_REQ_WINDOW_OBJECT : public SGameMessage { SIMSG_REQ_WINDOW_OBJECT( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE windowType_ ) : SGameMessage( IMSG_REQ_WINDOW_OBJECT ) , windowType( windowType_ ) , window( 0 ) { } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE windowType; class KObject* window; }; /// 키맵핑 설정 메시지 추가함. 2009.03.31 sfreer struct SIMSG_SET_KEYMAPPING : public SGameMessage { SIMSG_SET_KEYMAPPING() : SGameMessage( IMSG_SET_KEYMAPPING ) {} }; //인벤토리창 -> 아이템조합창 으로 보내기 위한 메시지 2009.07.21 sfreer //servantes 2010.10.20 struct SIMSG_SET_COMBINEITEM : public SGameMessage { SIMSG_SET_COMBINEITEM(AR_HANDLE hItem_, count_t usiCount_, bool bMove10_=false) : SGameMessage( IMSG_SET_COMBINEITEM ) ,usiCount(usiCount_) ,hItem(hItem_) ,bMove10(bMove10_) {} AR_HANDLE hItem; count_t usiCount; bool bMove10; }; //인벤토리창 -> 아이템강화창 으로 보내기 위한 메시지 struct SIMSG_SET_UPGRADEITEM : public SGameMessage { SIMSG_SET_UPGRADEITEM(AR_HANDLE hItem_, count_t usiCount_, bool bMove10_=false) : SGameMessage( IMSG_SET_UPGRADEITEM ) ,usiCount(usiCount_) ,hItem(hItem_) ,bMove10(bMove10_) {} AR_HANDLE hItem; count_t usiCount; bool bMove10; }; //인벤토리창 -> 거래창 으로 보내기 위한 메시지 20010.10.19 servantes struct SIMSG_SET_TRADE : public SGameMessage { SIMSG_SET_TRADE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Receiver, AR_HANDLE handle, count_t nValue, bool bForceMove ) : SGameMessage( IMSG_SET_TRADE ), m_Receiver( Receiver ), m_handle( handle ), m_nValue( nValue ), m_bForceMove( bForceMove ) { } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Receiver; AR_HANDLE m_handle; count_t m_nValue; bool m_bForceMove; }; //인벤토리창 -> 경매창으로 아이템을 옮길 때 사용하는 메세지 20010.10.21 servantes struct SIMSG_MOVE_AUCTIONITEM : public SGameMessage { SIMSG_MOVE_AUCTIONITEM( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Receiver, AR_HANDLE handle, count_t nValue, bool bMove10=false ) : SGameMessage( IMSG_MOVE_AUCTIONITEM ), m_Receiver( Receiver ), m_handle( handle ), m_nValue( nValue ), m_bMove10( bMove10 ) { } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE m_Receiver; AR_HANDLE m_handle; count_t m_nValue; bool m_bMove10; }; //인벤토리창 -> 영혼력충전창으로 더블클릭시 아이템을 옮길 때 사용하는 메세지 20010.10.25 servantes struct SIMSG_SOULCHARGE_MOVEITEM : public SGameMessage { SIMSG_SOULCHARGE_MOVEITEM( AR_HANDLE handle ) : SGameMessage( IMSG_SOULCHARGE_MOVEITEM ), m_handle( handle ) { } AR_HANDLE m_handle; }; //인벤토리창 -> 파괴창으로 아이템을 옮길 때 사용하는 메세지 20010.10.25 servantes struct SIMSG_DESTROY_MOVEITEM : public SGameMessage { SIMSG_DESTROY_MOVEITEM( AR_HANDLE handle, count_t nValue, count_t nMax, bool bMove10=false, bool bCallNumberInput = false ) : SGameMessage( IMSG_DESTROY_MOVEITEM ), m_handle( handle ), m_nValue( nValue ), m_nMax( nMax ),m_bMove10( bMove10 ), m_bCallNumberInput( bCallNumberInput ) { } AR_HANDLE m_handle; count_t m_nValue; count_t m_nMax; bool m_bMove10; bool m_bCallNumberInput; // 2012. 8. 6 - marine 수입력기를 따로 호출하도록 수정 }; //인벤토리창 -> 노점창으로 아이템을 옮길 때 사용하는 메세지 20010.10.26 servantes struct SIMSG_NOJUM_HOST_MOVEITEM : public SGameMessage { SIMSG_NOJUM_HOST_MOVEITEM( AR_HANDLE handle, count_t nValue, count_t nMax, bool bMove10=false ) : SGameMessage( IMSG_NOJUM_HOST_MOVEITEM ), m_handle( handle ), m_nValue( nValue ), m_nMax( nMax ),m_bMove10( bMove10 ) { } AR_HANDLE m_handle; count_t m_nValue; count_t m_nMax; bool m_bMove10; }; //인벤토리창 -> 노점창으로 아이템을 옮길 때 사용하는 메세지 20010.10.26 servantes struct SIMSG_NOJUM_CLIENT_MOVEITEM : public SGameMessage { SIMSG_NOJUM_CLIENT_MOVEITEM( AR_HANDLE handle, count_t nValue, count_t nMax, bool bMove10=false ) : SGameMessage( IMSG_NOJUM_CLIENT_MOVEITEM ), m_handle( handle ), m_nValue( nValue ), m_nMax( nMax ),m_bMove10( bMove10 ) { } AR_HANDLE m_handle; count_t m_nValue; count_t m_nMax; bool m_bMove10; }; //인벤토리창 -> 소울스톤세공창 으로 보내기 위한 메시지 20010.10.28 servantes struct SIMSG_SOULSTONE_MOVEITEM : public SGameMessage { SIMSG_SOULSTONE_MOVEITEM( AR_HANDLE handle ) : SGameMessage( IMSG_SOULSTONE_MOVEITEM ), m_handle( handle ){ } AR_HANDLE m_handle; }; //2011.04.26 - servantes / mantis : 12753 //인벤토리창 -> 수리 / 복원 / 충전 창으로 보내기 위한 메시지 struct SIMSG_REPAIR_MOVEITEM : public SGameMessage { SIMSG_REPAIR_MOVEITEM( AR_HANDLE handle, count_t nValue, count_t nMax, bool bMove10=false, std::string strRecvDropParentID = "" ) : SGameMessage( IMSG_REPAIR_MOVEITEM ), m_handle( handle ), m_nValue( nValue ), m_nMax( nMax ),m_bMove10( bMove10 ) { m_strRecvDropParentID = strRecvDropParentID; } AR_HANDLE m_handle; count_t m_nValue; count_t m_nMax; bool m_bMove10; std::string m_strRecvDropParentID; }; //// 채팅창리뉴얼관련 struct SIMSG_UI_MAKE_NEW_CHATWINDOW : public SGameMessage { SIMSG_UI_MAKE_NEW_CHATWINDOW( int _chatType, void* _tabWnd ) : SGameMessage( IMSG_UI_MAKE_NEW_CHATWINDOW ), nChatType(_chatType), pTabWnd(_tabWnd) {} int nChatType; void* pTabWnd; }; //퀘스트 정보 요청 패킷 2009.12.04 sfreer struct SIMSG_QUEST_INFO_REQUEST : public SGameMessage { SIMSG_QUEST_INFO_REQUEST(int _nQuestCode) : SGameMessage( MSG_QUEST_INFO_REQUEST ), nQuestCode(_nQuestCode) {} int nQuestCode; }; // 2010.05.12 - prodongi struct SIMSG_UI_USE_HAIR_ITEM : public SGameMessage { SIMSG_UI_USE_HAIR_ITEM(DWORD result) : SGameMessage( IMSG_UI_USE_HAIR_ITEM ), m_result(result) {} DWORD m_result; }; // 2010.05.20 - prodongi struct SIMSG_HIDE_EQUIP_INFO : public SGameMessage { SIMSG_HIDE_EQUIP_INFO(unsigned int flag) : SGameMessage(IMSG_HIDE_EQUIP_INFO), m_flag(flag) {} unsigned int m_flag; }; // 길드 탈퇴 결정. 2010.04.07 bintitle struct SIMSG_UI_GUILD_SECESSION : public SGameMessage { SIMSG_UI_GUILD_SECESSION() : SGameMessage( IMSG_UI_GUILD_SECESSION ) { } }; // 길드관련 윈도우간의 메세지. 2010.04.08 bintitle struct SIMSG_UI_GUILD_WNDMSG : public SGameMessage { explicit SIMSG_UI_GUILD_WNDMSG( int msgType ) : SGameMessage( msgType ) {} SIMSG_UI_GUILD_WNDMSG( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, int msgType ) : SGameMessage( msgType ) , wndType( _wndType ) {} SIMSG_UI_GUILD_WNDMSG( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndApplicationType, int msgType ) : SGameMessage( msgType ), wndType( _wndType ), wndApplicationType( _wndApplicationType ) {} SIMSG_UI_GUILD_WNDMSG( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndApplicationType, int msgType, bool _bMode ) : SGameMessage( msgType ), wndType( _wndType ), wndApplicationType( _wndApplicationType ), bMode( _bMode ) {} SIMSG_UI_GUILD_WNDMSG( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndApplicationType, int msgType, std::string & _strData ) : SGameMessage( msgType ), wndType( _wndType ), wndApplicationType( _wndApplicationType ), strData( _strData ) {} SIMSG_UI_GUILD_WNDMSG( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndApplicationType, int msgType, std::string & _strData, int _nData ) : SGameMessage( msgType ), wndType( _wndType ), wndApplicationType( _wndApplicationType ), strData( _strData ), nData( _nData ) {} SIMSG_UI_GUILD_WNDMSG( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndApplicationType, int msgType, std::string & _strData, std::string & _strData_2 ) : SGameMessage( msgType ), wndType( _wndType ), wndApplicationType( _wndApplicationType ), strData( _strData ), strData_2( _strData_2 ) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; // 메세지를 catch 할 윈도우. SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndApplicationType; // 실제 적용될 윈도우. std::string strData; // 문자데이터. std::string strData_2; // 문자데이터. int nData; // 정수데이터. bool bMode; // 관리 or 마스터 모드 여부. }; // 장비창에서 아이템팝업메뉴 오픈 메세지. struct SIMSG_UI_EQUIPMENT_POPUP_WNDMSG : public SGameMessage { explicit SIMSG_UI_EQUIPMENT_POPUP_WNDMSG() : SGameMessage( IMSG_EQUIPMENT_POPUP ) {} SIMSG_UI_EQUIPMENT_POPUP_WNDMSG( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, AR_HANDLE _handle, int _nEquipmentType, int _nEquipType ) : SGameMessage( IMSG_EQUIPMENT_POPUP ) , wndType( _wndType ), handle( _handle ), nEquipmentType( _nEquipmentType ), nEquipType( _nEquipType ) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; AR_HANDLE handle; // 아이템 핸들. int nEquipmentType; // [장비] 타입. enum EQUIPMENT_INFO int nEquipType; // [장착] 타입. icon_weapon, icon_weapon_deco ... }; // 인벤토리에서 아이템파괴 창으로 파괴할 아이템정보 전달. struct SIMSG_UI_DESTROY_ITEM : public SGameMessage { explicit SIMSG_UI_DESTROY_ITEM() : SGameMessage( IMSG_DESTRY_ITEM ) {} SIMSG_UI_DESTROY_ITEM( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, AR_HANDLE _handle, count_t _count ) : SGameMessage( IMSG_DESTRY_ITEM ) , wndType( _wndType ), handle( _handle ), count( _count ) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; AR_HANDLE handle; count_t count; }; // 꾸미기아이템 보임,숨김 처리가 변경됨을 알림. struct SIMSG_DECO_VISIBILITY_CHANGE : public SGameMessage { explicit SIMSG_DECO_VISIBILITY_CHANGE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType ) : SGameMessage( IMSG_DECO_VISIBILITY_CHANGE ), wndType( _wndType ) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; // 내구도출력UI 토글을 알림. struct SIMSG_DURABILITY_TOGGLE : public SGameMessage { explicit SIMSG_DURABILITY_TOGGLE( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType ) : SGameMessage( IMSG_DURABILITY_TOGGLE ), wndType( _wndType ) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; // 합성분류 전달. ( 강화, 조합 ) struct SIMSG_SYNTHETIC_ID : public SGameMessage { SIMSG_SYNTHETIC_ID( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, int _synthetic_id ) : SGameMessage( IMSG_SYNTHETIC_ID ), wndType( _wndType ), synthetic_id( _synthetic_id ) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; int synthetic_id; }; // 합성공식 텍스트ID 전달. struct SIMSG_FORMAL_ID : public SGameMessage { SIMSG_FORMAL_ID( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, int _formal_id, int _result_id ) : SGameMessage( IMSG_FORMAL_ID ), wndType( _wndType ), formal_id( _formal_id ), result_id( _result_id ) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; int formal_id; int result_id; }; // 아이템합성. struct SIMSG_SYNTHETIC_ITEM : public SGameMessage { explicit SIMSG_SYNTHETIC_ITEM( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _returnWndType=SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE::UIWINDOW_NONE ) : SGameMessage( IMSG_SYNTHETIC_ITEM ), wndType( _wndType ), returnWndType( _returnWndType ) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; // 메세지를 받을 윈도우. SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE returnWndType; // 되돌려받을 윈도우. }; // 도움말 윈도우에 도움말 전달. struct SIMSG_HELP_TEXT : public SGameMessage { SIMSG_HELP_TEXT( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, std::string & _m_strHelp ) : SGameMessage( IMSG_HELP_TEXT ), wndType( _wndType ), m_strHelp( _m_strHelp ) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; std::string m_strHelp; }; // 인벤토리에 캐쉬아이템 업데이트를 알림. struct SIMSG_UPDATE_CASHITEM : public SGameMessage { SIMSG_UPDATE_CASHITEM( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType ) : SGameMessage( IMSG_UPDATE_CASHITEM ), wndType( _wndType ) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; /// 2011.01.24 아이템 충전 - prodongi struct SIMSG_RECHARGE_MSGBOX : public SGameMessage { SIMSG_RECHARGE_MSGBOX(bool _dontask) : SGameMessage(IMSG_RECHARGE_MSGBOX), dontask(_dontask) {} bool dontask; /// 다시 묻지 않음 }; /// 2011.02.15 - prodongi struct SIMSG_SELECT_TARGET : public SGameMessage { SIMSG_SELECT_TARGET() : SGameMessage(IMSG_SELECT_TARGET), handle(0) {} SIMSG_SELECT_TARGET(AR_HANDLE _handle) : SGameMessage(IMSG_SELECT_TARGET), handle(_handle) {} AR_HANDLE handle; }; // 크리처 슬롯 고정 // servantes 2011.05.02 struct SIMSG_FIXED_CREATURE_SLOT : public SGameMessage { SIMSG_FIXED_CREATURE_SLOT(SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, bool _bFiexd) : SGameMessage(IMSG_FIXED_CREATURESLOT), wndType(Type), bFiexd(_bFiexd) {} bool bFiexd; SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; // 2011.05.03 - servantes }; // 크리처 선택 알림 메세지 - 미니편성창용 // 2011.05.13 - servantes struct SIMSG_SELECT_CREATURE : public SGameMessage { SIMSG_SELECT_CREATURE(SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int _nIndex) : SGameMessage(IMSG_UI_SELECT_CREATURE), wndType(Type), nIndex(_nIndex) {} int nIndex; SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; // 크리처 선택 알림 메세지 - 크리처 편성창용 // 2011.05.25 - servantes struct SIMSG_SELECT_CREATURE_2ND : public SGameMessage { SIMSG_SELECT_CREATURE_2ND(SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, AR_HANDLE _hCreature) : SGameMessage(IMSG_UI_SELECT_CREATURE_2ND), wndType(Type), hCreature(_hCreature) {} AR_HANDLE hCreature; // 2011.06.02 - servantes SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; // 메인 크리처 선택 알림 메세지 - 미니편성창용 // 2011.05.19 - servantes struct SIMSG_SET_MAIN_CREATURE : public SGameMessage { SIMSG_SET_MAIN_CREATURE(SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int _nIndex, AR_HANDLE _hCreature) : SGameMessage(IMSG_UI_SET_MAIN_CREATURE), wndType(Type), nIndex(_nIndex), hCreature(_hCreature) {} int nIndex; AR_HANDLE hCreature; // 2011.05.24 - servantes SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; // 메인 크리처 선택 알림 메세지 - 편성창용 // 2011.05.25 - servantes struct SIMSG_SET_MAIN_CREATURE_2ND : public SGameMessage { SIMSG_SET_MAIN_CREATURE_2ND(SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, int _nIndex, AR_HANDLE _hCreature) : SGameMessage(IMSG_UI_SET_MAIN_CREATURE_2ND), wndType(Type), nIndex(_nIndex), hCreature(_hCreature) {} int nIndex; AR_HANDLE hCreature; SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; // 미니 크리처창에 저장되어있는 메인크리처 핸들값 얻어오기 // 2011.05.24 - servantes struct SIMSG_GET_MAIN_CREATURE_HANDEL : public SGameMessage { SIMSG_GET_MAIN_CREATURE_HANDEL(SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type) : SGameMessage(IMSG_UI_GET_MAIN_CREATURE_HANDLE), wndType(Type) {} AR_HANDLE hCreature; // 2011.05.24 - servantes SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; // 미니 크리처창에 마지막 크리처 선택하도록 알림 // 2011.06.02 - servantes struct SIMSG_SELECT_LAST_CREATURE : public SGameMessage { SIMSG_SELECT_LAST_CREATURE(SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, bool bLast) : SGameMessage(IMSG_UI_SELECT_LAST_CREATURE), wndType(Type), bSelectLastCreature(bLast) {} bool bSelectLastCreature; SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; /// 2011.05.12 우클릭 유도 - prodongi struct SIMSG_UI_SUMMON_CARD_SKILL_LIST : public SGameMessage { SIMSG_UI_SUMMON_CARD_SKILL_LIST(AR_HANDLE _handle): SGameMessage( IMSG_UI_SUMMON_CARD_SKILL_LIST ) { handle = _handle; } AR_HANDLE handle; }; /// 2011.07.07 - prodongi struct SIMSG_UI_OPEN_BADGE : public SGameMessage { SIMSG_UI_OPEN_BADGE(int _itemCode) : SGameMessage(IMSG_UI_OPEN_BADGE), itemCode(_itemCode) {} int itemCode; }; // 퀘스트 아이디를 알려준다 //2011.07.07 - servantes struct SIMSG_MISSION_TITLE : public SGameMessage { SIMSG_MISSION_TITLE(SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE Type, char const* _title) : SGameMessage(IMSG_MISSION_TITLE), wndType(Type), title(_title) {} std::string title; SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; //------------------------------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------------------------------ // 이미지 업로드용 서버. ( 길드아이콘, 길드배너 등.. ) // - 업로드서버 결과. // struct SIMSG_UPLOADSERVER_RESULT : public SGameMessage { enum { UPLOADSERVER_NONE = -1, UPLOADSERVER_LOGIN_RESULT = 0, // 로그인 결과. UPLOADSERVER_GUILDICON_UPLOAD_RESULT, // 길드아이콘 업로드 결과. UPLOADSERVER_MAX, }; SIMSG_UPLOADSERVER_RESULT( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, int _upload_type, unsigned short _result ) : SGameMessage( IMSG_UPLOADSERVER_RESULT ), wndType( _wndType ), upload_type( _upload_type ), result( _result ) {} int upload_type; // enum 으로 정의한 업로드 종류. SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; // 메세지전달 윈도우. unsigned short result; // 결과값. }; //------------------------------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------------------------------ /// 2011.08.11 공통으로 쓰일 수 있는 ui 메세지 구조체 - prodongi struct SIMSG_UI_COMMON : public SGameMessage { SIMSG_UI_COMMON(int msgType, int _param1 = 0, int _param2 = 0, int _param3 = 0) : SGameMessage(msgType) { param1 = _param1; param2 = _param2; param3 = _param3; } int param1; int param2; int param3; }; /// 2011.09.08 : UI의 영역 얻기 - servantes struct SIMSG_UI_RECT : public SGameMessage { SIMSG_UI_RECT(SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType) : SGameMessage(IMSG_UI_RECT), wndType( _wndType ) {} KRect rt; SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; }; // 2011.09.20 - servantes : 파티타입 전송 struct SMSG_SET_PARTY_TYPE : public SGameMessage { SMSG_SET_PARTY_TYPE(SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, int _partyType) : SGameMessage(IMSG_SET_PARTY_TYPE), wndType( _wndType ), nPartyType(_partyType) {} SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; int nPartyType; }; // 2011.11.14 - servantes : 파티 UI 포인터 얻기 struct SIMSG_GET_PARTY_WND_PTR : public SGameMessage { SIMSG_GET_PARTY_WND_PTR( SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE _wndType, const char* pName) : SGameMessage( IMSG_GET_PARTY_WND_PTR ), wndType (_wndType), m_strName (pName), m_precvWnd (NULL) { } SIMSG_TOGGLE_UIWINDOW::_UIWINDOW_TYPE wndType; std::string m_strName; void* m_precvWnd; }; struct SIMSG_ANNOUNCE : public SGameMessage { SIMSG_ANNOUNCE(char const* _text) : SGameMessage(IMSG_ANNOUNCE), text(_text) {} std::string text; }; /// 아레나와 인던관련 ui가 show/hide 될 때, 메인 메뉴에 이 메세지를 보내서 버튼 상태를 업데이트 한다. struct SIMSG_UPDATE_MAIN_MENU_BUTTON : public SGameMessage { SIMSG_UPDATE_MAIN_MENU_BUTTON() : SGameMessage(IMSG_UPDATE_MAIN_MENU_BUTTON) {} }; #pragma pack()