搜索
 找回密码
 加入

调级测试--更换CREATE_NEW_CHAR存储

ctgwglzc 2009-1-14 10:38:32 1128

  1. /****** Object:  Stored Procedure dbo.CREATE_NEW_CHAR    Script Date: 6/6/2006 6:03:33 PM ******/


  2. /****** 개체: 저장 프로시저 dbo.CREATE_NEW_CHAR    스크립트 날짜: 2002-11-14 오전 11:18:03 ******/


  3. -- scripted by samma
  4. -- 2002.01.17
  5. -- 2003.02.06 sungyong

  6. CREATE PROCEDURE [CREATE_NEW_CHAR]

  7. @nRet                smallint OUTPUT,
  8. @AccountID         char(21),
  9. @index                 tinyint,
  10. @CharID        char(21),
  11. @Race                 tinyint,
  12. @Class         smallint,
  13. @Hair                 tinyint,
  14. @Face                 tinyint,
  15. @Str                 tinyint,
  16. @Sta                 tinyint,
  17. @Dex                 tinyint,
  18. @Intel                 tinyint,
  19. @Cha                 tinyint

  20. AS

  21. DECLARE @Row tinyint, @Nation tinyint, @Zone tinyint, @PosX int, @PosZ int
  22.         SET @Row = 0        SET @Nation = 0  SET @Zone = 0  SET @PosX = 0 SET @PosZ = 0

  23.         SELECT @Nation = bNation, @Row = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
  24.        
  25.         IF @Row >= 5        SET @nRet =  1
  26.        
  27.         IF @Nation = 1 AND @Race > 10        SET @nRet = 2
  28.         ELSE IF @Nation = 2 AND @Race < 10        SET @nRet = 2
  29.         ELSE IF @Nation <>1 AND @Nation <> 2        SET @nRet = 2

  30.         IF @nRet > 0
  31.                 RETURN
  32.        
  33.         SELECT @Row = COUNT(*) FROM USERDATA WHERE strUserId = @CharID
  34.         IF @Row > 0
  35.         BEGIN
  36.                 SET @nRet =  3
  37.                 RETURN
  38.         END

  39.         --SET @Zone = @Nation
  40.         SET @Zone=21
  41.         SELECT @PosX = InitX, @PosZ = InitZ  FROM ZONE_INFO WHERE ZoneNo = @Zone
  42.        

  43. BEGIN TRAN       
  44.         IF @index = 0
  45.                 UPDATE ACCOUNT_CHAR SET strCharID1 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  46.         ELSE IF @index = 1
  47.                 UPDATE ACCOUNT_CHAR SET strCharID2 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  48.         ELSE IF @index = 2
  49.                 UPDATE ACCOUNT_CHAR SET strCharID3 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  50.         ELSE IF @index = 3
  51.                 UPDATE ACCOUNT_CHAR SET strCharID4 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  52.         ELSE IF @index = 4
  53.                 UPDATE ACCOUNT_CHAR SET strCharID5 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  54.        

  55.         INSERT INTO USERDATA (strUserId, Nation, Race, Class, HairColor, Face, Strong, Sta, Dex, Intel, Cha, Zone, PX, PZ )
  56.         VALUES         (@CharID, @Nation, @Race, @Class, @Hair, @Face, @Str, @Sta, @Dex, @Intel, @Cha, @Zone, @PosX, @PosZ )
  57.        
  58.        
  59.         IF @@ERROR <> 0
  60.         BEGIN         
  61.                 ROLLBACK TRAN
  62.                 SET @nRet =  4
  63.                 RETURN
  64.         END
  65.        
  66. COMMIT TRAN
  67. SET @nRet =  0



  68. GO
复制代码
随机推荐

6 回复

ctgwglzc
2009-1-14 00:06:55
楼主
点击查看详情
  1. -- Powered by CT
  2. -- 2009.01.14 www.kofans.cn

  3. CREATE PROCEDURE [CREATE_NEW_CHAR]

  4. @nRet                smallint OUTPUT,
  5. @AccountID         char(21),
  6. @index                 tinyint,
  7. @CharID        char(21),
  8. @Race                 tinyint,
  9. @Class         smallint,
  10. @Hair                 tinyint,
  11. @Face                 tinyint,
  12. @Str                 tinyint,
  13. @Sta                 tinyint,
  14. @Dex                 tinyint,
  15. @Intel                 tinyint,
  16. @Cha                 tinyint

  17. AS

  18. DECLARE @Row tinyint, @Nation tinyint, @Zone tinyint, @PosX int, @PosZ int
  19.         SET @Row = 0        SET @Nation = 0  SET @Zone = 0  SET @PosX = 0 SET @PosZ = 0

  20.         SELECT @Nation = bNation, @Row = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
  21.        
  22.         IF @Row >= 5        SET @nRet =  1
  23.        
  24.         IF @Nation = 1 AND @Race > 10        SET @nRet = 2
  25.         ELSE IF @Nation = 2 AND @Race < 10        SET @nRet = 2
  26.         ELSE IF @Nation <>1 AND @Nation <> 2        SET @nRet = 2

  27.         IF @nRet > 0
  28.                 RETURN
  29.        
  30.         SELECT @Row = COUNT(*) FROM USERDATA WHERE strUserId = @CharID
  31.         IF @Row > 0
  32.         BEGIN
  33.                 SET @nRet =  3
  34.                 RETURN
  35.         END

  36.         --SET @Zone = @Nation
  37.         SET @Zone=21
  38.         SELECT @PosX = InitX, @PosZ = InitZ  FROM ZONE_INFO WHERE ZoneNo = @Zone
  39.        

  40. BEGIN TRAN       
  41.         IF @index = 0
  42.                 UPDATE ACCOUNT_CHAR SET strCharID1 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  43.         ELSE IF @index = 1
  44.                 UPDATE ACCOUNT_CHAR SET strCharID2 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  45.         ELSE IF @index = 2
  46.                 UPDATE ACCOUNT_CHAR SET strCharID3 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  47.         ELSE IF @index = 3
  48.                 UPDATE ACCOUNT_CHAR SET strCharID4 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  49.         ELSE IF @index = 4
  50.                 UPDATE ACCOUNT_CHAR SET strCharID5 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  51.        

  52.         INSERT INTO USERDATA (strUserId, Nation, Race, Class, HairColor, Face, Strong, Sta, Dex, Intel, Cha, Zone, PX, PZ ,Gold,[Exp],[Level])
  53.         VALUES         (@CharID, @Nation, @Race, @Class, @Hair, @Face, @Str, @Sta, @Dex, @Intel, @Cha, @Zone, @PosX, @PosZ,50000,18888888,70)
  54.        
  55.        
  56.         IF @@ERROR <> 0
  57.         BEGIN         
  58.                 ROLLBACK TRAN
  59.                 SET @nRet =  4
  60.                 RETURN
  61.         END
  62.        
  63. COMMIT TRAN
  64. SET @nRet =  0
  65. GO
复制代码
lz2006
2009-1-14 00:08:24
调什么级的?
就是 70级洗点爆点的问题?
ctgwglzc
2009-1-14 00:09:05
楼主
出生就70级,带1.8亿经验,5万钱
刀浪
2009-1-14 00:11:42
这两个存贮,,就是设定人物级别的装备的?
1111
2009-1-14 02:20:19
知道 新手  如何 调了   出生就有想发他的装备在包里呢?
ctgwglzc
2009-1-14 10:38:32
楼主
知道 新手  如何 调了   出生就有想发他的装备在包里呢?
1111 发表于 2009-1-14 02:20

发装备麻烦噢
高级模式
游客