红月制作.一条龙代理.联系QQ:4024615 点击这里给我发消息 免费宣传及技术交流群:88655575 找红月网www.zhaohy.net 本站永久免费宣传.自动核审
找红月私服发布网站您身边的贴心网站
网站首页
私服发布
查询已开游戏
技术文章
家族发布
红月家族
相关下载
开区一条龙
技术论坛
可用15改生化升级存储过程
文章作者:admin 文章来源:找红月服就在zhaohy.net-国内最齐全红月私服游戏开服网|zhaohy.net 更新时间:2015/4/21 13:44:17 

当然,服务端客户端方面的生化外观,四围属性这些参数需要大家自己设置,我这里只是让他可以由P正常变形,至于装备显示以及使用方面要靠大家自己去弄,这个不是我所擅长的,不外可以参考完美红月。另外说下之前发的药水存储过程今天也做了更新,可以自己加入其他物品功能而不影响药水使用了。
本存储过程合用于3944V2.1,其他版本未测试,理论上没题目。
修改的存储过程里加入一套新生化,就是在100-194号物品中找到的空余的没用的,由P变形而成,成功几率大家可以根据自己的需要调。
USE[redmoon]
GO

IFEXISTS(SELECT1FROMSYSOBJECTSWHEREID=OBJECT_ID(RMS_DOITEMGROWTH)ANDTYPE=P)
DROPPROCRMS_DOITEMGROWTH
GO
/******对象:StoredProcedure[dbo].[RMS_DOITEMGROWTH]脚本日期:12/31/201114:28:06******/
SETANSI_NULLSOFF
GO
SETQUOTED_IDENTIFIEROFF
GO


CREATEPROCEDURE[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
AS

setnocounton;

DECLARE@ItemID  int,
 @RandNum int,
 @UpdateSuccess int,
 @MaxAttackGradeint,
 @DebugNewItem int,
 @DebugUpgrade int

SELECT@ItemID=0,@UpdateSuccess=0,@MaxAttackGrade=15,
Declare@S1int,@S2int,@S3int,@S5int,@S8int,@S10int,@S12int,@S14int
  
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级的生化升级几率

SELECTTOP1@ItemID=IDFROMtblSpecialItem1WHEREGameID=@GameIDANDWindowKind=@WindowKindANDWindowIndex=@WindowIndexAND
 ItemKind=@ItemKindANDItemIndex=@ItemIndexANDAttackGrade=@AttackGradeANDStrengthGrade=@StrengthGradeANDSpiritGrade=@SpiritGrade
 ANDDexterityGrade=@DexterityGradeANDPowerGrade=@PowerGradeANDPosition=1

IF@ItemID>0

BEGINTRANSACTIONREDZL

BEGIN
 IF@DebugNewItem=1SET@RandNum=-1
 ELSESET@RandNum=CAST(RAND()*100000ASINT)%100
 if(@ItemIndexbetween180and186)and@AttackGrade>=4and@RandNum<3 
 Begin
  SELECT@NextItemIndex=Case@ItemIndex
  When180Then117
  When181Then118
  When182Then119
  When183Then137
  When184Then138
  When185Then139
  When186Then157
  End,@NextAttackGrade=@AttackGrade,@NextStrengthGrade=@StrengthGrade,@NextSpiritGrade=@SpiritGrade,
  @NextDexterityGrade=@DexterityGrade,@NextPowerGrade=@PowerGrade
 End

 ElseIf@MaxAttackGrade>4 Begin   
  if@AttackGrade<@MaxAttackGrade
  BEGIN
   IF@DebugUpgrade=1SET@RandNum=-1
   ELSESET@RandNum=CAST(RAND()*100000ASINT)%100

   if(@AttackGradebetween0and1)and@RandNum<=@S1Set@UpdateSuccess=1
   Elseif@AttackGrade=2and@RandNum<=@S2Set@UpdateSuccess=1
   Elseif@AttackGrade=3and@RandNum<=@S3Set@UpdateSuccess=1
   Elseif(@AttackGradebetween4and5)and@RandNum<=@S5Set@UpdateSuccess=1
   Elseif(@AttackGradebetween6and8)and@RandNum<=@S8Set@UpdateSuccess=1
   Elseif(@AttackGradebetween9and10)and@RandNum<=@S10Set@UpdateSuccess=1
   Elseif(@AttackGradebetween11and12)and@RandNum<=@S12Set@UpdateSuccess=1
   Elseif(@AttackGradebetween13and14)and@RandNum<=@S14Set@UpdateSuccess=1
  End

  Select@NextItemIndex=CaseWhen(@AttackGrade<4and@UpdateSuccess=1)Then@ItemIndex+20else@ItemIndexEnd,
  @NextAttackGrade=Case@UpdateSuccessWhen1Then@AttackGrade+1Else@AttackGradeEnd,
  @NextStrengthGrade=Case@UpdateSuccessWhen1Then@StrengthGradeelse@NextStrengthGradeEnd,
  @NextSpiritGrade=Case@UpdateSuccessWhen1Then@SpiritGradeelse@NextSpiritGradeEnd,
  @NextDexterityGrade=Case@UpdateSuccessWhen1Then@DexterityGradeelse@NextDexterityGradeEnd,
  @NextPowerGrade=Case@UpdateSuccessWhen1Then@PowerGradeelse@NextPowerGradeEnd  
 END

UPDATEtblSpecialItem1SETItemKind=@NextItemKind,ItemIndex=@NextItemIndex,AttackGrade=@NextAttackGrade,StrengthGrade=@NextStrengthGrade,
SpiritGrade=@NextSpiritGrade,DexterityGrade=@NextDexterityGrade,PowerGrade=@NextPowerGradeWHEREID=@ItemID

END

if@@Error=0
BEGIN
 COMMITTRANSACTIONREDZL
END
ELSE
BEGIN
 ROLLBACKTRANSACTIONREDZL
END

浏览次数:511
最新文章
· 指定地图死亡特装不掉色...
· 千级后升级获得属性点数控制...
· 清空数据库代码...
· 官方原版生化存储过程...
· 人工丹药最高技能点控制...
· 传说丹药最高技能点控制...
· 可随意变换的新人出生地图存储过程...
· 战争时间修改储存过程...
· 红月私服新建角色的等级为500级...
· 新人上线发疾风.各种初级武器...
热门文章
· 指定地图死亡特装不掉色...
· 1个人可以建军存储过程...
· 红月私服冲千奖励,各角色第一还有前三名分别奖励...
· 在红月私服中删除某日期段...
· 特装增加百分比解释...
· 新人上线发疾风.各种初级武器...
· 攻击特与防御特的比较...
· 红月私服全骨露自动取消红月晕...
· 官方原版生化存储过程...
· 清空数据库代码...