📄 gamemir.h
字号:
/////////////////////////////////////////////////////////////////////////////
//3.登录游戏
/////////////////////////////////////////////////////////////////////////////
//4.基本行动
/////////////////////////////////////////////////////////////////////////////
//5.战斗行动
/////////////////////////////////////////////////////////////////////////////
//6.角色状态
/////////////////////////////////////////////////////////////////////////////
//7.物品道具
/////////////////////////////////////////////////////////////////////////////
//8.魔法技能
/////////////////////////////////////////////////////////////////////////////
//9.商人功能
/////////////////////////////////////////////////////////////////////////////
//10.仓库功能
/////////////////////////////////////////////////////////////////////////////
//11.交易功能
/////////////////////////////////////////////////////////////////////////////
//12.组队功能
/////////////////////////////////////////////////////////////////////////////
//13.帮会功能
//接收--
//void SendGuildHome(void);
/////////////////////////////////////////////////////////////////////////////
//14.聊天功能
/////////////////////////////////////////////////////////////////////////////
//15.地图相关
/////////////////////////////////////////////////////////////////////////////
//16.其他协议
private: // 游戏消息处理
DECLARE_MM_ENTRY(SM_PASSOK_SELECTSERVER); // 开始_选择服务器
DECLARE_MM_ENTRY(SM_PASSWD_FAIL); // 开始_密码_失败
DECLARE_MM_ENTRY(SM_SELECTSERVER_OK); // 开始_选择服务器_成功
DECLARE_MM_ENTRY(SM_QUERYCHR); // 开始_分析角色
DECLARE_MM_ENTRY(SM_STARTPLAY); // 开始_开始游戏
DECLARE_MM_ENTRY(SM_SENDNOTICE); // 开始_游戏公告
DECLARE_MM_ENTRY(SM_SYSMESSAGE); // 消息_系统信息
DECLARE_MM_ENTRY(SM_WHISPER); // 消息_私聊频道
DECLARE_MM_ENTRY(SM_HEAR); // 消息_聊天频道
DECLARE_MM_ENTRY(SM_GUILDMESSAGE); // 消息_行会聊天
DECLARE_MM_ENTRY(SM_TURN); // 走路_转动方向
DECLARE_MM_ENTRY(SM_WALK); // 走路_走路
DECLARE_MM_ENTRY(SM_RUN); // 走路_跑步
DECLARE_MM_ENTRY(SM_DISAPPEAR); // 人物_actor消失
DECLARE_MM_ENTRY(SM_ABILITY); // 人物_角色属性
DECLARE_MM_ENTRY(SM_NEWMAP); // 地图_新地图
DECLARE_MM_ENTRY(SM_LOGON); // 开始_登录游戏
DECLARE_MM_ENTRY(SM_HIT); // 攻击_攻击
DECLARE_MM_ENTRY(SM_BACKSTEP); // 走路_后退
DECLARE_MM_ENTRY(SM_MERCHANTSAY); // 商人_商人说话
DECLARE_MM_ENTRY(SM_HEAVYHIT); // 攻击_HEAVY
DECLARE_MM_ENTRY(SM_POWERHIT); // 攻击_POWER
DECLARE_MM_ENTRY(SM_LONGHIT); // 攻击_LONG
DECLARE_MM_ENTRY(SM_WIDEHIT); // 攻击_WIDE
DECLARE_MM_ENTRY(SM_FIREHIT); // 攻击_FIRE
DECLARE_MM_ENTRY(SM_BIGHIT); // 攻击_BIG
DECLARE_MM_ENTRY(SM_USERNAME); // 人物_用户名字
DECLARE_MM_ENTRY(SM_WINEXP); // 人物_得到经验
DECLARE_MM_ENTRY(SM_MAPDESCRIPTION); // 地图_地图种类
DECLARE_MM_ENTRY(SM_BAGITEMS); // 道具_背包道具数量
DECLARE_MM_ENTRY(SM_SENDUSEITEMS); // 道具_发送用户所有道具
DECLARE_MM_ENTRY(SM_CLEAROBJECTS); // 地图_准备切换地图 删除所有对象
DECLARE_MM_ENTRY(SM_CHANGEMAP); // 地图_加载地图
DECLARE_MM_ENTRY(SM_HEALTHSPELLCHANGED); // 人物_修改_生命
DECLARE_MM_ENTRY(SM_NOWDEATH); // 人物_现在死掉
DECLARE_MM_ENTRY(SM_DEATH); // 人物_死掉
DECLARE_MM_ENTRY(SM_SENDMYMAGIC); // 人物_发送我的魔法
DECLARE_MM_ENTRY(SM_STRUCK); // 攻击_被攻击
DECLARE_MM_ENTRY(SM_DURACHANGE); // 人物_修改_耐久度
DECLARE_MM_ENTRY(SM_ADDITEM); // 道具_增加道具
DECLARE_MM_ENTRY(SM_FEATURECHANGED); // 人物_修改_外貌
DECLARE_MM_ENTRY(SM_CHANGELIGHT); // 修改_灯光
DECLARE_MM_ENTRY(SM_AREASTATE); // 地区状态
DECLARE_MM_ENTRY(SM_GOLDCHANGED); // 人物_修改_金币
DECLARE_MM_ENTRY(SM_READMINIMAP_OK); // 地图_读小地图_成功
DECLARE_MM_ENTRY(SM_READMINIMAP_FAIL); // 地图_读小地图_失败
DECLARE_MM_ENTRY(SM_ALIVE); // 人物_生
DECLARE_MM_ENTRY(SM_EAT_OK); // 道具_吃药_成功
DECLARE_MM_ENTRY(SM_EAT_FAIL); // 道具_吃药_失败
DECLARE_MM_ENTRY(SM_ITEMSHOW); // 道具_道具显示
DECLARE_MM_ENTRY(SM_ITEMHIDE); // 道具_道具隐藏
DECLARE_MM_ENTRY(SM_SENDGOODSLIST); // 商人_发送商品列表
DECLARE_MM_ENTRY(SM_MERCHANTDLGCLOSE); // 商人_商人对话框关闭
DECLARE_MM_ENTRY(SM_BUYITEM_SUCCESS); // 道具_买道具_成功
DECLARE_MM_ENTRY(SM_WEIGHTCHANGED); // 人物_修改_重量
DECLARE_MM_ENTRY(SM_SENDDETAILGOODSLIST); // 商人_发送商品列表_详情
DECLARE_MM_ENTRY(SM_BUYITEM_FAIL); // 道具_买道具_失败
DECLARE_MM_ENTRY(SM_CHANGENAMECOLOR); //
DECLARE_MM_ENTRY(SM_CHARSTATUSCHANGED); //
DECLARE_MM_ENTRY(SM_SHOWEVENT); //
DECLARE_MM_ENTRY(SM_HIDEEVENT); //
DECLARE_MM_ENTRY(SM_DAYCHANGING); //
DECLARE_MM_ENTRY(SM_CHECK_CLIENTVALID); //
DECLARE_MM_ENTRY(SM_SUBABILITY); //
DECLARE_MM_ENTRY(SM_ADJUST_BONUS); //
// 函数
public:
explicit CGameMir(CZhanGuoClientDlg& wnd);
virtual ~CGameMir();
virtual void Login(const std::string& ServerAddress, const std::string& ServerName, UINT ServerPort,
const std::string& Account, const std::string& Password);
int GetAttackMode( void );
void ChangeAttackMode(int mode);
void InitUI(void);
void ShowSetting(void);
itActor FindActor(DWORD id); //找角色
itDropedItem FindDropedItem(DWORD id); //找地面道具
itClientItem FindItem(DWORD id); //找装备
bool EatItem(DWORD idx,const char* name); //吃药水
void TakeOnItem(DWORD idx, WORD pos); //穿上装备
void ClickNPC(DWORD idx){SendMsg(CM_CLICKNPC,idx);} //点击NPC
void OnHpChange(shaker_utility::CEvent&); //生命值修改
void OnMpChange(shaker_utility::CEvent&); //魔法值修改
/*
bool isConnect(void) { return(m_hSocket!=INVALID_SOCKET); } //是否连接
bool isInGame(void) { return((m_GameStage==GS_GAME)&&isConnect());} //是否游戏中
bool isOverEnd(itActor itor) { return(itor==m_ActorList.end()); } //是否玩家
bool isOverEnd(itClientMagic itor){ return(itor==m_Magics.end()); } //是否魔法
bool isOverEnd(itDropedItem itor) { return(itor==m_DropedItems.end()); } //是否掉下道具
const sActorList& GetActorList(){return m_ActorList;} //得到玩家
//得到装备
const _TCLIENTITEM &GetUseItem(int pos){if((pos>0)&&(pos<MAX_USE_ITEMS))return(m_UseItems[pos]);return(m_UseItems[0]);}
const _TMYSELF& GetSelfInfo(){return(m_Self);} //得到角色信息
*/
public: //原来是private,现在我改位public 2007-07-18
bool CanMove(int x, int y); //可以移动
bool CanWalk(const POINT& pnt, int dir); //可以走
bool CanRun(const POINT& pnt, int dir); //可以跑
bool CanEat(){return(m_EatingItem==0);}; //可以吃
private:
void InitData(void); //初始化游戏数据
virtual void OnConnect(int nErrorCode); //连接游戏
virtual void OnMessage(MMSG& , char* );//处理游戏数据包
virtual void OnResult(const char *); //返回结果
itActor NewActor(DWORD id, WORD x, WORD y, WORD dir, DWORD feature, DWORD state, const char* name );//增加玩家
void AddItem(_TCLIENTITEM item); //增加道具
itClientMagic FindMagic(LPCTSTR); //查找魔法
virtual int fnEncode6BitBufA(unsigned char *pszSrc, char *pszDest, int nSrcLen, int nDestLen);//游戏数据包解密函数
virtual int fnDecode6BitBufA(const char *pszSrc, char *pszDest, int nDestLen); //游戏数据包加密函数
public:
CZhanGuoClientDlg& m_FrameWnd;
_TMYSELF m_Self; //角色信息
sClientItemList m_BagItems; //道具列表
sClientMagicList m_Magics; //魔法列表
sDropedItemList m_DropedItems; //地面道具列表
sActorList m_ActorList; //玩家列表
//CGameAction m_Action; //游戏行动
/*
// 变量
public:
CGameData m_DataManager; //游戏数据管理
CGameMap m_Map; //游戏地图
CGameSet m_Sets; //游戏设置
CGameAutoFight& m_AutoFight; //游戏战斗
//CSettingManager m_SettingMgr;//游戏设置
CScriptEngine m_ScriptEngine; //游戏脚本
shaker_utility::CEvent m_EventHpChange;
shaker_utility::CEvent m_EventMpChange;
*/
private:
std::string m_ServerName; //服务器名称
std::string m_ServerAddress; //服务器地址
std::string m_Account; //游戏帐号
std::string m_Password; //游戏密码
std::string m_SID; //==
std::string m_CharName; //角色名字
// CTalkToNpcDlg m_MerchantDlg; //谈话对话框
// CDialogSetting m_SettingDialog;//设置对话框
_TCLIENTITEM m_UseItems[MAX_USE_ITEMS];//装备列表
eGameStage m_GameStage;//游戏阶段
DWORD m_HpProtectTime; //生命值保护时间
DWORD m_MpProtectTime; //魔法值保护时间
DWORD m_EatingItem; //吃药水
UINT m_ServerPort; //服务器端口
long m_AreaStateValue; //==
int m_CurrentAttackMode; //当前攻击模式
int m_NeededAttackMode; //需要的攻击模式
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -