Restructure repository to include all source folders

Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>û<EFBFBD><C3BB><EFBFBD><EFBFBD> <20>۾<EFBFBD> <20>Ϸ<EFBFBD>
<09>Ͻ<EFBFBD> : 2004-12-15
<09>۾<EFBFBD><DBBE><EFBFBD><EFBFBD><EFBFBD> : 1) TblFertilityInfo , TblCampMineralInfo <20><><EFBFBD><EFBFBD>
2) TblCampInfo <20><><EFBFBD><EFBFBD> - [snObjectType],[tnSubState] <20>÷<EFBFBD><C3B7>߰<EFBFBD>
3) USPCampCreate <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD> <20><><EFBFBD><EFBFBD>
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڼ<EFBFBD><DABC><EFBFBD> <20><>û<EFBFBD><C3BB><EFBFBD><EFBFBD> <20>۾<EFBFBD> <20>Ϸ<EFBFBD>
<09>Ͻ<EFBFBD> : 2004-12-15
<09>۾<EFBFBD><DBBE><EFBFBD><EFBFBD><EFBFBD> : 1) CharInfoEx <20><><EFBFBD><EFBFBD> - NameChangeCount <20>÷<EFBFBD> <20>߰<EFBFBD>
2) GetCharInfoEx , UpdateCharInfoEx <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD> <20><><EFBFBD><EFBFBD>

View File

@@ -0,0 +1,89 @@
/***************************************************
*
* 2004.11.01
* You should make the database named 'CharDelHostory' before you execute this script
***************************************************/
GO
USE CharDelHistory
GO
CREATE TABLE [dbo].[DelCharInfo] (
[NewServerGroupID] TINYINT NOT NULL,
[CID] [int] NOT NULL ,
[Name] [varchar] (16) NULL ,
[Sex] [tinyint] NULL ,
[Hair] [tinyint] NULL ,
[Face] [tinyint] NULL ,
[Race] [tinyint] NULL ,
[Class] [smallint] NULL ,
[Fame] [int] NULL ,
[Mileage] [int] NULL ,
[Guild] [int] NULL ,
[Party] [int] NULL ,
[Level] [tinyint] NULL ,
[Equip] [binary] (30) NULL ,
[Gold] [int] NULL ,
[IP] [smallint] NULL ,
[STR] [smallint] NULL ,
[DEX] [smallint] NULL ,
[CON] [smallint] NULL ,
[Intell] [smallint] NULL ,
[WIS] [smallint] NULL ,
[HP] [smallint] NULL ,
[MP] [smallint] NULL ,
[Exp] [bigint] NULL ,
[Chance] [tinyint] NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[DelCharItem] (
[NewServerGroupID] TINYINT NOT NULL,
[CID] [int] NOT NULL ,
[Quick] [binary] (100) NULL ,
[Equip] [binary] (1440) NULL ,
[Inventory] [binary] (5120) NULL ,
[Extra] [binary] (512) NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[DelCharItemEx] (
[NewServerGroupID] TINYINT NOT NULL ,
[CID] [int] NOT NULL ,
[Exchange] [binary] (1284) NULL ,
[TempInven] [binary] (1440) NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[DelCharSkill] (
[NewServerGroupID] TINYINT NOT NULL ,
[CID] [int] NOT NULL ,
[Skill] [binary] (84) NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[TblCharDelHistory_LOG] (
[intCID] [int] NULL ,
[intUID] [int] NULL ,
[dateInsertTime] [smalldatetime] NULL ,
[dateDeleteTime] [smalldatetime] NULL ,
[NewServerGroupID] TINYINT NULL ,
[OldServerGroupID] TINYINT NULL
) ON [PRIMARY]
GO
CREATE INDEX [IDX_DelCharInfo_CID] ON [dbo].[DelCharInfo]([CID],[NewServerGroupID]) ON [PRIMARY]
GO
CREATE INDEX [IDX_DelCharItem_CID] ON [dbo].[DelCharItem]([CID],[NewServerGroupID]) ON [PRIMARY]
GO
CREATE INDEX [IDX_DelCharItemEx_CID] ON [dbo].[DelCharItemEx]([CID],[NewServerGroupID]) ON [PRIMARY]
GO
CREATE INDEX [IDX_DelCharSkill_CID] ON [dbo].[DelCharSkill]([CID],[NewServerGroupID]) ON [PRIMARY]
GO

View File

@@ -0,0 +1,223 @@
/**************************************************
--<2D><><EFBFBD>յ<EFBFBD> <20><><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>DB<44><42><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD> <20>Ѵ<EFBFBD>.
-- dbo.UserInfoConvertView <20><> <20><><EFBFBD><EFBFBD> <20>ؾ<EFBFBD><D8BE>Ѵ<EFBFBD>.
****************************************************/
GO
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CREATE TABLE dbo.TblUnifiedGuildList
(
BeforeGuildID INT NOT NULL
, OldServerGroupID TINYINT NOT NULL
, NewGuildID INT NOT NULL IDENTITY(1000,1)
, BeforeGName VARCHAR(20)
, NewGName VARCHAR(20)
)
GO
CREATE TABLE [TblUnifiedCharList_TEMP] (
[UID] [int] NOT NULL ,
[OldServerGroupID] [tinyint] NOT NULL ,
[BeforeCID] [int] NOT NULL ,
[NewCID] [int] IDENTITY (1000, 1) NOT NULL PRIMARY KEY,
[BeforeCharName] [varchar] (20) NOT NULL ,
[NewCharName] [varchar] (20) ,
[BeforeGuildID] [int] NULL ,
[NewGuildID] [int] NULL
) ON [PRIMARY]
GO
CREATE INDEX Idx_TblUnifiedCharList_U_Old ON [TblUnifiedCharList_TEMP] (UID,OldServerGroupID)
GO
/*******************************************************************************************
*
* <09><><EFBFBD><EFBFBD> DB<44><42><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><> ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
*<><C4B3><EFBFBD>ͱ⺻<CDB1><E2BABB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2BABB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TblUnifiedCharList <20><> TblUnifiedGuildList <20><> <20><><EFBFBD><EFBFBD>
********************************************************************************************/
GO
CREATE PROC procCreateMetaData @ServerGroupNum TINYINT,@DBName VARCHAR(20)
AS
SET NOCOUNT ON
DECLARE @String NVARCHAR(4000)
SET @String =
'INSERT INTO TblUnifiedCharList_TEMP (UID,OldServerGroupID,BeforeCID,BeforeCharName,NewCharName,BeforeGuildID,NewGuildID) ' +
'SELECT A.UID,@ServerGroupNum,A.CID,B.Name,B.Name,Guild,Guild FROM ' + @DBName + '.dbo.UserInfoConvertView A join ' + @DBName + '.dbo.CharInfo B ON A.CID = B.UID '+
'INSERT INTO TblUnifiedGuildList (BeforeGuildID,OldServerGroupID,BeforeGName,NewGName) '+
'SELECT nGuildID,@ServerGroupNum,strGuildName,strGuildName FROM ' + @DBName + '.dbo.TblGuildInfo'
EXEC sp_executesql @String,N'@ServerGroupNum TINYINT',@ServerGroupNum
GO
/****************************************************************************
*
* <09><><EFBFBD>յ<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD>Name<6D><65> <20>ߺ<EFBFBD><DFBA><EFBFBD><EFBFBD>θ<EFBFBD> üũ<C3BC>Ѵ<EFBFBD>.
* <09><><EFBFBD>յ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @nCount <20><><EFBFBD><EFBFBD> <20><>ġ<EFBFBD>ؾ<EFBFBD><D8BE>Ѵ<EFBFBD>.
****************************************************************************/
CREATE PROC procCheckCharInfoGuild @nCount int,@Server1 CHAR(1) = NULL,@Server2 CHAR(1) = NULL,
@Server3 CHAR(1) = NULL,@Server4 CHAR(1) = NULL,
@Server5 CHAR(1) = NULL,@Server6 CHAR(1) = NULL
AS
SET NOCOUNT ON
CREATE TABLE #TblUnifiedCIDList_TEMP
(
NewCharName VARCHAR(20) NOT NULL
)
INSERT INTO #TblUnifiedCIDList_TEMP
SELECT NewCharName FROM TblUnifiedCharList_TEMP GROUP BY NewCharName HAVING COUNT(*) > 1
DECLARE @ROWID INT
DECLARE @ServerGroupNum TINYINT
DECLARE @Initial CHAR(1)
DECLARE @TABLE TABLE
(
ROWID INT IDENTITY(1,1)
, ServerGroupNum TINYINT
)
INSERT INTO @TABLE
SELECT DISTINCT OldServerGroupID FROM TblUnifiedCharList_TEMP
SET @ROWID = @@ROWCOUNT
if ((@ROWID <> @nCount) OR (@nCount <= 0))
BEGIN
PRINT 'incorrect parameter counts'
RETURN
END
WHILE (@ROWID > 0)
BEGIN
SELECT @ServerGroupNum = ServerGroupNum
FROM @TABLE WHERE ROWID = @ROWID
-- <20><><EFBFBD>յ<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD>Name<6D><65> <20>ߺ<EFBFBD><DFBA><EFBFBD><EFBFBD>θ<EFBFBD> üũ<C3BC>Ѵ<EFBFBD>.
IF @ServerGroupNum = 1
SET @Initial = @Server1
ELSE IF @ServerGroupNum = 2
SET @Initial = @Server2
ELSE IF @ServerGroupNum = 3
SET @Initial = @Server3
ELSE IF @ServerGroupNum = 4
SET @Initial = @Server4
ELSE IF @ServerGroupNum = 5
SET @Initial = @Server5
ELSE IF @ServerGroupNum = 6
SET @Initial = @Server6
UPDATE A SET A.NewCharName = @Initial + A.NewCharName
FROM TblUnifiedCharList_TEMP A,#TblUnifiedCIDList_TEMP B
WHERE A.NewCharName = B.NewCharName AND OldServerGroupID = @ServerGroupNum
--<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ߺ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD>Ѵ<EFBFBD>.
UPDATE TblUnifiedGuildList SET NewGName = @Initial + NewGName
WHERE NewGName IN ( SELECT NewGName FROM TblUnifiedGuildList GROUP BY NewGName HAVING COUNT(*) > 1 )
AND OldServerGroupID = @ServerGroupNum
SET @ROWID = @ROWID - 1
END
-- <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> Guild <20><>ȣ <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
UPDATE A
SET A.NewGuildID = B.NewGuildID
FROM dbo.TblUnifiedCharList_TEMP A, dbo.TblUnifiedGuildList B
WHERE A.BeforeGuildID = B.BeforeGuildID AND A.OldServerGroupID = B.OldServerGroupID AND A.BeforeGuildID > 0
DROP TABLE #TblUnifiedCIDList_TEMP
GO
/*************************************************************************************************************************
*
* <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>.
*
* CharInfo , CharSkill , CharInfoEx , CharItem , CharItemEx , Friend , Quest , TblGuildInfo , TblUnifiedItemStore1 , TblUnifiedItemStore2
*
*************************************************************************************************************************/
GO
CREATE PROC procUnifingGameDB @ServerGroupNum TINYINT,@DBName VARCHAR(20)
AS
SET NOCOUNT ON
DECLARE @String NVARCHAR(4000)
SET @String =
'INSERT INTO CharInfo (CID,Name,Sex,Hair,Face,Race,Class,Fame,Mileage,Guild,Party,Level,Equip,Gold,IP,STR,DEX,CON,Intell,WIS,HP,Exp,Chance) ' +
'SELECT B.NewCID,NewCharName,Sex,Hair,Face,Nationality,Class,Fame,Mileage,B.NewGuildID,Party,Level,Equip,Gold,IP,STR,DEX,CON,Intell,WIS,HP,Exp,Chance '+
'FROM ' + @DBName + '.dbo.CharInfo A JOIN TblUnifiedCharList_TEMP B ON A.UID = B.BeforeCID WHERE OldServerGroupID = @ServerGroupNum '+
'INSERT INTO CharSkill (CID,Skill) ' +
'SELECT NewCID,Skill FROM ' + @DBName + '.dbo.CharSkill A JOIN TblUnifiedCharList_TEMP B ON A.UID = B.BeforeCID WHERE OldServerGroupID = @ServerGroupNum ' +
'INSERT INTO CharInfoEx (CID,Total,ServerID,Config) ' +
'SELECT NewCID,Total,ServerID,Config FROM ' + @DBName + '.dbo.CharInfoEx A JOIN TblUnifiedCharList_TEMP B ON A.UID = B.BeforeCID WHERE OldServerGroupID = @ServerGroupNum ' +
'INSERT INTO CharItem (CID,Quick,Equip,Inventory,Extra) ' +
'SELECT NewCID,Quick,Equip,Inventory,Extra FROM ' + @DBName + '.dbo.CharItem A JOIN TblUnifiedCharList_TEMP B ON A.UID = B.BeforeCID WHERE OldServerGroupID = @ServerGroupNum ' +
'INSERT INTO CharItemEx (CID,Exchange) ' +
'SELECT NewCID,Exchange FROM ' + @DBName + '.dbo.CharItemEx A JOIN TblUnifiedCharList_TEMP B ON A.UID = B.BeforeCID WHERE OldServerGroupID = @ServerGroupNum ' +
'INSERT INTO Quest (CID,Quest,History) ' +
'SELECT NewCID,Quest,History FROM ' + @DBName + '.dbo.Quest A JOIN TblUnifiedCharList_TEMP B ON A.UID = B.BeforeCID WHERE OldServerGroupID = @ServerGroupNum ' +
'INSERT INTO TblUnifiedItemStore1 (UID,OldServerGroupID,Password,Frag,Gold,Store) ' +
'SELECT UID,@ServerGroupNum,Password,ISNULL(Frag,1),Gold,Store FROM ' + @DBName + '.dbo.ItemStore1 ' +
'INSERT INTO TblUnifiedItemStore2 (UID,OldServerGroupID,Store) ' +
'SELECT UID,@ServerGroupNum,Store FROM ' + @DBName + '.dbo.ItemStore2 '
exec sp_executesql @String,N'@ServerGroupNum TINYINT',@ServerGroupNum
GO
CREATE PROC procUnifingGameDB_Guild @ServerGroupNum TINYINT,@DBName VARCHAR(20)
AS
SET NOCOUNT ON
DECLARE @String NVARCHAR(4000)
SET @String =
'INSERT INTO dbo.TblGuildInfo (nGuildID,strGuildName,tnGuildLevel,nGuildFame,nGuildGold,tLastLogout,tCheckMember,tGMLastLogout,bGuildMark,bRight,tnNationType,tChangeState) ' +
'SELECT NewGuildID,NewGName,tnGuildLevel,nGuildFame,nGuildGold,tLastLogout,tCheckMember,tGMLastLogout,bGuildMark,bRight,tnNationType,tChangeState ' +
'FROM ' + @DBName + '.dbo.TblGuildInfo A JOIN TblUnifiedGuildList B ON A.nGuildID = B.BeforeGuildID WHERE B.OldServerGroupID = @ServerGroupNum ' +
'INSERT INTO dbo.TblGuildMember (nGuildID,nCID,nPosition,nPositionInGuild,tLeaveGuildTime,nCampID) ' +
'SELECT B.NewGuildID,C.NewCID,nPosition,nPositionInGuild,tLeaveGuildTime,nCampID ' +
'FROM ' + @DBName + '.dbo.TblGuildMember A JOIN TblUnifiedGuildList B ON A.nGuildID = B.BeforeGuildID ' +
'JOIN TblUnifiedCharList_TEMP C ON A.nCID = C.BeforeCID WHERE B.OldServerGroupID =@ServerGroupNum AND C.OldServerGroupID = @ServerGroupNum AND C.NewGuildID > 0 '
exec sp_executesql @String,N'@ServerGroupNum TINYINT',@ServerGroupNum
GO

View File

@@ -0,0 +1,120 @@
/********************************************************************
*
* <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>ũ<EFBFBD><C5A9>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD> <20><>.
*
********************************************************************/
GO
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DB<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <EFBFBD><EFBFBD> ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
EXEC procCreateMetaData @ServerGroupNum = 1,@DBName ='AQUATICA'
EXEC procCreateMetaData @ServerGroupNum = 2,@DBName ='LOTUS'
EXEC procCreateMetaData @ServerGroupNum = 3,@DBName ='POTATOS'
--EXEC procCreateMetaData @ServerGroupNum = 4,@DBName ='MARS161.Highland'
--EXEC procCreateMetaData @ServerGroupNum = 5,@DBName ='MARS189.Aldia'
--EXEC procCreateMetaData @ServerGroupNum = 6,@DBName ='Unite'
GO
-- 3<><33>
DROP PROC procCreateMetaData
GO
INSERT INTO [TblUnifiedCharList] (UID,OldServerGroupID,BeforeCID,NewCID,BeforeCharName)
SELECT UID,OldServerGroupID,BeforeCID,NewCID,BeforeCharName FROM [TblUnifiedCharList_TEMP]
GO
--<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD> ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Name<EFBFBD><EFBFBD> <EFBFBD>ߺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>θ<EFBFBD> üũ<EFBFBD>Ѵ<EFBFBD>.
-- ó<><C3B3><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڸ<EFBFBD>ŭ <20><><EFBFBD>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE>Ѵ<EFBFBD>.
--EXEC procCheckCharInfoGuild 6,'S','K','I','H','A','U' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
EXEC procCheckCharInfoGuild 3,'A','L','P'
GO
-- <20≯<EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> üũ<C3BC>ϱ<EFBFBD>
IF EXISTS (SELECT NewCharName FROM TblUnifiedCharList_TEMP WHERE DATALENGTH(NewCharName) > 15)
BEGIN
UPDATE TblUnifiedCharList_TEMP
SET NewCharName = SUBSTRING(NewCharName,1,LEN(NewCharName)-2) + SUBSTRING(NewCharName,LEN(NewCharName),1)
WHERE DATALENGTH(NewCharName) > 15
END
IF EXISTS (SELECT NewGName FROM TblUnifiedGuildList WHERE DATALENGTH(NewGName) > 10 )
BEGIN
UPDATE TblUnifiedGuildList
SET NewGName = SUBSTRING(NewGName,1,LEN(NewGName)-2) + SUBSTRING(NewGName,LEN(NewGName),1)
WHERE DATALENGTH(NewGName) > 10
END
GO
DROP PROC procCheckCharInfoGuild
GO
/************************
*
* <20≯<EFBFBD>üũ<C3BC>κ<EFBFBD> <20>ߺ<EFBFBD><DFBA><EFBFBD><EFBFBD>θ<EFBFBD> Ȯ<><C8AE><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
*
*************************/
SELECT * FROM TblUnifiedCharList_TEMP WHERE NewCharName IN (
SELECT NewCharName FROM TblUnifiedCharList_TEMP GROUP BY NewCharName HAVING COUNT(*) > 1 )
--<EFBFBD>ߺ<EFBFBD>üũ Ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UPDATE A
SET A.NewCharName = A.NewCharName + '-'
FROM TblUnifiedCharList_TEMP A, (
SELECT NewCharName,MIN(NewCID) AS NewCID FROM TblUnifiedCharList_TEMP WHERE NewCharName IN (
SELECT NewCharName FROM TblUnifiedCharList_TEMP GROUP BY NewCharName HAVING COUNT(*) > 1 )
GROUP BY NewCharName ) B
WHERE A.NewCID = B.NewCID
-- <20≯<EFBFBD><CCB8><EFBFBD><EFBFBD>ڿ<EFBFBD> <20><> üũ
SELECT NewCharName FROM dbo.TblUnifiedCharList_TEMP WHERE DATALENGTH(NewCharName) > 15
-- <20>ߺ<EFBFBD><DFBA≯<EFBFBD> üũ
SELECT NewCharName FROM TblUnifiedCharList_TEMP GROUP BY NewCharName HAVING COUNT(*) > 1
-- <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD><CCB8><EFBFBD><EFBFBD>ڿ<EFBFBD> üũ
SELECT NewGName FROM dbo.TblUnifiedGuildList WHERE DATALENGTH(NewGName) > 10
-- <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> üũ
SELECT NewGName,Count(*) FROM TblUnifiedGuildList GROUP BY NewGName HAVING COUNT(*) > 1
-- <20≯<EFBFBD> <20>ߺ<EFBFBD><DFBA><EFBFBD><EFBFBD><EFBFBD> üũ : <20><><EFBFBD><EFBFBD><EFBFBD>Ѵٸ<D1B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD>ؾ<EFBFBD><D8BE>Ѵ<EFBFBD>.
IF EXISTS (SELECT NewCharName FROM dbo.TblUnifiedCharList_TEMP WHERE DATALENGTH(NewCharName) > 15 )
BEGIN
PRINT 'ERROR 1 -- DATALENGTH(NewCharName) > 15'
END
ELSE
BEGIN
IF EXISTS (SELECT NewCharName FROM dbo.TblUnifiedCharList_TEMP GROUP BY NewCharName HAVING COUNT(*) > 1)
BEGIN
PRINT 'ERROR 2 -- NewCharName HAVING COUNT(*) > 1'
END
ELSE
BEGIN
IF EXISTS (SELECT NewGName FROM dbo.TblUnifiedGuildList WHERE DATALENGTH(NewGName) > 10 )
BEGIN
PRINT 'ERROR 1 -- DATALENGTH(NewGName) > 10'
END
ELSE
BEGIN
IF EXISTS (SELECT NewGName FROM dbo.TblUnifiedGuildList GROUP BY NewGName HAVING COUNT(*) > 1 )
BEGIN
PRINT 'ERROR 2 -- NewGName HAVING COUNT(*) > 1'
END
ELSE
BEGIN
PRINT 'SUCCESS...'
END
END
END
END

View File

@@ -0,0 +1,103 @@
-- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
EXEC procUnifingGameDB @ServerGroupNum = 1,@DBName = 'AQUATICA'
PRINT 'Completed procUnifingGameDB : AQUATICA'
GO
EXEC procUnifingGameDB @ServerGroupNum = 2,@DBName = 'LOTUS'
PRINT 'Completed procUnifingGameDB : LOTUS'
GO
EXEC procUnifingGameDB @ServerGroupNum = 3,@DBName = 'POTATOS'
PRINT 'Completed procUnifingGameDB : POTATOS'
GO
--EXEC procUnifingGameDB @ServerGroupNum = 4,@DBName = 'MARS161.Highland'
--PRINT 'Completed procUnifingGameDB : Highland'
GO
--EXEC procUnifingGameDB @ServerGroupNum = 5,@DBName = 'MARS189.Aldia'
--PRINT 'Completed procUnifingGameDB : Aldia'
GO
--EXEC procUnifingGameDB @ServerGroupNum = 6,@DBName = 'Unite'
--PRINT 'Completed procUnifingGameDB : Unite'
-- Execute time 9 : 58
GO
DROP PROC procUnifingGameDB
GO
SET IDENTITY_INSERT TblGuildInfo ON
GO
-- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
-- <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> 1.<2E>ѱ<EFBFBD><D1B1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ս<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ľ<EFBFBD><C4BE>ϰ<EFBFBD> Part2<74><32> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ȵȴ<C8B5>.
-- 2. <20>߱<EFBFBD><DFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD>ľ<EFBFBD><C4BE>Ѵ<EFBFBD>.
EXEC procUnifingGameDB_Guild @ServerGroupNum = 1,@DBName = 'AQUATICA'
PRINT 'Completed procUnifingGameDB_Guild : AQUATICA'
GO
EXEC procUnifingGameDB_Guild @ServerGroupNum = 2,@DBName = 'LOTUS'
PRINT 'Completed procUnifingGameDB_Guild : LOTUS'
GO
EXEC procUnifingGameDB_Guild @ServerGroupNum = 3,@DBName = 'POTATOS'
PRINT 'Completed procUnifingGameDB_Guild : POTATOS'
GO
--EXEC procUnifingGameDB_Guild @ServerGroupNum = 4,@DBName = 'MARS161.Highland'
--PRINT 'Completed procUnifingGameDB_Guild : Highland'
GO
--EXEC procUnifingGameDB_Guild @ServerGroupNum = 5,@DBName = 'MARS189.Aldia'
--PRINT 'Completed procUnifingGameDB_Guild : Aldia'
GO
--EXEC procUnifingGameDB_Guild @ServerGroupNum = 6,@DBName = 'Unite'
--PRINT 'Completed procUnifingGameDB_Guild : Unite'
GO
SET IDENTITY_INSERT TblGuildInfo OFF
GO
DROP PROC procUnifingGameDB_Guild
GO
-- SETTING PID = 0
UPDATE CharInfo SET Party = 0
GO
-- SETTING CharPos
INSERT INTO CharPos SELECT CID,0,0,0,0,0,0 FROM CharInfo
--GO
INSERT INTO Friend (CID) SELECT CID FROM CharInfo
GO
UPDATE dbo.CharInfoEx
SET ServerID = 0,NameChangeCount =1
GO
UPDATE TblGuildInfo SET OldServerGroupID = 21
GO
UPDATE CharInfo SET Chance = 3
GO
UPDATE dbo.TblUnifiedItemStore1 SET Frag = 1 WHERE Frag is null or Frag = 0
GO

View File

@@ -0,0 +1,142 @@
/****************************************************************
*
* <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ƴ<EFBFBD> <20>߱<EFBFBD><DFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
*
*****************************************************************/
GO
SET NOCOUNT ON
DECLARE @RowID_UID INT
DECLARE @RowID_CID INT
DECLARE @Identitymax INT
DECLARE @UID INT
DECLARE @ServerGroupNum TINYINT
DECLARE @NewCID INT
DECLARE @Nation INT
SET @Nation = 1
DECLARE @Char1 INT
DECLARE @Char2 INT
DECLARE @Char3 INT
DECLARE @Char4 INT
DECLARE @Char5 INT
DECLARE @TABLE_UID TABLE
(
ROWID INT IDENTITY(1,1) PRIMARY KEY
, UID INT
, ServerGroupNum TINYINT
)
DECLARE @TABLE_CID TABLE
(
ROWID INT IDENTITY(1,1)
, NewCID INT
)
INSERT INTO @TABLE_UID (UID,ServerGroupNum)
SELECT UID,OldServerGroupID FROM TblUnifiedCharList
GROUP BY UID,OldServerGroupID
SET @RowID_UID = @@ROWCOUNT
WHILE (@RowID_UID > 0 )
BEGIN
SELECT @Char1 = 0,@Char2 = 0,@Char3 = 0,@Char4 = 0,@Char5 = 0
SELECT @UID = UID,@ServerGroupNum = ServerGroupNum
FROM @TABLE_UID WHERE ROWID = @RowID_UID
DELETE @TABLE_CID
INSERT INTO @TABLE_CID (NewCID)
SELECT NewCID FROM TblUnifiedCharList WHERE UID = @UID AND OldServerGroupID = @ServerGroupNum
SET @RowID_CID = @@ROWCOUNT
SET @Identitymax = @@IDENTITY
WHILE (@Identitymax > (@@IDENTITY - @RowID_CID) )
BEGIN
IF (@Char1 = 0 AND @Char2 = 0 AND @Char3 = 0 AND @Char4 = 0 AND @Char5 = 0)
SELECT @Char1 = NewCID FROM @TABLE_CID WHERE ROWID = @Identitymax
ELSE IF (@Char1 <> 0 AND @Char2 = 0 AND @Char3 = 0 AND @Char4 = 0 AND @Char5 = 0)
SELECT @Char2 = NewCID FROM @TABLE_CID WHERE ROWID = @Identitymax
ELSE IF (@Char1 <> 0 AND @Char2 <> 0 AND @Char3 = 0 AND @Char4 = 0 AND @Char5 = 0)
SELECT @Char3 = NewCID FROM @TABLE_CID WHERE ROWID = @Identitymax
ELSE IF (@Char1 <> 0 AND @Char2 <> 0 AND @Char3 <> 0 AND @Char4 = 0 AND @Char5 = 0)
SELECT @Char4 = NewCID FROM @TABLE_CID WHERE ROWID = @Identitymax
ELSE IF (@Char1 <> 0 AND @Char2 <> 0 AND @Char3 <> 0 AND @Char4 <> 0 AND @Char5 = 0)
SELECT @Char5 = NewCID FROM @TABLE_CID WHERE ROWID = @Identitymax
SET @Identitymax = @Identitymax - 1
END
INSERT INTO UserInfo (UID,OldServerGroupID,Nation,Char1,Char2,Char3,Char4,Char5)
VALUES (@UID,@ServerGroupNum,@Nation,@Char1,@Char2,@Char3,@Char4,@Char5)
SET @RowID_UID = @RowID_UID - 1
END
GO
-- ADD (2005-01-20)
INSERT INTO UserInfo
SELECT A.UID,A.OldServerGroupID,0,0,0,0,0,0
FROM dbo.TblUnifiedItemStore1 A LEFT OUTER JOIN UserInfo B ON A.UID = B.UID AND A.OldServerGroupID = B.OldServerGroupID
WHERE B.UID IS NULL AND B.OldServerGroupID IS NULL
GO
UPDATE TblGuildInfo SET OldServerGroupID = 24
GO
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
UPDATE A
SET Nation = Race+1
FROM UserInfo A, (
SELECT UID,OldServerGroupID,Race FROM TblUnifiedCharList A JOIN CharInfo B on A.NewCID = B.CID
GROUP BY UID,OldServerGroupID,Race ) B
WHERE A.UID = B.UID AND A.OldServerGroupID = B.OldServerGroupID
GO
INSERT INTO UserFirstLoginInfo (UID)
SELECT DISTINCT UID FROM UserInfo
GO
UPDATE Quest
SET Quest = NULL , History = NULL
GO
Update CharItem
SET Quick = NULL
/*************************
SELECT A.UID,A.NewCID,B.UID,Char1,Char2,Char3,Char4,Char5 FROM TblUnifiedCharList A JOIN UserInfo B
ON A.UID = B.UID AND A.ServerGroupNum = B.ServerGroupID
ORDER BY A.UID
**************************/

View File

@@ -0,0 +1,12 @@
DELETE TblGuildMember
DELETE TblGuildRestoreData
DELETE TblGuildOtherList
DELETE GuildInfo
UPDATE CharInfo
SET Guild = 0

View File

@@ -0,0 +1,100 @@
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
-- <20><><EFBFBD>ǽ<EFBFBD>Ƽ<EFBFBD><C6BC>
-- â<><C3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DECLARE @NUM INT
SET @NUM = 2
DELETE dbo.ItemStore1
WHERE UID IN (SELECT UID FROM MARS162.Unite.dbo.Temp_DeleteUser WHERE ServerID = @NUM)
DELETE dbo.ItemStore2
WHERE UID IN (SELECT UID FROM MARS162.Unite.dbo.Temp_DeleteUser WHERE ServerID = @NUM)
CREATE TABLE #TEMP_T
(
CID INT
)
INSERT INTO #TEMP_T
SELECT Char1
FROM (
SELECT Char1 FROM dbo.UserInfo
WHERE UID IN (SELECT UID FROM MARS162.Unite.dbo.Temp_DeleteUser WHERE ServerID = @NUM)
UNION ALL
SELECT Char2 FROM dbo.UserInfo
WHERE UID IN (SELECT UID FROM MARS162.Unite.dbo.Temp_DeleteUser WHERE ServerID = @NUM)
UNION ALL
SELECT Char3 FROM dbo.UserInfo
WHERE UID IN (SELECT UID FROM MARS162.Unite.dbo.Temp_DeleteUser WHERE ServerID = @NUM)
) A
WHERE Char1 > 0
--CharInfo
DELETE dbo.CharInfo_1 WHERE UID IN (SELECT CID FROM #TEMP_T)
DELETE dbo.CharInfo_2 WHERE UID IN (SELECT CID FROM #TEMP_T)
DELETE dbo.CharInfo_3 WHERE UID IN (SELECT CID FROM #TEMP_T)
DELETE dbo.CharInfo_4 WHERE UID IN (SELECT CID FROM #TEMP_T)
--CharSkill
DELETE dbo.CharSkill_1 WHERE UID IN (SELECT CID FROM #TEMP_T)
DELETE dbo.CharSkill_2 WHERE UID IN (SELECT CID FROM #TEMP_T)
DELETE dbo.CharSkill_3 WHERE UID IN (SELECT CID FROM #TEMP_T)
DELETE dbo.CharSkill_4 WHERE UID IN (SELECT CID FROM #TEMP_T)
--CharInfo_Time
DELETE dbo.CharInfo_Time WHERE CID IN (SELECT CID FROM #TEMP_T)
--CharInfoEx
DELETE dbo.CharInfoEx WHERE UID IN (SELECT CID FROM #TEMP_T)
--CharItem
DELETE dbo.CharItem WHERE UID IN (SELECT CID FROM #TEMP_T)
--CharItemEx
DELETE dbo.CharItemEx WHERE UID IN (SELECT CID FROM #TEMP_T)
--CharPos
DELETE dbo.CharPos_1 WHERE UID IN (SELECT CID FROM #TEMP_T)
DELETE dbo.CharPos_2 WHERE UID IN (SELECT CID FROM #TEMP_T)
DELETE dbo.CharPos_3 WHERE UID IN (SELECT CID FROM #TEMP_T)
DELETE dbo.CharPos_4 WHERE UID IN (SELECT CID FROM #TEMP_T)
--Friend
DELETE dbo.Friend WHERE UID IN (SELECT CID FROM #TEMP_T)
--Quest
DELETE dbo.Quest WHERE UID IN (SELECT CID FROM #TEMP_T)
--TblCharDelHistory
DELETE dbo.TblCharDelHistory WHERE intCID IN (SELECT CID FROM #TEMP_T)
--TblGuildMember
DELETE dbo.TblGuildMember WHERE nCID IN (SELECT CID FROM #TEMP_T)
--UserInfo
DELETE dbo.UserInfo_1 WHERE UID IN (SELECT UID FROM MARS162.Unite.dbo.Temp_DeleteUser WHERE ServerID = @NUM)
DELETE dbo.UserInfo_2 WHERE UID IN (SELECT UID FROM MARS162.Unite.dbo.Temp_DeleteUser WHERE ServerID = @NUM)
DELETE dbo.UserInfo_3 WHERE UID IN (SELECT UID FROM MARS162.Unite.dbo.Temp_DeleteUser WHERE ServerID = @NUM)
DELETE dbo.UserInfo_4 WHERE UID IN (SELECT UID FROM MARS162.Unite.dbo.Temp_DeleteUser WHERE ServerID = @NUM)
DROP TABLE #TEMP_T
GO
/**********************************************
*
* TblCharDelHistory <20><> <20><><EFBFBD>̺<EFBFBD> <20>ӽú<D3BD><C3BA><EFBFBD><EFBFBD><EFBFBD>
*
**********************************************/
select *, 1 as OldServerGroupID into dbo.TblCharDelHistory_Old from HAN916.solphistia.dbo.TblCharDelHistory
insert into dbo.TblCharDelHistory_Old
select *, 2 as OldServerGroupID from HAN516.karterant.dbo.TblCharDelHistory
insert into dbo.TblCharDelHistory_Old
select *, 3 as OldServerGroupID from HAN430.testia.dbo.TblCharDelHistory
insert into dbo.TblCharDelHistory_Old
select *, 4 as OldServerGroupID from MARS161.highland.dbo.TblCharDelHistory
insert into dbo.TblCharDelHistory_Old
select *, 5 as OldServerGroupID from MARS189.aldia.dbo.TblCharDelHistory
insert into dbo.TblCharDelHistory_Old
select *, 6 as OldServerGroupID from unite.dbo.TblCharDelHistory

View File

@@ -0,0 +1,127 @@
-- <20>׼<EFBFBD> DB<44><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
INSERT INTO AdminList
SELECT * FROM Test.dbo.AdminList
INSERT INTO CharInfo
SELECT * FROM Test.dbo.CharInfo
INSERT INTO CharInfo_Time
SELECT * FROM Test.dbo.CharInfo_Time
INSERT INTO CharInfoEx (CID,Total,ServerID,Config)
SELECT * FROM Test.dbo.CharInfoEx
INSERT INTO CharItem
SELECT * FROM Test.dbo.CharItem
INSERT INTO CharItemEx
SELECT * FROM Test.dbo.CharItemEx
INSERT INTO CharPos
SELECT * FROM Test.dbo.CharPos
INSERT INTO CharSkill
SELECT * FROM Test.dbo.CharSkill
INSERT INTO Friend
SELECT * FROM Test.dbo.Friend
INSERT INTO ItemUID
SELECT * FROM Test.dbo.ItemUID
GO
SET IDENTITY_INSERT PartyInfo ON
INSERT INTO PartyInfo (PID,Party)
SELECT * FROM Test.dbo.PartyInfo
SET IDENTITY_INSERT PartyInfo OFF
GO
INSERT INTO Quest
SELECT * FROM Test.dbo.Quest
GO
SET IDENTITY_INSERT TblCampInfo ON
INSERT INTO TblCampInfo(nCampID,nGuildID,nHP,tnZone,tnChannel,snObjectType,tnState,tnSubState,
tnUpgradeStep,RemainTime,LastUseTime,bRight,fPosX,fPosY,fPosZ)
SELECT nCampID,nGuildID,nHP,tnZone,tnChannel,5337,tnState,0,
tnUpgradeStep,RemainTime,LastUseTime,bRight,fPosX,fPosY,fPosZ
FROM Test.dbo.TblCampInfo
SET IDENTITY_INSERT TblCampInfo OFF
GO
INSERT INTO TblEventItem
SELECT * FROM Test.dbo.TblEventItem
GO
INSERT INTO TblCharDelHistory
SELECT intCID,intUID,dateInsertTime,dateDeleteTime,0 FROM Test.dbo.TblCharDelHistory
DECLARE @OldServerGroupID TINYINT
SET @OldServerGroupID = 22
SET IDENTITY_INSERT TblGuildInfo ON
INSERT INTO TblGuildInfo (nGuildID,strGuildName,tnGuildLevel,nGuildFame,nGuildGold,tLastLogout,tCheckMember,tGMLastLogout,
bGuildMark,bRight,tnNationType,tChangeState,OldServerGroupID)
SELECT *,@OldServerGroupID FROM Test.dbo.TblGuildInfo
SET IDENTITY_INSERT TblGuildInfo OFF
INSERT INTO TblGuildMember
SELECT * FROM Test.dbo.TblGuildMember
-- CHECK
INSERT INTO TblGuildOtherList
SELECT * FROM Test.dbo.TblGuildOtherList
INSERT INTO dbo.TblItemLog
SELECT * FROM Test.dbo.TblItemLog
INSERT INTO dbo.TblGuildRestoreData
SELECT nGuildID,strGuildName,nGuildGold,tDeleteTime,NULL,@OldServerGroupID FROM Test.dbo.TblGuildRestoreData
INSERT INTO dbo.TblUnifiedItemStore1
SELECT UID,@OldServerGroupID,Password,Frag,Gold,Store FROM Test.dbo.ItemStore1
INSERT INTO dbo.TblUnifiedItemStore2
SELECT UID,@OldServerGroupID,Store FROM Test.dbo.ItemStore2
INSERT INTO dbo.UserInfo
SELECT UID,@OldServerGroupID,Nation,0,Char1,Char2,Char3,Char4,Char5 FROM Test.dbo.UserInfo
INSERT INTO TblUnifiedCharList
SELECT UID,@OldServerGroupID,B.CID,B.CID,B.Name FROM (
SELECT UID,Char1 AS CID FROM UserInfo
UNION ALL
SELECT UID,Char2 FROM UserInfo
UNION ALL
SELECT UID,Char3 FROM UserInfo
UNION ALL
SELECT UID,Char4 FROM UserInfo
UNION ALL
SELECT UID,Char5 FROM UserInfo ) A JOIN CharInfo B on A.CID = B.CID