如果您是奇迹私服的忠实玩家,请点击设置为首页! 我们每日更新最新奇迹私服信息,点击设置为您的收藏!
奇迹私服 奇迹心情故事 奇迹经验心得 奇迹玩家交流 奇迹私服技术 客户自助修改广告 广告联系 发布私服
WZ_DISCONNECT_MEMB 的储存过程修改
首先感谢goehdtjdrn提供WZ_DISCONNECT_MEMB 的储存过程修改,在他的思路的基础上,得到iiibbbmmm数据库高手的鼎立相助,终于完美解决了罗兰卡号的问题。通过修改可以在隐藏攻城线的时候使得罗兰下线,罗兰小退换号都不会再卡了,测试时使用的是快捷方式+ip+端口的登陆方法,如果大家有风的登陆器或者是动态验证码的登陆器可以进一步测试,把测试结果发上来,谢谢! 数据库修改方法如下: 1、修改WZ_CONNECT_MEMB储存过程,用下面代码替换: CREATE PROCEDURE WZ_CONNECT_MEMB @uid varchar(10), @server varchar(20), @uip varchar(20) AS Begin BEGIN TRANSACTION SET NOCOUNT ON IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED) WHERE memb___id = @uid ) Begin UPDATE MEMB_STAT SET ip = @uip , connectstat = 1 , servername = @server , ConnectTM = (getdate()) WHERE memb___id = @uid End ELSE Begin INSERT INTO MEMB_STAT ( memb___id,ip,connectstat,servername) valueS (@uid,@uip,1,@server ) End IF(@@Error <> 0 ) ROLLBACK TRANSACTION ELSE COMMIT TRANSACTION --写入登录记录 IF EXISTS ( SELECT UserID FROM UserLogin WITH (READUNCOMMITTED) WHERE UserID = @uid ) Begin UPDATE UserLogin SET LoginIP=@uip,Server=@server,LoginTM = (getdate()),OnlineSec=0,GiveMoney=0,logoutTM=null WHERE UserID = @uid End ELSE Begin INSERT INTO UserLogin (UserID,LoginIP,Server,LoginTM,OnlineSec,GiveMoney) values (@uid,@uip,@server,getdate(),0,0) End --自动封服务器不准进入的人物 declare @SmallestZS int declare @LargestZS int declare @Type int select @Type=Type from SetServerList where ServerName=@server if (@Type>0) begin select @SmallestZS=Smallest_ZS from SetServerList where ServerName=@server select @LargestZS=Largest_ZS from SetServerList where ServerName=@server if not (@SmallestZS is null) begin update character set ctlcode=(ctlcode | 0x81) where [name] not in ( SELECT NAME FROM WEB_ZS WHERE (ACC = @uid) AND (ZSCS >= @LargestZS) AND (ZSCS <= @SmallestZS) ) AND (AccountID = @uid) end end UPDATE [Character] SET MapNumber = 0, MapPosX = 130, MapPosY = 130 WHERE (MapNumber = 30) AND (AccountID = @uid) OR (MapNumber = 31) AND (AccountID = @uid) SET NOCOUNT OFF End GO ------------------------------------------------------------------------ 2、新建立Character的触发器: CREATE TRIGGER 小退自救 ON Character AFTER UPDATE AS BEGIN SET NOCOUNT ON; UPDATE Character SET MapNumber = 0 --要去的地图号 , MapPosX = 130 --要去的X坐标 , MapPosY = 130 --要去的Y坐标 FROM Inserted WHERE Inserted.Name = Character.Name and Inserted.MapNumber = 30 --会卡住的地图号 or Inserted.Name = Character.Name and Inserted.MapNumber = 31 --会卡住的地图号 扩展仓库 bug fix (999个扩展仓库bug修复) 1] bug : type this command in game /仓库 -1 /仓库 -2 . . . /仓库 -999 you can have 999 仓库 ... 2] solution : - open saved procedure like under [WHS_SELECT,WHS_UPD_Items,WHS_UPD_MnyPwDbv,WHS_UPD_Money] - change @cknum =0 like under @cknum =0 ---> @cknum<=0 - WHS_SELECT : 3 paces - WHS_UPD_Items,WHS_UPD_MnyPwDbv,WHS_UPD_Money : 1 places ##### all minus 仓库 change to 0 仓库 ^^
您查看的文章来自3wMU奇迹私服网www.3wmu.com,如果您觉得不错的话请推荐给您的朋友!谢谢您的支持,我们会作的更好!
Copyright © 奇迹私服 2006-2007 All Rights Reserved.. <%=beian%>
Template designed by 3wMU. Optimized to 1024x768 to Firefox,Opera and MS-IE7.
本站发布的所有游戏信息,均来源于互联网,与本站立场无关,中文版权归3wMU奇迹私服发布网所有.本站提供发布网,家族网模版制作