0.96y版MU彻底解决战盟重名问题!(含源代码)
我的SF最近几天一直有人在盟主不同意的情况下加入别人的盟中,而且盟主也无法将它踢出去,经过对数据库及其存贮程序进行分析,原来是其存贮过程有误,别人可以再建立新盟,建立新盟时用别人盟名,这样盟会建立成功,他入了别人盟,原盟主也无法将他踢出,这主要是数据库中的存贮过程WZ_GuildCreate缺少对盟重名判断所致。
现已经将其存贮过程纠正,如果有这个问题的,请将下边代码直接替换掉原来的存贮过程就可以了。
更改方法:打开 SQL企业管理器 ,找到并打开 MuOline 数据库(这应当会吧),再点里边的“存贮过程”,然后会看到一个存贮过程WZ_GuildCreate,双击WZ_GuildCreate,会打开一个对话框,中间白色的编辑区就是源代码区了,把先内容删除,把下边的内容复制上去就可以了。(为了,建议你先把先来的代码保存起来)。
说这么详细,大家应该会了吧?
我的:11220200 MU当家的
希望同MU GM们交流经验及心得!
CREATE procedure WZ_GuildCreate dedecms.com
@GuildName nvarchar(50),
@MasterName nvarchar(10) dedecms.com
as
if (SELECT COUNT(*) FROM guild where G_Name=@GuildName )=0
BEGIN
DECLARE @ErrorCode int
SET @ErrorCode = 0
SET XACT_ABORT OFF
Set nocount on
begin transaction
-- 望萄蒂 儅撩棻.
INSERT INTO Guild (G_Name, G_Master) valueS (@GuildName, @MasterName)
IF ( @@Error <> 0 )
BEGIN
SET @ErrorCode = 1
END
-- 望萄蒂 薑鼻瞳戲煎 儅撩 棻賊
IF ( @ErrorCode = 0 )
BEGIN
-- 望萄 葆蝶攪煎 蹺陛棻.
INSERT GuildMember (Name, G_Name, G_Level) valueS (@MasterName, @GuildName, 1)
IF ( @@Error <> 0 ) dedecms.com
BEGIN
SET @ErrorCode = 2
END
END
IF ( @ErrorCode <> 0 )
rollback transaction
ELSE
commit transaction
select @ErrorCode
Set nocount off
SET XACT_ABORT ON
END
GO
另一个错误纠正:MUSERVER(浩月版)
一个存贮过程名称错误,见图: