USE [SRO_VT_SHARD] GO 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 Hero
التعديل الأخير تم بواسطة Hero ; 02-10-2014 الساعة 06:38 PM