文档库 最新最全的文档下载
当前位置:文档库 › 红月3.8c 所有版本命令

红月3.8c 所有版本命令

1000级升级奖励点数

CREATE PROCEDURE RMS_INCREASEBONUSQUESTCOUNT
@GameID varchar(14)
AS

set nocount on

declare @IncreaseBonusError int, @InsertLogError int, @STotalBonus int
set @IncreaseBonusError = 1
set @InsertLogError = 1
set @STotalBonus = 0

begin transaction
select @STotalBonus=STotalBonus from tblGameID1 where GameID = @GameID
if @STotalBonus<30000
begin
update tblGameID1 set SBonus = SBonus + 1, STotalBonus = STotalBonus + 1 where GameID = @GameID
set @IncreaseBonusError = @@ERROR
end

select @STotalBonus = STotalBonus from tblGameID1 where GameID = @GameID

insert tblBonus2Log1 (GameID, STotalBonus, Kind) values (@GameID, @STotalBonus, 1)
set @InsertLogError = @@ERROR

if @IncreaseBonusError = 0 AND @InsertLogError = 0
begin
commit transaction
end
else
begin
rollback transaction
end
GO





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
无法做丹药的脚本

CREATE PROCEDURE RMS_TRYMAKEMYSTERYPILL
@GameID varchar(14),
@WindowKind int,
@WindowIndex int,
@RandomNumber int
AS

set nocount on

declare @ItemCountLimit int, @CurrentItemCount int
set @ItemCountLimit = 0

begin transaction

select @ItemCountLimit = ItemCountLimit from tblSpecialItemLimit1 where ItemKind = 6 and ItemIndex = 66
set @CurrentItemCount = @ItemCountLimit
set @RandomNumber=RAND() * 100000000
set @RandomNumber=@RandomNumber%100
select @CurrentItemCount = count(*) from tblSpecialItem1 where ItemKind = 6 and ItemIndex = 66

if (@WindowKind = 1 and @WindowIndex >= 0 and @WindowIndex < 100) or (@WindowKind = 3 and @WindowIndex >= 0 and @WindowIndex < 8)
begin
declare @MakeMysteryPillError int
set @MakeMysteryPillError = 1
update tblGameID1 set SBonus = SBonus - 1, STotalBonus = STotalBonus - 1 where GameID = @GameID and SBonus >= 1 and STotalBonus >= 1

if @@ROWCOUNT = 1 and @@ERROR = 0
begin
if @ItemCountLimit > @CurrentItemCount
begin
if @RandomNumber % 100 >= 100
begin
insert tblSpecialItem1 (ItemKind, ItemIndex, Position, Map, X, Y, TileKind, GameID, WindowKind, WindowIndex) values (6, 66, 1, 1, 100, 100, 0, @GameID, @WindowKind, @WindowIndex)
set @MakeMysteryPillError = @@ERROR
end
end
end

declare @STotalBonus int
set @STotalBonus = 0
select @STotalBonus = STotalBonus from tblGameID1 where GameID = @GameID

if @MakeMysteryPillError = 0
begin
insert tblBonus2Log1 (GameID, STotalBonus, Kind) values (@GameID, @STotalBonus, 2)
end
else
begin
insert tblBonus2Log1 (GameID, STotalBonus, Kind) values (@GameID, @STotalBonus, 3)
end
end

GO
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
添加金象的代码

;角色名称 金像代码 事件号 坐标(X1,Y1,X2,Y2) 移动类型

;菲拉洛 1000
;阿基拉 1001
;撒达得 1002
;邓斯帝诺 1003
;朴真熙 1004
;凯诺 1005
;韩智华 1006
;露娜莉娜 1007
;罗贝塔 1008

角色ID1 1000 0 114 130 114 130 2
角色ID2 1001 0 118 126 118 126 2
角色ID3 10

02 0 110 130 110 130 2
角色ID4 1003 0 108 123 108 123 2
角色ID5 1004 0 112 132 112 132 2
角色ID6 1005 0 108 128 108 128 2
角色ID7 1006 0 106 126 106 126 2
角色ID8 1007 0 116 123 116 123 2
角色ID9 1008 0 116 128 116 128 2 `~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ad贡献,大家指正,生化特装属性、特装商店开张、特装生化掉落等
装备武器(包括生化,特装,系列装备武器使用角色限制等等)目前最佳解决办法,
http://202.103.219.12/redmoon/download/info.rar
共6个文件,复制到data/Item/info下替换原来的文件,修改后,生化特装不会再像原来那样中看不中用了,再生戒指之类的攻击也按那个复杂的公式算了,还修正了ACES系列装备谁都可以穿的错误。---------------------------------------
掉宝率问题,其实原来的服务器端的掉宝率就已经很高了,只是数据库中没加上特装和生化的掉落而已,解决方法我用lovego3s发过贴,现在贴这里吧。直接在查询分析器里面运行一下代码就行了 要加什么自己加上去 用 ; 隔开INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,1,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,2,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,8,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,10,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,11,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,12,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,14,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,15,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,17,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,18,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES (6,23,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,24,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,26,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,28,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,35,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,36,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,37,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,41,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,45,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,66,2000);INSERT INTO tblSpecialItemLimit1 (I

temKind,ItemIndex,ItemCountLimit) VALUES(6,67,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,68,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,80,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,81,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,82,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,83,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,84,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,90,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,91,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,92,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,93,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,94,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,95,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,96,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,97,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,98,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,100,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,101,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,102,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,103,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,104,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,105,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,106,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,107,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,108,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,110,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,111,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,112,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit) VALUES(6,113,2000);INSERT INTO tblSpecialItemLimit1 (ItemKind,ItemIndex,ItemCountLimit)VALUES(6,114,2000)括号内的3组数字,第一个代表物品分类(6就是特装和生化),第二个代表该物品在分类中的编号,第三个数字代表服务器最高有用该物品的数量,达到这个数量后,服务器就不会再掉落该物品,低于这个数量的时候会继续掉落,满设定的数量为止~如果不会在解析器里面执行代码 , 那就进入 tblSpecialItemLimit1 里

面一个个加了~这么加上去以后 我刚才在空城打了一会 就打了几个生化和毒药 失忆之药等。。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
怎样设置地图的进入等级:
打开:rmServer.ini 文件,在文件中找到:
[MapLevel]
0=1,200
2=1,150
35=100, 500
69=1, 200
70=300, 1000



这里的意义是:等号前的为地图号,等号后面的第1个数字是最低可以进入等级,第2个数字是最高可以进入等级。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-----------------------------------
地图能否PK的设置
修改/Bin/Data/Event中的Event00000.rse~Event00204.rse文件
0 7 ;表示此地图禁止PK
0 30 300000 ;表示此地图可以PK,后面的300000可能是黑名时间.
--------------------------------------------
如何在人物身上加入装备
在数据库里有个表文件tblSpecialItem1中。。把水代码200换上,人物名写上就行
ID不用填,系统自动编号;Itemkind是物品种类,特装和生化是6;ItemIndex是物品编号,详见上帖;ItemDurability是物品耐久度,特装的话,4为9色;Position是物品位置,0为地上,1为人物身上;Map,X,Y分别为物品所在地图、坐标(当Position为0时有效);Tilekind好像是物品存在与否,1为存在,0为已经使用完或消失(这个是猜测,不能肯定);GameID为物品所有人ID(你要改,当然是写你名字拉~~);Windowkind是物品在人物的何处,1为物品栏即F3,2为装备栏即F4,3为快捷栏即F8;WindowIndex为物品所在栏的位置顺序,0为第一格,1为第二格,如此类推;MiscTime不重要的某某时间,随便填,也可以让系统自动生成,AttackGrade StrengthGrade SpiritGrade DexterityGrade PowerGrade为生化的五个属性,AttackGrade 是等级,0---无,1--R,2---G,3---S,4---P,StrengthGrade SpiritGrade DexterityGrade PowerGrade分别是力,意,敏,骨四个属性。。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上线送00 星星CREATE TRIGGER [TRIGGER-QUEST] ON dbo.tblGameID1
FOR INSERT

AS

BEGIN

DECLARE @GAMEID CHAR(14)

SELECT @GAMEID= GAMEID FROM INSERTED
BEGIN
UPDATE TBLGAMEID1 SET SETimer='3:957000.8:932000.17:2062000.25:1979000.26:33532437.33:2468000.42:1967000.44:2036000.45:2016000.53:2079000.58:5000.64:3035000.67:2094000.76:2085000.' WHERE GAMEID IN (SELECT GAMEID FROM INSERTED)
END
END

用查询分析器




QQ:114888161 网游技术支持

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
属性封顶
红月属性封顶代码,用查询分析器执行

CREATE PROCEDURE RMS_INCREASEBONUSQUESTCOUNT
@GameID varchar(14)
AS

set nocount on

declare @IncreaseBonusError i

nt, @InsertLogError int, @STotalBonus int
set @IncreaseBonusError = 1
set @InsertLogError = 1
set @STotalBonus = 0

begin transaction
select @STotalBonus=STotalBonus from tblGameID1 where GameID = @GameID
if @STotalBonus<30000(封顶数值)
begin
update tblGameID1 set SBonus = SBonus + 1, STotalBonus = STotalBonus + 1 where GameID = @GameID
set @IncreaseBonusError = @@ERROR
end

select @STotalBonus = STotalBonus from tblGameID1 where GameID = @GameID

insert tblBonus2Log1 (GameID, STotalBonus, Kind) values (@GameID, @STotalBonus, 1)
set @InsertLogError = @@ERROR

if @IncreaseBonusError = 0 AND @InsertLogError = 0
begin
commit transaction
end
else
begin
rollback transaction
end
GO
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/****** 彩票: 2007-3-22 21:02 ******/



CREATE PROCEDURE RMS_ITEMLOTTERY_USEITEM
@GameID varchar(14),
@WindowKind int,
@WindowIndex int

AS
set nocount on

begin transaction RMS_ITEMLOTTERY_USEITEM

DECLARE @LotteryID INT
DECLARE @ItemKind INT
DECLARE @ItemIndex INT
DECLARE @LotteryNumber CHAR(29)
DECLARE @I_Kind INT
DECLARE @ItemCount INT
BEGIN
SET @I_Kind=RAND() * 100000000
SET @I_Kind=@I_Kind%100

IF @I_Kind >90
BEGIN
DECLARE @I_Number INT
SET @itemkind=6
SET @I_Number=RAND() * 2000000000
SET @I_Number=@I_Number%7
--生化装备
IF @I_Number=0
BEGIN
DECLARE @I_Number0 INT
SET @I_Number0=RAND() * 2000000000
SET @I_Number0=@I_Number0%9
SET @itemindex=100+@I_Number0
END
--生化武器
ELSE IF @I_Number=1
BEGIN
DECLARE @I_Number1 INT
SET @I_Number1=RAND() * 2000000000
SET @I_Number1=@I_Number1%5
SET @itemindex=110+@I_Number1
END
--特装武器 戒指?????????????????????
ELSE IF @I_Number=2
BEGIN
DECLARE @I_Number2 INT
SET @I_Number2=RAND() * 2000000000
SET @I_Number2=@I_Number2%6
IF @I_Number2<5
SET @itemindex=80+@I_Number2
ELSE
SET @itemindex=90
END
--智慧、命运、依 没戒指盾
ELSE IF @I_Number=3
BEGIN
DECLARE @I_Number3 INT
SET @I_Number3=RAND() * 2000000000
SET @I_Number3=@I_Number3%7
SET @itemindex=91+@I_Number3
END
--攻防套===========================================================================================
ELSE IF @I_Number=4
BEGIN
DECLARE @I_Number4 INT
DECLARE @GFT INT
SET @I_Number4=RAND() * 2000000000
SET @I_Number4=@I_Number4%100
IF @I_Number4<90
BEGIN
SET @GFT=RAND() * 2000000000
SET @GFT=@GFT%4
--攻、防(衣、裤)
IF @GFT=0
SET @itemindex=1
ELSE IF @GFT=1
SET @itemindex=8
ELSE IF @GFT=2
SET @itemindex=11
ELSE IF @GFT=3
SET @itemindex=12
END
--灵水、风铃
ELSE
BEGIN
SET @GFT=RAND() * 2000000000
SET @GFT=@GFT%2
IF @GFT=0
SET @itemindex=26
ELSE
SET @itemindex=28
END
END
--三神、护神
ELSE IF @I

_Number=5
BEGIN
DECLARE @I_Number5 INT
SET @I_Number5=RAND() * 2000000000
SET @I_Number5=@I_Number5%4
IF @I_Number5=3
SET @itemindex=23
ELSE
SET @itemindex=35+@I_Number5
END
--彩票、水、毒药
ELSE IF @I_Number=6
BEGIN
DECLARE @I_Number6 INT
SET @I_Number6=RAND() * 2000000000
SET @I_Number6=@I_Number5%100
IF @I_Number6<90
SET @itemindex=200
ELSE IF @I_Number6=90
SET @itemindex=67
ELSE
SET @itemindex=197
END
END
IF @I_Kind =90
BEGIN
SET @itemkind=6
DECLARE @yd int
SET @YD=RAND() * 2000000000
SET @YD=@YD%100
IF @YD>94
SET @itemindex=98
ELSE
SET @itemindex=200
END
IF @I_Kind <80
BEGIN
SET @itemkind=5
SET @ItemCount=10
DECLARE @ZJ int
SET @ZJ=RAND() * 2000000000
SET @ZJ=@ZJ%24
IF @ZJ<20
SET @itemindex=@ZJ+111
ELSE
SET @itemindex=@ZJ+128
END
IF @I_Kind >80 and @I_Kind <90
BEGIN
SET @itemkind=3
SET @ItemCount=1
DECLARE @SS int
SET @SS=RAND() * 2000000000
SET @SS=@SS%8
IF @ss<4
SET @itemindex=@ss+40
ELSE
SET @itemindex=@ss+46
END
END
BEGIN
DELETE tblSpecialItem1 WHERE ID in (SELECT top 1 ID FROM tblSpecialItem1 WHERE ItemKind = 6 AND ItemIndex = 197 AND Position = 1 AND GameID = @GameID AND WindowKind = @WindowKind AND WindowIndex = @WindowIndex)
IF @@ROWCOUNT > 0 and @@ERROR = 0
BEGIN
insert tblItemLotteryList1 (ItemKind,ItemIndex,GameID,UseTime) values(@ItemKind,@ItemIndex,@GameID,Getdate() )
DECLARE @GiftItemText varchar(50)
SET @GiftItemText = '0:'+CAST(@ItemKind As varchar)+'-'+CAST(@ItemIndex As varchar)+'/1.'
DECLARE @MailContent varchar(1000)
SET @MailContent = '恭喜您中奖,这是奖品,感谢您对本服务器的支持. '

IF @ItemKind = 6
BEGIN
EXEC RMS_SENDSPECIALITEMMAIL @Sender='彩票兑奖中心',@Recipient=@GameID,@Title='[恭喜您中了大奖!]',@Content=@MailContent,@ItemKind=@ItemKind,@ItemIndex=@ItemIndex,@ItemCount=1
END
ELSE
BEGIN
EXEC RMS_SENDNORMALITEMMAIL @Sender='彩票兑奖中心',@Recipient=@GameID,@Title='[您中奖了!]',@Content=@MailContent,@ItemKind=@ItemKind,@ItemIndex=@ItemIndex,@ItemCount=@ItemCount
END
END
END

commit transaction RMS_ITEMLOTTERY_USEITEM
GO

-----------------------------------------------------------------------------------------------------

千级发送P4-0-0-0-0脚本


以下代码请在企业管理器-储存过程-dbo.RMS_LEVEL1000MAIL里修改或替换:
/****** Object: Stored Procedure dbo.RMS_LEVEL1000MAIL Script Date: 2004-5-13 11:21:09 ******/
CREATE PROCEDURE RMS_LEVEL1000MAIL
@GameID varchar(14),
@Time datetime
AS
set nocount on
declare @MailCount int, @InsertMailError int, @InsertTickError int , @level int , @face int,@WindowKind int,@WindowIndex int,@permission int

set @MailCount = 0
set @InsertMailError = 1
set @InsertTickError = 1
begin transaction
select @MailCount = count(*) from tblMail1 where Recipient = @GameID and Time = @Time
while @MailCount > 0
begin
set @MailCount = 0
set @Time = dateadd(second, 1, @Time)
select @MailCount = count(*) from tblMail1 where Recipient = @GameID and Time = @Time
end
insert tblMail1 (Time, Recipient, Sender, ReadOrNot, Title, Line, Content, Item) values(@Time, @GameID, '[灵感工作室]', 0, '千级奖励', 20, '感谢您灵感工作室的支持 灵感客服:82228385', '')
select @InsertMailError = @@ERROR
select @Level=lvl from tblGameID1 where @GameID=GameID
begin

begin
select @face=face from tblGameID1 where @GameID=GameID
if @face=0
insert tblSpecialItem1 (ItemKind, ItemIndex, ItemDurability, Position, Map, X, Y, TileKind, GameID, WindowKind, WindowIndex, MiscTime, AttackGrade, StrengthGrade, SpiritGrade, DexterityGrade, PowerGrade) values (6, 107, 4, 2, 1, 100, 100, 1, @GameID, 100, 0, @Time, 0,0,0,0,0)
if @face=1
insert tblSpecialItem1 (ItemKind, ItemIndex, ItemDurability, Position, Map, X, Y, TileKind, GameID, WindowKind, WindowIndex, MiscTime, AttackGrade, StrengthGrade, SpiritGrade, DexterityGrade, PowerGrade) values (6, 108, 4, 2, 1, 100, 100, 1, @GameID, 100, 0, @Time, 0,0,0,0,0)
if @face=2
insert tblSpecialItem1 (ItemKind, ItemIndex, ItemDurability, Position, Map, X, Y, TileKind, GameID, WindowKind, WindowIndex, MiscTime, AttackGrade, StrengthGrade, SpiritGrade, DexterityGrade, PowerGrade) values (6, 110, 4, 2, 1, 100, 100, 1, @GameID, 100, 0, @Time, 0,0,0,0,0)
if @face=3
insert tblSpecialItem1 (ItemKind, ItemIndex, ItemDurability, Position, Map, X, Y, TileKind, GameID, WindowKind, WindowIndex, MiscTime, AttackGrade, StrengthGrade, SpiritGrade, DexterityGrade, PowerGrade) values (6, 110, 4, 2, 1, 100, 100, 1, @GameID, 100, 0, @Time, 0,0,0,0,0)
if @face=4
insert tblSpecialItem1 (ItemKind, ItemIndex, ItemDurability, Position, Map, X, Y, TileKind, GameID, WindowKind, WindowIndex, MiscTime, AttackGrade, StrengthGrade, SpiritGrade, DexterityGrade, PowerGrade) values (6, 112, 4, 2, 1, 100, 100, 1, @GameID, 100, 0, @Time, 0,0,0,0,0)
if @face=5
insert tblSpecialItem1 (ItemKind, ItemIndex, ItemDurability, Position, Map, X, Y, TileKind, GameID, WindowKind, WindowIndex, MiscTime, AttackGrade, StrengthGrade, SpiritGrade, DexterityGrade, PowerGrade) values (6, 114, 4, 2, 1, 100, 100, 1, @GameID, 100, 0, @Time, 0,0,0,0,0)
if @face=6
insert tblSpecialItem1 (ItemKind, ItemIndex, ItemDurability, Position, Map, X, Y, TileKind, GameID, WindowKind, WindowIndex, MiscTime, AttackGrade, StrengthGrade, SpiritGrade, DexterityGrade, PowerGrade) values (6, 111, 4, 2, 1, 100, 100, 1, @GameID, 100, 0, @Time, 0,0,0,0,0)
if @face=7
insert tblSpecialItem1 (ItemKind, ItemIndex, ItemDurability, Position, Map, X, Y, TileKind, GameID, WindowKind, WindowIndex, MiscTime, AttackGrade, StrengthGrade, SpiritGrade, DexterityGrade, PowerGrade) values (6, 100, 4, 2

, 1, 100, 100, 1, @GameID, 100, 0, @Time, 0,0,0,0,0)
if @face=8
insert tblSpecialItem1 (ItemKind, ItemIndex, ItemDurability, Position, Map, X, Y, TileKind, GameID, WindowKind, WindowIndex, MiscTime, AttackGrade, StrengthGrade, SpiritGrade, DexterityGrade, PowerGrade) values (6, 113, 4, 2, 1, 100, 100, 1, @GameID, 100, 0, @Time, 0,0,0,0,0)
end
end
select @InsertTickError = @@ERROR
If @InsertMailError = 0 and @InsertTickError = 0
begin
commit transaction
end
else
begin
rollback transaction
end
GO


-------------------------------------------------------------------------------------------------------------------------
DELETE FROM tblSpecialItem1
WHERE (ItemIndex = '200')
-------------------------------------------------------------------------------------------------------------
一个超级好的生化代码


改进了的生化培养存储过程
我修改了下原来的那个代码,现在不会改出金牌之类的东西,也不会从1改直接到3改,也不会不到设定的次数就变形!

CREATE PROCEDURE 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
set nocount on
begin transaction
DECLARE @Level real
DECLARE @ItemID int
SET @ItemID= 0
SET @Level= @NextAttackGrade+@NextStrengthGrade+@NextSpiritGrade+@NextDexterityGrade+@NextPowerGrade

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
IF (@Level/20=Round(@Level/20,0,1)) AND (@AttackGrade<4)
BEGIN
UPDATE tblSpecialItem1 SET ItemKind=@NextItemKind,ItemIndex=@ItemIndex+20,AttackGrade=@AttackGrade+1 WHERE ID=@ItemID
END
ELSE
BEGIN
UPDATE tblSpecialItem1 SET ItemKind=@NextItemKind,ItemIndex=@ItemIndex,AttackGrade=@AttackGrade,StrengthGrade=@NextStrengthGrade,SpiritGrade=@NextSpiritGrade,DexterityGrade=@NextDexterityGrade,PowerGrade=@NextPowerGrade WHERE ID=@ItemID
END
END
commit transaction
GO

---------------------------------------------------------------------------------------------------------------
上线送全套辅助魔法


CREATE TRIGGER [TRIGGER-QUEST] ON dbo.tblGameID1
FOR INSERT
AS
BEGIN
DECLARE @GAMEID CHAR(14)
SELECT @GAMEID= GAMEID FROM INSERTED
BEGIN
UPDATE TBLGAMEID1 SET SETimer='3:957000.8:932000.17:2062000.25:1979000.26:33532437.33:2468000.42:1967000.44:2036000.45:2016000.53:2079000.58:5000.64:3035000.67:2094000.76:2085000.' WHERE GAMEID IN (SELECT GAMEID FROM INSERTED)
END
E

ND


PS:如何在人物身上加入装备
在数据库里有个表文件tblSpecialItem1中。。把水代码200换上,人物名写上就行
ID不用填,系统自动编号;Itemkind是物品种类,特装和生化是6;ItemIndex是物品编号,详见上帖;ItemDurability是物品耐久度,特装的话,4为9色;Position是物品位置,0为地上,1为人物身上;Map,X,Y分别为物品所在地图、坐标(当Position为0时有效);Tilekind好像是物品存在与否,1为存在,0为已经使用完或消失(这个是猜测,不能肯定);GameID为物品所有人ID(你要改,当然是写你名字拉~~);Windowkind是物品在人物的何处,1为物品栏即F3,2为装备栏即F4,3为快捷栏即F8;WindowIndex为物品所在栏的位置顺序,0为第一格,1为第二格,如此类推;MiscTime不重要的某某时间,随便填,也可以让系统自动生成,AttackGrade StrengthGrade SpiritGrade DexterityGrade PowerGrade为生化的五个属性,AttackGrade 是等级,0---无,1--R,2---G,3---S,4---P,StrengthGrade SpiritGrade DexterityGrade PowerGrade分别是力,意,敏,骨四个属性。。
-------------------
以上就这么多,以后再研究

相关文档
相关文档 最新文档