1149 lines
36 KiB
C++
1149 lines
36 KiB
C++
#pragma once
|
||
#include<string>
|
||
/***************************************************************/
|
||
/*
|
||
/* 聊天子系统
|
||
/* 处理玩家的聊天的数据,GM指令
|
||
/*
|
||
/***************************************************************/
|
||
#include"../base/ChatManager.h"
|
||
|
||
class CActor;
|
||
|
||
class CChatSystem:
|
||
public CEntitySubSystem<enChatSystemID,CChatSystem,CActor>
|
||
{
|
||
public:
|
||
|
||
/*
|
||
* Comments: GM指令的参数说明
|
||
* Param char * * args: 参数字符串列表
|
||
* Param INT_PTR nArgsCount:参数的个数
|
||
* Param char * sRetMsg:返回给客户端的结果字符串,一般不要写,需要返回
|
||
提示给客户端的就可以往sRetMsg写点东西,比如在线人数等特殊情况,大小不好超过50字节
|
||
* @Return bool:执行成功返回true,否则返回false
|
||
*/
|
||
typedef bool (CChatSystem::*HandleGmCommandFunc)(char **args, INT_PTR nArgsCount,char *sRetMsg);
|
||
|
||
//这里是玩家的命令的处理函数
|
||
typedef struct tagGmHandle
|
||
{
|
||
char* sCommand; // 命令的名字
|
||
int nReqMinGmLvl; // 此GM命令所需的最低GM等级。 GM等级越高,权限越大
|
||
HandleGmCommandFunc func; // 处理函数
|
||
} GMHANDLE ,*PGMHANDLE;
|
||
|
||
typedef CEntitySubSystem<enChatSystemID,CChatSystem,CActor> Inherid;
|
||
|
||
/*处理网络数据
|
||
* nCmd 消息号
|
||
* packet 网络包
|
||
*/
|
||
void ProcessNetData(INT_PTR nCmd,CDataPacketReader &packet );
|
||
|
||
//重载初始化函数,暂时的话所有的都是GM
|
||
bool Initialize(void *data,SIZE_T size)
|
||
{
|
||
m_bShutup = false;
|
||
m_bIsTalkFree =false;
|
||
m_nFreePostTime = 0;
|
||
m_NextSubmitTime = 0;
|
||
for (INT_PTR i = 0; i < ciChannelMax; i++)
|
||
m_nNextHitTime[i] = 0;
|
||
|
||
m_nChatHitCount = 0;
|
||
m_nSameChatMsgCount =0;
|
||
m_lastChatMsg[0] = '\0';
|
||
memset(m_ForbitMap, 0, sizeof(m_ForbitMap));
|
||
|
||
PACTORDBDATA pActorData = (ACTORDBDATA *)data;
|
||
if(pActorData ==NULL || size != sizeof(ACTORDBDATA))
|
||
{
|
||
OutputMsg(rmError,_T("data len error len=%d ,correct len=%d"),size, sizeof(ACTORDBDATA));
|
||
return false;
|
||
}
|
||
//将db的数据拷贝过来
|
||
m_nFreePostTime = pActorData->nShutUpTime;
|
||
|
||
return true;
|
||
}
|
||
|
||
void OnEnterGame();
|
||
|
||
void SetForbit(int nChannelId, bool value)
|
||
{
|
||
if (nChannelId>= 0 && nChannelId < ciChannelMax)
|
||
{
|
||
m_ForbitMap[nChannelId] = value;
|
||
}
|
||
}
|
||
|
||
bool IsForbit(int nChannelId)
|
||
{
|
||
if (nChannelId>= 0 && nChannelId < ciChannelMax)
|
||
{
|
||
return m_ForbitMap[nChannelId] == true;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
/*
|
||
* Comments: 设置玩家禁言信息
|
||
* Param bool bForbid: 禁言或者解禁。
|
||
* Param INT_PTR nDuration:如果bForbid为true,这里指禁言时常,秒为单位
|
||
* @Return void:
|
||
*/
|
||
void SetShutup(bool bForbid, INT_PTR nDuration);
|
||
|
||
/*
|
||
* Comments: 发送消息
|
||
* Param int channel: 频道
|
||
* Param char* outPack:消息
|
||
* Param SIZE_T nSize:消息大小
|
||
* @Return void:
|
||
*/
|
||
bool SendChatMessageByChannel(int channel, char * outPack,SIZE_T nSize);
|
||
|
||
|
||
/*
|
||
* Comments: 设置玩家禁言信息
|
||
* Param bool bForbid: 禁言或者解禁。
|
||
* Param INT_PTR nDuration: 如果bForbid为true,这里指禁言时常,秒为单位
|
||
* @Return void:
|
||
*/
|
||
static void SetOffLineShutUp(unsigned int nActorId, bool bForbid, INT_PTR nDuration);
|
||
|
||
/*
|
||
* Comments:
|
||
* Param unsigned int nActorId:
|
||
* Param unsigned int nFreePostTime:
|
||
* @Return void:
|
||
*/
|
||
static void SaveShutUpData(unsigned int nActorId, unsigned int nFreePostTime);
|
||
/*
|
||
* Comments: 判断玩家是否被禁言
|
||
* @Return bool: 禁言返回true;否则返回false
|
||
*/
|
||
bool IsShutup();
|
||
|
||
/*
|
||
* Comments: 获取自由发言时间
|
||
* @Return unsigned int: 返回MiniTime
|
||
*/
|
||
unsigned int GetFreePostTime();
|
||
|
||
/*
|
||
* Comments: 保存聊天系统数据(存到脚本数据里头)
|
||
* @Return void:
|
||
*/
|
||
void SaveToScriptData(PACTORDBDATA pData);
|
||
|
||
|
||
/*
|
||
* Comments: 读取聊天系统数据(从脚本数据中读取)
|
||
* @Return void:
|
||
*/
|
||
void LoadFromScriptData();
|
||
|
||
|
||
/*
|
||
* Comments:设置发言是否免费
|
||
* Param bool isFree: 如果为true那么将免费否则发言扩费
|
||
* @Return void:
|
||
*/
|
||
inline void SetChatFree(bool isFree)
|
||
{
|
||
m_bIsTalkFree = isFree;
|
||
}
|
||
|
||
inline bool IsFreeTalk() { return m_bIsTalkFree; }
|
||
|
||
/*
|
||
* Comments:设置赌博系统是否开启
|
||
* Param bool isClose:是否是开启的
|
||
* @Return :
|
||
*/
|
||
static void SetGambleFlag(bool isClose);
|
||
|
||
/*
|
||
* Comments: 发言
|
||
* Param int nChannleID: 聊天频道的ID定义 enum tagChannelID
|
||
* Param const char * pMsg: 发言内容
|
||
* Param bool boSave:是否存到日志
|
||
* @Return void:
|
||
*/
|
||
bool SendChat(int nChannleID, char *msg, bool boSave = true, byte nParam = 0, std::string sendName = "", LONG64 itemId = 0);
|
||
|
||
//保存聊天信息
|
||
void SaveChatMsg(int ChannelId, char * userName, char * strMsg);
|
||
|
||
bool HaveCutChar(char* InputStr);
|
||
bool CheckChatLen(char* msg);
|
||
private:
|
||
|
||
|
||
/*
|
||
* Comments: 处理GM命令
|
||
* Param char * sStr:
|
||
* @Return void:
|
||
*/
|
||
void ProcessGmCommand(char * sStr);
|
||
|
||
//下面放一些GM命令
|
||
|
||
bool GmAttr(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
///在身边创建一个怪物
|
||
///@Monster 怪物名(或id) 数量(1) 存活时间(0) 等级(0) 血量比(100)
|
||
bool GmMonster(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
///移动
|
||
///@Go 地图名(或场景id) X Y
|
||
bool GmGo(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
bool GMEnterFuben(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@PR 相对位置x 相对位置y
|
||
bool GmPR(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@PR 鼠标位置x 鼠标位置y 相对位置x 相对位置y
|
||
bool GmAR(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
///学习技能
|
||
///@Skill 技能ID 技能等级
|
||
bool GmLearnSkill(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
///删除技能
|
||
///@DelSkill 技能ID/名字
|
||
bool GmDeleteSkill(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
///添加BUFF
|
||
///@AddBuff buffId
|
||
bool GmAddBuff(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
///删除BUFF
|
||
///@DelBuff buffId
|
||
bool GmDelBuff(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
///抓捕怪物
|
||
///@CatchMonster 怪物实体id
|
||
bool GmCatchMonster(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
///抛弃怪物
|
||
///@ThrowMonster 怪物实体id
|
||
bool GmThrowMonster(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
///掉落物品
|
||
///@DropItem itemid 数量
|
||
bool GmDropItem(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
///查询信息
|
||
///@info xxx arg
|
||
bool Info(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
bool GmSetWd(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
bool Drop(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
//GM添加金钱
|
||
bool GmAddGold(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
//GM送物品
|
||
bool GmAddPresent(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//设置自己的等级
|
||
bool GmSetSelfLevel(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//GM删除物品
|
||
//bool GmDelItem(char **args, INT_PTR nArgsCount,char * sRetMsg){return false;}
|
||
|
||
//调整他人经验AjustExp name 1000
|
||
bool GmAdjustExp(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//自己的经验增加 Addexp 100
|
||
bool GmAddSelfExp(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//GM测试添加物品 @AddItem 物品名称 数量 品质 强化等级
|
||
bool GmAddItem(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//添加数值
|
||
///@AddValue type num
|
||
bool AddValue(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设定数值
|
||
///@SetValue type num
|
||
bool SetValue(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//GM测试删除物品 @DelItem 物品名称 数量
|
||
bool GmDelItem(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//制造物品 @Make 物品名称 数量 强化 强化最大值 绑定 铭刻等级 铭刻经验 物品时间
|
||
bool GmMakeItem(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@Move 地图名称,移动到指定的地图
|
||
bool GmMove(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@Recall 角色名称 将指定角色传送到身边
|
||
bool GmRecall(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@ReGoto 角色名称 传送至指定角色身边
|
||
bool GmReGoto(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@MoveToNPC 地图名称 NPC名称
|
||
bool GmMoveToNPC(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@MapMove 源地图名称 目标地图名称
|
||
bool GmMapMove(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@Who 在线人数
|
||
bool GmWho(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
|
||
/// @AddMoney 金钱类型ID 数量
|
||
bool GmAddMoney(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
//添加转生人数
|
||
bool GMAddCircleNum(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
//死亡掉落
|
||
bool GMDeathDropItem(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
bool GmMonthCard(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
bool GmDamageInfo(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
bool GMSetZBPMtime(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
bool GMSetZBPMdata(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//竞拍
|
||
bool GmSetAuction(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
bool GmTestBackStage(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@Icon 头像ID 修改头像
|
||
bool GmChangeIcon(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@Property 打印玩家隐藏的属性
|
||
bool GmPrintProperty(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@Invite 要求玩家组队
|
||
bool GmInviteTeam(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//答应组队
|
||
bool GmReplyTeam(char **args, INT_PTR nArgsCount,char * sRetMsg );
|
||
|
||
//离开队伍
|
||
bool GmLeaveTeam(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//修改属性
|
||
bool GmSetIntProperty(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//修改属性
|
||
bool GmSetFloatProperty(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//打印Int属性值
|
||
bool GmShowIntProperty(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//@ReloadNPC NPC的名字 刷新挂在NPC身上的脚本
|
||
bool GmRefresh(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
//@RSF 重新读入全局npc的脚本
|
||
bool GmReloadGlobalNpc(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
//重新载入我所在的场景的所有npc的脚本
|
||
bool GmReloadScriptNpc(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//测试用GM设置怪物的运动状态
|
||
bool GmSetMonsterMove(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//@targetIntPro 属性ID 属性的值
|
||
bool GmSetTargetIntPro(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
//增加宠物
|
||
bool GMADDLootPet(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//设置某个任务是否完成
|
||
bool FinishQuest(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//增加一个任务
|
||
bool Acceptrole(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//超人
|
||
bool GmSetSuperMan(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//踢人
|
||
bool GmKick(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//看目标的属性
|
||
bool GmViewTargetProperty(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
//看目标的属性
|
||
//bool GmViewTargetFloatProperty(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
bool GmSkillCDSwitch(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
/*
|
||
* Comments: 清空玩家背包
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool GmClearBag(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//重刷屏蔽字符库
|
||
bool GmRefreshfw(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
/*
|
||
* Comments: 将指定角色禁言
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool GmShutup(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
/**
|
||
添加关键字到词库
|
||
*/
|
||
bool GmAddKeyword(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
/*
|
||
* Comments: 将指定角色禁言状态解除
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool ReleaseShutup(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
|
||
/*
|
||
* Comments: 查看禁言列表
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool ShutupList(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
|
||
/*
|
||
* Comments: 显示好友列表
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool GmShowFriendList(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
|
||
/*
|
||
* Comments: 系统公告消息
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool WorldMessage(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
|
||
/*
|
||
* Comments: 给指定玩家发消息
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool NotifyMsg(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
|
||
/*
|
||
* Comments: 设置加速的阈值
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool GMSetQuickRate(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
|
||
/*
|
||
* Comments: 根据名字学习技能
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool GmLearnSkillByName(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
/*
|
||
* Comments: 使用技能
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool GmUseSkill(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
/*
|
||
* Comments: 根据名字遗忘技能
|
||
* Param char * * args: 字符串参数表
|
||
* Param INT_PTR nArgsCount:参数数量
|
||
* Param char * sRetMsg:操作结果描述信息
|
||
* @Return bool:成功返回true;失败返回false
|
||
*/
|
||
bool GmForgetSkillByName(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
/*
|
||
* Comments:设置百服活动开关
|
||
* Param char * * args:
|
||
* Param INT_PTR nArgsCount:
|
||
* Param char * sRetMsg:
|
||
* @Return bool:
|
||
*/
|
||
bool GmSetHundredServer(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
/*
|
||
* Comments: 修改装备属性
|
||
* Param char * * args:
|
||
* Param INT_PTR nArgsCount:
|
||
* Param char * sRetMsg:
|
||
* @Return bool:
|
||
*/
|
||
bool SetEquipItemProp(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
/*
|
||
* Comments: 设置当天获取杀怪经验总量
|
||
* Param char * * args:
|
||
* Param INT_PTR nArgsCount:
|
||
* Param char * sRetMsg:
|
||
* @Return bool:
|
||
*/
|
||
bool SetExpGetToday(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
/*
|
||
* Comments:增加每日进入副本的次数
|
||
* Param char * * args:
|
||
* Param INT_PTR nArgsCount:
|
||
* Param char * sRetMsg:
|
||
* @Return bool:
|
||
*/
|
||
bool AddFubenCount(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
/*
|
||
* Comments:执行npc的脚本函数
|
||
* Param char * * args:
|
||
* Param INT_PTR nArgsCount:
|
||
* Param char * sRetMsg:
|
||
* @Return bool:
|
||
*/
|
||
bool CallScriptFunc(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
/*
|
||
* Comments:执行npc的脚本函数(不传入实体参数)
|
||
* Param char * * args:
|
||
* Param INT_PTR nArgsCount:
|
||
* Param char * sRetMsg:
|
||
* @Return bool:
|
||
*/
|
||
bool CallScriptFuncNoEntity(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
/*
|
||
* Comments: 设置trace级别
|
||
* Param char * * args:
|
||
* Param INT_PTR nArgsCount:
|
||
* Param char * sRetMsg:
|
||
* @Return bool:
|
||
*/
|
||
bool SetTraceOpt(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
/*
|
||
* Comments:是否能否修改属性
|
||
* Param INT_PTR nPropId:属性的ID
|
||
* @Return bool: 能返回true,否则返回false
|
||
*/
|
||
bool CanChangeProp(INT_PTR nPropId);
|
||
|
||
|
||
/*
|
||
* Comments: 刷新语言包
|
||
* Param char * * args:
|
||
* Param INT_PTR nArgsCount:
|
||
* Param char * sRetMsg:
|
||
* @Return bool:
|
||
*/
|
||
bool ReloadLang(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
bool ReloadMonster(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 重新加载物品配置数据
|
||
bool ReloadItem(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//调整目标的等级
|
||
bool GmAdjustLevel(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
// 刷新所有场景中的怪物
|
||
bool RefreshMonster(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 设置头衔
|
||
bool GmSetHeadTitle(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 刷新在线玩家头衔
|
||
bool GmRefreshHeadTitle(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//刷新排行榜
|
||
bool GmRefreshRank(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//获取聊天频道名称
|
||
|
||
//求救
|
||
void BroadcastSendHelp(CDataPacketReader &inPack);
|
||
|
||
char* GetChannelName(int ChannelId);
|
||
/*
|
||
* Comments: 查看其他玩家的属性
|
||
* Param INT_PTR nVehicleId:
|
||
* Param INT_PTR nPathId:
|
||
* @Return bool:
|
||
* @Remark:
|
||
*/
|
||
bool ViewTargetProp(char **args, INT_PTR nArgsCount, char* sRetMsg);
|
||
|
||
/*
|
||
* Comments:判断一个字符串是否是数字
|
||
* Param char * str: 字符串比如12211
|
||
* @Return bool:是返回true,否则返回false
|
||
*/
|
||
bool IsDigit(char * str);
|
||
|
||
//追踪玩家的数据
|
||
bool GmTraceActor(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
bool GmDumpFuben(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//查看物品设置
|
||
bool GmCheckGameSet(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//追踪玩家的数据
|
||
bool GmTraceSystem(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//制造一个宠物
|
||
bool GmAddPet(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//制造一个英雄
|
||
bool GmAddHero(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//给目标的添加一个英雄
|
||
bool GmAddTargetHero(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置防沉迷开启
|
||
bool GmSetFcmOpen(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置防沉迷关闭
|
||
bool GmSetFcmClose(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//通过名字重载数据
|
||
bool GmReloadConfigByName(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//通过ID重载数据
|
||
bool GmReloadConfigById(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//打开赌博系统
|
||
bool GmSetGambleOpen(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//关闭赌博系统
|
||
bool GmSetGambleClose(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置聊天的等级
|
||
bool GmSetChatLevel(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//设置聊天的充值金额
|
||
bool GmSetChatRecharge(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//设置聊天禁言的最大等级
|
||
bool GmSetChatForbitLevel(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
// 设置db发送数据包数量
|
||
bool GmGetDBSendPacketCount(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 设置角色保存数据间隔
|
||
bool GmSetActorSaveInterval(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 杀死某个玩家
|
||
bool GMKill(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 追踪玩家数据包
|
||
bool TracePacket(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//添加帮派玥石
|
||
bool GuildAddYs(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//设置帮派帮主
|
||
bool GmSetGguildLeader(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//设置认证工会
|
||
bool GmSetGuildAuth(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 请求传送
|
||
bool ReqTransmit(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 输出服务器信息
|
||
bool TraceServerInfo(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 设置角色消息过滤器
|
||
bool SetActorMsgFilter(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 测试session消息广播
|
||
bool TestSessionBroad(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 设置是否连接跨服
|
||
bool GmStartCommonServer(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//按模型刷怪
|
||
bool GmMonster2(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置自己的转数
|
||
bool GmSetActorCircle(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
//重置潜力点
|
||
bool GmResetActorCirclePoint(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
|
||
// 删除跨服榜单 带destServerId参数指定删除某个服务器的榜单
|
||
bool GmClearCsRank(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 广播所有逻辑服将雕像榜单数据发到session
|
||
bool GmSaveCsRank(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
// 广播所有逻辑服重新取下榜单
|
||
bool GmLoadCsRank(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//清屏
|
||
bool GmClearAllMsg(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//@禁止和取消禁止
|
||
bool GmForbidUserById(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
bool GmUnForbidUserById(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
|
||
//设置沙巴克占领行会id
|
||
bool GMSetSbkGuild(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置武林盟主
|
||
bool GMSetWulinMaster(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//增加活跃度
|
||
bool GmAddActivity(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//Gm创建npc
|
||
bool GmCreateNpc(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//统计数据包
|
||
bool GmTracePacket(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//gm设置开服时间
|
||
bool GmSetOpenServerTime(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
|
||
//gm设置合服时间
|
||
bool GmSetMergeServerTime(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
|
||
//gm发送守沙三天的奖励
|
||
bool GmSendSbkDefendAward(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//gm设置加速几次掉线
|
||
bool GmSetQuickTimes(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置聊天信息是否存盘
|
||
bool GmSetChatLog(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置人物部位掉落概率
|
||
bool GmSetActorDropRate(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置本服的SP
|
||
bool GmSetSpGuidId(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置本服的服务器ID
|
||
bool GmSetServerId(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//从数据服加载行会信息
|
||
bool GmLoadGuildDataFromDb(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//gm设置玩家的行会
|
||
bool GmSetActorGuild(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//gm清空玩家的行会id
|
||
bool GmDeleteActorGuild(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
/*
|
||
* Comments:设置玩家武器的幸运值
|
||
* Param char * * args:
|
||
* Param INT_PTR nArgsCount:
|
||
* Param char * sRetMsg:
|
||
* @Return bool:
|
||
*/
|
||
bool GmSetEquipLuck(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置行会报名沙巴克战
|
||
bool GmGuildSignUpSbk(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
|
||
//设置隐身
|
||
bool GmSetActorHide(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置出生点的个数
|
||
bool GmSetActorCreatePos(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//添加出生点
|
||
bool GmAddActorCreatePos(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置空闲玩家是否要踢下线
|
||
bool GmSetIdlePlayer(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置是否踢使用挂外的人下线
|
||
bool GmOpenQuickKick(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置是否开户使用外挂被踢后就封帐号
|
||
bool GmOpenQuickSeal(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置创号进入的场景索引
|
||
bool GmSetEnterId(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置沙巴克职位
|
||
bool GmSetSbkPos(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//节日活动设置
|
||
bool GmSetHoliday(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//gm设置头衔
|
||
bool GmSetLhzsTitle(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置Gm头衔
|
||
bool GmSetGm(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
|
||
//设置服务器的合区时间(用于后台设置开启某些系统用)
|
||
bool GmSetServerTempCombineTime(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
|
||
bool GmKillAllMonster(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
bool GmKillMonster(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//刷新跨服的配置
|
||
bool GmSetCrossConfig(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmSetCrossCommonId(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置跨服的id
|
||
bool GmSetCommonServerId(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//随机增加寄售物品(测试用)
|
||
bool GmAddConsignItem(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//删除寄卖物品
|
||
bool GmClearConsignItem(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//设置排行选项
|
||
bool GmSetRanking(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
|
||
//强制的存盘操作
|
||
bool GmSaveAllRank(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//开启修改名字
|
||
bool GmChangeNameFlag(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//是否打开还是开启追踪
|
||
bool GmOpenTrace(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置是否保存任务到日志服务器
|
||
bool GmSetSaveQuestLogFlag(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置是否保存任务到日志服务器
|
||
bool GmSetSaveCoinLogFlag(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//gm设置行会建筑的等级
|
||
bool GmSetBuildLevel(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
bool GmclearActorBuildData(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
bool GmClearGuildBuildData(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
bool GmClearGuildBuildTime(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
bool GmChangeActorGx(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
bool GmTestFilter(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置行会资金
|
||
bool GmSetGuildCoin(char **args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
|
||
//开启检测加速外挂
|
||
bool GmSetOpenCkSpeedFalg(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置检测加速外挂的误差时间
|
||
bool GmSetDeviationTimes(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置校验的间隔时间
|
||
bool GmSetCkIntevalTime(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
bool GmSetSpeedCheck(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置新检测加速外挂的参数
|
||
bool GmSetSpeedValue(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
bool GmAddNewTitle(char ** args, INT_PTR nArgsCount, char * sRegMsg);
|
||
bool GmDelNewTitle(char ** args, INT_PTR nArgsCount, char * sRegMsg);
|
||
|
||
bool GmAddCustomTitle(char ** args, INT_PTR nArgsCount, char * sRegMsg);
|
||
bool GmDelCustomTitle(char ** args, INT_PTR nArgsCount, char * sRegMsg);
|
||
|
||
//踢人与禁用
|
||
bool GmKickAndSetActorStatus(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//重置武魂等级
|
||
bool GMSetSoulLevel(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
/// 增加排行榜积分
|
||
bool GMAddRankPoint(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//设置成就状态
|
||
bool SetAchieve(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//--调试脚本用,支持二个参数
|
||
bool GmDebugLua(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//商店的GM指令
|
||
bool GmShop(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//增加PK值的GM指令
|
||
bool GmPkValue(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//功勋的GM指令
|
||
bool GmExploit(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//部位强化等级
|
||
bool GmSetEquipPosStrongLevel(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//设置行会神树
|
||
bool GmSetGuildTree(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//设置行会神树果实
|
||
bool GmSetGuildFruit(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置本人行会神树
|
||
bool GmSetMyGuildTree(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//设置本人行会神树果实
|
||
bool GmSetMyGuildFruit(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置行会任务
|
||
bool GmSetGuildTask(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//强行刷新行会任务
|
||
bool GmRefreshGuildTask(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//膜拜君主
|
||
bool GmDoWorship(char ** args, INT_PTR nArgsCount, char * sRegMsg);
|
||
|
||
//土城保卫战
|
||
bool GmDoProtecteTuCity(char ** args, INT_PTR nArgsCount, char * sRegMsg);
|
||
|
||
//赏金任务
|
||
bool GmDoRewardQuest(char ** args, INT_PTR nArgsCount, char * sRegMsg);
|
||
|
||
//游戏补偿
|
||
bool GmDoCompensate(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//补给争夺
|
||
bool GmDoSupplyBattle(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//七日豪礼
|
||
bool GmDoSevenGoodGift(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmDoChallengeFB(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmDoAllCharge(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmDoGuildSiege(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmDoGameStore(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmGuildDepotItemReject(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmDoMaterialFB(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmDoOpenSevTheme(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmDoDailyCharge(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmDoMapActor(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmDoGiveAward(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmGenAttrInSmith(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmReloadVSPDef(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
bool GmSetFcmStatus(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//跨服消息请求
|
||
void OnCustomReqCsChat(CDataPacketReader& inPack);
|
||
//void OnSendCsChat(CChatManager::CHATRECORD& record);
|
||
private:
|
||
bool m_bShutup; // 是否处于禁言状态
|
||
bool m_bIsTalkFree; //发言是否是免费的
|
||
|
||
unsigned int m_nFreePostTime; // 解禁时间(s)
|
||
CTimer<1000> m_ChatTimer; // 发言定时器
|
||
CTimer<5000> m_smileTimer; //发表情的时间间隔
|
||
|
||
int m_NextSubmitTime; // 下次提交建议的时间
|
||
|
||
TICKCOUNT m_nNextHitTime[ciChannelMax]; // 每个频道下次发言时间
|
||
|
||
static const GMHANDLE GmCommandHandlers[]; //GM的处理函数列表
|
||
|
||
/*
|
||
* Comments: GM添加物品都调用这个功能
|
||
* Param INT_PTR nItemID: 物品的ID
|
||
* Param INT_PTR nCount: 物品的数量
|
||
* Param INT_PTR nStar: 物品的强化星级
|
||
* Param INT_PTR nLostStar: 物品强化损失星级
|
||
* Param INT_PTR nBind 绑定
|
||
* Param INT_PTR nInscriptLv 铭刻等级
|
||
* Param INT_PTR nAreaId 来源场景
|
||
* Param INT_PTR wMonsterId 怪物id
|
||
* Param char * sRetMsg: 返回信息
|
||
* @Return bool: 成功返回true,否则返回false
|
||
*/
|
||
bool AddItem(INT_PTR nItemID, INT_PTR nCount, INT_PTR nStar=0, INT_PTR nLostStar=0,INT_PTR nBind=0, INT_PTR nInscriptLv =0, INT_PTR nAreaId=0, WORD wMonsterId = 0, char * sRetMsg ="");
|
||
|
||
|
||
/*
|
||
* Comments: 检测参数列表是否正确
|
||
* Param char * * args: 参数的指针
|
||
* Param INT_PTR nArgsCount:参数的格式
|
||
* Param char * sRetMsg:返回的信息指针
|
||
* Param INT_PTR nValidArgsCount: 正确的参数的个数
|
||
* @Return bool:
|
||
*/
|
||
inline bool IsArgsValid(char **args, INT_PTR nArgsCount,char * sRetMsg,INT_PTR nValidArgsCount)
|
||
{
|
||
if(nValidArgsCount > nArgsCount)
|
||
{
|
||
sprintf(sRetMsg,"Need %d Params,%d Params input",nValidArgsCount,nArgsCount);
|
||
return false ;//参数错误
|
||
}
|
||
for(INT_PTR i =0; i< nValidArgsCount; i++)
|
||
{
|
||
if(args[i] ==NULL)
|
||
{
|
||
sprintf(sRetMsg,"args[%d] =NULL error",i);
|
||
return false;
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
|
||
inline INT_PTR GetArgsCount(char **args, INT_PTR nArgsCount)
|
||
{
|
||
for (INT_PTR i = 0; i < nArgsCount; i++)
|
||
{
|
||
if (args[i] == NULL)
|
||
{
|
||
return i;
|
||
}
|
||
}
|
||
|
||
return nArgsCount;
|
||
}
|
||
|
||
inline void InitParamList(char **args, INT_PTR argc, wylib::container::CBaseList<wylib::string::CAnsiString*> &result_list, INT_PTR reqParamCount)
|
||
{
|
||
result_list.reserve(reqParamCount);
|
||
argc = __min(argc, reqParamCount);
|
||
for (INT_PTR i = 0; i < argc; i++)
|
||
{
|
||
result_list.push(new wylib::string::CAnsiString(args[i]));
|
||
}
|
||
for (INT_PTR i = argc; i < reqParamCount; i++)
|
||
{
|
||
result_list.push(new wylib::string::CAnsiString(""));
|
||
}
|
||
}
|
||
|
||
inline void SafeReleaseParamList(wylib::container::CBaseList<wylib::string::CAnsiString*> &result_list)
|
||
{
|
||
for (int i = 0; i < result_list.count(); i++)
|
||
delete result_list.get(i);
|
||
}
|
||
|
||
//查看属性
|
||
bool GmViewProperty(char * sRetMsg,int nPropID, CEntity * pEntity);
|
||
|
||
bool GMChgJob(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
//
|
||
bool GmMakeRealItem(char **args, INT_PTR nArgsCount,char * sRetMsg);
|
||
/*
|
||
* Comments: 检测聊天频道CD
|
||
* Param tagChannelID cid: 聊天频道id
|
||
* @Return bool: 如果该聊天频道还在CD中返回true;否则返回false
|
||
* @Remark:
|
||
*/
|
||
bool CheckChannelCD(tagChannelID cid);
|
||
|
||
/*
|
||
* Comments: 检测聊天限制
|
||
* Param tagChannelID cid: 聊天频道Id
|
||
* @Return bool: 如果符合聊天等级限制,返回true;否则返回false
|
||
* @Remark:
|
||
*/
|
||
bool CheckLimit(tagChannelID cid);
|
||
|
||
//清空boss成长等级数据
|
||
bool GmClearBossHard(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//设置交易额度
|
||
bool GMSetTradingQuota(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
bool GMSetBlessValue( char **args, INT_PTR nArgsCount, char * sRetMsg );
|
||
|
||
bool GMSetQuestState( char **args, INT_PTR nArgsCount, char * sRetMsg );
|
||
|
||
bool GMClearQuestlog( char **args, INT_PTR nArgsCount, char * sRetMsg );
|
||
|
||
//设置经脉等级
|
||
bool GMSetJMLv(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//通过npcID创建npc
|
||
bool GmCreateNpcById(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//发送邮件
|
||
bool GmAddMail(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//发送全服邮件
|
||
bool GmAddServerMail(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
//发送邮件
|
||
bool GmAddOneMail(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//加载npc配置
|
||
bool GmLoadNpcFile(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//加载任务的npc文件
|
||
bool GmLoadQuestFile(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//统计所有地图刷出怪物数量
|
||
bool GmTotalAllSceneMonsterCount(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//获取当前所在地图信息
|
||
bool GmGetCurrSceneInfo(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//清除当前世界税收或者已领税收
|
||
bool GmSetTaxing(char ** args, INT_PTR nArgsCount, char * sRetMsg);
|
||
|
||
//设置玩家脚本key
|
||
bool GmSetRundomKey(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//无条件删除行会
|
||
bool GmDeleteGuild(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//重置世界等级为0
|
||
bool GmResetWorldLevel(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//重新从数据库读世界等级
|
||
bool GmReLoadWorldLevel(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//
|
||
bool GmSetFootPrintPay(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
bool GmSetActorCallScript(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
// 检测禁言
|
||
void CheckAutoSilencing(const char* msg);
|
||
void GetSortChatMsg(const char* msg, char* all, char* word);
|
||
bool GmDelVar(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
/// 开启球迷积分兑换
|
||
bool GmOpenBallFanStore(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//开启小黑屋
|
||
bool GmOpenBlackHouse(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//退出小黑屋
|
||
bool GmQuitBlackHouse(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//清理小黑屋数据
|
||
bool GmCleanBlackHouse(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//副本的GM指令
|
||
bool GmFuBen(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//设置特戒培养等级
|
||
bool GMSetRingLevel(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
//测试速传
|
||
bool QuestMove(char **args, INT_PTR nArgsCount, char *sRetMsg);
|
||
|
||
//贪玩聊天上报
|
||
void TanWanChatReport(LPCTSTR szAccount, int nActorId, LPCTSTR szActorName, int nChannelId, LPCTSTR szMsg, LPCTSTR szSendToActorName);
|
||
|
||
/// 聊天内容
|
||
size_t m_nChatHitCount; // 聊天触发敏感词个数
|
||
char m_lastChatMsg[200];//上次聊天内容
|
||
BYTE m_nSameChatMsgCount;//相同聊天内容次数
|
||
|
||
bool m_ForbitMap[ciChannelMax];//禁止聊天限制
|
||
};
|
||
|
||
|