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

热血江湖私服转生系统介绍

本文出处:网游动力作者:本站发布时间:2009-01-19阅读次数:
不知道这个教程以前是否发过,刚从网上看到就转给大家参考下吧~!~!

这个是 UPDATE_USER_DATA的储存过程。

可以实现无限转生(下面只提供了5次转生代码,能看懂的可以自己加)把下面的重新覆盖进去应用就行了。

此存储过程是玩家上线 触发转生 和 5转。 

CREATE  PROCEDURE 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,

        @zs            int,
        @dz            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,
                FLD_ZS          = @zs,
                FLD_DZ          = @dz
WHERE FLD_NAME = @name

update [TBL_Char] set FLD_JOB_LEVEL=5,FLD_MONEY=50000000 where FLD_LEVEL>99 and FLD_JOB_LEVEL=4
update [TBL_Char] set FLD_LEVEL=1,FLD_EXP=0,FLD_DZ=0,FLD_MONEY=50000000,FLD_HP=1000,FLD_ZS=1 where FLD_LEVEL=110 and FLD_DZ=1 and FLD_ZS=0
update [TBL_Char] set FLD_LEVEL=1,FLD_EXP=0,FLD_DZ=0,FLD_MONEY=60000000,FLD_HP=2000,FLD_ZS=2 where FLD_LEVEL=110 and FLD_DZ=1 and FLD_ZS=1
update [TBL_Char] set FLD_LEVEL=1,FLD_EXP=0,FLD_DZ=0,FLD_MONEY=70000000,FLD_HP=3000,FLD_ZS=3 where FLD_LEVEL=110 and FLD_DZ=1 and FLD_ZS=2
update [TBL_Char] set FLD_LEVEL=1,FLD_EXP=0,FLD_DZ=0,FLD_MONEY=80000000,FLD_HP=4000,FLD_ZS=4 where FLD_LEVEL=110 and FLD_DZ=1 and FLD_ZS=3
update [TBL_Char] set FLD_LEVEL=1,FLD_EXP=0,FLD_DZ=0,FLD_MONEY=90000000,FLD_HP=5000,FLD_ZS=5 where FLD_LEVEL=110 and FLD_DZ=1 and FLD_ZS=4
GO


我来讲解一下转生代码的意思(www.83511.com)
set(设置为) 
FLD_LEVEL=1(角色1级),
FLD_EXP=0(角色经验为0),
FLD_DZ=0(转生标记为0),
FLD_MONEY=50000000(转生角色奖励金钱5000万),
FLD_HP=1000(转生角色初始血量1000), 
[这里的奖励可以根据自己喜好添加,也可以改成奖励物品等奖励内容。]
FLD_ZS=1(转生次数第1次) 
where(检测)
FLD_LEVEL=110(角色是否为110级)
and(且) 
FLD_DZ=1(角色是否有转生标记) 
and(且) 
FLD_ZS=0(转生次数为0)
需要: 在TBL_Char 表里 设计两列 为 FLD_DZ 和 FLD_ZS 默认值0 数据类型 int 不允许为空

这个存储过程是 1-5转的 能看懂的 可以自己加到N转

网站直接转生ASP代码不会写,还请各位大侠指教!

此存储过程 还没测试过 大家可以测试一下,是否好用,有问题随时联系我


******************* 付送本人写的 删出角色小于10级的帐号 方法 *********************
*
先在RXJHGAME库里 新建一个 TBL_ACCOUNT 表
然后把 原 TBL_ACCOUNT 表里的内容 复制到 RXJHGAME库里的 TBL_ACCOUNT 表里
然后打开查询分析器 执行
USE rxjhgame
delete [TBL_ACCOUNT] where FLD_ID IN (select TBL_Char.FLD_ID from TBL_Char WHERE FLD_LEVEL<10)  
这个查询命令 可以删掉 小与10级角色 的帐号
然后再执行删除10级以下角色仓库的命令,再删角色,就OK了

把删除后的 TBL_ACCOUNT 表里的内容 复制回原来的TBL_ACCOUNT 帐号表里 就OK了

具体复制表内容的方法很简单,打开表,点那个 黑色箭头的位置 选住整行 然后 按住SHIFT键 然后 把表拉到最下面,点选住最后一行即可全部选中,然后在黑色箭头处点右键,点复制,就OK了。
然后到 要复制的表里,在黑色箭头处点右键,点粘贴即可完成表内容的复制了。

本语句的弊端。就是 如果一个帐号内有2个号,一个10级以上,一个10级以下,那么这个帐号同样会被删掉。
只有事先对玩家进行通知,才可以避免因此而带来的麻烦。

 

真正防止刷钱的触发代码 钱超过5亿归0 

[上线触发无法在线修改,如果刷钱需要下线的话...]

Update [TBL_Char] set FLD_MONEY = 0
where FLD_MONEY > '500000001'