gggyniiw gggyniiw
关注数: 44 粉丝数: 65 发帖数: 248 关注贴吧数: 2
PKC死亡不化特石头存储代码 CREATE PROCEDURE RMS_DECREASESPECIALITEMDURABILITY @ItemKind int, @ItemIndex int, @ItemDurability int, @ItemAttackGrade int, @ItemStrengthGrade int, @ItemSpiritGrade int, @ItemDexterityGrade int, @ItemPowerGrade int, @Position int, @GameID varchar(14), @WindowKind int, @WindowIndex int AS set nocount on declare @DecreaseDurability int declare @iMapID int select @iMapID=Map From tblGameID1 Where GameID=@GameID if (@iMapID=35 OR @iMapID=69 OR @iMapID=70) return set @DecreaseDurability = 0 begin transaction if @ItemDurability >= 4 begin if (datepart(ms, getdate()) / 10) < 50 begin set @DecreaseDurability = 1 end end else begin if @ItemDurability = 3 begin if (datepart(ms, getdate()) / 10) < 40 begin set @DecreaseDurability = 1 end end else begin if @ItemDurability = 2 begin if (datepart(ms, getdate()) / 10) < 30 begin set @DecreaseDurability = 1 end end else begin if @ItemDurability = 1 begin if (datepart(ms, getdate()) / 10) < 20 begin set @DecreaseDurability = 1 end end else begin if @ItemDurability = 0 begin if (datepart(ms, getdate()) / 10) < 10 begin set @DecreaseDurability = 1 end end else begin if (datepart(ms, getdate()) / 10) < 50 begin delete tblSpecialItem1 where ID in (select top 1 ID from tblSpecialItem1 where ItemKind = @ItemKind and ItemIndex = @ItemIndex and ItemDurability = @ItemDurability and AttackGrade = @ItemAttackGrade and StrengthGrade = @ItemStrengthGrade and SpiritGrade = @ItemSpiritGrade and DexterityGrade = @ItemDexterityGrade and PowerGrade = @ItemPowerGrade and Position = @Position and GameID = @GameID and WindowKind = @WindowKind and WindowIndex = @WindowIndex) -- if @@ROWCOUNT > 0 -- begin insert tblSpecialItemLog1 (LogKind, ItemKind, ItemIndex, ItemDurability, Position, GameID, WindowKind, WindowIndex, LogItemCount,AttackGrade,StrengthGrade,SpiritGrade,DexterityGrade,PowerGrade) values (103, @ItemKind, @ItemIndex, @ItemDurability, @Position, @GameID, @WindowKind, @WindowIndex, @@ROWCOUNT,@ItemAttackGrade,@ItemStrengthGrade,@ItemSpiritGrade,@ItemDexterityGrade,@ItemPowerGrade) -- end end end end end end end if @DecreaseDurability = 1 begin update tblSpecialItem1 set ItemDurability = ItemDurability - 1 where ID in (select top 1 ID from tblSpecialItem1 where ItemKind = @ItemKind and ItemIndex = @ItemIndex and ItemDurability = @ItemDurability and AttackGrade = @ItemAttackGrade and StrengthGrade = @ItemStrengthGrade and SpiritGrade = @ItemSpiritGrade and DexterityGrade = @ItemDexterityGrade and PowerGrade = @ItemPowerGrade and Position = @Position and GameID = @GameID and WindowKind = @WindowKind and WindowIndex = @WindowIndex) end commit transaction GO - 本文出自红月吧 - 中国最大的红月技术网,原文地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Frm.redmoon8.com%2Fforum.php%3Fmod%3Dviewthread%26tid%3D55&urlrefer=75eafec35162c5c514e5965772d1f52b
红月在线信箱兑换物品触发器 CREATE TRIGGER TG_AutoChangePearlDiamond ON dbo.tblMail1 For Insert AS declare @iTitle varchar(80) declare @Sender varchar(16) declare @Recipient varchar(16) declare @iContent varchar(200) declare @Time datetime declare @iCount int declare @DHWP varchar(10) declare @iDHWPDM int declare @iDHXYSL int declare @iLL int declare @iYZ int declare @iMJ int declare @iGQ int declare @iTmpS varchar(200) declare @iLen int declare @iID int Select @iTitle=Title,@Sender=Sender,@Recipient=Recipient,@iContent=Content,@Time=Time From Inserted set @iTitle=ltrim(rtrim(@iTitle)) set @iContent=ltrim(rtrim(@iContent)) --判断发信人和收信人的名字是否相同,不相同直接结束 if (@Sender<>@Recipient) return --判断标题是否少于3个字,少于则直接结束 if (len(@iTitle)<3) return --判断标题前2个字是否为兑换,不是则直接结束 if (left(@iTitle,2)<>*兑换*) return --根据兑换的目标确定物品和需要的珍珠钻石数量基数[武器6装备3,后面再根据次数确定剩余部分],格式不对直接结束 set @DHWP=right(@iTitle,len(@iTitle)-2) if (@DHWP=*刀*) begin set @iDHWPDM=190 end else if (@DHWP=*矛*) begin set @iDHWPDM=192 end else if (@DHWP=*杖*) begin set @iDHWPDM=191 end else if (@DHWP=*枪*) begin set @iDHWPDM=194 end else if (@DHWP=*弓*) begin set @iDHWPDM=193 end else if (@DHWP=*戒指*) begin set @iDHWPDM=187 end else if (@DHWP=*项链*) begin set @iDHWPDM=188 end else if (@DHWP=*衣服* OR @DHWP=*甲*) begin set @iDHWPDM=181 end else if (@DHWP=*裤子*) begin set @iDHWPDM=182 end else if (@DHWP=*帽子* OR @DHWP=*头盔*) begin set @iDHWPDM=180 end else if (@DHWP=*手套*) begin set @iDHWPDM=185 end else if (@DHWP=*盾牌*) begin set @iDHWPDM=184 end else if (@DHWP=*腰带*) begin set @iDHWPDM=186 end else if (@DHWP=*鞋子* OR @DHWP=*鞋*) begin set @iDHWPDM=183 end else return
evescript事件修改说明 这里都是根据可用的3.8来估计的 ~~~~~~~~~~~~~~~~~~~~~~ "发生有条件"里面的UserResponse意思为选择项(不能肯定,肯定性很低)比如: 74; 138; 0; S; EventTriggered; ; GetUserResponseByCode 683 688; S; UserResponse; ; Move 137 90 127 1 & Jmp 100; S; UserResponse; ; Move 93 24 127 1 & Jmp 100; 分开分析 (说明:如果我猜的没错这行代码是138号(天空城市2)地图中间平台换地图时候出现的选择) 74应该是事件编号 138是事件发生的所在地图编号 EventTriggered这个应该是事件类型,应该是用来区分类别.以免和别的一些任务事件弄混 GetUserResponseByCode 683 688后面的683和688应该也是一种编号.这种编号都是单一的不重复的(但是如果它执行的是同一个动作,它的编号是一样的).这里有2个换地图的选择.所以只有2个编号.而"天空城市1平台"这部分代码有4个编号因为它有4个选择 UserResponse; ; Move 137 90 127 1 & Jmp 100; "Move"肯定是移动的意思,"137"是"天空城市1"的编号,"90.127"是137号地图目的地坐标." UserResponse; ; Move 93 24 127 1 & Jmp 100; 和上面一样的解释 ~~~~~~~~~~~~~~~~~~~~~~ ChatOneByCode +墨伙 291"ChatOneByCode"npc的说话内容的存储编号?可能是根据客户端"Message.ctf"文件内的信息,"+墨伙"这个是卡森的韩文名.这里由于其他问题所以显示的是这样的,其他类似以"+"号开头的乱码均为npc的韩文名 ChatAllByCode +荤捞焊弊2 76"ChatAllByCode"应该也是说话内容的存储编号吧.这里的"ChatAllByCode"和上面的"ChatOneByCode"可能是"Message.ctf"文件内的信息存储的类别吧 Timeout 15"Timeout 15"估计是时间间隔.以秒为单位 ChatOneByCode %NPCID 158"%NPCID"应该是npc的id编号的变量名.这个变量名应该也和"Message.ctf"有关吧 ~~~~~~~~~~~~~~~~~~~~~~ "发生有条件"里有很多以"Quest"结尾的名称,应该是各种任务的名字 ExchangeSubQuest RunAwayGirlSubQuest KasamQuest1(Kasam是卡森的英文名) KasamQuest2 Level1000Quest顾名思义肯定是1000级的任务 ~~~~~~~~~~~~~~~~~~~~~~ 3; 68; 0; S; AppearAt 23 28 33 38; ; ChatOneByCode +酒榴扼 48; 这里的"AppearAt 23 28 33 38"是什么意思? 还有很多其他类似的 AppearAt 24 0 37 19; AppearAt 0 0 12 24; ~~~~~~~~~~~~~~~~~~~~~ 62; 60000; 0; S; EventTriggered; ; GetUserResponseByCode 665; S; UserResponse; ; Move 87 37 19 1; 这里的"60000"不应该是地图编号.到底是什么呢? ~~~~~~~~~~~~~~~~~~~~~~ Move 87 39 85 1 & Jmp 100"Jmp 100"这个是选择时候带的后缀,可能是一个暂时变量,Jmp是变量名,100是变量值.这种模式应该是应用于多重选择.比如雪山任务就是如此,第一次给你几个选择,你选不同的都不同的变量值,第二次你在选,这次的变量值加上第一次的,依此类推,一直加到最后.应该是根据不同的变量值.给予不同的任务奖励.(它的只要目的就是为了区分你到底选了什么,)所以切换地图的代码后缀都是相同的,因为他们不用区分到底选了什么 ~~~~~~~~~~~~~~~~~~~~~~
1 下一页