• 3679阅读
  • 48回复

★★★------发布----完美解决罗兰卡号问题------★★★ [复制链接]

上一主题 下一主题
离线a-bo
 
发帖
188
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2006-08-26
首先感谢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   --会卡住的地图号
END
2条评分
军刀 金钱 +1 - 2006-08-26
军刀 金钱 +10 - 2006-08-26
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线a-bo
发帖
188
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 沙发  发表于: 2006-08-26
有些朋友问怎么修改储存过程和建立触发器,我就简单的说下:
1、修改储存过程:企业管理器---打开mu数据库--储存过程--找到WZ_DISCONNECT_MEMB---鼠标右键--属性,然后复制WZ_DISCONNECT_MEMB的代码替换原来的,点确定就可以了。
2、建立触发器:企业管理器---打开mu数据库--表--找到Character--鼠标右键---所有任务--管理触发器--然后复制Character的新触发器内容吧默认显示的那几行替换掉,确定就ok了。
离线战中圣战
发帖
224
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 板凳  发表于: 2006-08-26
板凳我来坐
离线ljq614
发帖
783
祝福宝石
0
威望
5192
玛雅之石
300
创造宝石
157
只看该作者 地板  发表于: 2006-08-26
好帖呀顶你几帖^_^
离线a-bo
发帖
188
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 4楼 发表于: 2006-08-26
有人看没有人顶,哎~~~估计大家早已解决了吧,看来以后我也要低调点了。。。。。
离线goehdtjdrn
发帖
692
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 5楼 发表于: 2006-08-26
I now tested your way !!! ---> I used FreeMG 1.0M 登陆器 ...

excellent ^^

THANKS !!!
Korean Mu Community

★ FreeNaRa - 놀이동산 ★

Admin : 海東의눈물
离线guoqiang33
发帖
260
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 6楼 发表于: 2006-08-26
测试成功,换角色后,再换回在罗兰的角色会自动回到勇
强贴啊,建议 加精 置顶
做人要诚实啊
离线pk77887788
发帖
114
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 7楼 发表于: 2006-08-26
顶哦
有压力,没解决
离线cheli8287
发帖
88
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 8楼 发表于: 2006-08-26
强烈支持,这么多人说卡号没法解决,解决的人也不放出来,感谢你的共享精神
离线pk77887788
发帖
114
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 9楼 发表于: 2006-08-26
再来顶啊~~冲啊
有压力,没解决
离线guoqiang33
发帖
260
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 10楼 发表于: 2006-08-26
我就是用动态验证的
测试通过。
做人要诚实啊
离线goehdtjdrn
发帖
692
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 11楼 发表于: 2006-08-26
强烈支持 ... 强烈推荐 !!!
Korean Mu Community

★ FreeNaRa - 놀이동산 ★

Admin : 海東의눈물
离线a-bo
发帖
188
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 12楼 发表于: 2006-08-26
希望大家发扬共享精神,musf的明天会更好
离线kill7997
发帖
120
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 13楼 发表于: 2006-08-26
ding ~~
离线wstn
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 14楼 发表于: 2006-08-26
顶你~~~~~~~
离线6683950
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 15楼 发表于: 2006-08-26
雷锋精神,比那些所谓卖钱的高手好多了。顶你上天。你才是真正的高手。
离线6683950
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 16楼 发表于: 2006-08-26
我在顶
离线bs发毒的
发帖
118
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 17楼 发表于: 2006-08-26
修改WZ_CONNECT_MEMB储存过程怎么修改在那里修改!触发器怎么建立?
离线a-bo
发帖
188
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 18楼 发表于: 2006-08-26
引用第17楼bs发毒的2006-08-26 17:23发表的“”:
修改WZ_CONNECT_MEMB储存过程怎么修改在那里修改!触发器怎么建立?

修改方法在2楼。。
离线jj1000
发帖
84
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 19楼 发表于: 2006-08-26
good !!!!!!!!!!!!!!!!!!!
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个

      管理员联系信箱 [email protected] 所有内容均来之互联网,如侵犯您的隐私和权益,请和我们及时联系!