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>
135 lines
3.4 KiB
Transact-SQL
135 lines
3.4 KiB
Transact-SQL
declare @UID as int
|
|
declare @CID as int
|
|
declare @Char1 as int
|
|
declare @Char2 as int
|
|
declare @Char3 as int
|
|
declare @Char4 as int
|
|
declare @Char5 as int
|
|
declare @OldServerGroupID as tinyint
|
|
declare @Count as tinyint
|
|
declare @CID_Temp as int
|
|
|
|
SELECT @CID = MAX(CID) + 1 FROM CharInfo WITH (UPDLOCK)
|
|
|
|
declare cursor1 cursor for
|
|
|
|
Select UID, OldServerGroupID, Char1, Char2, Char3, Char4, Char5 From Part2_New.dbo.UserInfo
|
|
|
|
open cursor1
|
|
|
|
FETCH NEXT FROM cursor1 INTO @UID, @OldServerGroupID, @Char1, @Char2, @Char3, @Char4, @Char5
|
|
|
|
WHILE @@FETCH_STATUS = 0
|
|
|
|
BEGIN
|
|
|
|
Set @Count = 5
|
|
|
|
WHILE (@Count > 0)
|
|
|
|
BEGIN
|
|
|
|
if @Count = 5
|
|
Begin
|
|
Set @CID_Temp = @Char1
|
|
End
|
|
else if @Count = 4
|
|
Begin
|
|
Set @CID_Temp = @Char2
|
|
End
|
|
else if @Count = 3
|
|
Begin
|
|
Set @CID_Temp = @Char3
|
|
End
|
|
else if @Count = 2
|
|
Begin
|
|
Set @CID_Temp = @Char4
|
|
End
|
|
else if @Count = 1
|
|
Begin
|
|
Set @CID_Temp = @Char5
|
|
End
|
|
|
|
If @CID_Temp <> 0
|
|
|
|
Begin
|
|
|
|
-- 캐릭터 정보 --
|
|
|
|
Insert into CharInfo Select @CID, T.Name, T.Sex, T.Hair, T.Face, T.Race, T.Class, T.Fame, T.Mileage, T.Guild, T.Party, T.Level, T.Equip, T.Gold, T.IP, T.STR, T.DEX, T.CON, T.Intell, T.WIS, T.HP, T.MP, T.Exp, T.Chance From Part2_New.dbo.CharInfo T Where CID = @CID_Temp
|
|
|
|
-- 캐릭터 정보 Ex --
|
|
|
|
Insert Into CharInfoEx Select @CID, T.Total, T.ServerID, T.Config, T.NameChangeCount, T.AdminFlag, T.RealmPoint, T.RealmCheckPoint, T.RealmMinute, T.LogoutTime, T.GuildWarFlag, T.RealmWarFlag From Part2_New.dbo.CharInfoEx T Where CID = @CID_Temp
|
|
|
|
-- 퀘스트 --
|
|
|
|
Insert Into Quest Select @CID, T.Quest, T.History From Part2_New.dbo.Quest T Where CID = @CID_Temp
|
|
|
|
-- 캐릭터 아이템 --
|
|
|
|
Insert Into CharItem Select @CID , T.Quick, T.Equip, T.Inventory, T.Extra From Part2_New.dbo.CharItem T Where CID = @CID_Temp
|
|
|
|
-- 캐릭터 아이템 Ex --
|
|
|
|
Insert Into CharItemEx Select @CID, T.Exchange, T.TempInven From Part2_New.dbo.CharItemEx T Where CID = @CID_Temp
|
|
|
|
-- 캐릭터 스킬 --
|
|
|
|
Insert Into CharSkill Select @CID, T.Skill From Part2_New.dbo.CharSkill T Where CID = @CID_Temp
|
|
|
|
-- 캐릭터 좌표 --
|
|
|
|
Insert Into CharPos Select @CID, T.LastPointX, T.LastPointY, T.LastPointZ, T.SavePointX, T.SavePointY, T.SavePointZ From Part2_New.dbo.CharPos T Where CID = @CID_Temp
|
|
|
|
-- 캐릭터 생성 시간 --
|
|
|
|
Insert Into CharInfo_Time Select @CID, T.CreateTime, T.UpdateTime From Part2_New.dbo.CharInfo_Time T Where CID = @CID_Temp
|
|
|
|
-- 캐릭터 친구 정보 --
|
|
|
|
Insert Into Friend Values(@CID, NULL, NULL, NULL, NULL)
|
|
|
|
-- 통합 캐릭터 리스트 --
|
|
|
|
Insert Into TblUnifiedCharList Select T.UID, T.OldServerGroupID, T.BeforeCID, @CID, T.BeforeCharName From Part2_New.dbo.TblUnifiedCharList T Where UID = @UID And OldServerGroupID = @OldServerGroupID And NewCID = @CID_Temp
|
|
|
|
-- UserInfo 업데이트 --
|
|
|
|
if @Count = 5
|
|
Begin
|
|
Update Part2_New.dbo.UserInfo Set Char1 = @CID Where UID = @UID And OldServerGroupID = @OldServerGroupID
|
|
End
|
|
else if @Count = 4
|
|
Begin
|
|
Update Part2_New.dbo.UserInfo Set Char2 = @CID Where UID = @UID And OldServerGroupID = @OldServerGroupID
|
|
End
|
|
else if @Count = 3
|
|
Begin
|
|
Update Part2_New.dbo.UserInfo Set Char3 = @CID Where UID = @UID And OldServerGroupID = @OldServerGroupID
|
|
End
|
|
else if @Count = 2
|
|
Begin
|
|
Update Part2_New.dbo.UserInfo Set Char4 = @CID Where UID = @UID And OldServerGroupID = @OldServerGroupID
|
|
End
|
|
else if @Count = 1
|
|
Begin
|
|
Update Part2_New.dbo.UserInfo Set Char5 = @CID Where UID = @UID And OldServerGroupID = @OldServerGroupID
|
|
End
|
|
|
|
Set @CID = @CID + 1
|
|
|
|
End
|
|
|
|
Set @Count = @Count - 1
|
|
|
|
End
|
|
|
|
FETCH NEXT FROM cursor1 INTO @UID, @OldServerGroupID, @Char1, @Char2, @Char3, @Char4, @Char5
|
|
|
|
End
|
|
|
|
CLOSE cursor1
|
|
|
|
DEALLOCATE cursor1
|