找回密码
 注册
搜索
查看: 4287|回复: 5

[BUG] 有关清负分和清逃的

[复制链接]
发表于 2011-12-18 00:14:10 | 显示全部楼层 |阅读模式
现在清负分清逃跑都可以的玩的状态清,这会引起错误,应该加上状态判断
发表于 2011-12-18 16:15:34 | 显示全部楼层
看不明白你要说的是什么意思。
回复

使用道具 举报

 楼主| 发表于 2011-12-18 21:54:48 | 显示全部楼层
现在清负分,清逃跑都可以在玩的状态清,这会引起数据错误,应该加上状态判断,如果在玩的时候应该是不能清负分和逃跑的
回复

使用道具 举报

发表于 2011-12-19 16:03:08 | 显示全部楼层
光头大叔 发表于 2011-12-18 21:54
现在清负分,清逃跑都可以在玩的状态清,这会引起数据错误,应该加上状态判断,如果在玩的时候应该是不能清负 ...


这里可能会存在一个造成财富变负的BUG,因为内存中的财富没有即时扣除。
在PublicDLL中加上相应处理即可。源程序稍后提供。
回复

使用道具 举报

发表于 2011-12-19 16:19:29 | 显示全部楼层

参考程序

PublicDLL的OnSetUserInfo函数的提交数据中心返回后增加一下即时数据的处理。
  1.                                                                 if( pRetInfo->dwErrorCode != 0xFFFFFFFF )
  2.                                                                 {        //成功
  3.                                                                         wsprintfA( lpszResult, "SSP:%s\r\nRUI:\r\n", pRetInfo->szInfo );
  4.                                                                         bRet = TRUE;        //表示需要更新游戏大厅中的玩家数据
  5.                                                                         switch( nType )
  6.                                                                         {        //修改内存中的数据
  7.                                                                         case 4:        //清负
  8.                                                                                 nLen = atol( strParams );
  9.                                                                                 pUserInfo->m_nResult += nLen;
  10.                                                                                 pUserInfo->m_nMoney64 -= 1000 * nLen;        //注意修改此处与数据中心一致
  11.                                                                                 break;
  12.                                                                         case 5:        //清逃
  13.                                                                                 nLen = atol( strParams );
  14.                                                                                 pUserInfo->m_nFlee -= nLen;
  15.                                                                                 pUserInfo->m_nMoney64 -= 10000 * nLen;        //注意修改此处与数据中心一致
  16.                                                                                 break;
  17.                                                                         }
  18.                                                                 }
  19.                                                                 else
  20.                                                                 {        //失败
  21.                                                                         wsprintfA( lpszResult, "SSP:%s\r\n", pRetInfo->szInfo );
  22.                                                                 }
复制代码
回复

使用道具 举报

 楼主| 发表于 2011-12-19 22:15:36 | 显示全部楼层
有好多相同的。改哪一段啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2025-5-5 00:23 , Processed in 0.018172 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表