搜索
 找回密码
 加入

修复角色非正常点数的存储

ctgwglzc 2009-10-23 12:42:46 1122

  1. /****** Object:  StoredProcedure [dbo].[REPAIR_USER_STAT_POINT] Script Date: 05/27/2009 09:06:50 ******/
  2. CREATE PROCEDURE REPAIR_USER_STAT_POINT

  3. @strUserID varchar(21)

  4. AS

  5. DECLARE @Level int,@Class int,@Race int,@NewPoint int,@STR int,@HP int, @DEX int,@INT int,@MP int

  6. DECLARE @StatTotal int

  7. SELECT @Level = Level,@Class = Class,@Race = Race,@STR = Strong,@HP = Sta,@DEX = Dex,@INT = Intel,@MP = Cha FROM USERDATA WHERE strUserId = @strUserID

  8. SET @StatTotal = @STR + @HP + @DEX + @INT + @MP

  9. --IF @Level >= 74 AND @StatTotal <= 350
  10. IF @Level >= 74

  11. BEGIN

  12.         IF @Level = 74

  13.                 SET @NewPoint = 225

  14.         IF @Level = 75

  15.                 SET @NewPoint = 230

  16.         IF @Level = 76

  17.                 SET @NewPoint = 235

  18.         IF @Level = 77

  19.                 SET @NewPoint = 240

  20.         IF @Level = 78

  21.                 SET @NewPoint = 245

  22.         IF @Level = 79

  23.                 SET @NewPoint = 250

  24.         IF @Level = 80

  25.                 SET @NewPoint = 255

  26.         IF (@Class = 201) OR (@Class = 205) OR (@Class = 206) OR (@Class = 101) OR (@Class = 105) OR (@Class = 106)

  27.         BEGIN
  28.                 IF @Race = 1
  29.                         UPDATE USERDATA Set Strong = 65 + 42,Sta = 60,Dex = 65,Intel = 50,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId

  30.                 ELSE IF @Race = 12

  31.                         UPDATE USERDATA Set Strong = 60 + 42,Sta = 70,Dex = 60,Intel = 50,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId

  32.                 ELSE IF @Race = 13

  33.                         UPDATE USERDATA Set Strong = 50 + 42,Sta = 70,Dex = 50,Intel = 70,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
  34.         END

  35.         ELSE IF (@Class = 202) OR (@Class = 207) OR (@Class = 208) OR (@Class = 102) OR (@Class = 107) OR (@Class = 108)

  36.         BEGIN
  37.                

  38.                 IF @Race = 2

  39.                         UPDATE USERDATA Set Strong = 60,Sta = 70,Dex = 60 + 42,Intel = 50,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId

  40.                 ELSE IF @Race = 12

  41.                         UPDATE USERDATA Set Strong = 60,Sta = 70,Dex = 60 + 42,Intel = 50,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId

  42.                 ELSE IF @Race = 13

  43.                         UPDATE USERDATA Set Strong = 50,Sta = 70,Dex = 50 + 42,Intel = 70,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId



  44.         END

  45.         ELSE IF (@Class = 203) OR (@Class = 209) OR (@Class = 210) OR (@Class = 103) OR (@Class = 109) OR (@Class = 110)

  46.         BEGIN

  47.                 IF @Race = 3

  48.                         UPDATE USERDATA Set Strong = 50,Sta = 70,Dex = 50,Intel = 70 + 10,Cha = 50 + 32,Points = @NewPoint WHERE strUserId = @strUserId

  49.                 ELSE IF @Race = 12

  50.                         UPDATE USERDATA Set Strong = 60,Sta = 70,Dex = 60,Intel = 50 + 10,Cha = 50 + 32,Points = @NewPoint WHERE strUserId = @strUserId

  51.                 ELSE IF @Race = 13

  52.                         UPDATE USERDATA Set Strong = 50,Sta = 70,Dex = 50,Intel = 70 + 10,Cha = 50 + 32,Points = @NewPoint WHERE strUserId = @strUserId
  53.         END

  54.         ELSE IF (@Class = 204) OR (@Class = 211) OR (@Class = 212) OR (@Class = 104) OR (@Class = 111) OR (@Class = 112)

  55.         BEGIN
  56.                 IF @Race = 4

  57.                         UPDATE USERDATA Set Strong = 60 + 12,Sta = 70 + 10,Dex = 60,Intel = 50 + 20,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId

  58.                 ELSE IF @Race = 2

  59.                         UPDATE USERDATA Set Strong = 50 + 12,Sta = 60 + 10,Dex = 60,Intel = 70 + 20,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId

  60.                 ELSE IF @Race = 12

  61.                         UPDATE USERDATA Set Strong = 60 + 12,Sta = 70 + 10,Dex = 60,Intel = 50 + 20,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId

  62.                 ELSE IF @Race = 13

  63.                         UPDATE USERDATA Set Strong = 50 + 12,Sta = 70 + 10,Dex = 50,Intel = 70 + 20,Cha = 50,Points = @NewPoint WHERE strUserId = @strUserId
  64.         END
  65. END
  66. GO
复制代码

3 回复

knight1226
2009-9-16 10:37:52
点击查看详情
感谢分享哦!
f9365431
2009-10-22 21:12:53
不開服看看就好
謝謝分享
luluji
2009-10-23 12:42:46
種族問題?
高级模式
游客