عرض مشاركة واحدة
قديم 06-01-2014, 01:36 AM   #20

che_9299





• الانـتـسـاب » Feb 2013
• رقـم العـضـويـة » 109807
• المشـــاركـات » 2,901
• الـدولـة » اسكندريه
• الـهـوايـة » برمجه
• اسـم الـسـيـرفـر » No Server
• الـجـنـس » Male
• نقـاط التقييم » 100
che_9299 جـيـدche_9299 جـيـد

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



افتراضي



SQL Fix
كود:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER OFF
GO

ALTER PROCEDURE [dbo].[_InsertSiegeFortressStruct]
	@FortressID		INT
AS
	DECLARE @RefEventStructID	INT
	DECLARE @StructCodeName    	VARCHAR(129)
	DECLARE @FortressName		VARCHAR(129)
	
	IF @FortressID <= 0
	BEGIN
		RETURN -1
	END

	-- Get the FortressName (FORTRESS_JANGAN)
	SELECT @FortressName = CodeName128 FROM _RefSiegeFortress WITH (NOLOCK) WHERE FortressID = @FortressID
	--print(@FortressName)
	
	-- Get the GroupCodeName (GROUP_FORTRESS_JANGAN)
	DECLARE @FortressGroupCodeName VARCHAR(129)
	SELECT @FortressGroupCodeName = GroupCodeName128 FROM _RefGame_World_Config WHERE [Value] = @FortressName
	--print(@FortressGroupCodeName)

	-- Get the WorldCodeName (INS_FORT_JA)
	DECLARE @FortressWorldCodeName VARCHAR(129)
	SELECT @FortressWorldCodeName = WorldCodeName128 FROM _RefGame_World WHERE ConfigGroupCodeName128 = @FortressGroupCodeName
	--print(@FortressWorldCodeName)

	DECLARE FortressStructCursor CURSOR  FOR
	SELECT [ID],strParam1  FROM _RefEventZone WITH (NOLOCK) WHERE Service = 1 AND strParam2 = @FortressWorldCodeName

	OPEN FortressStructCursor
	FETCH NEXT FROM FortressStructCursor INTO @RefEventStructID, @StructCodeName
	WHILE (@@fetch_status = 0)
	BEGIN	
		DECLARE @RefObjID   	INT
		DECLARE @Link	INT
		
		SET @RefObjID = 0
		SET @Link = 0

		SELECT @RefObjID = [ID], @Link = Link FROM _RefObjCommon WITH (NOLOCK) WHERE CodeName128 = @StructCodeName
		IF @RefObjID <= 0
		BEGIN
			FETCH NEXT FROM FortressStructCursor INTO @RefEventStructID, @StructCodeName
			CONTINUE
		END

		DECLARE @MaxHP   INT
		SELECT @MaxHP = MaxHP FROM _RefObjChar WITH (NOLOCK) WHERE [ID] = @Link
		IF @MaxHP < 0
		BEGIN
			FETCH NEXT FROM FortressStructCursor INTO @RefEventStructID, @StructCodeName
			CONTINUE
		END

		IF NOT EXISTS (SELECT * FROM _SiegeFortressStruct  WITH (NOLOCK)  WHERE RefEventStructID = @RefEventStructID)
		BEGIN
			-- ·¹ئغ·±½؛ إ×ہج؛ي؟،¼* ئ÷ئ®¸®½؛ ہخ½؛إد½؛¸¦ ¹ج¸® ¸¸µç´ظ. °ھہ؛ ¸ًµخ default·خ ¼¼ئأ!
			-- Translation: Create a table in advance on the fortress instance reference. All values ​​are set to default!
			INSERT INTO [dbo]._SiegeFortressStruct VALUES ( @FortressID, 0, @RefEventStructID, @RefObjID, @MaxHP, GetDate(), 0)
		END

		FETCH NEXT FROM FortressStructCursor INTO @RefEventStructID, @StructCodeName
	END

	CLOSE FortressStructCursor
	DEALLOCATE FortressStructCursor	

	RETURN 0	
	-- by Daxter
وبعديها
كود:
-- Jangan
EXEC	[dbo].[_InsertSiegeFortressStruct]
		@FortressID = 1
-- Hotan
EXEC	[dbo].[_InsertSiegeFortressStruct]
		@FortressID = 3
-- Bandit
EXEC	[dbo].[_InsertSiegeFortressStruct]
		@FortressID = 6