搜索
 找回密码
 加入

提取"种族跳过"功能

214550663 2008-5-25 00:54:32 1649
与其把数据库共享给你们,不如告诉你们怎么把这个"功能"挖出来比较好!
看好了!
首先,删除你的LoginServer,下载我网盘的
网盘地址:http://214550663.ys168.comhttp://www.fs2you.com/files/f28307bd-2867-11dd-9b28-00142218fc6e/
因为旧的版本服务器是不能跳过种族的,必须要我这个.
当然,下载熊猫共享的那个服务端里的版本服务器也是一样的.
好了,删除你数据库里的一个储存过程 ACCOUNT_LOGIN
完了右键新建一个储存过程,删除里面那段代码.
把这段代码复制进去,确定就直接建立好了.
不要复制你现在看到的.到附件里去下载,这样不会有乱码.
储存过程 ACCOUNT_LOGIN 下面是代码
--------------------------------------------------------------------------------
  1. CREATE PROCEDURE ACCOUNT_LOGIN
  2. @AccountID    varchar(21),
  3. @Password    varchar(13),
  4. @nRet        smallint    OUTPUT
  5. AS

  6. DECLARE @Nation tinyint, @CharNum smallint
  7. SET @Nation = 0
  8. SET @CharNum = 0
  9. DECLARE @pwd varchar(13)
  10. SET @pwd = null
  11. SELECT @pwd = strPasswd FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID and idays=6
  12. IF @pwd IS null
  13. BEGIN
  14.     SET @nRet = 0
  15.              --SET @nRet = 4
  16.     RETURN
  17. END
  18. ELSE IF @pwd <> @Password
  19. BEGIN
  20.     SET @nRet = 0
  21.              --SET @nRet = 3
  22.     RETURN
  23. END
  24. DECLARE @gokhantasci varchar(21)
  25. select @gokhantasci = count(straccountid)  FROM premium_service WHERE strAccountID = @AccountID
  26. if @gokhantasci = 0
  27. begin
  28. insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)
  29. end
  30. SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
  31. IF @@ROWCOUNT = 0
  32. BEGIN
  33.     SET @nRet = 1
  34.     RETURN
  35. END
  36. IF @CharNum = 0
  37. BEGIN
  38.     SET @nRet = 1
  39.     RETURN
  40. END
  41. ELSE
  42. BEGIN
  43.     SET @nRet = @Nation+1
  44.              --SET @nRet = 1
  45.     RETURN
  46. END
  47. GO
复制代码
--------------------------------------------------------------------------------
好了,这样你的储存过程就换掉了,但是呢,还要一个哦~^_^
储存过程 MYST_LOGIN 下面是代码
--------------------------------------------------------------------------------
  1. CREATE PROCEDURE MYST_LOGIN
  2. @AccountID    varchar(21),
  3. @Password    varchar(13),
  4. @nRet        smallint    OUTPUT
  5. AS

  6. DECLARE @Nation tinyint, @CharNum smallint
  7. SET @Nation = 0
  8. SET @CharNum = 0
  9. DECLARE @pwd varchar(13)
  10. SET @pwd = null
  11. SELECT @pwd = strPasswd FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID
  12. IF @pwd IS null
  13. BEGIN
  14.     SET @nRet = 0
  15.     RETURN
  16. END
  17. ELSE IF @pwd  @Password
  18. BEGIN
  19.     SET @nRet = 0
  20.     RETURN
  21. END
  22. SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
  23. IF @@ROWCOUNT = 0
  24. BEGIN
  25.     SET @nRet = 1
  26.     RETURN
  27. END
  28. IF @CharNum = 0
  29. BEGIN
  30.     SET @nRet = 1
  31.     RETURN
  32. END
  33. ELSE
  34. BEGIN
  35.     SET @nRet = @Nation+1
  36.     RETURN
  37. END
  38. GO
复制代码
--------------------------------------------------------------------------------
好了,这样就可以了.经测试,跳过种族和AU没一点关系.
我使用的是小牛修订版的AU,因为不用那么麻烦,不要APP更改语言.
还有就是装备保存也和AU没关系的.一定是数据库的关系.
不知道对不对.
大家试一下,我当初就这样提取到我的数据库的.
如果有问题请跟帖,我会为大家解答的.
谢谢您可以耐心看完

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

x

评分

1

查看全部评分

9 回复

hamsap967
2008-5-23 05:22:05
点击查看详情
第一次在这里看到你,帮顶一下,感谢奉献~
yl941
2008-5-23 08:35:36
顶一个。。。。
90709
2008-5-23 15:34:59
顶你下,尽力搞下中文注册和物品的汉化,哈哈,辛苦了!!
ctgwglzc
2008-5-23 21:38:17

比较了下

ACCOUNT_LOGIN 里增加了
  1. DECLARE @gokhantasci varchar(21)
  2. select @gokhantasci = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID
  3. if @gokhantasci = 0
  4. begin
  5. insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)
  6. end
复制代码
以前的
  1. SET @nRet = 1
复制代码
变成了
  1. SET @nRet = @Nation+1
  2. --SET @nRet = 1
复制代码
hamsap967
2008-5-23 22:01:21
gokhantasci是审美?.....
被判无妻
2008-5-24 01:14:11
我测试的结果无效``不知道大家呢?
yl941
2008-5-24 03:25:13
又上当了,唉
还有即使能用的话代码也应该是这样的
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 [dbo].[TB_USER] 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 编辑 ]
ctgwglzc
2008-5-24 22:50:59
你下附件那个存储过程看看,能解决不
yl941
2008-5-25 00:54:32
这方法有误,而且他18行就是少2个符号的
高级模式
游客