|
楼主 |
发表于 2010-4-17 18:48:29
|
显示全部楼层
十一、临时关闭游戏功能
增加一个管理员功能,可以临时关闭游戏室(使玩家不能坐下)。
注:该功能可以方便站长临时需要更换房间服务器端程序,而不需要强行关闭影响游戏中的玩家。
1、需要修改数据中心的OnCheckAdminManage函数,增加类型为7的管理权限,参考代码如下:- case 7: //暂停游戏
- wsprintf( szCmd, _T( "select * from %s where %s=%ld and %s='all'" ),
- DB_TB_ADMIN,
- DB_FD_UIN, pManageInfo->nUin,
- DB_FD_ADMIN );
- if( SQL_SUCCEEDED( ::SQLExecDirect( hStmt, (SQLCHAR*)szCmd, SQL_NTS ) ) )
- {
- pDB->nLastUseTimer = ::time(NULL);
- if( SQL_SUCCEEDED( SQLFetch( hStmt ) ) )
- {
- wsprintf( szCmd, _T( "insert into %s(%s,%s)values('%s','%s[%ld] %s')" ),
- DB_TB_ADMINLOG,
- DB_FD_GAME, DB_FD_BODY,
- pManageInfo->szTableName,
- pManageInfo->szName, pManageInfo->nUin, _T("暂停游戏开关") );
- ExecuteSQL( pDB->hdbc, szCmd );
- bAdmin = TRUE;
- }
- }
- break;
复制代码 2、大厅的管理模块(admin.dll)需要增加管理类型7的选择项及相应的控制(具体参考源程序)。
管理对象:0或不填,表示马上执行。数字表示定时(用时间工具计算),如果小于当前时间等效于0。
警告通告:暂停或恢复的原因。
目前如下游戏已经实现:
嘉善红五(20100524)、中国象棋(20100621)、诈金花(20100621)、锄大地(20100621)、双扣(20100621)、掼蛋(20100621)、斗地主(20100621)、大众麻将(20100621)、浙江红十(20100621)、跑得快(20100621)、梭哈(20100621)、升级(20100621)、五子棋(20100621)、四国军棋(20100621)、嘉善麻将(20100621)、嘉善黑桃A(20100621)、青海挖坑(20100621)
|
|