| 复制代码--Electro Shock Private Server Gaming--
--Procedure Create Time 10.05.2008--
--Please Do Not Change Procedures--
--Lütfen Procedure Üstünde Değişiklik Yapmayınız--
CREATE procedure item_encode
@StrUserID varchar(30)
AS
DECLARE
@length int,
@row int,
@i int,
@Num int,
@pos int,
@dur int,
@dur1 int,
@ext int,
@StackSize1 int,
@strName varchar(30),
@strExtName varchar(30),
@CNum varbinary(4),
@cdur varchar(2),
@Source tinyint,
@NEWNum int,
@StackSize int,
@cstack varchar(2),
@InventorySlot int
    set @InventorySlot=0
    set @i = 14*0
    set @length = 401
select @row=count( * ) from userdata where struserid=@StrUserID
if @row>0 
  begin
Select @Num=Num,
@dur = Durability,
@StackSize1 = stacksize,
        @StrUserID = strUserID
        From INVENTORY_EDIT
        Where strUserID = @StrUserID and InventorySlot=@InventorySlot
    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(@StackSize1 as varbinary(2)), 2, 1)+Substring(cast(@StackSize1 as varbinary(2)), 1, 1) as varchar(2))
    update UserData set strItem = cast(cast(cast(@CNum as varchar(4)) + @Cdur + @Cstack as varchar(8))   as binary(400)) where strUserID = @strUserID
set @i=@i+8
set @InventorySlot=@InventorySlot+1
WHILE @InventorySlot < 50
Begin
Select @Num=Num,
@dur = Durability,
@StackSize1 = stacksize,
        @StrUserID = strUserID
        From INVENTORY_EDIT
        Where strUserID = @StrUserID and InventorySlot=@InventorySlot
    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(@StackSize1 as varbinary(2)), 2, 1)+Substring(cast(@StackSize1 as varbinary(2)), 1, 1) as varchar(2))
    update UserData set strItem = cast( substring(strItem, 1, @i) + cast(cast(@CNum as varchar(4)) + @Cdur + @Cstack as varchar(8)) + substring(strItem, @i+8, 401-@i) as binary(400)) where strUserID = @strUserID
set @i=@i+8
set @InventorySlot=@InventorySlot+1
end
end
GO
 |