• 1062阅读
  • 8回复

[转贴]修改了下a-bo那个存储过程,那里跌倒哪里爬起 [复制链接]

上一主题 下一主题
离线guoqiang33
 
发帖
260
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2006-08-26
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 = 240, MapPosY = 14 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 = 240   --要去的X坐标
    , MapPosY = 14   --要去的Y坐标

FROM Inserted
  WHERE Inserted.Name = Character.Name
    and Inserted.MapNumber = 30   --会卡住的地图号
  or
    Inserted.Name = Character.Name
    and Inserted.MapNumber = 31   --会卡住的地图号
END

这样只要你不动,就会把你送回罗兰。呵呵 不用那么辛苦的走了。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
做人要诚实啊
离线a-bo
发帖
188
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 沙发  发表于: 2006-08-26
呵呵,不错
离线guoqiang33
发帖
260
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 板凳  发表于: 2006-08-26
引用第1楼a-bo2006-08-26 16:48发表的“”:
呵呵,不错


还是得感谢你。

我只是把自己的想法 加了进去。
做人要诚实啊
离线a-bo
发帖
188
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 地板  发表于: 2006-08-26
个人认为sf技术是要交流才有提高和完善的,搞封闭的只有淘汰
离线guoqiang33
发帖
260
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 4楼 发表于: 2006-08-26
引用第3楼a-bo2006-08-26 16:59发表的“”:
个人认为sf技术是要交流才有提高和完善的,搞封闭的只有淘汰

同意,不过有时放出了好东西,却被人误解,甚至是辱骂,真是伤心啊。
做人要诚实啊
离线6683950
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 5楼 发表于: 2006-08-26
你们2个都是好人,要让奇迹真正的动起来,就是要你们这样的无私的,不为钱的精神~~~~~~
离线一半情人
发帖
332
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 6楼 发表于: 2006-08-26
偶学咯怎么长的SQL..还是看不明白.嘻嘻!!!
一半情人软件工作室:http://ljsheng.qyun.net 联系Q-9021616 ~出售游戏服务器和传奇版本-大量太阳级QQ

离线路西法
发帖
680
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 7楼 发表于: 2006-08-27
引用第3楼a-bo2006-08-26 16:59发表的“”:
个人认为sf技术是要交流才有提高和完善的,搞封闭的只有淘汰
个人格言:技术是靠大家的分享和心得及反复的研究而提升的!淡淡网络官方站:http://dan.ransmu.com/
离线leung83820
发帖
690
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 8楼 发表于: 2006-08-27
同意
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个

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