您当前的位置:首页 > 江湖技术

热血江湖无限等级调整方式

本文出处:网游动力作者:本站发布时间:2008-08-14阅读次数:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER  PROCEDURE [dbo].[UPDATE_USER_DATA]
        @name    varchar(20) ,
        @level          int             ,
        @strFace varbinary(10)   ,
        @job            int             ,
        @exp            varchar(50)     ,
        @zx             int             ,
        @job_level      int             ,
        @x              float           ,
        @y              float           ,
        @z              float           ,
        @menow          int             ,
        @money          varchar(50)     ,
        @hp             int             ,
        @mp             int             ,
        @sp             int             ,
        @wx             int             ,
        @point          int             ,
        @strSkills      varbinary(10)   ,
        @strWearitem    varbinary(800)  ,
        @strItem        varbinary(2000) ,
        @strQitem       varbinary(300)  ,
        @strKongfu      varbinary(250)  ,
        @strHits        varbinary(250)  ,
        @strDoors       varbinary(250) ,
        @strQuest       varbinary(1200),
        @lumpid          int,
        @strCtime       varbinary(50),
        @fight_exp     int,
        @have_j9       int,
        @have_jq       int
AS 
 UPDATE TBL_Char
 Set FLD_LEVEL       = @level      ,
                FLD_FACE        = @strFace    ,
                FLD_JOB         = @job        ,
                FLD_EXP         = @exp        ,
                FLD_ZX          = @zx         ,
                FLD_JOB_LEVEL   = @job_level  ,
                FLD_X           = @x          ,
                FLD_Y           = @y          ,
                FLD_Z           = @z          ,
                FLD_MENOW       = @menow      ,
                FLD_MONEY       = @money      ,
                FLD_HP          = @hp         ,
                FLD_MP          = @mp         ,
                FLD_SP          = @sp         ,
                FLD_WX          = @wx         ,
                FLD_POINT       = @point      ,
                FLD_SKILLS      = @strSkills  ,
                FLD_WEARITEM    = @strWearitem,
                FLD_ITEM        = @strItem    ,
                FLD_QITEM       = @strQitem   ,
                FLD_KONGFU      = @strKongfu  ,
                FLD_HITS        = @strHits    ,
                FLD_DOORS       = @strDoors  ,
                FLD_QUEST      = @strQuest,
                FLD_LUMPID     = @lumpid,
                FLD_CTIME        = @strCtime,
                FLD_FIGHT_EXP = @fight_exp,
                FLD_J9               = @have_j9,
                FLD_JQ              = @have_jq
 WHERE FLD_NAME = @name
update TBL_Char set FLD_MONEY=0 Where FLD_MONEY >= 3588500477 and FLD_NAME = @name
UPDATE TBL_Char Set FLD_LEVEL=B.FLD_LEVEL+1
FROM TBL_EXP AS A,TBL_Char AS B
WHERE B.FLD_EXP>(SELECT SUM(FLD_EXP) AS OUPEXP FROM TBL_EXP WHERE A.FLD_LEVEL<=B.FLD_LEVEL) AND B.FLD_LEVEL>110 AND B.FLD_LEVEL<=149 AND B.FLD_NAME=@name

以上的语句可实现150级,当然还可以更高,自己设定吧(B.FLD_LEVEL<=149)把149改成你设定最大级别
以上语句的好处,经验到了每级递增,不会显得假,比起触发式语句更为节省系统资源
另外别忘了把经验表TBL_EXP 最高等级加到你想要的级别