- --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
复制代码 |