找回密码
 注册
查看: 16375|回复: 26

pChat 服务器端 2.6版本变动说明

[复制链接]
发表于 2006-7-17 21:06:04 | 显示全部楼层 |阅读模式
拟做如下变动:
3 p2 I3 T6 r7 m) J2 I/ y9 x; t( V+ a  v0 O
一、取消两个DLL(一个验证、一个游戏内容)的方式,恢复原来的一个DLL方式。用户特殊的登录处理程序可通过#if 宏取消原来的程序,并在自己的扩展文件中实现。0 N0 l- W- q# W" }8 N  {

- L# e9 ?' v! P. |1 N" S! I二、增加一个管理员取聊天信息(看私聊)的通道 tagUserInfo* m_pUser,增加在 CVarInfo 中。当 CVarInfo::m_pUser = 某个玩家的 tagUserInfo 对象时,即可发送私聊信息给该连接。8 i# {  G0 v' K  p" _

( {2 w8 _, _4 B4 O3 Z9 U7 G9 {0 Z2 c三、增加资源的场景切换(相当于玩家切换场景)接口,以实现一些特殊的任务功能。
发表于 2006-7-17 21:34:20 | 显示全部楼层
希望能增加如下几个关于聊天的功能:
* s& X( V' F" Q4 s/ z  N- y& N0 j+ Z8 p+ f  b
1、聊天的内容后面上时间。6 ], V0 @, s5 D7 E) q
+ ^" x, k5 B1 W8 a
2、新增一个选项聊天内容只有门派的人才能看到。+ k! g" h7 ~; }) C5 x; b

! r9 |7 C( a2 ]2 O5 L' ]% p7 r" @3、聊天内容能否通过dll后再返回,可以实现在dll里面对骂人的文字进行过滤处理。
回复

使用道具 举报

 楼主| 发表于 2006-7-17 22:16:58 | 显示全部楼层
引用第1楼梦狐于2006-07-17 21:34发表的“”:$ J! `  P7 z+ k5 w6 C
希望能增加如下几个关于聊天的功能:* S# E0 E3 \" L% `# y9 E5 d, i
$ n- K  A7 d2 e- N4 ^
……# C2 O: W8 B6 q6 q. z0 U2 \
3、聊天内容能否通过dll后再返回,可以实现在dll里面对骂人的文字进行过滤处理。' w) L2 H- F$ G6 R2 B
.......

8 G' A+ j3 W( v+ ]目前的版本就已经有这个功能了。
回复

使用道具 举报

 楼主| 发表于 2006-7-17 22:22:24 | 显示全部楼层
看私聊的功能可能会引起程序执行的效率变低(因为多线线程的情况下,必须对相应的变量进行保护处理,如互斥、临界等处理),甚至引起程序不稳定(如线程共享变量的保护没做好,会引起多个线程同时操作变量)。
回复

使用道具 举报

发表于 2006-7-18 10:35:20 | 显示全部楼层
[s:1] 看私聊好啊!!!!!!不过又给站长们增加工作量了: {7 A4 a, P; D( S/ o) w0 a5 p. L
聊天内容能否通过dll后再返回,可以实现在dll里面对骂人的处理   目前的版本就已经有这个功能了。7 S. ?. Y# J+ t6 g+ J6 b

  H9 l0 N. W1 z0 H) i! [4 E  _: R0 N7 V: C' J8 ^# w

; N( s2 o" c! ?6 b  H' [6 @, I文字进行过滤这个问题 不是很好 一但过滤某个字 ,正常的字也不能发送了,所以我也没过滤!% E  M3 V+ @1 i& `9 w% @
骂声一片也没办法!哎!
回复

使用道具 举报

发表于 2006-7-18 10:43:51 | 显示全部楼层
里面有几个骂人的文字过滤掉,其它的文字正常发送。. }# `- j+ K; c; Q
不要象以前的过滤,有骂人的文字,整句话都发不出去了。
回复

使用道具 举报

发表于 2006-7-18 10:50:14 | 显示全部楼层
引用第3楼天云上人于2006-07-17 22:22发表的“”:
6 j8 P* n1 U% ^5 M+ r! d5 ]. x% I$ b  Y看私聊的功能可能会引起程序执行的效率变低(因为多线线程的情况下,必须对相应的变量进行保护处理,如互斥、临界等处理),甚至引起程序不稳定(如线程共享变量的保护没做好,会引起多个线程同时操作变量)。

, L8 n+ v% ?6 f0 B1 e& K% H% `如果会影响稳定,这个可以先不用加上,因为这个功能不是很有必要,因为在服务端log里面能查到。
回复

使用道具 举报

 楼主| 发表于 2006-7-18 13:51:53 | 显示全部楼层
关于聊天过滤,其实还有一个问题,就是ANSI字符串模式下,有时汉字的组合,后半个字符和后面一个汉字的前半个字符如果正好是要过过滤的字,就会出现问题(当然如果站长技术好,自己可以编程实现逐字判断——这已经超出讨论范围)。+ j' ]+ h) A* a$ d% a

9 ~) R4 X7 K7 w# e3 h% C" l这也是3.0只做UNICODE版本的原因(Unicode下,每个字都是16位数,就不存在一个汉字要用两个8位数字符组合的问题)。
回复

使用道具 举报

发表于 2006-7-18 15:33:59 | 显示全部楼层
为什么又要取消啊 现在不是用的挺好的吗?
回复

使用道具 举报

 楼主| 发表于 2006-8-2 22:47:43 | 显示全部楼层
LRESULT DllSendMsg( HWND hWnd, CString str, tagUserInfo* pUserInfo, long nMap, long nSendType );
  a5 c- R' [8 t* f. ?2 w$ |! FLRESULT DllChangeMap( HWND hWnd, CString str, LPVOID pInfo, long nMap, long nType = 0 );2 [) h0 C& |6 E4 v; S1 f- @: ~
1 K* f$ c+ ^3 u+ O8 j) E
1、原来的 int 类型改为 long
; ]7 j) Y1 b* y% S2、DllChangeMap 增加 nType 参数。nType = 0表示玩家,1表示资源。当是1资源时,str 表示将移到的场景名。当是0玩家时,以前的格式不变。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-1 23:11 , Processed in 0.017347 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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