当前位置 :| 主页>江湖>技术文章>

热血江湖服务器转生系统介绍

来源: 作者: 点击:
不知道这个教程以前是否发过,刚从网上看到就转给大家参考下吧~!~!

这个是 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'
分类