搜索
 找回密码
 加入

关于已创建角色的ID要重复选择国家的问题谁能出来给个方法?

fanyx7992 2008-11-5 20:55:13 4138
yl941
2008-11-3 19:28:40
见到老外的存储过程里面是要关联到用户相关的4个表的,而现在的login存储程序只关联到2个表,我想原因可能在这,不过由于2个表的排序规则不一样,不能直接复制使用
jiji0513
2008-11-3 19:38:43
点击查看详情
了解~~

[ 本帖最后由 jiji0513 于 2008-11-3 19:39 编辑 ]
jiji0513
2008-11-3 19:46:00
我參考此篇文章的
http://www.kofans.cn/bbs/thread-7218-1-1.html
修复重复选择种族的方法


我已經用查询分析器,输入,F5怎進去遊戲還是要選種族呢???
koollook
2008-11-3 23:01:09
我换了个服务端+那个新武器的数据库(朋友给的,网上没有)现在种族直接跳过的!一切正常!
天剑风小流
2008-11-3 23:53:35
修改存储过程
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 [dbo].[TB_USER] 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


==========================

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
GO
ctgwglzc
2008-11-4 11:34:12
可跳过种族选择的储存过程

文件名: 可跳过种族选择的储存过程.rar
描述: 密码有的话论坛默认
下载地址: http://www.rayfile.com/files/6fe40e02-aa21-11dd-97a3-0019d11a795f/
jiji0513
2008-11-4 13:34:57
那些數據用法是查询分析器,输入,F5???
eason
2008-11-4 14:02:05
原帖由 CT 于 2008-11-4 11:34 发表
可跳过种族选择的储存过程

文件名: 可跳过种族选择的储存过程.rar
描述: 密码有的话论坛默认
下载地址: http://www.rayfile.com/files/6fe40e02-aa21-11dd-97a3-0019d11a795f/







CT你的地址失效了,
hotpp
2008-11-4 19:36:32
上述方法无效的情况下可以尝试我的存贮过程,反正我是在上述无效的情况下用下面的存贮过程实现跳种族选择的!
(注明:AU一定要选对!)

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 [dbo].[TB_USER] WHERE strAccountID = @AccountID  and  idays>0
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
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
jiji0513
2008-11-5 20:55:13
19樓的用了也是沒辦法><"

變成登入遊戲都變成 密碼不符 = =?
高级模式
游客