红月武士私服群111905521

工作时间: 9:00 - 22:00
***QQ:5227433
VIP玩家群:
抵制不良游戏 拒绝盗版游戏
注意自我保护 谨防受骗上当
适度游戏益脑 沉迷游戏伤身
合理安排时间 享受健康生活
天涯红月无论在新开红月,还是老牌红月中均占有一席之地!天涯红月采用双线专业服务器,在这里让您游戏更有保证!游戏中没有GM确保游戏公平运行!
红月私服15改生化代码,加入一套K生化
&USE [redmoon]
IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE ID = OBJECT_ID('RMS_DOITEMGROWTH') AND TYPE = 'P')
DROP PROC RMS_DOITEMGROWTH
/****** 对象:& StoredProcedure [dbo].[RMS_DOITEMGROWTH]&&& 脚本日期: 12/31/:06 ******/
SET ANSI_NULLS OFF
SET QUOTED_IDENTIFIER OFF
-- =============================================
-- Author:&redzl (请保留版权,转载请注明出处)
-- Create date: 日 14:33:59
-- Description:&修改后可以升级生化最高到15改,并增加新生化一套,为防止与某些服务器信仰(115,135,155,175)无畏(116,136,156,176)冲突,添加的新生化位置代码分别为:
--&&生化头盔k& ItemIndex = 117 由180变形
--&&生化甲K& ItemIndex = 118 由181变形
--&&生化裤K& ItemIndex = 119 由182变形
--&&生化靴K& ItemIndex = 137 由183变形
--&&生化盾牌K& ItemIndex = 138 由184变形
--&&生化手套K& ItemIndex = 139 由185变形
--&&生化腰带K& ItemIndex = 157 由186变形
-- =============================================
CREATE PROCEDURE [dbo].[RMS_DOITEMGROWTH]
&@GameID&varchar(14),
&@WindowKind&int,
&@WindowIndex&int,
&@ItemKind&int,
&@ItemIndex&int,
&@AttackGrade&int,
&@StrengthGrade&int,
&@SpiritGrade&int,
&@DexterityGrade&int,
&@PowerGrade&int,
&@NextItemKind&int,
&@NextItemIndex&int,
&@NextAttackGrade&int,
&@NextStrengthGrade&int,
&@NextSpiritGrade&int,
&@NextDexterityGrade&int,
&@NextPowerGrade&int
DECLARE @ItemID&&int,
&@RandNum&int,
&@UpdateSuccess&int,
&@MaxAttackGrade int,
&@DebugNewItem&int,
&@DebugUpgrade&int
SELECT& @ItemID= 0, @UpdateSuccess = 0, @MaxAttackGrade = 15,&--设置生化最高等级限制,注意:[小于等于4则不做修改,保持官方升级几率]
&@DebugNewItem = 0,&&--是否开启新生化调试模式,开启后符合条件的生化100%升级为新生化 (0:关闭 1:开启)
&@DebugUpgrade = 0&&--是否开启升级调试模式,开启后符合条件的生化升级到最高等级限制之前,等级提升100%成功[只升等级,不升四围] (0:关闭 1:开启)
Declare @S1 int,@S2 int,@S3 int,@S5 int,@S8 int,@S10 int,@S12 int,@S14 int
SELECT&@S1 = 15,&--全新,R生化的变形几率
&@S2 = 10,&--二改生化的变形几率(G升级到S)
&@S3 = 8,&--三改生化的变形几率(S升级到P)
&@S5 = 7,&--4 ~ 5级的生化升级几率
&@S8 = 6,&--6 ~ 8级的生化升级几率
&@S10= 5,&--9~~10级的生化升级几率
&@S12= 4,&--11~12级的生化升级几率
&@S14= 3&&--13~14级的生化升级几率
SELECT TOP 1 @ItemID=ID FROM tblSpecialItem1 WHERE GameID = @GameID AND WindowKind = @WindowKind AND WindowIndex = @WindowIndex AND&
&ItemKind = @ItemKind AND ItemIndex= @ItemIndex AND AttackGrade = @AttackGrade AND StrengthGrade = @StrengthGrade AND SpiritGrade = @SpiritGrade&
&AND DexterityGrade = @DexterityGrade AND PowerGrade = @PowerGrade AND Position=1
IF @ItemID & 0
BEGIN TRANSACTION REDZL
&IF @DebugNewItem = 1 SET @RandNum = -1
&ELSE SET @RandNum = CAST(RAND() * 100000 AS INT) % 100
&--4改以上的P生化装备每次升级有3%的几率变成K生化,如要修改几率请修改&@RandNum &&后面的数字,数字越小几率越小,不启用新生化请将该数字设为0(若已开启调试模式,则此处设置无效)
&if (@ItemIndex between 180 and 186) and @AttackGrade &= 4 and @RandNum & 3&
&&SELECT @NextItemIndex = Case @ItemIndex
&&When 180 Then 117
&&When 181 Then 118
&&When 182 Then 119
&&When 183 Then 137
&&When 184 Then 138
&&When 185 Then 139
&&When 186 Then 157
&&End, @NextAttackGrade = @AttackGrade, @NextStrengthGrade = @StrengthGrade, @NextSpiritGrade = @SpiritGrade,
&&@NextDexterityGrade = @DexterityGrade, @NextPowerGrade = @PowerGrade
&Else If @MaxAttackGrade & 4&--不变新生化则进入正常升级流程
&&if @AttackGrade & @MaxAttackGrade
&&&IF @DebugUpgrade = 1 SET @RandNum = -1
&&&ELSE SET @RandNum = CAST(RAND() * 100000 AS INT) % 100
&&&if (@AttackGrade between 0 and 1) and @RandNum &= @S1 Set @UpdateSuccess = 1
&&&Else if @AttackGrade = 2 and @RandNum &= @S2 Set @UpdateSuccess = 1
&&&Else if @AttackGrade = 3 and @RandNum &= @S3 Set @UpdateSuccess = 1
&&&Else if (@AttackGrade between 4 and 5) and @RandNum &= @S5 Set @UpdateSuccess = 1
&&&Else if (@AttackGrade between 6 and 8) and @RandNum &= @S8 Set @UpdateSuccess = 1
&&&Else if (@AttackGrade between 9 and 10) and @RandNum &= @S10 Set @UpdateSuccess = 1
&&&Else if (@AttackGrade between 11 and 12) and @RandNum &= @S12 Set @UpdateSuccess = 1
&&&Else if (@AttackGrade between 13 and 14) and @RandNum &= @S14 Set @UpdateSuccess = 1
&&Select @NextItemIndex = Case When (@AttackGrade & 4 and @UpdateSuccess = 1) Then @ItemIndex + 20 else @ItemIndex End,
&&@NextAttackGrade = Case @UpdateSuccess When 1 Then @AttackGrade + 1 Else @AttackGrade End,
&&@NextStrengthGrade = Case @UpdateSuccess When 1 Then @StrengthGrade else @NextStrengthGrade End,
&&@NextSpiritGrade = Case @UpdateSuccess When 1 Then @SpiritGrade else @NextSpiritGrade End,
&&@NextDexterityGrade = Case @UpdateSuccess When 1 Then @DexterityGrade else @NextDexterityGrade End,
&&@NextPowerGrade = Case @UpdateSuccess When 1 Then @PowerGrade else @NextPowerGrade End&&
UPDATE tblSpecialItem1 SET ItemKind = @NextItemKind, ItemIndex = @NextItemIndex, AttackGrade = @NextAttackGrade ,StrengthGrade = @NextStrengthGrade,&
SpiritGrade = @NextSpiritGrade, DexterityGrade = @NextDexterityGrade, PowerGrade = @NextPowerGrade WHERE ID = @ItemID
if @@Error = 0
&COMMIT TRANSACTION REDZL
&ROLLBACK TRANSACTION REDZL
添加:&&录入:WanAdmin&&人气:

参考资料

 

随机推荐