送物品的存储
BEGIN TRANIF @Num <> 0
BEGIN
IF @StackSize > 1
BEGIN
SET @dur = 1
END
SET @CNum = substring(cast(@Num as varbinary(4)), 4, 1) + substring(cast(@Num as varbinary(4)), 3, 1) + substring(cast(@Num as varbinary(4)), 2, 1) + substring(cast(@Num as varbinary(4)), 1, 1)
SET @Cdur = cast(substring(cast(@dur as varbinary(2)), 2, 1)+substring(cast(@dur as varbinary(2)), 1, 1) as varchar(2))
SET @Cstack = cast(substring(cast(@StackSize as varbinary(2)), 2, 1)+substring(cast(@StackSize as varbinary(2)), 1, 1) as varchar(2))
IF @Num <> 0
BEGIN
IF @location = 1
BEGIN
SELECT @strItem = strItem FROM USERDATA WHERE strUserId = @playerID
SET @x = 1
WHILE @x <= 400
BEGIN
IF .GetNum(@strItem, @x) = 0
BEGIN
SET @pos = @x
SET @x = 400
END
SET @x = @x + 8
END
UPDATE USERDATA SET strItem = cast(substring(strItem, 1, @pos-1) + cast(cast(@CNum as varchar(4)) + @Cdur + @Cstack as varchar(8)) + substring(strItem, @pos + 8, 401 - @pos) as binary(400)) WHERE strUserID = @playerID
END
ELSE
BEGIN
SELECT @WarehouseData = WareHouseData FROM WAREHOUSE WHERE strAccountID = @playerID
SET @x = 1
WHILE @x <= 3200
BEGIN
IF .GetWNum(@WarehouseData, @x) = 0
BEGIN
SET @pos = @x
SET @x = 3200
END
SET @x = @x + 8
END
UPDATE WAREHOUSE SET WareHouseData = cast(substring(WareHouseData, 1, @pos - 1) + cast(cast(@CNum as varchar(4)) + @Cdur + @Cstack as varchar(8)) + substring(WareHouseData, @pos + 8, 3208 - @pos) as binary(3200)) WHERE strAccountID = @playerID
END
END
END
COMMIT TRAN
RETURN用法exec insert_item 'ID', Item Id , Piece 謝謝分享~~~ 适用于哪些版本 什么版本都能用哈哈 1# ctgwglzc
这个要怎么用啊 很好的东西,谢谢分享! 這個怎麼測試ct可以簡單說明一下嗎?謝謝 不错 写GM工具的话也可以用到 这个不够先进
也不够简单
如果玩家在线也会容易无效 9# aiiq
您說清楚點吧 聽不懂啊~~~哈哈
页:
[1]
2