
Originally Posted by
sk1zzo
Code:
//==========================================================================
//Project: NaMEch
//Sources: NaM4
//Re-Struct & Fixes: Echy-
//Information: Configuracion del Castle Siegue
//=========================================================================
0
7 // ¿Cuántos días durará el ciclo completo del evento?
end
//=========================================================================
// Configuracion de los periodos..
//=========================================================================
// ID Período Dia Horas Minutos
1
1 0 0 0 // periodo de registro
2 1 23 59 // estado de inactividad
3 2 0 0 // registro Mark Of The Lord
4 5 0 0 // estado de inactividad
5 5 12 0 // notificacion a las guilds
6 5 19 0 // preparacion para castle siege
7 6 16 0 // comienzo castle siege
8 6 18 0 // fin castle siege
9 7 0 0 // fin del ciclo (automaticamente vuelve al estado 1)
end
//=========================================================================
// Configuracion de los NPC en Loren
//=========================================================================
// NPC ID Store in DB(0/1)?? Def Recover HP Start HP SX SY DX DY DIR
//----------------------------------------------------------------------------------------------------------------------------------
2
283 1 1 1 0 0 400000 94 227 -1 -1 1 //Guardian Statue
283 2 1 1 0 0 400000 94 182 -1 -1 1 //Guardian Statue
283 3 1 1 0 0 400000 82 130 -1 -1 1 //Guardian Statue
283 4 1 1 0 0 400000 107 130 -1 -1 1 //Guardian Statue
277 1 1 1 0 0 500000 93 204 -1 -1 1 //Castle Gate
277 2 1 1 0 0 500000 81 161 -1 -1 1 //Castle Gate
277 3 1 1 0 0 500000 107 161 -1 -1 1 //Castle Gate
277 4 1 1 0 0 500000 67 114 -1 -1 1 //Castle Gate
277 5 1 1 0 0 500000 93 114 -1 -1 1 //Castle Gate
277 6 1 1 0 0 500000 119 114 -1 -1 1 //Castle Gate
288 1 0 1 0 0 800000 75 130 -1 -1 1 //Canon Tower
288 2 0 1 0 0 800000 88 130 -1 -1 1 //Canon Tower
288 3 0 1 0 0 800000 99 130 -1 -1 1 //Canon Tower
288 4 0 1 0 0 800000 114 130 -1 -1 1 //Canon Tower
288 5 0 1 0 0 800000 94 151 -1 -1 1 //Canon Tower
288 6 0 1 0 0 800000 88 182 -1 -1 1 //Canon Tower
288 7 0 1 0 0 800000 100 182 -1 -1 1 //Canon Tower
288 8 0 1 0 0 800000 94 221 -1 -1 1 //Canon Tower
288 9 0 1 0 0 800000 94 233 -1 -1 1 //Canon Tower
215 1 0 1 0 0 10000 94 242 -1 -1 1 //Shield
222 1 0 1 0 0 10000 80 188 -1 -1 1 //Slingshot Defense
222 2 0 1 0 0 10000 105 188 -1 -1 1 //Slingshot Defense
221 1 0 2 0 0 10000 63 19 -1 -1 5 //Slingshot Attack
221 2 0 2 0 0 10000 119 19 -1 -1 5 //Slingshot Attack
end
go to DB\MuOnline\Programmibility> stored procedures on DB> and replace all the cs_ tables with these:
WZ_CS_CheckSiegeGuild
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_CheckSiegeGuildList] Script Date: 04/11/2018 16:13:28 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER Procedure [dbo].[WZ_CS_CheckSiegeGuildList]
@szGuildName varchar(8)
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
DECLARE @iEnd INT
SELECT @iEnd = SIEGE_ENDED FROM MuCastle_DATA
IF @iEnd = 1
BEGIN
SELECT 0 As QueryResult
END
ELSE IF EXISTS ( SELECT GUILD_NAME FROM MuCastle_SIEGE_GUILDLIST WITH (READUNCOMMITTED)
WHERE GUILD_NAME = @szGuildName)
BEGIN
SELECT 1 As QueryResult
END
ELSE
BEGIN
IF EXISTS ( SELECT REG_SIEGE_GUILD FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE REG_SIEGE_GUILD = @szGuildName AND IS_GIVEUP = 0)
BEGIN
SELECT 1 As QueryResult
END
ELSE
BEGIN
SELECT 0 As QueryResult
END
END
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_GetAllGuildMarkRegInfo
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_GetAllGuildMarkRegInfo] Script Date: 04/11/2018 16:14:00 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER Procedure [dbo].[WZ_CS_GetAllGuildMarkRegInfo]
@iMapSvrGroup SMALLINT
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
SELECT TOP 100 * FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup
ORDER BY SEQ_NUM DESC
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_GetCalcRegGuildList
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_GetAllGuildMarkRegInfo] Script Date: 04/11/2018 16:14:00 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER Procedure [dbo].[WZ_CS_GetAllGuildMarkRegInfo]
@iMapSvrGroup SMALLINT
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
SELECT TOP 100 * FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup
ORDER BY SEQ_NUM DESC
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_GetCastleTotalInfo
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_GetCastleTotalInfo] Script Date: 04/11/2018 16:14:52 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_CS_GetCastleTotalInfo]
@iMapSvrGroup SMALLINT,
@iCastleEventCycle INT
AS
BEGIN
DECLARE @iCastleSiegeTerm INT
SET @iCastleSiegeTerm = @iCastleEventCycle
DECLARE @iFirstCreate INT
SET @iFirstCreate = 0
BEGIN TRANSACTION
SET NOCOUNT ON
IF NOT EXISTS ( SELECT MAP_SVR_GROUP FROM MuCastle_DATA WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup)
BEGIN
DECLARE @dtStartDate datetime
DECLARE @dtEndDate datetime
DECLARE @dtStartDateString varchar(32)
DECLARE @dtEndDateString varchar(32)
SET @dtStartDate = GetDate()
SET @dtEndDate = DATEADD(dd, @iCastleSiegeTerm, GetDate())
SET @dtStartDateString = CAST(DATEPART(YY, @dtStartDate) AS char(4)) + '-' + CAST(DATEPART(MM, @dtStartDate) AS char(2)) + '-' + CAST(DATEPART(DD, @dtStartDate) AS char(2)) + ' 00:00:00'
SET @dtEndDateString = CAST(DATEPART(YY, @dtEndDate) AS char(4)) + '-' + CAST(DATEPART(MM, @dtEndDate) AS char(2)) + '-' + CAST(DATEPART(DD, @dtEndDate) AS char(2)) + ' 00:00:00'
INSERT INTO MuCastle_DATA VALUES (
@iMapSvrGroup,
@dtStartDateString,
@dtEndDateString,
0,
0,
0,
'',
0,
0,
0,
0
)
SET @iFirstCreate = 1
END
SELECT MAP_SVR_GROUP,
DATEPART(YY,SIEGE_START_DATE) As SYEAR,
DATEPART(MM,SIEGE_START_DATE) As SMONTH,
DATEPART(DD,SIEGE_START_DATE) As SDAY,
DATEPART(YY,SIEGE_END_DATE) As EYEAR,
DATEPART(MM,SIEGE_END_DATE) As EMONTH,
DATEPART(DD,SIEGE_END_DATE) As EDAY,
SIEGE_GUILDLIST_SETTED,
SIEGE_ENDED,
CASTLE_OCCUPY,
OWNER_GUILD,
MONEY,
TAX_RATE_CHAOS,
TAX_RATE_STORE,
TAX_HUNT_ZONE,
@iFirstCreate As FIRST_CREATE
FROM MuCastle_DATA WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_GetCsGuildUnionInfo
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_GetCsGuildUnionInfo] Script Date: 04/11/2018 16:15:15 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_CS_GetCsGuildUnionInfo]
@szGuildName VARCHAR(8)
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
DECLARE @iG_Union INT
SET @iG_Union = -1
IF EXISTS ( SELECT G_Name FROM Guild WITH (READUNCOMMITTED)
WHERE G_Name = @szGuildName)
BEGIN
SELECT @iG_Union = G_Union
FROM Guild WITH (READUNCOMMITTED)
WHERE G_Name = @szGuildName
END
IF (@iG_Union = 0)
BEGIN
SELECT @szGuildName As GUILD_NAME
END
ELSE
BEGIN
SELECT G_Name As GUILD_NAME
FROM Guild WITH (READUNCOMMITTED)
WHERE G_Union = @iG_Union
END
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_GetGuildMarkRegInfo
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_GetGuildMarkRegInfo] Script Date: 04/11/2018 16:15:39 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_CS_GetGuildMarkRegInfo]
@iMapSvrGroup SMALLINT,
@szGuildName VARCHAR(8)
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
SELECT * FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName
ORDER BY SEQ_NUM ASC
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_GetSiegeGuildInfo
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_GetSiegeGuildInfo] Script Date: 04/11/2018 16:15:59 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_CS_GetSiegeGuildInfo]
@iMapSvrGroup SMALLINT
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
SELECT *
FROM MuCastle_SIEGE_GUILDLIST WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_ModifyGuildGiveUp
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_ModifyGuildGiveUp] Script Date: 04/11/2018 16:16:41 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER Procedure [dbo].[WZ_CS_ModifyGuildGiveUp]
@iMapSvrGroup SMALLINT,
@szGuildName VARCHAR(8),
@iisGiveUp INT
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
IF EXISTS ( SELECT MAP_SVR_GROUP FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName)
BEGIN
DECLARE @iMarkCount INT
SELECT @iMarkCount = REG_MARKS FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName
UPDATE MuCastle_REG_SIEGE
SET IS_GIVEUP = @iisGiveUp, REG_MARKS = 0
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName
SELECT 1 As QueryResult, @iMarkCount As DEL_MARKS
END
ELSE
BEGIN
SELECT 2 As QueryResult, 0 As DEL_MARKS
END
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_ModifyGuildMarkRegCount
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_ModifyGuildMarkRegCount] Script Date: 04/11/2018 16:16:51 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER Procedure [dbo].[WZ_CS_ModifyGuildMarkRegCount]
@iMapSvrGroup SMALLINT,
@szGuildName VARCHAR(8),
@iMarkCount INT
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
IF EXISTS ( SELECT MAP_SVR_GROUP FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName)
BEGIN
UPDATE MuCastle_REG_SIEGE
SET REG_MARKS = @iMarkCount
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName
SELECT 1 As QueryResult
END
ELSE
BEGIN
SELECT 0 As QueryResult
END
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_ModifyGuildMarkReset
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_ModifyGuildMarkReset] Script Date: 04/11/2018 16:17:19 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER Procedure [dbo].[WZ_CS_ModifyGuildMarkReset]
@iMapSvrGroup SMALLINT,
@szGuildName VARCHAR(8)
AS
BEGIN
BEGIN TRANSACTION
DECLARE @iMarkCount INT
DECLARE @bIsGiveUp INT
SET NOCOUNT ON
IF EXISTS ( SELECT MAP_SVR_GROUP FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName)
BEGIN
SELECT @iMarkCount = REG_MARKS, @bIsGiveUp = IS_GIVEUP
FROM MuCastle_REG_SIEGE
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName
IF (@iMarkCount > 0)
BEGIN
IF (@bIsGiveUp = 0)
BEGIN
UPDATE MuCastle_REG_SIEGE
SET REG_MARKS = 0
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName
SELECT 1 As QueryResult, @iMarkCount As DEL_MARKS
END
ELSE
BEGIN
SELECT 2 As QueryResult, 0 As DEL_MARKS
END
END
ELSE
BEGIN
SELECT 1 As QueryResult, 0 As DEL_MARKS
END
END
ELSE
BEGIN
SELECT 0 As QueryResult, 0 As DEL_MARKS
END
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_ReqRegGuildMark
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_ReqRegGuildMark] Script Date: 04/11/2018 16:17:50 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_CS_ReqRegGuildMark]
@iMapSvrGroup SMALLINT,
@szGuildName VARCHAR(8)
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
IF EXISTS ( SELECT MAP_SVR_GROUP FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName)
BEGIN
DECLARE @bIS_GIVEUP INT
SELECT @bIS_GIVEUP = IS_GIVEUP FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName
IF (@bIS_GIVEUP = 0)
BEGIN
UPDATE MuCastle_REG_SIEGE
SET REG_MARKS = REG_MARKS + 1
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName
SELECT 1 As QueryResult, REG_MARKS
FROM MuCastle_REG_SIEGE WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup and REG_SIEGE_GUILD = @szGuildName
END
ELSE
BEGIN
SELECT 0 As QueryResult, 0 As REG_MARKS
END
END
ELSE
BEGIN
SELECT 0 As QueryResult, 0 As REG_MARKS
END
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_SetSiegeGuildInfo
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_SetSiegeGuildInfo] Script Date: 04/11/2018 16:18:35 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_CS_SetSiegeGuildInfo]
@iMapSvrGroup SMALLINT,
@szGuildName VARCHAR(8),
@iGuildID INT,
@iGuildInvolved INT
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
INSERT INTO MuCastle_SIEGE_GUILDLIST
VALUES (@iMapSvrGroup, @szGuildName, @iGuildID, @iGuildInvolved)
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
WZ_CS_SetSiegeGuildOK
Code:
USE [MuOnline]
GO
/****** Object: StoredProcedure [dbo].[WZ_CS_SetSiegeGuildOK] Script Date: 04/11/2018 16:19:03 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_CS_SetSiegeGuildOK]
@iMapSvrGroup SMALLINT
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
IF EXISTS ( SELECT MAP_SVR_GROUP FROM MuCastle_DATA WITH (READUNCOMMITTED)
WHERE MAP_SVR_GROUP = @iMapSvrGroup)
BEGIN
UPDATE MuCastle_DATA
SET SIEGE_GUILDLIST_SETTED = 1
WHERE MAP_SVR_GROUP = @iMapSvrGroup
SELECT 1 As QueryResult
END
ELSE
BEGIN
SELECT 0 As QueryResult
END
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
END
If u dont have some of these tables ignore them then but replace the codes to all the tables u do and test!