here is.Change your _InsertSiegeFortressStruct procedure with this one
Code:
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
Enjoy