عرض مشاركة واحدة
قديم 24-04-2014, 02:32 PM   #21

magic99
عضو فعال





• الانـتـسـاب » Jul 2010
• رقـم العـضـويـة » 71701
• المشـــاركـات » 334
• الـدولـة » Giza
• الـهـوايـة » SQL
• اسـم الـسـيـرفـر »
• الـجـنـس » Male
• نقـاط التقييم » 17
magic99 صـاعـد

magic99 غير متواجد حالياً



(25)



اعمل الكويري ده وهيشتغل من غير اي مشاكل
truncate table _InvCOS
truncate table _TimedJobForPet
truncate table _CharCOS
--------------------------------------------------------------
update _items set Data = 0

كود بلغة HTML:
USE [Shard]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewCOS]    Script Date: 4/24/2014 1:30:38 PM ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewCOS]
	@OwnerCharID	int,
	@RefObjID	int,
	@Level		int,
	@HP		int,
	@MP		int,
	@HGP		int,
	@KeeperNPC	int,
	@State		int,
	@InventorySize  int,
	@itemID		int,
	@PickItemConfig tinyint,
	@RentEndTime 	smalldatetime
as
begin tran
	declare @COS_ID	int
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--		pet_skill_item (ÃÖ¼±È£)		
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	declare @MaxInventorySize tinyint
	select @MaxInventorySize = InventorySize
	from _RefObjCommon, _RefObjChar
	where _RefObjCommon.ID = @RefObjID and _RefObjCommon.Link = _RefObjChar.ID
	
	if( @@rowcount = 0 or @MaxInventorySize < @InventorySize )
	begin
		rollback tran
		return -5
	end
	insert into _CharCOS values (@OwnerCharID, @RefObjID, @HP, @MP, @KeeperNPC, @State, NULL, @Level, 0, @HGP, @PickItemConfig, @RentEndTime)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	set @COS_ID = @@identity
	if (@COS_ID = 0 OR @@error <> 0)
	begin
		rollback tran
		return -1
	end
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--		pet_skill_item (ÃÖ¼±È£)		
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	if (@MaxInventorySize > 0)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	begin
		declare @Slot  int
		set @Slot = 0
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--		pet_skill_item (ÃÖ¼±È£)		
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
		while (@Slot < @MaxInventorySize)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
		begin
			insert into _InvCOS values(@COS_ID, @Slot, 0)
			if (@@error <> 0)
			begin
				-- Àκ¥Å丮 »y¼º ½ÇÆ?!
				rollback tran
				return -2
			end	
		
			set @Slot = @Slot + 1
		end
	end
	
/*	--´õ ÀÌ»ó ÀÌ Ä÷³¿¡´Â µ¥ÀÌÅ͸¦ ³ÖÁö ¾Ê´Â´Ù!
	UPDATE _Char SET EngagedCOS = @COS_ID WHERE CharID = @OwnerCharID
	IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
	BEGIN
		ROLLBACK TRANSACTION
		RETURN -3
	END
*/
	if( @itemID <> 0 )
	begin
		update _Items set Data = @COS_ID where ID64 = @itemID
		if( @@error <> 0 or @@rowcount = 0 )
		begin
			rollback transaction
			return -4
		end
	end
	commit tran
return @COS_ID
-----------------------------------------------------------------------------




رد مع اقتباس