提取"种族跳过"功能
与其把数据库共享给你们,不如告诉你们怎么把这个"功能"挖出来比较好!看好了!
首先,删除你的LoginServer,下载我网盘的
网盘地址:http://214550663.ys168.com或http://www.fs2you.com/files/f28307bd-2867-11dd-9b28-00142218fc6e/
因为旧的版本服务器是不能跳过种族的,必须要我这个.
当然,下载熊猫共享的那个服务端里的版本服务器也是一样的.
好了,删除你数据库里的一个储存过程 ACCOUNT_LOGIN
完了右键新建一个储存过程,删除里面那段代码.
把这段代码复制进去,确定就直接建立好了.
不要复制你现在看到的.到附件里去下载,这样不会有乱码.
储存过程 ACCOUNT_LOGIN 下面是代码
--------------------------------------------------------------------------------CREATE PROCEDURE ACCOUNT_LOGIN
@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT
AS
DECLARE @Nation tinyint, @CharNum smallint
SET @Nation = 0
SET @CharNum = 0
DECLARE @pwd varchar(13)
SET @pwd = null
SELECT @pwd = strPasswd FROM . WHERE strAccountID = @AccountID and idays=6
IF @pwd IS null
BEGIN
SET @nRet = 0
--SET @nRet = 4
RETURN
END
ELSE IF @pwd <> @Password
BEGIN
SET @nRet = 0
--SET @nRet = 3
RETURN
END
DECLARE @gokhantasci varchar(21)
select @gokhantasci = count(straccountid)FROM premium_service WHERE strAccountID = @AccountID
if @gokhantasci = 0
begin
insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)
end
SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
IF @@ROWCOUNT = 0
BEGIN
SET @nRet = 1
RETURN
END
IF @CharNum = 0
BEGIN
SET @nRet = 1
RETURN
END
ELSE
BEGIN
SET @nRet = @Nation+1
--SET @nRet = 1
RETURN
END
GO--------------------------------------------------------------------------------
好了,这样你的储存过程就换掉了,但是呢,还要一个哦~^_^
储存过程 MYST_LOGIN 下面是代码
--------------------------------------------------------------------------------CREATE PROCEDURE MYST_LOGIN
@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT
AS
DECLARE @Nation tinyint, @CharNum smallint
SET @Nation = 0
SET @CharNum = 0
DECLARE @pwd varchar(13)
SET @pwd = null
SELECT @pwd = strPasswd FROM . WHERE strAccountID = @AccountID
IF @pwd IS null
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @pwd@Password
BEGIN
SET @nRet = 0
RETURN
END
SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
IF @@ROWCOUNT = 0
BEGIN
SET @nRet = 1
RETURN
END
IF @CharNum = 0
BEGIN
SET @nRet = 1
RETURN
END
ELSE
BEGIN
SET @nRet = @Nation+1
RETURN
END
GO--------------------------------------------------------------------------------
好了,这样就可以了.经测试,跳过种族和AU没一点关系.
我使用的是小牛修订版的AU,因为不用那么麻烦,不要APP更改语言.
还有就是装备保存也和AU没关系的.一定是数据库的关系.
不知道对不对.
大家试一下,我当初就这样提取到我的数据库的.
如果有问题请跟帖,我会为大家解答的.
谢谢您可以耐心看完 第一次在这里看到你,帮顶一下,感谢奉献~ 顶一个。。。。 顶你下,尽力搞下中文注册和物品的汉化,哈哈,辛苦了!!
比较了下
ACCOUNT_LOGIN 里增加了DECLARE @gokhantasci varchar(21)select @gokhantasci = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID
if @gokhantasci = 0
begin
insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)
end以前的SET @nRet = 1变成了SET @nRet = @Nation+1
--SET @nRet = 1 gokhantasci是审美?..... 我测试的结果无效``不知道大家呢? 又上当了,唉
还有即使能用的话代码也应该是这样的
CREATE PROCEDURE MYST_LOGIN
@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT
AS
DECLARE @Nation tinyint, @CharNum smallint
SET @Nation = 0
SET @CharNum = 0
DECLARE @pwd varchar(13)
SET @pwd = null
SELECT @pwd = strPasswd FROM . WHERE strAccountID = @AccountID
IF @pwd IS null
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @pwd<> @Password
BEGIN
SET @nRet = 0
RETURN
END
SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
IF @@ROWCOUNT = 0
BEGIN
SET @nRet = 1
RETURN
END
IF @CharNum = 0
BEGIN
SET @nRet = 1
RETURN
END
ELSE
BEGIN
SET @nRet = @Nation+1
RETURN
END
第18行少了2个符号
[ 本帖最后由 yl941 于 2008-5-24 13:31 编辑 ] 你下附件那个存储过程看看,能解决不 这方法有误,而且他18行就是少2个符号的
页:
[1]