您当前的位置:首页 > 奇迹技术

如何处理奇迹游戏转生变回初级职业问题详细解决方案

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

 今天要给大家介绍的这个问题在目前市场上是非常普遍的,很多奇迹私服gm应该都遇到过这样的情况。因为在很多时候我们安装好服务器之后玩家转生都会变成初始职业。这样的情况到底是如何产生的呢为什么有的时候会出现这样的情况,有的时候又不会呢这些问题其实一直都困扰这新手奇迹私服gm。但是想要学会这些东西其实对于大多数人来说还是比较有难度的,因为任何一个新的服务器都有可能会遇到这样的情况。

/* 转生 */ 
CREATE PROCEDURE RC_Relife 
@acc varchar(10), 
@chr varchar(10), 
@type int, 
@lv int, 
@rcb int, 
@rsv int, 
@rinv int, 
@zspp int 
AS 
declare @myrcb int, @cls smallint, @sql varchar(520), @mystr varchar(10), @zscc int 
if not exists(select Name from Character where AccountID=@acc and Name=@chr) 
begin 
select '帐号角色错误!' 
return 
end 
if not exists(select Name from Character where cLevel>=@lv and Name=@chr) 
begin 
select '角色的级别不够,不能转生!' 
return 
end 
select @myrcb=rcb from MEMB_INFO where memb___id=@acc 
if (@myrcb is null and @rcb>0) 
begin 
select '您的帐户没有RC币,不能进行转生!' 
return 
end 
if (@myrcb is null) 
set @myrcb=0 
else 
set @myrcb=@myrcb-@rcb 
if (@myrcb<0) 
begin 
select '您的帐户RC币金额不足,不能进行转生!<BR><BR>本次转生需要' + ltrim(str(@rcb)) + '元RC币' 
return 
end 
select @cls=Class from Character where Name=@chr 
-- 公共模块 
select @zscc=zs_count from Character where Name=@chr 
if (@zscc is null) 
set @zscc=1 
else 
set @zscc=@zscc+1 
set @sql='Update Character set cLevel=1,Experience=0,MagicList=null,PkTime=0,PkLevel=3,LevelUpPoint='+ltrim(str(@zspp))+',zs_point='+ltrim(str(@zspp))+',zs_count='+ltrim(str(@zscc)) 
if (@rinv<>1) 
set @sql=@sql+',Inventory=null' 
 
set @sql=@sql+',Quest=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' 
 
 
-- 角色类型分类 
set @mystr='error' 
if (@cls=0) 
begin 
if (@rsv<>1) 内容来自dedecms 
set @sql=@sql+',Strength=18,Dexterity=18,Vitality=15,Energy=30' 
set @sql=@sql+', Life=60,MaxLife=60, Mana=60,MaxMana=60,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1' 
set @mystr='法师' 
end 
else if (@cls=1) 
begin 
if (@rsv<>1) 
set @sql=@sql+',Strength=18,Dexterity=18,Vitality=15,Energy=30,Class=1' 
set @sql=@sql+', Life=60,MaxLife=60,Mana=60,MaxMana=60,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1' 
set @mystr='魔导师' 
end 
else if (@cls=16) 
begin 
if (@rsv<>1) 
set @sql=@sql+',Strength=28,Dexterity=20,Vitality=25,Energy=10' 
set @sql=@sql+',Life=110,MaxLife=110,Mana=20,MaxMana=20,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1' 
set @mystr='战士' 
end 
else if (@cls=17) 
begin 
if (@rsv<>1) 
set @sql=@sql+',Strength=28,Dexterity=20,Vitality=25,Energy=10,Class=17' 
set @sql=@sql+',Life=110,MaxLife=110,Mana=20,MaxMana=20,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1' 
set @mystr='骑士' 
end 
else if (@cls=32) 
begin 
if (@rsv<>1) 
set @sql=@sql+',Strength=22,Dexterity=25,Vitality=20,Energy=15' 
set @sql=@sql+',Life=80,MaxLife=80,Mana=30,MaxMana=30,MapNumber=3,MapPosX=175,MapPosY=100,MapDir=4' 
set @mystr='精灵' 
end 
else if (@cls=33) 
begin 
if (@rsv<>1) 
set @sql=@sql+',Strength=22,Dexterity=25,Vitality=20,Energy=15,Class=33' 
set @sql=@sql+',Life=80,MaxLife=80,Mana=30,MaxMana=30,MapNumber=3,MapPosX=175,MapPosY=100,MapDir=4' 
set @mystr='圣射手' 
end 
else if (@cls=48) 
begin 
if (@rsv<>1) 
set @sql=@sql+',Strength=26,Dexterity=26,Vitality=26,Energy=26' 
set @sql=@sql+',Life=110,MaxLife=110,Mana=60,MaxMana=60,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1' 
set @mystr='魔剑士' 
end 
else if (@cls=64) 
begin 
if (@rsv<>1) 
set @sql=@sql+',Strength=30,Dexterity=26,Vitality=26,Energy=30' 
set @sql=@sql+',Life=110,MaxLife=110,Mana=60,MaxMana=60,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1' 
set @mystr='圣导师' 
end 
 
if (@mystr='error') 
begin 
select '角色类型错误!' 
return 
end 
 
update MEMB_INFO set rcb=@myrcb where memb___id=@acc 
set @sql=@sql+' where Name= ''' + @chr + '''' 
exec(@sql) 
if (@type=1) 
set @sql='高级转生'
并且这样的情况发生是有很多原因的,他的形成是一个综合原因并不是一两句话就能说清楚的。以上就是一为原创分享给大家的如何处理奇迹游戏转生变回初级职业问题详细解决方案全部内容,希望各位玩家在以后的开服过程中能够重视这样的问题,并直接解决这样的问题,毕竟对于服务器来说返回初始职业是非常严重的。