本人修改的转生存储,注意,仅仅是存储。
1)新增了一个表
tblMetempsychosis,有三个项,id,GameID,MetempsychosisCount
id:int(4),自增加
GameID:varChar(14)
MetempsychosisCount:int(4)
2)插入数据
将tblGameID1中GameID,MetempsychosisCount插入进去:
INSERT INTO tblMetempsychosis( GameID, MetempsychosisCount )
SELECT GameID, MetempsychosisCount
FROM tblGameID1;
3)存储过程
--转生储存
--tblgameid1表中,必须有redmoon这个角色
-- 等级达到1000
--可以通过设置WEB、金像等方法实现转生,那是另外的课题了
CREATE PROCEDURE RMS_METEMPSYCHOSIS
@gameid varchar(14)
AS
set nocount on
begin transaction RMS_METEMPSYCHOSIS
declare @璐村惂鐢ㄦ埛_00QG4NR馃惥 int --等级
declare @bonus2 int --丹药点数
declare @SBonus int --满级之后升级获得的属性点
declare @STotalBonus int --总丹药点数
declare @MailContent varchar(100) --邮件内容
declare @MetempsychosisCount int --转生次数
if @GameID<>''
begin
select @Lvl=lvl, @Bonus2=Bonus2, @SBonus=SBonus, @STotalBonus=STotalBonus from tblGameid1 where gameid=@GameID
select @MetempsychosisCount=MetempsychosisCount from tblMetempsychosis where gameid=@GameID
if @Lvl=1000
begin
--设置转生后的属性
set @Bonus2 = 1000 * (@MetempsychosisCount + 1) + @STotalBonus --设置转生后保留的点数
set @STotalBonus=@Bonus2 --设置转生后保留的点数
set @MailContent = convert(varchar,@STotalBonus) + ' point. MetempsychosisCount: ' + convert(varchar,@MetempsychosisCount) --设置信件内容
update tblGameID1 set Lvl=1, Experiment=0, Fame=0, Strength=10, Spirit=10, Dexterity=10, Power=10,
Bonus=2, Bonus2=@Bonus2, SBonus=0, STotalBonus=@STotalBonus
where GameID=@GameID
update tblGameID1 set Map=21, X=160, Y=58 where GameID=@GameID--将角色转到住2
--送魔法效果
update tblGameID1 set TLETimer='0:60000000.1:60000000.2:60000000.3:60000000.4:60000000.5:60000000.6:60000000.7:60000000.8:60000000.9:60000000.10:60000000.11:60000000.12:60000000.',SETimer='3:36000000.8:36000000.25:36000000.42:36000000.53:0.58:0.60:36000000.63:36000000.64:36000000.' WHERE GameID= @GameID
--转生次数+1
update tblMetempsychosis set MetempsychosisCount=MetempsychosisCount+1 WHERE GameID= @GameID
--发送转生成功信件
EXEC RMS_SENDMAIL @GameID,'redmoon','Great! Log on agin.',1,@MailContent,''
--清除丹药表中该用户的纪录
delete from tblBonus2Log1 where gameid=@GameID
end
else
--发送转生失败信件
EXEC RMS_SENDMAIL @GameID,'redmoon','Sorry, prerequisites not met.',1,'',''
end
commit transaction RMS_METEMPSYCHOSIS
GO
1)新增了一个表
tblMetempsychosis,有三个项,id,GameID,MetempsychosisCount
id:int(4),自增加
GameID:varChar(14)
MetempsychosisCount:int(4)
2)插入数据
将tblGameID1中GameID,MetempsychosisCount插入进去:
INSERT INTO tblMetempsychosis( GameID, MetempsychosisCount )
SELECT GameID, MetempsychosisCount
FROM tblGameID1;
3)存储过程
--转生储存
--tblgameid1表中,必须有redmoon这个角色
-- 等级达到1000
--可以通过设置WEB、金像等方法实现转生,那是另外的课题了
CREATE PROCEDURE RMS_METEMPSYCHOSIS
@gameid varchar(14)
AS
set nocount on
begin transaction RMS_METEMPSYCHOSIS
declare @璐村惂鐢ㄦ埛_00QG4NR馃惥 int --等级
declare @bonus2 int --丹药点数
declare @SBonus int --满级之后升级获得的属性点
declare @STotalBonus int --总丹药点数
declare @MailContent varchar(100) --邮件内容
declare @MetempsychosisCount int --转生次数
if @GameID<>''
begin
select @Lvl=lvl, @Bonus2=Bonus2, @SBonus=SBonus, @STotalBonus=STotalBonus from tblGameid1 where gameid=@GameID
select @MetempsychosisCount=MetempsychosisCount from tblMetempsychosis where gameid=@GameID
if @Lvl=1000
begin
--设置转生后的属性
set @Bonus2 = 1000 * (@MetempsychosisCount + 1) + @STotalBonus --设置转生后保留的点数
set @STotalBonus=@Bonus2 --设置转生后保留的点数
set @MailContent = convert(varchar,@STotalBonus) + ' point. MetempsychosisCount: ' + convert(varchar,@MetempsychosisCount) --设置信件内容
update tblGameID1 set Lvl=1, Experiment=0, Fame=0, Strength=10, Spirit=10, Dexterity=10, Power=10,
Bonus=2, Bonus2=@Bonus2, SBonus=0, STotalBonus=@STotalBonus
where GameID=@GameID
update tblGameID1 set Map=21, X=160, Y=58 where GameID=@GameID--将角色转到住2
--送魔法效果
update tblGameID1 set TLETimer='0:60000000.1:60000000.2:60000000.3:60000000.4:60000000.5:60000000.6:60000000.7:60000000.8:60000000.9:60000000.10:60000000.11:60000000.12:60000000.',SETimer='3:36000000.8:36000000.25:36000000.42:36000000.53:0.58:0.60:36000000.63:36000000.64:36000000.' WHERE GameID= @GameID
--转生次数+1
update tblMetempsychosis set MetempsychosisCount=MetempsychosisCount+1 WHERE GameID= @GameID
--发送转生成功信件
EXEC RMS_SENDMAIL @GameID,'redmoon','Great! Log on agin.',1,@MailContent,''
--清除丹药表中该用户的纪录
delete from tblBonus2Log1 where gameid=@GameID
end
else
--发送转生失败信件
EXEC RMS_SENDMAIL @GameID,'redmoon','Sorry, prerequisites not met.',1,'',''
end
commit transaction RMS_METEMPSYCHOSIS
GO