搜索
 找回密码
 加入

1299单机架好就是用户只上了一次就...

yingshuxiaozhi 2009-1-7 13:38:05 1773
人物已在线,是否T下线,就出现了这么个问题.新在表里加的用户,一下线就再也上不去了,老提示人物已在线,是否T下线,可T又没反应.
哪位大哥指点下.

10 回复

njsun
2009-1-6 22:08:58
点击查看详情
清空CURRENTUSER表!
hhbwzh
2009-1-6 22:37:48
1:人物连接中断
warehose表 在设计表中要加入一个字段strWarehousePW char 10
2:人物无法进入
以下3个表删除Account_char TB_USER  UserData
,然后在查询器里复制运行下就好了,运行按F5  看下下面的
http://www.kofans.cn/bbs/thread-7218-1-1.html
刀浪
2009-1-6 23:16:31
我告诉你吧,这个问题,大多出现在AU上,
你去找个,好用的AU,小牛改版的那个AU不错,去找找吧,应该可以搜到
yingshuxiaozhi
2009-1-7 07:56:49
楼主
清空CURRENTUSER表!
njsun 发表于 2009-1-6 22:08

用这个方法可以再次进入游戏,可出来后再进就又进不了,有什么好方法不用每次都去删表里的值吗.
熊猫
2009-1-7 08:12:22
AU 要和存储 对应哦.. 换个存储 或则换个AU
yingshuxiaozhi
2009-1-7 13:06:06
楼主
用这个方法可以再次进入游戏,可出来后再进就又进不了,有什么好方法不用每次都去删表里的值吗.
yingshuxiaozhi 发表于 2009-1-7 07:56

要如何对应呢.能说明下吗.我用的是GB123的服务端,用的源是论坛上的,说是老外用的论坛里的修改过的源.
用过小牛的AU还是一样.
hhbwzh
2009-1-7 13:34:54
换下

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
--CurrentUserdan Silelim
delete from currentuser where straccountid = @AccountID
-- Oto &Uuml;yelik
select @nRet = count(straccountid) from tb_user where straccountid = @AccountID
if @nRet = 0
begin
insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')
end

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
DECLARE @PremiumServiceDEC varchar(21)
select @PremiumServiceDEC = count(straccountid)  FROM premium_service WHERE strAccountID = @AccountID
if @PremiumServiceDEC = 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
RETURN
END
GO
hhbwzh
2009-1-7 13:35:21
都是储存过程
yingshuxiaozhi
2009-1-7 13:38:05
楼主
8# hhbwzh


又换了个AU问题解决了,谢谢楼上这么辛苦发这么大段数据上来.
12下一页
高级模式
游客