Files
2026-06-01 12:46:52 +02:00

3559 lines
106 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#pragma once
//#include <vector>
#include "SkillBase.h"
#include "SMessage.h"
#include "SNetMessageBill.h"
#include "GameDefine.h"
#include "K3DTypes.h"
//#include "Util.h"
#include <toolkit/c_hidint.h>
#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<CombineItemInfo> 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<ContributionItemInfo> 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<BuyItemInfo> 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<SellItemInfo> 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<AR_HANDLE> 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()