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,87 @@
-- 2005-04-14 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
-- <20><>Ƽ <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD> --
ALTER TABLE dbo.PartyInfo
Add UserInfo varbinary(70)
GO
-- Friend <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD> --
GO
alter table Friend
add FriendInfo varBINARY(704)
GO
alter table Friend
add BanInfo varBinary(704)
-- <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --
GO
----------------------------------------------------------------------------------------------------------------------
-- GetPartyInfo.sql
----------------------------------------------------------------------------------------------------------------------
/*
<EFBFBD><EFBFBD>Ƽ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD>
*/
GO
CREATE PROCEDURE dbo.GetPartyInfo_Part2
@Party_uid AS INT /* <20><>Ƽ <20><><EFBFBD>̵<EFBFBD> */
AS
SET NOCOUNT ON
SELECT Party, UserInfo FROM PartyInfo WHERE PID = @Party_uid
-- <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ --
GO
----------------------------------------------------------------------------------------------------------------------
-- UpdatePartyInfo.sql
----------------------------------------------------------------------------------------------------------------------
/*
<EFBFBD><EFBFBD>Ƽ <EFBFBD>ɹ<EFBFBD> <EFBFBD>߰<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD>
*/
CREATE PROCEDURE dbo.UpdatePartyInfo_Part2
@Party_uid AS INT, /* <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> */
@Party AS varBINARY(202), /* ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ */
@UserInfo AS varBINARY(72) /* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
AS
SET NOCOUNT ON
UPDATE PartyInfo SET Party = @Party, UserInfo = @UserInfo WHERE PID = @Party_uid
-- <20><>Ƽ <20>߰<EFBFBD> --
GO
-------------------------------------------------------------------------------------------------------------
-- InsertParty.sql
----------------------------------------------------------------------------------------------------------------------
/*
<EFBFBD><EFBFBD>Ƽ <EFBFBD>߰<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD>
*/
CREATE PROCEDURE dbo.InsertParty_Part2
@Party AS varBINARY(202), /* ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ */
@UserInfo AS varBINARY(72) /* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
AS
SET NOCOUNT ON
INSERT INTO PartyInfo (Party, UserInfo) VALUES (@Party, @UserInfo)
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
SELECT CAST(SCOPE_IDENTITY() AS INT)
GO

View File

@@ -0,0 +1,86 @@
ALTER TABLE [TblCampInfo] ADD [tnSiegeCount] [tinyint] NULL
GO
ALTER TABLE [TblCampShopInfo] DROP COLUMN [TransferTime]
GO
DROP TABLE [TblCastleInfo]
GO
CREATE TABLE [TblCastleInfo] (
[nCastleID] [int] IDENTITY (1, 1) NOT NULL,
[nGuildID] [int] NULL,
[tnZone] [tinyint] NULL,
[tnChannel] [tinyint] NULL,
[tnName] [tinyint] NULL,
[tnSiegeCount] [tinyint] NULL,
[tnInvincibleCount] [tinyint] NULL,
[snTotalSiegeCount] [smallint] NULL,
[nTotalTaxMoney] [int] NULL,
[bRight] [varbinary] (10) NULL,
[fPosInX] [real] NULL,
[fPosInY] [real] NULL,
[fPosInZ] [real] NULL,
[fPosOutX] [real] NULL,
[fPosOutY] [real] NULL,
[fPosOutZ] [real] NULL,
[snItemID] [smallint] NULL,
[tnItemNum] [tinyint] NULL
) ON [PRIMARY]
GO
CREATE TABLE [TblCastleTaxInfo] (
[nCastleID] [int] NULL,
[tnType] [tinyint] NULL,
[tnTax] [tinyint] NULL,
[nTempMoney] [int] NULL,
[nTaxMoney] [int] NULL,
[tnTaxChangable] [tinyint] NULL
) ON [PRIMARY]
GO
CREATE TABLE [TblCastleMineralInfo] (
[nCastleID] [int] NULL ,
[snMineralID] [smallint] NULL ,
[snAmount] [smallint] NULL ,
[tnFlag] [tinyint] NULL
) ON [PRIMARY]
GO
DROP PROC USPCastleUpdate
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROC USPCastleUpdate @nCastleID INT,@nGuildID INT,@tnSiegeCount TINYINT,
@tnInvincibleCount TINYINT,@snTotalSiegeCount SMALLINT,@nTotalTaxMoney INT,
@snItemID SMALLINT,@tnItemNum TINYINT
AS
SET NOCOUNT ON
DECLARE @RETURN INT
UPDATE TblCastleInfo
SET nGuildID = @nGuildID,tnSiegeCount = @tnSiegeCount,tnInvincibleCount = @tnInvincibleCount,
snTotalSiegeCount = @snTotalSiegeCount,nTotalTaxMoney = @nTotalTaxMoney,
snItemID = @snItemID,tnItemNum = @tnItemNum
WHERE nCastleID = @nCastleID
SET @RETURN = @@ROWCOUNT
SELECT @RETURN
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

View File

@@ -0,0 +1,80 @@
/*------------------------------------------------------------------------------//
// <20><><EFBFBD>Ʊ<EFBFBD> <20>ĺ<EFBFBD> <20><>ġ <20><><EFBFBD><EFBFBD> DB <20><><EFBFBD><EFBFBD>. //
//------------------------------------------------------------------------------*/
-- <20><>Ƽ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD> --
ALTER TABLE dbo.PartyInfo
ADD GID INT
-- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
GO
DROP PROC InsertParty_Part2
GO
DROP PROC GetPartyInfo_Part2
GO
DROP PROC UpdatePartyInfo_Part2
GO
----------------------------------------------------------------------------------------------------------------------
-- GetPartyInfo.sql
----------------------------------------------------------------------------------------------------------------------
/*
<EFBFBD><EFBFBD>Ƽ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD>
*/
CREATE PROCEDURE dbo.GetPartyInfo_Part2
@Party_uid AS INT /* <20><>Ƽ <20><><EFBFBD>̵<EFBFBD> */
AS
SET NOCOUNT ON
SELECT Party, UserInfo, GID FROM PartyInfo WHERE PID = @Party_uid
GO
----------------------------------------------------------------------------------------------------------------------
-- InsertParty.sql
----------------------------------------------------------------------------------------------------------------------
/*
<EFBFBD><EFBFBD>Ƽ <EFBFBD>߰<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD>
*/
CREATE PROCEDURE dbo.InsertParty_Part2
@Party AS varBINARY(202), /* ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ */
@UserInfo AS varBINARY(72), /* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
@GID AS int /* <20>ӽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
AS
SET NOCOUNT ON
INSERT INTO PartyInfo (Party, UserInfo, GID) VALUES (@Party, @UserInfo, @GID)
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
SELECT CAST(SCOPE_IDENTITY() AS INT)
GO
----------------------------------------------------------------------------------------------------------------------
-- UpdatePartyInfo.sql
----------------------------------------------------------------------------------------------------------------------
CREATE PROCEDURE dbo.UpdatePartyInfo_Part2
@Party_uid AS INT, /* <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> */
@Party AS varBINARY(202), /* ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ */
@UserInfo AS varBINARY(72), /* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
@GID AS INT /* <20>ӽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
AS
SET NOCOUNT ON
UPDATE PartyInfo SET Party = @Party, UserInfo = @UserInfo, GID = @GID WHERE PID = @Party_uid

View File

@@ -0,0 +1,2 @@
INSERT INTO TblFertilityInfo(nVeinColor, nFertility, tnZone, tnChannel)
(SELECT nVeinColor, nFertility, 16, tnChannel FROM TblFertilityInfo WHERE tnZone = 8)

View File

@@ -0,0 +1,3 @@
Alter Table CharInfoEX
Add AdminFlag tinyint NULL

View File

@@ -0,0 +1,105 @@
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vUserInfo]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view dbo.vUserInfo
GO
create view dbo.vUserInfo
AS
SELECT UID,OldServerGroupID,Nation,Char1 as CID FROM UserInfo
UNION ALL
SELECT UID,OldServerGroupID,Nation,Char2 FROM UserInfo
UNION ALL
SELECT UID,OldServerGroupID,Nation,Char3 FROM UserInfo
UNION ALL
SELECT UID,OldServerGroupID,Nation,Char4 FROM UserInfo
UNION ALL
SELECT UID,OldServerGroupID,Nation,Char5 FROM UserInfo
GO
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯鼭, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޸<EFBFBD><DEB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ī<><C4AB><EFBFBD>׶<EFBFBD>Ʈ<EFBFBD><C6AE> <20>ٲ<EFBFBD><D9B2>ش<EFBFBD>. */
update UserInfo set UserInfo.Nation = 1 where UserInfo.UID in
(select distinct vUserInfo.UID from
vUserInfo INNER JOIN CharInfo
ON vUserInfo.CID = CharInfo.CID
where vUserInfo.Nation = 3 and CharInfo.Race = 0)
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯鼭, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ĭ<EFBFBD><C4AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޸<EFBFBD>ī<EFBFBD><C4AB><EFBFBD>Ʒ<EFBFBD> <20>ٲ<EFBFBD><D9B2>ش<EFBFBD>. */
update UserInfo set UserInfo.Nation = 2 where UserInfo.UID in
(select distinct vUserInfo.UID from
vUserInfo INNER JOIN CharInfo
ON vUserInfo.CID = CharInfo.CID
where vUserInfo.Nation = 3 and CharInfo.Race = 1)
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̰<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20>޸<EFBFBD><DEB8≯<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ī<><C4AB><EFBFBD>׶<EFBFBD>Ʈ<EFBFBD><C6AE> <20>ٲ<EFBFBD><D9B2>ش<EFBFBD>. */
update TblGuildInfo set TblGuildInfo.tnNationType = 1 where TblGuildInfo.nGuildID in
(select distinct TblGuildInfo.nGuildID from
TblGuildInfo INNER JOIN TblGuildMember
ON TblGuildInfo.nGuildID = TblGuildMember.nGuildID
INNER JOIN CharInfo
ON TblGuildMember.nCID = CharInfo.CID
where tnNationType = 3 and TblGuildMember.nPosition = 1 and CharInfo.Race = 0)
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̰<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20><>ĭ<EFBFBD≯<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޸<EFBFBD>ī<EFBFBD><C4AB><EFBFBD>Ʒ<EFBFBD> <20>ٲ<EFBFBD><D9B2>ش<EFBFBD>. */
update TblGuildInfo set TblGuildInfo.tnNationType = 2 where TblGuildInfo.nGuildID in
(select distinct TblGuildInfo.nGuildID from
TblGuildInfo INNER JOIN TblGuildMember
ON TblGuildInfo.nGuildID = TblGuildMember.nGuildID
INNER JOIN CharInfo
ON TblGuildMember.nCID = CharInfo.CID
where tnNationType = 3 and TblGuildMember.nPosition = 1 and CharInfo.Race = 1)
/* <20><><EFBFBD><20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> <20>ش<EFBFBD> ij<><C4B3><EFBFBD>͸<EFBFBD> <20><><EFBFBD><EFBFBD><E5BFA1> Ż<><C5BB><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2> */
/* <20><><EFBFBD><EFBFBD><E5BFA1> Ż<><C5BB><EFBFBD><EFBFBD>ų ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
declare @DeleteInfo table (nCID int)
insert into @DeleteInfo
select distinct TblGuildMember.nCID from
TblGuildInfo INNER JOIN TblGuildMember
ON TblGuildInfo.nGuildID = TblGuildMember.nGuildID
INNER JOIN CharInfo
ON TblGuildMember.nCID = CharInfo.CID
where TblGuildInfo.tnNationType <> CharInfo.Race + 1
/* <20><><EFBFBD><EFBFBD><E5BFA1> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Guild IDŬ<44><C5AC><EFBFBD><EFBFBD> */
delete from TblGuildMember where nCID in (select nCID from @DeleteInfo)
update CharInfo set CharInfo.Guild = 0 where CharInfo.CID in (select nCID from @DeleteInfo)
/* ķ<><C4B7><EFBFBD><EFBFBD> DB<44><42><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD> */
delete from TblCampInfo
delete from TblCampShopInfo
delete from TblCampMineralInfo
delete from TblWorldWeaponInfo
/* <20><>Ƽ<EFBFBD><C6BC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
delete from PartyInfo
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7>׸<EFBFBD> <20>߰<EFBFBD><DFB0>Ѵ<EFBFBD>. */
ALTER TABLE [CharInfoEx] ADD [GuildWarFlag] [tinyint] NULL
ALTER TABLE [CharInfoEx] ADD [RealmWarFlag] [tinyint] NULL
/* <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD> <20><> DB Table <20><><EFBFBD><EFBFBD> */
CREATE TABLE [TblGameTime] (
[GuildTime] [tinyint] NULL,
[RealmTime] [tinyint] NULL,
[SiegeTime] [tinyint] NULL,
[MiningTime] [tinyint] NULL
) ON [PRIMARY]
INSERT INTO TblGameTime(GuildTime, RealmTime, SiegeTime, MiningTime) VALUES (0, 0, 0, 0)
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> DB <20><><EFBFBD>̺<EFBFBD> <20>߰<EFBFBD> */
CREATE TABLE [TblStatueInfo] (
[nIndex] [int] NULL,
[tnChannel] [tinyint] NULL,
[snKID] [smallint] NULL,
[nLostHP] [int] NULL
) ON [PRIMARY]
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʱⰪ <20>߰<EFBFBD> */
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (1, 0, 1044, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (2, 0, 1044, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (3, 0, 1049, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (4, 0, 1049, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (5, 0, 1059, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (6, 0, 1059, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (7, 0, 1054, 0)

View File

@@ -0,0 +1,131 @@
-- CharInfoEx <20><> <20>÷<EFBFBD> <20>߰<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ, <20>α׾ƿ<D7BE> <20>ð<EFBFBD>) --
alter table CharInfoEx
add RealmPoint tinyint NULL
go
alter table CharInfoEx
add RealmCheckPoint tinyint NULL
go
alter table CharInfoEx
add RealmMinute tinyint NULL
go
alter table CharInfoEx
add LogoutTime smalldatetime Not NULL default(getdate())
go
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vUserInfo]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view dbo.vUserInfo
GO
create view dbo.vUserInfo
AS
SELECT UID,OldServerGroupID,Nation,Char1 as CID FROM UserInfo
UNION ALL
SELECT UID,OldServerGroupID,Nation,Char2 FROM UserInfo
UNION ALL
SELECT UID,OldServerGroupID,Nation,Char3 FROM UserInfo
UNION ALL
SELECT UID,OldServerGroupID,Nation,Char4 FROM UserInfo
UNION ALL
SELECT UID,OldServerGroupID,Nation,Char5 FROM UserInfo
GO
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯鼭, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޸<EFBFBD><DEB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ī<><C4AB><EFBFBD>׶<EFBFBD>Ʈ<EFBFBD><C6AE> <20>ٲ<EFBFBD><D9B2>ش<EFBFBD>. */
update UserInfo set UserInfo.Nation = 1 where UserInfo.UID in
(select distinct vUserInfo.UID from
vUserInfo INNER JOIN CharInfo
ON vUserInfo.CID = CharInfo.CID
where vUserInfo.Nation = 3 and CharInfo.Race = 0)
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯鼭, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ĭ<EFBFBD><C4AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޸<EFBFBD>ī<EFBFBD><C4AB><EFBFBD>Ʒ<EFBFBD> <20>ٲ<EFBFBD><D9B2>ش<EFBFBD>. */
update UserInfo set UserInfo.Nation = 2 where UserInfo.UID in
(select distinct vUserInfo.UID from
vUserInfo INNER JOIN CharInfo
ON vUserInfo.CID = CharInfo.CID
where vUserInfo.Nation = 3 and CharInfo.Race = 1)
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̰<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20>޸<EFBFBD><DEB8≯<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ī<><C4AB><EFBFBD>׶<EFBFBD>Ʈ<EFBFBD><C6AE> <20>ٲ<EFBFBD><D9B2>ش<EFBFBD>. */
update TblGuildInfo set TblGuildInfo.tnNationType = 1 where TblGuildInfo.nGuildID in
(select distinct TblGuildInfo.nGuildID from
TblGuildInfo INNER JOIN TblGuildMember
ON TblGuildInfo.nGuildID = TblGuildMember.nGuildID
INNER JOIN CharInfo
ON TblGuildMember.nCID = CharInfo.CID
where tnNationType = 3 and TblGuildMember.nPosition = 1 and CharInfo.Race = 0)
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̰<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20><>ĭ<EFBFBD≯<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>޸<EFBFBD>ī<EFBFBD><C4AB><EFBFBD>Ʒ<EFBFBD> <20>ٲ<EFBFBD><D9B2>ش<EFBFBD>. */
update TblGuildInfo set TblGuildInfo.tnNationType = 2 where TblGuildInfo.nGuildID in
(select distinct TblGuildInfo.nGuildID from
TblGuildInfo INNER JOIN TblGuildMember
ON TblGuildInfo.nGuildID = TblGuildMember.nGuildID
INNER JOIN CharInfo
ON TblGuildMember.nCID = CharInfo.CID
where tnNationType = 3 and TblGuildMember.nPosition = 1 and CharInfo.Race = 1)
/* <20><><EFBFBD><20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> <20>ش<EFBFBD> ij<><C4B3><EFBFBD>͸<EFBFBD> <20><><EFBFBD><EFBFBD><E5BFA1> Ż<><C5BB><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2> */
/* <20><><EFBFBD><EFBFBD><E5BFA1> Ż<><C5BB><EFBFBD><EFBFBD>ų ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
declare @DeleteInfo table (nCID int)
insert into @DeleteInfo
select distinct TblGuildMember.nCID from
TblGuildInfo INNER JOIN TblGuildMember
ON TblGuildInfo.nGuildID = TblGuildMember.nGuildID
INNER JOIN CharInfo
ON TblGuildMember.nCID = CharInfo.CID
where TblGuildInfo.tnNationType <> CharInfo.Race + 1
/* <20><><EFBFBD><EFBFBD><E5BFA1> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Guild IDŬ<44><C5AC><EFBFBD><EFBFBD> */
delete from TblGuildMember where nCID in (select nCID from @DeleteInfo)
update CharInfo set CharInfo.Guild = 0 where CharInfo.CID in (select nCID from @DeleteInfo)
/* <20><><EFBFBD><EFBFBD><E5B0A3> <20><><EFBFBD><20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. */
delete from TblGuildOtherList
/* ķ<><C4B7><EFBFBD><EFBFBD> DB<44><42><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD> */
delete from TblCampInfo
delete from TblCampShopInfo
delete from TblCampMineralInfo
delete from TblWorldWeaponInfo
/* <20><>Ƽ<EFBFBD><C6BC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
delete from PartyInfo
Update CharInfo Set Party = 0
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7>׸<EFBFBD> <20>߰<EFBFBD><DFB0>Ѵ<EFBFBD>. */
ALTER TABLE [CharInfoEx] ADD [GuildWarFlag] [tinyint] NULL
ALTER TABLE [CharInfoEx] ADD [RealmWarFlag] [tinyint] NULL
/* <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD> <20><> DB Table <20><><EFBFBD><EFBFBD> */
CREATE TABLE [TblGameTime] (
[GuildTime] [tinyint] NULL,
[RealmTime] [tinyint] NULL,
[SiegeTime] [tinyint] NULL,
[MiningTime] [tinyint] NULL
) ON [PRIMARY]
INSERT INTO TblGameTime(GuildTime, RealmTime, SiegeTime, MiningTime) VALUES (0, 0, 0, 0)
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> DB <20><><EFBFBD>̺<EFBFBD> <20>߰<EFBFBD> */
CREATE TABLE [TblStatueInfo] (
[nIndex] [int] NULL,
[tnChannel] [tinyint] NULL,
[snKID] [smallint] NULL,
[nLostHP] [int] NULL
) ON [PRIMARY]
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʱⰪ <20>߰<EFBFBD> */
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (1, 0, 1044, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (2, 0, 1044, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (3, 0, 1049, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (4, 0, 1049, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (5, 0, 1059, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (6, 0, 1059, 0)
INSERT INTO TblStatueInfo(nIndex, tnChannel, snKID, nLostHP) VALUES (7, 0, 1054, 0)

View File

@@ -0,0 +1,91 @@
alter table PartyInfo
drop column GID
go
alter Table TblGuildMember
add Tactics tinyint NULL
go
drop proc dbo.InsertParty_Part2
go
/*
<EFBFBD><EFBFBD>Ƽ <20>߰<EFBFBD> <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD>
*/
CREATE PROCEDURE dbo.InsertParty_Part2
@Party AS varBINARY(202), /* ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ */
@UserInfo AS varBINARY(72) /* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
AS
SET NOCOUNT ON
INSERT INTO PartyInfo (Party, UserInfo) VALUES (@Party, @UserInfo)
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
SELECT CAST(SCOPE_IDENTITY() AS INT)
go
drop proc dbo.GetPartyInfo_Part2
go
/*
<EFBFBD><EFBFBD>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD>
*/
CREATE PROCEDURE dbo.GetPartyInfo_Part2
@Party_uid AS INT /* <20><>Ƽ <20><><EFBFBD>̵<EFBFBD> */
AS
SET NOCOUNT ON
SELECT Party, UserInfo FROM PartyInfo WHERE PID = @Party_uid
go
drop proc dbo.UpdatePartyInfo_Part2
go
CREATE PROCEDURE dbo.UpdatePartyInfo_Part2
@Party_uid AS INT, /* <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> */
@Party AS varBINARY(202), /* ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ */
@UserInfo AS varBINARY(72) /* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
AS
SET NOCOUNT ON
UPDATE PartyInfo SET Party = @Party, UserInfo = @UserInfo WHERE PID = @Party_uid
/*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> DB
DESC : <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> DB <20><> TblGuildOtherList <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>
TblGuildRelation <20><> <20>߰<EFBFBD><DFB0>Ѵ<EFBFBD>.
*/
DROP TABLE dbo.TblGuildOtherList
GO
CREATE TABLE [TblGuildRelation] (
[nGuildID] [int] NOT NULL ,
[nTargetGuildID] [int] NOT NULL ,
[tnRelation] [tinyint] NOT NULL ,
CONSTRAINT [PK_TblGuildRelation_1] PRIMARY KEY CLUSTERED
(
[nGuildID],
[nTargetGuildID]
) ON [PRIMARY] ,
CHECK ([tnRelation] = 1 or [tnRelation] = 2 or [tnRelation] = 3)
) ON [PRIMARY]
GO

View File

@@ -0,0 +1,18 @@
Create Table AdminCommandLog
(
[Index] [int] IDENTITY (1, 1),
[ServerGroupID] [int] NULL, -- ServerGroupID
[AdminCID] [int] NULL , -- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Admin UID
[CID] [int] NULL, -- <20>ش<EFBFBD> CID
[Type] [varchar] (128) NULL, -- <20>ش<EFBFBD> <20><><EFBFBD>ɾ<EFBFBD>
[Time] [datetime] DEFAULT(getdate()),
PRIMARY KEY CLUSTERED
(
[Index]
) ON [PRIMARY]
)

View File

@@ -0,0 +1,2 @@
alter table Quest
alter Column History varbinary(404)

View File

@@ -0,0 +1,2 @@
Alter Table Quest
Alter Column History varbinary(404)

View File

@@ -0,0 +1,55 @@
Create Table CharDeleteData
(
[Index] [int] IDENTITY (1, 1),
[CID] [int] Not NULL,
[Name] [varchar] (16) NULL,
[Level] [tinyint] NULL,
[Class] [smallint] NULL,
PRIMARY KEY CLUSTERED
(
[CID]
)
)
go
-- <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> --
Delete From Quest Where CID In (Select intCID From TblCharDelHistory where dateDeleteTime < getdate())
-- ij<><C4B3><EFBFBD><EFBFBD> <20>ð<EFBFBD> --
Delete From CharInfo_Time Where CID In (Select intCID From TblCharDelHistory where dateDeleteTime < getdate())
-- ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ex --
Delete From CharInfoEx Where CID In (Select intCID From TblCharDelHistory where dateDeleteTime < getdate())
-- ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --
Delete From CharItem Where CID In (Select intCID From TblCharDelHistory where dateDeleteTime < getdate())
-- ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ex --
Delete From CharItemEx Where CID In (Select intCID From TblCharDelHistory where dateDeleteTime < getdate())
-- ij<><C4B3><EFBFBD><EFBFBD> <20><>ġ --
Delete From CharPos Where CID In (Select intCID From TblCharDelHistory where dateDeleteTime < getdate())
-- ij<><C4B3><EFBFBD><EFBFBD> <20><>ų --
Delete From CharSkill Where CID In (Select intCID From TblCharDelHistory where dateDeleteTime < getdate())
-- ģ<><C4A3>, <20>ź<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ --
Delete From Friend Where CID In (Select intCID From TblCharDelHistory where dateDeleteTime < getdate())
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
Insert into CharDeleteData Select CID, [Name], [Level], Class From CharInfo where CID In (Select intCID From TblCharDelHistory where dateDeleteTime < getdate())
-- ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> --
Delete From CharInfo Where CID In (Select intCID From TblCharDelHistory where dateDeleteTime < getdate())

View File

@@ -0,0 +1,23 @@
ALTER TABLE AdminTool..TblRestraintChar
ADD idx int IDENTITY(1,1) NOT NULL
GO
ALTER PROC USPDeleteRestraintChar @SeverID tinyint,@nidx INT
AS
SET NOCOUNT ON
IF EXISTS (SELECT UID FROM TblRestraintChar WHERE tinyServerID=@SeverID AND idx = @nidx)
BEGIN
DELETE TblRestraintChar
WHERE tinyServerID=@SeverID AND idx = @nidx
SELECT @@ROWCOUNT
END
ELSE
BEGIN
SELECT -1
END
GO

View File

@@ -0,0 +1,135 @@
DROP TABLE TblCastleInfo
GO
CREATE TABLE [TblCastleInfo] (
[nCastleID] [int] IDENTITY (1, 1) NOT NULL ,
[tnNation] [tinyint] NULL ,
[tnZone] [tinyint] NULL ,
[tnChannel] [tinyint] NULL ,
[tnName] [tinyint] NULL ,
[tnSiegeCount] [tinyint] NULL ,
[tnInvincibleCount] [tinyint] NULL ,
[snTotalSiegeCount] [smallint] NULL ,
[nTotalTaxMoney] [int] NULL ,
[bRight] [varbinary] (10) NULL ,
[fPosInX] [real] NULL ,
[fPosInY] [real] NULL ,
[fPosInZ] [real] NULL ,
[fPosOutX] [real] NULL ,
[fPosOutY] [real] NULL ,
[fPosOutZ] [real] NULL ,
[snItemID] [smallint] NULL ,
[tnItemNum] [tinyint] NULL
) ON [PRIMARY]
GO
INSERT INTO TblCastleInfo(tnNation, tnZone, tnChannel, tnName, tnSiegeCount, tnInvincibleCount, snTotalSiegeCount, nTotalTaxMoney, bRight, fPosInX, fPosInY, fPosInZ, fPosOutX, fPosOutY, fPosOutZ, snItemID, tnItemNum)
VALUES (0, 16, 0, 1, 0, 0, 0, 0, 0x03030303030303030303, 0.0, 100.0, 0.0, 0.0, 100.0, 0.0, 0, 0)
GO
INSERT INTO TblCastleInfo(tnNation, tnZone, tnChannel, tnName, tnSiegeCount, tnInvincibleCount, snTotalSiegeCount, nTotalTaxMoney, bRight, fPosInX, fPosInY, fPosInZ, fPosOutX, fPosOutY, fPosOutZ, snItemID, tnItemNum)
VALUES (0, 16, 1, 1, 0, 0, 0, 0, 0x03030303030303030303, 0.0, 100.0, 0.0, 0.0, 100.0, 0.0, 0, 0)
GO
DROP TABLE TblCastleCreatureInfo
GO
CREATE TABLE [TblCastleCreatureInfo] (
[nCreatureID] [int] IDENTITY (1, 1) NOT NULL ,
[nCastleID] [int] NULL ,
[nOwnerID] [int] NULL,
[nHP] [int] NULL ,
[snObjectType] [smallint] NULL ,
[fDirection] [real] NULL ,
[tnState] [tinyint] NULL ,
[tnSubState] [tinyint] NULL ,
[tnUpgradeStep] [tinyint] NULL ,
[tnUpgradeType] [tinyint] NULL ,
[RemainTime] [smalldatetime] NULL ,
[LastUseTime] [smalldatetime] NULL,
[fPosX] [real] NULL ,
[fPosY] [real] NULL ,
[fPosZ] [real] NULL ,
PRIMARY KEY CLUSTERED
(
[nCreatureID]
) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (1, 0, 59973, 5000, 3.1670001, 0, 1, 1, 0, getdate(), getdate(), 2034.0, 138.133, 3004.5)
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (1, 0, 100, 5324, 3.1340001, 0, 2, 0, 0, getdate(), getdate(), 2034.5, 100.0, 2956.0)
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (1, 0, 100, 5433, 0.76999998, 0, 0, 0, 0, getdate(), getdate(), 1987.5, 118.1, 2952.0)
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (1, 0, 100, 5433, 0.0, 0, 0, 0, 0, getdate(), getdate(), 2018.0, 118.1, 2951.5)
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (1, 0, 100, 5433, 5.48, 0, 0, 0, 0, getdate(), getdate(), 2080.0, 118.1, 2952.0)
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (1, 0, 100, 5433, 0.0, 0, 0, 0, 0, getdate(), getdate(), 2050.0, 118.1, 2952.0)
GO
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (2, 0, 59973, 5000, 3.1670001, 0, 1, 1, 0, getdate(), getdate(), 2034.0, 138.133, 3004.0)
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (2, 0, 100, 5324, 3.1340001, 0, 2, 0, 0, getdate(), getdate(), 2034.0, 100.0, 2956.0)
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (2, 0, 100, 5433, 0.76999998, 0, 0, 0, 0, getdate(), getdate(), 1987.5, 118.1, 2952.0)
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (2, 0, 100, 5433, 0.0, 0, 0, 0, 0, getdate(), getdate(), 2018.0, 118.1, 2951.5)
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (2, 0, 100, 5433, 5.48, 0, 0, 0, 0, getdate(), getdate(), 2080.0, 118.1, 2952.0)
INSERT INTO TblCastleCreatureInfo(nCastleID, nOwnerID, nHP, snObjectType, fDirection, tnState, tnSubState, tnUpgradeStep, tnUpgradeType, RemainTime, LastUseTime, fPosX, fPosY, fPosZ)
VALUES (2, 0, 100, 5433, 0.0, 0, 0, 0, 0, getdate(), getdate(), 2050.0, 118.1, 2952.0)
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
ALTER PROC USPCastleUpdate @nCastleID INT,@tnNation TINYINT,@tnSiegeCount TINYINT,
@tnInvincibleCount TINYINT,@snTotalSiegeCount SMALLINT,@nTotalTaxMoney INT,
@snItemID SMALLINT,@tnItemNum TINYINT
AS
SET NOCOUNT ON
DECLARE @RETURN INT
UPDATE TblCastleInfo
SET tnNation = @tnNation,tnSiegeCount = @tnSiegeCount,tnInvincibleCount = @tnInvincibleCount,
snTotalSiegeCount = @snTotalSiegeCount,nTotalTaxMoney = @nTotalTaxMoney,
snItemID = @snItemID,tnItemNum = @tnItemNum
WHERE nCastleID = @nCastleID
SET @RETURN = @@ROWCOUNT
SELECT @RETURN
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

View File

@@ -0,0 +1,11 @@
Update TblCastleCreatureInfo Set fPosZ = 3004.5 where snObjectType = 5000
go
Update TblCastleCreatureInfo Set fPosX = 2033.98, fPosY = 100.5, fPosZ = 2957.3 where snObjectType = 5324
go
Update TblCastleInfo Set tnNation = 0 Where tnZone = 16
go

View File

@@ -0,0 +1,2 @@
Alter Table Quest
Alter Column Quest varbinary(264)

View File

@@ -0,0 +1,20 @@
CREATE TABLE [dbo].[CharSpell] (
[CID] [int] NOT NULL ,
[Spell] [varbinary] (270) NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[CharSpell] WITH NOCHECK ADD
PRIMARY KEY CLUSTERED
(
[CID]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[CharSpell] ADD
CONSTRAINT [FK_CharSpell_CharInfo] FOREIGN KEY
(
[CID]
) REFERENCES [dbo].[CharInfo] (
[CID]
)

View File

@@ -0,0 +1,124 @@
CREATE PROCEDURE dbo.InsertChar
@user_uid AS INT, /* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> */
@user_pos AS INT, /* ij<><C4B3><EFBFBD><EFBFBD> <20><>ġ (3<><33><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) */
@user_name AS VARCHAR(16), /* ij<><C4B3><EFBFBD><EFBFBD> <20≯<EFBFBD> */
@user_Sex AS TINYINT, /* ij<><C4B3><EFBFBD><EFBFBD> <20><> */
@user_Hair AS TINYINT, /* ij<><C4B3><EFBFBD><EFBFBD> <20>Ӹ<EFBFBD> <20><><EFBFBD><EFBFBD> */
@user_Face AS TINYINT, /* ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
@user_Nation AS TINYINT, /* ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
@user_Class AS SMALLINT, /* ij<><C4B3><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> */
@C_Gold AS INT, /* ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
@C_STR AS SMALLINT, /* ij<><C4B3><EFBFBD><EFBFBD> STR */
@C_DEX AS SMALLINT, /* ij<><C4B3><EFBFBD><EFBFBD> DEX */
@C_CON AS SMALLINT, /* ij<><C4B3><EFBFBD><EFBFBD> CON */
@C_INT AS SMALLINT, /* ij<><C4B3><EFBFBD><EFBFBD> INT */
@C_WIS AS SMALLINT, /* ij<><C4B3><EFBFBD><EFBFBD> WIS */
@PointX AS REAL, /* ij<><C4B3><EFBFBD><EFBFBD> Point X <20><>ǥ */
@PointY AS REAL, /* ij<><C4B3><EFBFBD><EFBFBD> Point Y <20><>ǥ */
@PointZ AS REAL, /* ij<><C4B3><EFBFBD><EFBFBD> Point Z <20><>ǥ */
@C_Equip AS varBINARY(30), /* <20><><EFBFBD><EFBFBD> (2 * 15 = 30) */
@Skill AS varBinary(84),
@UserInfoType TINYINT,
@CID INT OUTPUT
AS
SET NOCOUNT ON
--DECLARE @UID INT
DECLARE @C_HP INT, @C_MP INT
/* ij<><C4B3><EFBFBD><EFBFBD> <20≯<EFBFBD> Ȯ<><C8AE> */
SELECT @CID = CID FROM CharInfo WHERE Name = @user_name
IF @CID <> 0
BEGIN
SET @CID = -1 /* <20><><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> */
RETURN
END
/* <20><><EFBFBD><EFBFBD> Ȯ<><C8AE> */
DECLARE @CharSlot INT
IF @user_pos = 0
BEGIN
SELECT @CharSlot = Char1 FROM UserInfo WHERE UID = @user_uid AND OldServerGroupID = @UserInfoType
END
ELSE IF @user_pos = 1
BEGIN
SELECT @CharSlot = Char2 FROM UserInfo WHERE UID = @user_uid AND OldServerGroupID = @UserInfoType
END
ELSE IF @user_pos = 2
BEGIN
SELECT @CharSlot = Char3 FROM UserInfo WHERE UID = @user_uid AND OldServerGroupID = @UserInfoType
END
ELSE IF @user_pos = 3
BEGIN
SELECT @CharSlot = Char4 FROM UserInfo WHERE UID = @user_uid AND OldServerGroupID = @UserInfoType
END
ELSE IF @user_pos = 4
BEGIN
SELECT @CharSlot = Char5 FROM UserInfo WHERE UID = @user_uid AND OldServerGroupID = @UserInfoType
END
IF @CharSlot <> 0
BEGIN
SET @CID = -2 /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
RETURN
END
SET @C_HP = 100 + @C_CON * 8 + 2
IF @C_INT > @C_WIS
BEGIN
SET @C_MP = 100 + @C_INT * 8 + 2
END
ELSE
BEGIN
SET @C_MP = 100 + @C_WIS * 8 + 2
END
BEGIN TRAN
SELECT @CID = MAX(CID) + 1 FROM CharInfo WITH (UPDLOCK)
IF (@CID IS NULL)
SET @CID = 1
INSERT INTO CharInfo (CID,Name, Sex, Hair, Face, Race, Class, Equip, Gold, STR, DEX, CON, Intell, WIS, HP, MP)
VALUES (@CID,@user_name, @user_Sex, @user_Hair, @user_Face, @user_Nation, @user_Class, @C_Equip, @C_Gold, @C_STR, @C_DEX, @C_CON, @C_INT, @C_WIS, @C_HP, @C_MP)
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
SET @CID = -100
RETURN
END
COMMIT TRAN
INSERT INTO CharInfoEx (CID) VALUES (@CID)
INSERT INTO CharItem (CID) VALUES (@CID)
INSERT INTO CharItemEx (CID) VALUES (@CID)
INSERT INTO CharSkill (CID, Skill) VALUES (@CID, @Skill)
INSERT INTO CharSpell (CID) VALUES (@CID)
INSERT INTO CharPos (CID, LastPointX, LastPointY, LastPointZ, SavePointX, SavePointY, SavePointZ) VALUES (@CID, @PointX, @PointY, @PointZ, @PointX, @PointY, @PointZ)
INSERT INTO CharInfo_Time(CID,CreateTime,UpdateTime)
VALUES (@CID,GETDATE(),GETDATE())
INSERT INTO Friend (CID) VALUES (@CID)
INSERT INTO Quest (CID) VALUES (@CID)
-- UnifiedCharList<73><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD><CCBA><EFBFBD> <20>Է<EFBFBD><D4B7>ϱ<EFBFBD>
INSERT TblUnifiedCharList(UID,OldServerGroupID,BeforeCID,NewCID,BeforeCharName)
VALUES (@user_uid,@UserInfoType,@CID,@CID,@user_name)
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ */
EXEC UpdateCharUID @user_uid, @user_pos, @CID , @UserInfoType
GO

View File

@@ -0,0 +1,2 @@
UPDATE CharSpell Set Spell = 0xFFFFFFFF35000100050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
WHERE CID IN (SELECT CID FROM CharInfo WHERE Level = 100)

View File

@@ -0,0 +1,26 @@
----------------------------------------------------------------------------------------------------------------------
-- UpdateCharSpell.sql
----------------------------------------------------------------------------------------------------------------------
/*
ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD>
*/
CREATE PROCEDURE dbo.UpdateCharSpell
@char_uid AS INT, /* ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> */
@C_Spell AS varBINARY(1664) /* <20><><EFBFBD><EFBFBD> (128 * 13 = 1664) */
AS
SET NOCOUNT ON
IF EXISTS (SELECT CID FROM CharSpell WHERE CID = @char_uid)
BEGIN
UPDATE CharSpell SET Spell = @C_Spell WHERE CID = @char_uid
END
ELSE
BEGIN
INSERT INTO CharSpell(CID,Spell)
VALUES (@char_uid,@C_Spell)
END
GO
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

View File

@@ -0,0 +1,7 @@
1. CharSpell(Table).sql<71><6C> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> CharSpell <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
2. SELECT CID FROM CharInfo<66><6F> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> CID<49><44> <20><><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> Insert<72><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> Insert<72><74><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
- ã<><C3A3><EFBFBD><EFBFBD> : [0-9]*
- <20>ٲܸ<D9B2> : INSERT INTO CharSpell(CID) VALUES(\0)
3. UpdateCharSpell(Procedure).sql UpdateCharSpell <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
4. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> InsertChar <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD> InsertChar(Procedure).sql<71><6C> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
5. <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>װ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD> SetSpell(Query)<29><> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 100<30><30><EFBFBD>̴<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20>ο<EFBFBD><CEBF>Ѵ<EFBFBD>.

View File

@@ -0,0 +1,40 @@
-- <20>̹<EFBFBD> Part2 <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>!
-- <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ٷ<EFBFBD> <20><><EFBFBD>´<EFBFBD>.
ALTER PROCEDURE dbo.GetPartyInfo_Part2
@Party_uid AS INT /* <20><>Ƽ <20><><EFBFBD>̵<EFBFBD> */
AS
SET NOCOUNT ON
SELECT Party, UserInfo, GID FROM PartyInfo WHERE PID = @Party_uid
GO
ALTER PROCEDURE dbo.InsertParty_Part2
@Party AS varBINARY(202), /* ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ */
@UserInfo AS varBINARY(72), /* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
@GID AS int /* <20>ӽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
AS
SET NOCOUNT ON
INSERT INTO PartyInfo (Party, UserInfo, GID) VALUES (@Party, @UserInfo, @GID)
-- <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT CAST(SCOPE_IDENTITY() AS INT)
GO
ALTER PROCEDURE dbo.UpdatePartyInfo_Part2
@Party_uid AS INT, /* <20><>Ƽ <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> */
@Party AS varBINARY(202), /* ģ<><C4A3> <20><><EFBFBD><EFBFBD>Ʈ */
@UserInfo AS varBINARY(72), /* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
@GID AS INT /* <20>ӽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
AS
SET NOCOUNT ON
UPDATE PartyInfo SET Party = @Party, UserInfo = @UserInfo, GID = @GID WHERE PID = @Party_uid

View File

@@ -0,0 +1,48 @@
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: <20><>Ʈ2 1470
-- [<5B><EFBFBD><E6B8B6> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD><EFBFBD><EFBFBD>]
-- 1. <20><EFBFBD><E6B8B6> <20>ƴ϶<C6B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>˻<EFBFBD>
SELECT strGuildName FROM TblGuildInfo
WHERE nGuildID NOT IN (SELECT Distinct nGuildID FROM TblGuildMember)
-- 1-1. <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
DELETE TblGuildInfo
WHERE nGuildID NOT IN (SELECT Distinct nGuildID FROM TblGuildMember)
-- 2. <20><EFBFBD><E6B8B6> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>˻<EFBFBD>
SELECT strGuildName FROM TblGuildInfo
WHERE nGuildID NOT IN (SELECT Distinct nGuildID FROM TblGuildMember WHERE nPosition = 1)
-- 2-1. <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֱ<EFBFBD> (<28><20><20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD> > <20><><EFBFBD><EFBFBD>ġ > ij<><C4B3><EFBFBD>͸<EFBFBD> > <20>κ<EFBFBD><CEBA><20>ݾ<EFBFBD>)
DECLARE @ROW INT
DECLARE @GuildID INT
DECLARE @TABLE TABLE
(
nRowID INT IDENTITY(1,1)
, nGuildID INT
)
INSERT INTO @TABLE
SELECT nGuildID FROM TblGuildInfo
WHERE nGuildID NOT IN (SELECT Distinct nGuildID FROM TblGuildMember WHERE nPosition = 1)
SET @ROW = @@ROWCOUNT
WHILE (@ROW > 0)
BEGIN
SELECT @GuildID = nGuildID FROM @TABLE WHERE nRowID = @ROW
UPDATE TblGuildMember
SET nPosition = 1
FROM (
SELECT TOP 1 B.nGuildID,nCID FROM CharInfo A join TblGuildMember B
ON A.CID = B.nCID
WHERE nGuildID = @GuildID
ORDER BY A.Level desc,A.Fame desc) C,TblGuildMember D
WHERE C.nGuildID = D.nGuildID AND C.nCID = D.nCID
SET @ROW = @ROW - 1
END

View File

@@ -0,0 +1,2 @@
ALTER TABLE [TblGameTime] ADD [EnterTime] [tinyint] NULL
GO

View File

@@ -0,0 +1,3 @@
Alter Table UserInfo
Add KeyInfo varbinary(137)

View File

@@ -0,0 +1,2 @@
UPDATE UserFirstLoginInfo
SET TransferCharCount = 0