this release contains 2 procedures
[1] creating full account with character
USE [SRO_KINGDOLLAR_EVENT]
GO
/****** Object: StoredProcedure [dbo].[_KingDollar_CreateFULLCharacter] Script Date: 03/08/2016 07:10:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create proc [dbo].[_KingDollar_CreateFULLCharacter]
@ varchar(24),
@Password varchar(50),
@CharName varchar (64),
@CharType varchar(8),
@CharGender varchar(6),
@ varchar(64),
@CharLevel tinyint,
@CharStr smallint,
@CharInt smallint,
@CharGold bigint,
@CharSP int,
@CharHP int,
@CharMP int,
@CharInv varchar(145),
@Name varchar(264),
@Type varchar(64),
@Degree varchar(24),
@ArmorName varchar(264),
@ArmorType varchar(64),
@ArmorDegree varchar(24),
@AccountType varchar(25)
AS
SET NOCOUNT ON
--################################################## ###########################
--################################################## ###########################
--###############/* TROY ONLINE PROCEDURES -- KING DOLLAR -- */--##############
--################################################## ###########################
--################################################## ###########################
SELECT @AccountType = CASE WHEN @AccountType = 'GM' THEN '1' WHEN @AccountType = 'Player' THEN '3' END
IF NOT EXISTS (SELECT StrUserID FROM SRO_VT_ACCOUNT.dbo.TB_User WHERE StrUserID = @)
BEGIN
INSERT INTO SRO_VT_ACCOUNT..TB_User (StrUserID,password,sec_content,sec_primary) values @,LOWER(CONVERT(varchar(50),HASHBYTES('MD5',@Passwo rd), 2)),@AccountType,@AccountType)
END
ELSE IF EXISTS (SELECT StrUserID FROM SRO_VT_ACCOUNT.dbo.TB_User WHERE StrUserID = @)
BEGIN
PRINT 'User already exists'
END
DECLARE @JID INT
DECLARE @Slot INT
DECLARE @ INT
DECLARE @NewCharID INT
SET @NewCharID = 0
SELECT @JID = JID FROM SRO_VT_ACCOUNT..TB_User WHERE StrUserID = @
/* DECLARING SOME SHITS */
DECLARE @CharScale tinyint
DECLARE @ArmorGender varchar(7)
DECLARE @RefCharID int
DECLARE @StartRegionID INT
DECLARE @StartPos_X real
DECLARE @StartPos_Y real
DECLARE @StartPos_Z real
/* SELECTING SOME SHITS */
SELECT @CharScale = CONVERT(int,34+(64-34)*RAND());
SELECT @RefCharID = CASE WHEN @CharType = 'Chinese' AND @CharGender = 'Male' THEN (SELECT CONVERT(int,1907+(1919-1907)*RAND())) WHEN @CharType = 'Chinese' AND @CharGender = 'Female' THEN (SELECT CONVERT(int,1920+(1932-1920)*RAND())) WHEN @CharType = 'Europe' AND @CharGender = 'Male' THEN (SELECT CONVERT(int,14875+(14887-14875)*RAND())) WHEN @CharType = 'Europe' AND @CharGender = 'Female' THEN (SELECT CONVERT(int,14888+(14900-14888)*RAND())) END
IF @ = 'Jangan')
BEGIN
SET @StartRegionID = '25000'
SET @StartPos_X = '995'
SET @StartPos_Y = '-32'
SET @StartPos_Z = '1132'
END
ELSE IF @ = 'Donwhang')
BEGIN
SET @StartRegionID = '26265'
SET @StartPos_X = '957'
SET @StartPos_Y = '-80'
SET @StartPos_Z = '1508'
END
ELSE IF @ = 'Hotan')
BEGIN
SET @StartRegionID = '23687'
SET @StartPos_X = '1138'
SET @StartPos_Y = '250'
SET @StartPos_Z = '153'
END
ELSE IF @ = 'SamarKand')
BEGIN
SET @StartRegionID = '27244'
SET @StartPos_X = '271'
SET @StartPos_Y = '180'
SET @StartPos_Z = '1438'
END
ELSE IF @ = 'Constantinople')
BEGIN
SET @StartRegionID = '26959'
SET @StartPos_X = '1030'
SET @StartPos_Y = '80'
SET @StartPos_Z = '512'
END
ELSE
BEGIN
SET @StartRegionID = '25000'
SET @StartPos_X = '995'
SET @StartPos_Y = '-32'
SET @StartPos_Z = '1132'
END
-----------------------------------------------------------------------------
-- 1. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö, ±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú üũÇÑ´Ù.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @ = count(CharID) FROM SRO_VT_SHARD.dbo._User WITH (NOLOCK) WHERE UserJID = @JID
IF @ >= 4)
BEGIN
-- ³Ê¹« ¸¹ÀÚ³ª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯ÅÍ Ãß°¡Çϱâ
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!
RETURN -3
END
EXEC @ = SRO_VT_SHARD.dbo._IsExistingCharName @CharName
IF @ <> 0)
BEGIN
print 'Charname exist but account created succesfully,you can use proc of [_KingDollar_AddCharacter_ToAccount]'
-- ÀÌ¹Ì »ç¿ëÁßÀÎ À̸§À̶ó´Âµ¥?
RETURN -4
END
BEGIN TRANSACTION
-- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼* ¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!
INSERT INTO SRO_VT_SHARD.dbo._Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold , RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, @CharStr, @CharInt, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, 0, @CharInv,
GetDate(), @CharLevel, @CharLevel, @CharGold, @CharSP, @CharHP,@CharMP, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -5
END
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..
INSERT INTO SRO_VT_SHARD.._AccountJID values @, @JID,0)
INSERT INTO SRO_VT_SHARD.._User VALUES @JID, @NewCharID)
-- finish by novice.
-----------------------------------------------------------------------------
-- 3-1. Àåºñ ½½·Ô ä¿ì±â
-- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼* 96°³·Î Áõ°¡!!!(woos0)
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO SRO_VT_SHARD.._Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM SRO_VT_SHARD.._RefDummySlot with( nolock )
WHERE cnt < 109
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -7
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-- µðÆúÆ®·Î ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀ» ´Ù½Ã ³Ö¾îÁÖÀÚ...
/* ¿ä·± ¼ø¼*·Î Á¤ÀǵǾî ÀÖ´Ù.
0: EQUIP_SLOT_HELM
1: EQUIP_SLOT_MAIL,
2: EQUIP_SLOT_SHOULDERGUARD,
3: EQUIP_SLOT_GAUNTLET,
4: EQUIP_SLOT_PANTS,
5: EQUIP_SLOT_BOOTS,
6: EQUIP_SLOT_WEAPON,
7: EQUIP_SLOT_SHIELD or ARROW,
9: EQUIP_SLOT_EARRING,
10: EQUIP_SLOT_NECKLACE,
11: EQUIP_SLOT_L_RING,
12: EQUIP_SLOT_R_RING,
*/
/* SELECTING SHITS -- STARTED BY KINGDOLLAR */
-- BEGIN
SELECT @Type = CASE WHEN @Type = 'Normal' THEN + '_A' WHEN @Type = 'Sos' THEN + '_A_RARE' WHEN @Type = 'Moon' THEN + '_B_RARE' WHEN @Type = 'Sun' THEN + '_C_RARE' END
SELECT @ArmorName = CASE WHEN @ArmorName = 'Garment' THEN '_CLOTHES_' WHEN @ArmorName = 'Protector' THEN '_LIGHT_' WHEN @ArmorName = 'Armor' THEN '_HEAVY_' END
SELECT @ArmorType = CASE WHEN @ArmorType = 'Normal' THEN '_A' WHEN @ArmorType = 'Sos' THEN '_A_RARE' WHEN @ArmorType = 'Moon' THEN '_B_RARE' WHEN @ArmorType = 'Sun' THEN '_C_RARE' END
SELECT @ArmorGender = CASE WHEN @CharGender = 'Male' THEN '_M' WHEN @CharGender = 'Female' THEN '_W' END
-- END
/* DECLARING SHITS -- STARTED BY KINGDOLLAR */
-- BEGIN
DECLARE @_Codename varchar(129)
DECLARE @Hat_Codename varchar(129)
DECLARE @Chest_Codename varchar(129)
DECLARE @Legs_Codename varchar(129)
DECLARE @Shoulder_Codename varchar(129)
DECLARE @Hand_Codename varchar(129)
DECLARE @Foot_Codename varchar(129)
DECLARE @Shield_Codename varchar(129)
DECLARE @Ring_Codename varchar(129)
DECLARE @Earring_Codename varchar(129)
DECLARE @Necklace_Codename varchar(129)
-- END
/* SELECTING SHITS PART 2 -- STARTED BY KINGDOLLAR */
-- BEGIN
IF (@RefCharID BETWEEN 1907 AND 1932)
BEGIN
SELECT @_Codename = CASE WHEN @Name = 'Sword' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SWORD_' @Degree @Type) WHEN @Name = 'Blade' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_BLADE_' @Degree @Type) WHEN @Name = 'Glavie' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_TBLADE_' @Degree @Type) WHEN @Name = 'Bow' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_BOW_' @Degree @Type) WHEN @Name = 'Spear' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SPEAR_' @Degree @Type) END
SELECT TOP 1 @Hat_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_H A'+@ArmorType
SELECT TOP 1 @Chest_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_B A'+@ArmorType
SELECT TOP 1 @Legs_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_L A'+@ArmorType
SELECT TOP 1 @Shoulder_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_S A'+@ArmorType
SELECT TOP 1 @Hand_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_A A'+@ArmorType
SELECT TOP 1 @Foot_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_F A'+@ArmorType
SELECT TOP 1 @Shield_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SHIELD_' @Degree @Type
SELECT TOP 1 @Ring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_RING_' @Degree @Type
SELECT TOP 1 @Earring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_EARRING_' @Degree @Type
SELECT TOP 1 @Necklace_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_NECKLACE_' @Degree @Type
END
ELSE IF (@RefCharID BETWEEN 14875 AND 14900)
BEGIN
SELECT @_Codename = CASE WHEN @Name = 'Staff' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_TSTAFF_' @Degree @Type) WHEN @Name = 'TwoHandedSword' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_TSWORD_' @Degree @Type) WHEN @Name = 'OneHanded' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_SWORD_' @Degree @Type) WHEN @Name = 'Dagger' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_DAGGER_' @Degree @Type) WHEN @Name = 'CrossBow' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_CROSSBOW_' @Degree @Type) WHEN @Name = 'WarLock' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_DARKSTAFF_' @Degree @Type) WHEN @Name = 'Cleric' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_STAFF_' @Degree @Type) WHEN @Name = 'Harp' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_HARP_' @Degree @Type) END
SELECT TOP 1 @Hat_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_H A'+@ArmorType
SELECT TOP 1 @Chest_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_B A'+@ArmorType
SELECT TOP 1 @Legs_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_L A'+@ArmorType
SELECT TOP 1 @Shoulder_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_S A'+@ArmorType
SELECT TOP 1 @Hand_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_A A'+@ArmorType
SELECT TOP 1 @Foot_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_F A'+@ArmorType
SELECT TOP 1 @Shield_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_SHIELD_' @Degree @Type
SELECT TOP 1 @Ring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_RING_' @Degree @Type
SELECT TOP 1 @Earring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_EARRING_' @Degree @Type
SELECT TOP 1 @Necklace_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_NECKLACE_' @Degree @Type
END
-- END
/* DECLARING SHITS PART 2 -- STARTED BY KINGDOLLAR */
-- BEGIN
DECLARE @_ID bigint
DECLARE @_Dur bigint
DECLARE @_Shield_Status tinyint
DECLARE @Hat_ID bigint
DECLARE @Hat_Dur bigint
DECLARE @Chest_ID bigint
DECLARE @Chest_Dur bigint
DECLARE @Legs_ID bigint
DECLARE @Legs_Dur bigint
DECLARE @Shoulder_ID bigint
DECLARE @Shoulder_Dur bigint
DECLARE @Hand_ID bigint
DECLARE @Hand_Dur bigint
DECLARE @Foot_ID bigint
DECLARE @Foot_Dur bigint
DECLARE @Ring_ID bigint
DECLARE @Earring_ID bigint
DECLARE @Necklace_ID bigint
DECLARE @Shield_ID bigint
DECLARE @Shield_Dur bigint
-- END
/* SELECTING SHITS PART 3 -- STARTED BY KINGDOLLAR */
-- BEGIN
SELECT TOP 1 @_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @_Codename
SELECT TOP 1 @Shield_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Shield_Codename
SELECT TOP 1 @Hat_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Hat_Codename
SELECT TOP 1 @Chest_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Chest_Codename
SELECT TOP 1 @Legs_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Legs_Codename
SELECT TOP 1 @Shoulder_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Shoulder_Codename
SELECT TOP 1 @Hand_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Hand_Codename
SELECT TOP 1 @Foot_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Foot_Codename
SELECT TOP 1 @Ring_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Ring_Codename
SELECT TOP 1 @Earring_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Earring_Codename
SELECT TOP 1 @Necklace_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Necklace_Codename
SELECT TOP 1 @_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @_Codename
SELECT TOP 1 @Shield_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Shield_Codename
SELECT TOP 1 @Hat_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Hat_Codename
SELECT TOP 1 @Chest_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Chest_Codename
SELECT TOP 1 @Legs_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Legs_Codename
SELECT TOP 1 @Shoulder_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Shoulder_Codename
SELECT TOP 1 @Hand_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Hand_Codename
SELECT TOP 1 @Foot_Dur =It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Foot_Codename
SELECT TOP 1 @_Shield_Status = It.TwoHanded FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @_Codename
-- END
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »ó°©
IF (@Hat_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 0, @Hat_ID, @Hat_Dur --HAT
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Shoulder_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 2, @Shoulder_ID, @Shoulder_Dur --Shoulder
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Hand_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 3, @Hand_ID, @Hand_Dur --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Ring_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 11, @Ring_ID, 1 --Ring
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 12, @Ring_ID, 1 --Ring
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Earring_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 9, @Earring_ID, 1 --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Necklace_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 10, @Necklace_ID, 1 --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Chest_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 1, @Chest_ID, @Chest_Dur --Chest
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹ÙÁö
IF (@Legs_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 4, @Legs_ID, @Legs_Dur --Legs
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@Foot_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 5, @Foot_ID, @Foot_Dur --Foot
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF @_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 6, @_ID, @_Dur --Weapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
IF @_Shield_Status = 0)
BEGIN
IF (@Shield_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 7, @Shield_ID, @Shield_Dur --Shield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
END
-----------------------------------------------------------------------------
-- 3-2. ¾Æ¹ÙŸ Inventory ½½·Ô ä¿ì±â
-- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
-- APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼* Ãß°¡µÇ´Â ºÎºÐ
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO SRO_VT_SHARD.._InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM SRO_VT_SHARD.._RefDummySlot with( nolock )
WHERE cnt < 5
IF (@@ERROR <> 0)
BEGIN
-- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -14
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-----------------------------------------------------------------------------
-- default skill³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
DECLARE @country tinyINT
EXEC @country = SRO_VT_SHARD.._GetObjCountry @RefCharID
INSERT INTO SRO_VT_SHARD.._CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM SRO_VT_SHARD.._RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO SRO_VT_SHARD.._CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM SRO_VT_SHARD.._RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM SRO_VT_SHARD.._RefQuest
WHERE CodeName in (SELECT CodeName FROM SRO_VT_SHARD.._RefCharDefault_Quest with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1)
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -17
END
-----------------------------------------------------------------------------
-- Static Avatar Initial Record ³Ö±â
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ö±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT SRO_VT_SHARD.._CharNameList VALUES(@CharName, @NewCharID)
/* inserting into chest */
-- BEGIN
DECLARE @Start tinyint = 0
DECLARE @End tinyint = 239
WHILE @Start < @End
BEGIN
SET @Start += 1
INSERT INTO SRO_VT_SHARD.._Chest (UserJID,Slot) VALUES @JID,@Start)
END
exec SRO_VT_SHARD.._InsertToChestInfo
-- END
-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!
exec SRO_VT_SHARD.dbo._AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
print 'JID : '+CONVERT(varchar(25) @JID)
print 'Username : ' @
print 'Password : '+@Password
print 'CharID : '+CONVERT(varchar(25),@NewCharID)
print 'Charname : '+@CharName
print 'CharType : '+@CharType
print 'CharGender : '+@CharGender
print 'CharTown : ' @
print 'CharScale : '+CONVERT(varchar(25),@CharScale)
print 'Charlevel : '+CONVERT(varchar(25),@CharLevel)
print 'Charstr : '+CONVERT(varchar(25),@CharStr)
print 'Charint : '+CONVERT(varchar(25),@CharInt)
print 'CharGold : '+CONVERT(varchar(25),@CharGold)
print 'CharSP : '+CONVERT(varchar(25),@CharSP)
print 'CharHP : '+CONVERT(varchar(25),@CharHP)
print 'CharMP : '+CONVERT(varchar(25),@CharMP)
print 'Char_InvSlot : '+CONVERT(varchar(25),@CharInv)
print 'Weapon_Name : ' @Name
print 'Weapon_Type : ' @Type
print 'Weapon_Degree : ' @Degree
print 'Armor_Name : '+@ArmorName
print 'Armor_Type : '+@ArmorType
print 'Armor_Degree : '+@ArmorDegree
print 'character has been created successfully'
RETURN @NewCharID
GO
/****** Object: StoredProcedure [dbo].[_KingDollar_CreateFULLCharacter] Script Date: 03/08/2016 07:10:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create proc [dbo].[_KingDollar_CreateFULLCharacter]
@ varchar(24),
@Password varchar(50),
@CharName varchar (64),
@CharType varchar(8),
@CharGender varchar(6),
@ varchar(64),
@CharLevel tinyint,
@CharStr smallint,
@CharInt smallint,
@CharGold bigint,
@CharSP int,
@CharHP int,
@CharMP int,
@CharInv varchar(145),
@Name varchar(264),
@Type varchar(64),
@Degree varchar(24),
@ArmorName varchar(264),
@ArmorType varchar(64),
@ArmorDegree varchar(24),
@AccountType varchar(25)
AS
SET NOCOUNT ON
--################################################## ###########################
--################################################## ###########################
--###############/* TROY ONLINE PROCEDURES -- KING DOLLAR -- */--##############
--################################################## ###########################
--################################################## ###########################
SELECT @AccountType = CASE WHEN @AccountType = 'GM' THEN '1' WHEN @AccountType = 'Player' THEN '3' END
IF NOT EXISTS (SELECT StrUserID FROM SRO_VT_ACCOUNT.dbo.TB_User WHERE StrUserID = @)
BEGIN
INSERT INTO SRO_VT_ACCOUNT..TB_User (StrUserID,password,sec_content,sec_primary) values @,LOWER(CONVERT(varchar(50),HASHBYTES('MD5',@Passwo rd), 2)),@AccountType,@AccountType)
END
ELSE IF EXISTS (SELECT StrUserID FROM SRO_VT_ACCOUNT.dbo.TB_User WHERE StrUserID = @)
BEGIN
PRINT 'User already exists'
END
DECLARE @JID INT
DECLARE @Slot INT
DECLARE @ INT
DECLARE @NewCharID INT
SET @NewCharID = 0
SELECT @JID = JID FROM SRO_VT_ACCOUNT..TB_User WHERE StrUserID = @
/* DECLARING SOME SHITS */
DECLARE @CharScale tinyint
DECLARE @ArmorGender varchar(7)
DECLARE @RefCharID int
DECLARE @StartRegionID INT
DECLARE @StartPos_X real
DECLARE @StartPos_Y real
DECLARE @StartPos_Z real
/* SELECTING SOME SHITS */
SELECT @CharScale = CONVERT(int,34+(64-34)*RAND());
SELECT @RefCharID = CASE WHEN @CharType = 'Chinese' AND @CharGender = 'Male' THEN (SELECT CONVERT(int,1907+(1919-1907)*RAND())) WHEN @CharType = 'Chinese' AND @CharGender = 'Female' THEN (SELECT CONVERT(int,1920+(1932-1920)*RAND())) WHEN @CharType = 'Europe' AND @CharGender = 'Male' THEN (SELECT CONVERT(int,14875+(14887-14875)*RAND())) WHEN @CharType = 'Europe' AND @CharGender = 'Female' THEN (SELECT CONVERT(int,14888+(14900-14888)*RAND())) END
IF @ = 'Jangan')
BEGIN
SET @StartRegionID = '25000'
SET @StartPos_X = '995'
SET @StartPos_Y = '-32'
SET @StartPos_Z = '1132'
END
ELSE IF @ = 'Donwhang')
BEGIN
SET @StartRegionID = '26265'
SET @StartPos_X = '957'
SET @StartPos_Y = '-80'
SET @StartPos_Z = '1508'
END
ELSE IF @ = 'Hotan')
BEGIN
SET @StartRegionID = '23687'
SET @StartPos_X = '1138'
SET @StartPos_Y = '250'
SET @StartPos_Z = '153'
END
ELSE IF @ = 'SamarKand')
BEGIN
SET @StartRegionID = '27244'
SET @StartPos_X = '271'
SET @StartPos_Y = '180'
SET @StartPos_Z = '1438'
END
ELSE IF @ = 'Constantinople')
BEGIN
SET @StartRegionID = '26959'
SET @StartPos_X = '1030'
SET @StartPos_Y = '80'
SET @StartPos_Z = '512'
END
ELSE
BEGIN
SET @StartRegionID = '25000'
SET @StartPos_X = '995'
SET @StartPos_Y = '-32'
SET @StartPos_Z = '1132'
END
-----------------------------------------------------------------------------
-- 1. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö, ±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú üũÇÑ´Ù.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @ = count(CharID) FROM SRO_VT_SHARD.dbo._User WITH (NOLOCK) WHERE UserJID = @JID
IF @ >= 4)
BEGIN
-- ³Ê¹« ¸¹ÀÚ³ª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯ÅÍ Ãß°¡Çϱâ
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!
RETURN -3
END
EXEC @ = SRO_VT_SHARD.dbo._IsExistingCharName @CharName
IF @ <> 0)
BEGIN
print 'Charname exist but account created succesfully,you can use proc of [_KingDollar_AddCharacter_ToAccount]'
-- ÀÌ¹Ì »ç¿ëÁßÀÎ À̸§À̶ó´Âµ¥?
RETURN -4
END
BEGIN TRANSACTION
-- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼* ¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!
INSERT INTO SRO_VT_SHARD.dbo._Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold , RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, @CharStr, @CharInt, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, 0, @CharInv,
GetDate(), @CharLevel, @CharLevel, @CharGold, @CharSP, @CharHP,@CharMP, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -5
END
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..
INSERT INTO SRO_VT_SHARD.._AccountJID values @, @JID,0)
INSERT INTO SRO_VT_SHARD.._User VALUES @JID, @NewCharID)
-- finish by novice.
-----------------------------------------------------------------------------
-- 3-1. Àåºñ ½½·Ô ä¿ì±â
-- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼* 96°³·Î Áõ°¡!!!(woos0)
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO SRO_VT_SHARD.._Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM SRO_VT_SHARD.._RefDummySlot with( nolock )
WHERE cnt < 109
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -7
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-- µðÆúÆ®·Î ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀ» ´Ù½Ã ³Ö¾îÁÖÀÚ...
/* ¿ä·± ¼ø¼*·Î Á¤ÀǵǾî ÀÖ´Ù.
0: EQUIP_SLOT_HELM
1: EQUIP_SLOT_MAIL,
2: EQUIP_SLOT_SHOULDERGUARD,
3: EQUIP_SLOT_GAUNTLET,
4: EQUIP_SLOT_PANTS,
5: EQUIP_SLOT_BOOTS,
6: EQUIP_SLOT_WEAPON,
7: EQUIP_SLOT_SHIELD or ARROW,
9: EQUIP_SLOT_EARRING,
10: EQUIP_SLOT_NECKLACE,
11: EQUIP_SLOT_L_RING,
12: EQUIP_SLOT_R_RING,
*/
/* SELECTING SHITS -- STARTED BY KINGDOLLAR */
-- BEGIN
SELECT @Type = CASE WHEN @Type = 'Normal' THEN + '_A' WHEN @Type = 'Sos' THEN + '_A_RARE' WHEN @Type = 'Moon' THEN + '_B_RARE' WHEN @Type = 'Sun' THEN + '_C_RARE' END
SELECT @ArmorName = CASE WHEN @ArmorName = 'Garment' THEN '_CLOTHES_' WHEN @ArmorName = 'Protector' THEN '_LIGHT_' WHEN @ArmorName = 'Armor' THEN '_HEAVY_' END
SELECT @ArmorType = CASE WHEN @ArmorType = 'Normal' THEN '_A' WHEN @ArmorType = 'Sos' THEN '_A_RARE' WHEN @ArmorType = 'Moon' THEN '_B_RARE' WHEN @ArmorType = 'Sun' THEN '_C_RARE' END
SELECT @ArmorGender = CASE WHEN @CharGender = 'Male' THEN '_M' WHEN @CharGender = 'Female' THEN '_W' END
-- END
/* DECLARING SHITS -- STARTED BY KINGDOLLAR */
-- BEGIN
DECLARE @_Codename varchar(129)
DECLARE @Hat_Codename varchar(129)
DECLARE @Chest_Codename varchar(129)
DECLARE @Legs_Codename varchar(129)
DECLARE @Shoulder_Codename varchar(129)
DECLARE @Hand_Codename varchar(129)
DECLARE @Foot_Codename varchar(129)
DECLARE @Shield_Codename varchar(129)
DECLARE @Ring_Codename varchar(129)
DECLARE @Earring_Codename varchar(129)
DECLARE @Necklace_Codename varchar(129)
-- END
/* SELECTING SHITS PART 2 -- STARTED BY KINGDOLLAR */
-- BEGIN
IF (@RefCharID BETWEEN 1907 AND 1932)
BEGIN
SELECT @_Codename = CASE WHEN @Name = 'Sword' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SWORD_' @Degree @Type) WHEN @Name = 'Blade' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_BLADE_' @Degree @Type) WHEN @Name = 'Glavie' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_TBLADE_' @Degree @Type) WHEN @Name = 'Bow' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_BOW_' @Degree @Type) WHEN @Name = 'Spear' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SPEAR_' @Degree @Type) END
SELECT TOP 1 @Hat_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_H A'+@ArmorType
SELECT TOP 1 @Chest_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_B A'+@ArmorType
SELECT TOP 1 @Legs_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_L A'+@ArmorType
SELECT TOP 1 @Shoulder_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_S A'+@ArmorType
SELECT TOP 1 @Hand_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_A A'+@ArmorType
SELECT TOP 1 @Foot_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_F A'+@ArmorType
SELECT TOP 1 @Shield_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SHIELD_' @Degree @Type
SELECT TOP 1 @Ring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_RING_' @Degree @Type
SELECT TOP 1 @Earring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_EARRING_' @Degree @Type
SELECT TOP 1 @Necklace_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_NECKLACE_' @Degree @Type
END
ELSE IF (@RefCharID BETWEEN 14875 AND 14900)
BEGIN
SELECT @_Codename = CASE WHEN @Name = 'Staff' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_TSTAFF_' @Degree @Type) WHEN @Name = 'TwoHandedSword' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_TSWORD_' @Degree @Type) WHEN @Name = 'OneHanded' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_SWORD_' @Degree @Type) WHEN @Name = 'Dagger' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_DAGGER_' @Degree @Type) WHEN @Name = 'CrossBow' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_CROSSBOW_' @Degree @Type) WHEN @Name = 'WarLock' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_DARKSTAFF_' @Degree @Type) WHEN @Name = 'Cleric' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_STAFF_' @Degree @Type) WHEN @Name = 'Harp' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_HARP_' @Degree @Type) END
SELECT TOP 1 @Hat_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_H A'+@ArmorType
SELECT TOP 1 @Chest_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_B A'+@ArmorType
SELECT TOP 1 @Legs_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_L A'+@ArmorType
SELECT TOP 1 @Shoulder_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_S A'+@ArmorType
SELECT TOP 1 @Hand_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_A A'+@ArmorType
SELECT TOP 1 @Foot_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_F A'+@ArmorType
SELECT TOP 1 @Shield_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_SHIELD_' @Degree @Type
SELECT TOP 1 @Ring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_RING_' @Degree @Type
SELECT TOP 1 @Earring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_EARRING_' @Degree @Type
SELECT TOP 1 @Necklace_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_NECKLACE_' @Degree @Type
END
-- END
/* DECLARING SHITS PART 2 -- STARTED BY KINGDOLLAR */
-- BEGIN
DECLARE @_ID bigint
DECLARE @_Dur bigint
DECLARE @_Shield_Status tinyint
DECLARE @Hat_ID bigint
DECLARE @Hat_Dur bigint
DECLARE @Chest_ID bigint
DECLARE @Chest_Dur bigint
DECLARE @Legs_ID bigint
DECLARE @Legs_Dur bigint
DECLARE @Shoulder_ID bigint
DECLARE @Shoulder_Dur bigint
DECLARE @Hand_ID bigint
DECLARE @Hand_Dur bigint
DECLARE @Foot_ID bigint
DECLARE @Foot_Dur bigint
DECLARE @Ring_ID bigint
DECLARE @Earring_ID bigint
DECLARE @Necklace_ID bigint
DECLARE @Shield_ID bigint
DECLARE @Shield_Dur bigint
-- END
/* SELECTING SHITS PART 3 -- STARTED BY KINGDOLLAR */
-- BEGIN
SELECT TOP 1 @_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @_Codename
SELECT TOP 1 @Shield_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Shield_Codename
SELECT TOP 1 @Hat_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Hat_Codename
SELECT TOP 1 @Chest_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Chest_Codename
SELECT TOP 1 @Legs_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Legs_Codename
SELECT TOP 1 @Shoulder_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Shoulder_Codename
SELECT TOP 1 @Hand_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Hand_Codename
SELECT TOP 1 @Foot_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Foot_Codename
SELECT TOP 1 @Ring_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Ring_Codename
SELECT TOP 1 @Earring_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Earring_Codename
SELECT TOP 1 @Necklace_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Necklace_Codename
SELECT TOP 1 @_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @_Codename
SELECT TOP 1 @Shield_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Shield_Codename
SELECT TOP 1 @Hat_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Hat_Codename
SELECT TOP 1 @Chest_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Chest_Codename
SELECT TOP 1 @Legs_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Legs_Codename
SELECT TOP 1 @Shoulder_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Shoulder_Codename
SELECT TOP 1 @Hand_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Hand_Codename
SELECT TOP 1 @Foot_Dur =It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Foot_Codename
SELECT TOP 1 @_Shield_Status = It.TwoHanded FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @_Codename
-- END
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »ó°©
IF (@Hat_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 0, @Hat_ID, @Hat_Dur --HAT
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Shoulder_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 2, @Shoulder_ID, @Shoulder_Dur --Shoulder
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Hand_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 3, @Hand_ID, @Hand_Dur --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Ring_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 11, @Ring_ID, 1 --Ring
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 12, @Ring_ID, 1 --Ring
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Earring_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 9, @Earring_ID, 1 --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Necklace_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 10, @Necklace_ID, 1 --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Chest_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 1, @Chest_ID, @Chest_Dur --Chest
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹ÙÁö
IF (@Legs_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 4, @Legs_ID, @Legs_Dur --Legs
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@Foot_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 5, @Foot_ID, @Foot_Dur --Foot
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF @_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 6, @_ID, @_Dur --Weapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
IF @_Shield_Status = 0)
BEGIN
IF (@Shield_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 7, @Shield_ID, @Shield_Dur --Shield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
END
-----------------------------------------------------------------------------
-- 3-2. ¾Æ¹ÙŸ Inventory ½½·Ô ä¿ì±â
-- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
-- APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼* Ãß°¡µÇ´Â ºÎºÐ
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO SRO_VT_SHARD.._InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM SRO_VT_SHARD.._RefDummySlot with( nolock )
WHERE cnt < 5
IF (@@ERROR <> 0)
BEGIN
-- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -14
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-----------------------------------------------------------------------------
-- default skill³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
DECLARE @country tinyINT
EXEC @country = SRO_VT_SHARD.._GetObjCountry @RefCharID
INSERT INTO SRO_VT_SHARD.._CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM SRO_VT_SHARD.._RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO SRO_VT_SHARD.._CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM SRO_VT_SHARD.._RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM SRO_VT_SHARD.._RefQuest
WHERE CodeName in (SELECT CodeName FROM SRO_VT_SHARD.._RefCharDefault_Quest with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1)
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -17
END
-----------------------------------------------------------------------------
-- Static Avatar Initial Record ³Ö±â
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ö±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT SRO_VT_SHARD.._CharNameList VALUES(@CharName, @NewCharID)
/* inserting into chest */
-- BEGIN
DECLARE @Start tinyint = 0
DECLARE @End tinyint = 239
WHILE @Start < @End
BEGIN
SET @Start += 1
INSERT INTO SRO_VT_SHARD.._Chest (UserJID,Slot) VALUES @JID,@Start)
END
exec SRO_VT_SHARD.._InsertToChestInfo
-- END
-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!
exec SRO_VT_SHARD.dbo._AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
print 'JID : '+CONVERT(varchar(25) @JID)
print 'Username : ' @
print 'Password : '+@Password
print 'CharID : '+CONVERT(varchar(25),@NewCharID)
print 'Charname : '+@CharName
print 'CharType : '+@CharType
print 'CharGender : '+@CharGender
print 'CharTown : ' @
print 'CharScale : '+CONVERT(varchar(25),@CharScale)
print 'Charlevel : '+CONVERT(varchar(25),@CharLevel)
print 'Charstr : '+CONVERT(varchar(25),@CharStr)
print 'Charint : '+CONVERT(varchar(25),@CharInt)
print 'CharGold : '+CONVERT(varchar(25),@CharGold)
print 'CharSP : '+CONVERT(varchar(25),@CharSP)
print 'CharHP : '+CONVERT(varchar(25),@CharHP)
print 'CharMP : '+CONVERT(varchar(25),@CharMP)
print 'Char_InvSlot : '+CONVERT(varchar(25),@CharInv)
print 'Weapon_Name : ' @Name
print 'Weapon_Type : ' @Type
print 'Weapon_Degree : ' @Degree
print 'Armor_Name : '+@ArmorName
print 'Armor_Type : '+@ArmorType
print 'Armor_Degree : '+@ArmorDegree
print 'character has been created successfully'
RETURN @NewCharID
DECLARE @ varchar(24) = 'player7' --username
DECLARE @Password varchar(50) = 'gm' --password
DECLARE @AccountType varchar(6) = 'Player' -- Available : Player , GM
DECLARE @Charname varchar(64) = 'Player7' --charname
DECLARE @CharType varchar(8) = 'Chinese' -- Available : Europe , Chinese
DECLARE @CharGender varchar(7) = 'Female' -- Available : Male , Female
DECLARE @ varchar(64) = 'Jangan' -- Available : Jangan , Donwhang , Hotan , SamarKand , Constantinople
DECLARE @CharLevel tinyint = '125' --charlevel
DECLARE @CharStr smallint = '395' --charstr
DECLARE @CharInt smallint = '395' --charint
DECLARE @Gold bigint = '9999999' --gold
DECLARE @SP int = '99999999' --sp
DECLARE @HP int = '200' --hp
DECLARE @MP int = '200' --mp
DECLARE @INVSlot int = '109' --inv slot
-- Weapon Available
/* Chinese Available : Sword , Blade , Spear , Blade , Glavie */
/* Europe Available : Staff , TwoHandedSword , OneHanded , Dagger , CrossBow , WarLock , Cleric , Harp */
DECLARE @Name varchar(129) = 'Sword'
DECLARE @Type varchar(129) = 'Sun' -- Available : Normal , Sos , Moon , Sun
DECLARE @Degree varchar(129) = '13'
DECLARE @ArmorName varchar(129) = 'Armor' -- Available : Garment , Protector , Armor
DECLARE @ArmorType varchar(129) = 'Sun' -- Available : Normal , Sos , Moon , Sun
DECLARE @ArmorDegree varchar(129) = '13'
exec [_KingDollar_CreateFULLCharacter] @,@Password,@Charname,@CharType,@CharGender @,@CharLevel,@CharStr,@CharInt,@Gold,@SP,@HP,@MP,@I NVSlot @Name @Type @Degree,@ArmorName,@ArmorType,@ArmorDegree,@Account Type
DECLARE @Password varchar(50) = 'gm' --password
DECLARE @AccountType varchar(6) = 'Player' -- Available : Player , GM
DECLARE @Charname varchar(64) = 'Player7' --charname
DECLARE @CharType varchar(8) = 'Chinese' -- Available : Europe , Chinese
DECLARE @CharGender varchar(7) = 'Female' -- Available : Male , Female
DECLARE @ varchar(64) = 'Jangan' -- Available : Jangan , Donwhang , Hotan , SamarKand , Constantinople
DECLARE @CharLevel tinyint = '125' --charlevel
DECLARE @CharStr smallint = '395' --charstr
DECLARE @CharInt smallint = '395' --charint
DECLARE @Gold bigint = '9999999' --gold
DECLARE @SP int = '99999999' --sp
DECLARE @HP int = '200' --hp
DECLARE @MP int = '200' --mp
DECLARE @INVSlot int = '109' --inv slot
-- Weapon Available
/* Chinese Available : Sword , Blade , Spear , Blade , Glavie */
/* Europe Available : Staff , TwoHandedSword , OneHanded , Dagger , CrossBow , WarLock , Cleric , Harp */
DECLARE @Name varchar(129) = 'Sword'
DECLARE @Type varchar(129) = 'Sun' -- Available : Normal , Sos , Moon , Sun
DECLARE @Degree varchar(129) = '13'
DECLARE @ArmorName varchar(129) = 'Armor' -- Available : Garment , Protector , Armor
DECLARE @ArmorType varchar(129) = 'Sun' -- Available : Normal , Sos , Moon , Sun
DECLARE @ArmorDegree varchar(129) = '13'
exec [_KingDollar_CreateFULLCharacter] @,@Password,@Charname,@CharType,@CharGender @,@CharLevel,@CharStr,@CharInt,@Gold,@SP,@HP,@MP,@I NVSlot @Name @Type @Degree,@ArmorName,@ArmorType,@ArmorDegree,@Account Type
[2] add a character to account username
USE [SRO_KINGDOLLAR_EVENT]
GO
/****** Object: StoredProcedure [dbo].[_KingDollar_AddCharacter_ToAccount] Script Date: 03/08/2016 07:21:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[_KingDollar_AddCharacter_ToAccount]
@ varchar(24),
@CharName varchar (64),
@CharType varchar(8),
@CharGender varchar(6),
@ varchar(64),
@CharLevel tinyint,
@CharStr int,
@CharInt int,
@CharGold int,
@CharSP int,
@CharHP int,
@CharMP int,
@CharInv varchar(145),
@Name varchar(264),
@Type varchar(64),
@Degree varchar(24),
@ArmorName varchar(264),
@ArmorType varchar(64),
@ArmorDegree varchar(24)
AS
SET NOCOUNT ON
--################################################## ###########################
--################################################## ###########################
--###############/* TROY ONLINE PROCEDURES -- KING DOLLAR -- */--##############
--################################################## ###########################
--################################################## ###########################
DECLARE @JID INT
IF NOT EXISTS (SELECT StrUserID FROM SRO_VT_ACCOUNT.dbo.TB_User WHERE StrUserID = @)
BEGIN
PRINT 'Username is not exist'
END
ELSE IF EXISTS (SELECT StrUserID FROM SRO_VT_ACCOUNT.dbo.TB_User WHERE StrUserID = @)
BEGIN
SELECT @JID = JID FROM SRO_VT_ACCOUNT..TB_User WHERE StrUserID = @
END
DECLARE @Slot INT
DECLARE @ INT
DECLARE @NewCharID INT
SET @NewCharID = 0
SELECT @JID = JID FROM SRO_VT_ACCOUNT..TB_User WHERE StrUserID = @
/* DECLARING SOME SHITS */
DECLARE @CharScale tinyint
DECLARE @ArmorGender varchar(7)
DECLARE @RefCharID int
DECLARE @StartRegionID INT
DECLARE @StartPos_X real
DECLARE @StartPos_Y real
DECLARE @StartPos_Z real
/* SELECTING SOME SHITS */
SELECT @CharScale = CONVERT(int,34+(64-34)*RAND());
SELECT @RefCharID = CASE WHEN @CharType = 'Chinese' AND @CharGender = 'Male' THEN (SELECT CONVERT(int,1907+(1919-1907)*RAND())) WHEN @CharType = 'Chinese' AND @CharGender = 'Female' THEN (SELECT CONVERT(int,1920+(1932-1920)*RAND())) WHEN @CharType = 'Europe' AND @CharGender = 'Male' THEN (SELECT CONVERT(int,14875+(14887-14875)*RAND())) WHEN @CharType = 'Europe' AND @CharGender = 'Female' THEN (SELECT CONVERT(int,14888+(14900-14888)*RAND())) END
IF @ = 'Jangan')
BEGIN
SET @StartRegionID = '25000'
SET @StartPos_X = '995'
SET @StartPos_Y = '-32'
SET @StartPos_Z = '1132'
END
ELSE IF @ = 'Donwhang')
BEGIN
SET @StartRegionID = '26265'
SET @StartPos_X = '957'
SET @StartPos_Y = '-80'
SET @StartPos_Z = '1508'
END
ELSE IF @ = 'Hotan')
BEGIN
SET @StartRegionID = '23687'
SET @StartPos_X = '1138'
SET @StartPos_Y = '250'
SET @StartPos_Z = '153'
END
ELSE IF @ = 'SamarKand')
BEGIN
SET @StartRegionID = '27244'
SET @StartPos_X = '271'
SET @StartPos_Y = '180'
SET @StartPos_Z = '1438'
END
ELSE IF @ = 'Constantinople')
BEGIN
SET @StartRegionID = '26959'
SET @StartPos_X = '1030'
SET @StartPos_Y = '80'
SET @StartPos_Z = '512'
END
ELSE
BEGIN
SET @StartRegionID = '25000'
SET @StartPos_X = '995'
SET @StartPos_Y = '-32'
SET @StartPos_Z = '1132'
END
-----------------------------------------------------------------------------
-- 1. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö, ±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú üũÇÑ´Ù.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @ = count(CharID) FROM SRO_VT_SHARD.dbo._User WITH (NOLOCK) WHERE UserJID = @JID
IF @ >= 4)
BEGIN
-- ³Ê¹« ¸¹ÀÚ³ª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯ÅÍ Ãß°¡Çϱâ
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!
RETURN -3
END
EXEC @ = SRO_VT_SHARD.dbo._IsExistingCharName @CharName
IF @ <> 0)
BEGIN
print 'Charname exist but account created succesfully,you can use proc of [_KingDollar_AddCharacter_ToAccount]'
-- ÀÌ¹Ì »ç¿ëÁßÀÎ À̸§À̶ó´Âµ¥?
RETURN -4
END
BEGIN TRANSACTION
-- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼* ¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!
INSERT INTO SRO_VT_SHARD.dbo._Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold , RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, @CharStr, @CharInt, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, 0, @CharInv,
GetDate(), @CharLevel, @CharLevel, @CharGold, @CharSP, @CharHP,@CharMP, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -5
END
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..
INSERT INTO SRO_VT_SHARD.._AccountJID values @, @JID,0)
INSERT INTO SRO_VT_SHARD.._User VALUES @JID, @NewCharID)
-- finish by novice.
-----------------------------------------------------------------------------
-- 3-1. Àåºñ ½½·Ô ä¿ì±â
-- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼* 96°³·Î Áõ°¡!!!(woos0)
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO SRO_VT_SHARD.._Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM SRO_VT_SHARD.._RefDummySlot with( nolock )
WHERE cnt < 109
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -7
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-- µðÆúÆ®·Î ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀ» ´Ù½Ã ³Ö¾îÁÖÀÚ...
/* ¿ä·± ¼ø¼*·Î Á¤ÀǵǾî ÀÖ´Ù.
0: EQUIP_SLOT_HELM
1: EQUIP_SLOT_MAIL,
2: EQUIP_SLOT_SHOULDERGUARD,
3: EQUIP_SLOT_GAUNTLET,
4: EQUIP_SLOT_PANTS,
5: EQUIP_SLOT_BOOTS,
6: EQUIP_SLOT_WEAPON,
7: EQUIP_SLOT_SHIELD or ARROW,
9: EQUIP_SLOT_EARRING,
10: EQUIP_SLOT_NECKLACE,
11: EQUIP_SLOT_L_RING,
12: EQUIP_SLOT_R_RING,
*/
/* SELECTING SHITS -- STARTED BY KINGDOLLAR */
-- BEGIN
SELECT @Type = CASE WHEN @Type = 'Normal' THEN + '_A' WHEN @Type = 'Sos' THEN + '_A_RARE' WHEN @Type = 'Moon' THEN + '_B_RARE' WHEN @Type = 'Sun' THEN + '_C_RARE' END
SELECT @ArmorName = CASE WHEN @ArmorName = 'Garment' THEN '_CLOTHES_' WHEN @ArmorName = 'Protector' THEN '_LIGHT_' WHEN @ArmorName = 'Armor' THEN '_HEAVY_' END
SELECT @ArmorType = CASE WHEN @ArmorType = 'Normal' THEN '_A' WHEN @ArmorType = 'Sos' THEN '_A_RARE' WHEN @ArmorType = 'Moon' THEN '_B_RARE' WHEN @ArmorType = 'Sun' THEN '_C_RARE' END
SELECT @ArmorGender = CASE WHEN @CharGender = 'Male' THEN '_M' WHEN @CharGender = 'Female' THEN '_W' END
-- END
/* DECLARING SHITS -- STARTED BY KINGDOLLAR */
-- BEGIN
DECLARE @_Codename varchar(129)
DECLARE @Hat_Codename varchar(129)
DECLARE @Chest_Codename varchar(129)
DECLARE @Legs_Codename varchar(129)
DECLARE @Shoulder_Codename varchar(129)
DECLARE @Hand_Codename varchar(129)
DECLARE @Foot_Codename varchar(129)
DECLARE @Shield_Codename varchar(129)
DECLARE @Ring_Codename varchar(129)
DECLARE @Earring_Codename varchar(129)
DECLARE @Necklace_Codename varchar(129)
-- END
/* SELECTING SHITS PART 2 -- STARTED BY KINGDOLLAR */
-- BEGIN
IF (@RefCharID BETWEEN 1907 AND 1932)
BEGIN
SELECT @_Codename = CASE WHEN @Name = 'Sword' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SWORD_' @Degree @Type) WHEN @Name = 'Blade' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_BLADE_' @Degree @Type) WHEN @Name = 'Glavie' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_TBLADE_' @Degree @Type) WHEN @Name = 'Bow' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_BOW_' @Degree @Type) WHEN @Name = 'Spear' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SPEAR_' @Degree @Type) END
SELECT TOP 1 @Hat_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_H A'+@ArmorType
SELECT TOP 1 @Chest_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_B A'+@ArmorType
SELECT TOP 1 @Legs_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_L A'+@ArmorType
SELECT TOP 1 @Shoulder_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_S A'+@ArmorType
SELECT TOP 1 @Hand_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_A A'+@ArmorType
SELECT TOP 1 @Foot_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_F A'+@ArmorType
SELECT TOP 1 @Shield_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SHIELD_' @Degree @Type
SELECT TOP 1 @Ring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_RING_' @Degree @Type
SELECT TOP 1 @Earring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_EARRING_' @Degree @Type
SELECT TOP 1 @Necklace_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_NECKLACE_' @Degree @Type
END
ELSE IF (@RefCharID BETWEEN 14875 AND 14900)
BEGIN
SELECT @_Codename = CASE WHEN @Name = 'Staff' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_TSTAFF_' @Degree @Type) WHEN @Name = 'TwoHandedSword' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_TSWORD_' @Degree @Type) WHEN @Name = 'OneHanded' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_SWORD_' @Degree @Type) WHEN @Name = 'Dagger' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_DAGGER_' @Degree @Type) WHEN @Name = 'CrossBow' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_CROSSBOW_' @Degree @Type) WHEN @Name = 'WarLock' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_DARKSTAFF_' @Degree @Type) WHEN @Name = 'Cleric' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_STAFF_' @Degree @Type) WHEN @Name = 'Harp' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_HARP_' @Degree @Type) END
SELECT TOP 1 @Hat_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_H A'+@ArmorType
SELECT TOP 1 @Chest_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_B A'+@ArmorType
SELECT TOP 1 @Legs_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_L A'+@ArmorType
SELECT TOP 1 @Shoulder_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_S A'+@ArmorType
SELECT TOP 1 @Hand_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_A A'+@ArmorType
SELECT TOP 1 @Foot_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_F A'+@ArmorType
SELECT TOP 1 @Shield_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_SHIELD_' @Degree @Type
SELECT TOP 1 @Ring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_RING_' @Degree @Type
SELECT TOP 1 @Earring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_EARRING_' @Degree @Type
SELECT TOP 1 @Necklace_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_NECKLACE_' @Degree @Type
END
-- END
/* DECLARING SHITS PART 2 -- STARTED BY KINGDOLLAR */
-- BEGIN
DECLARE @_ID bigint
DECLARE @_Dur bigint
DECLARE @_Shield_Status tinyint
DECLARE @Hat_ID bigint
DECLARE @Hat_Dur bigint
DECLARE @Chest_ID bigint
DECLARE @Chest_Dur bigint
DECLARE @Legs_ID bigint
DECLARE @Legs_Dur bigint
DECLARE @Shoulder_ID bigint
DECLARE @Shoulder_Dur bigint
DECLARE @Hand_ID bigint
DECLARE @Hand_Dur bigint
DECLARE @Foot_ID bigint
DECLARE @Foot_Dur bigint
DECLARE @Ring_ID bigint
DECLARE @Earring_ID bigint
DECLARE @Necklace_ID bigint
DECLARE @Shield_ID bigint
DECLARE @Shield_Dur bigint
-- END
/* SELECTING SHITS PART 3 -- STARTED BY KINGDOLLAR */
-- BEGIN
SELECT TOP 1 @_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @_Codename
SELECT TOP 1 @Shield_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Shield_Codename
SELECT TOP 1 @Hat_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Hat_Codename
SELECT TOP 1 @Chest_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Chest_Codename
SELECT TOP 1 @Legs_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Legs_Codename
SELECT TOP 1 @Shoulder_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Shoulder_Codename
SELECT TOP 1 @Hand_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Hand_Codename
SELECT TOP 1 @Foot_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Foot_Codename
SELECT TOP 1 @Ring_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Ring_Codename
SELECT TOP 1 @Earring_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Earring_Codename
SELECT TOP 1 @Necklace_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Necklace_Codename
SELECT TOP 1 @_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @_Codename
SELECT TOP 1 @Shield_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Shield_Codename
SELECT TOP 1 @Hat_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Hat_Codename
SELECT TOP 1 @Chest_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Chest_Codename
SELECT TOP 1 @Legs_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Legs_Codename
SELECT TOP 1 @Shoulder_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Shoulder_Codename
SELECT TOP 1 @Hand_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Hand_Codename
SELECT TOP 1 @Foot_Dur =It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Foot_Codename
SELECT TOP 1 @_Shield_Status = It.TwoHanded FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @_Codename
-- END
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »ó°©
IF (@Hat_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 0, @Hat_ID, @Hat_Dur --HAT
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Shoulder_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 2, @Shoulder_ID, @Shoulder_Dur --Shoulder
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Hand_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 3, @Hand_ID, @Hand_Dur --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Ring_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 11, @Ring_ID, 1 --Ring
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 12, @Ring_ID, 1 --Ring
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Earring_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 9, @Earring_ID, 1 --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Necklace_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 10, @Necklace_ID, 1 --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Chest_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 1, @Chest_ID, @Chest_Dur --Chest
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹ÙÁö
IF (@Legs_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 4, @Legs_ID, @Legs_Dur --Legs
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@Foot_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 5, @Foot_ID, @Foot_Dur --Foot
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF @_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 6, @_ID, @_Dur --Weapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
IF @_Shield_Status = 0)
BEGIN
IF (@Shield_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 7, @Shield_ID, @Shield_Dur --Shield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
END
-----------------------------------------------------------------------------
-- 3-2. ¾Æ¹ÙŸ Inventory ½½·Ô ä¿ì±â
-- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
-- APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼* Ãß°¡µÇ´Â ºÎºÐ
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO SRO_VT_SHARD.._InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM SRO_VT_SHARD.._RefDummySlot with( nolock )
WHERE cnt < 5
IF (@@ERROR <> 0)
BEGIN
-- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -14
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-----------------------------------------------------------------------------
-- default skill³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
DECLARE @country tinyINT
EXEC @country = SRO_VT_SHARD.._GetObjCountry @RefCharID
INSERT INTO SRO_VT_SHARD.._CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM SRO_VT_SHARD.._RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO SRO_VT_SHARD.._CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM SRO_VT_SHARD.._RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM SRO_VT_SHARD.._RefQuest
WHERE CodeName in (SELECT CodeName FROM SRO_VT_SHARD.._RefCharDefault_Quest with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1)
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -17
END
-----------------------------------------------------------------------------
-- Static Avatar Initial Record ³Ö±â
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ö±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT SRO_VT_SHARD.._CharNameList VALUES(@CharName, @NewCharID)
/* inserting into chest */
-- BEGIN
DECLARE @Start tinyint = 0
DECLARE @End tinyint = 239
WHILE @Start < @End
BEGIN
SET @Start += 1
INSERT INTO SRO_VT_SHARD.._Chest (UserJID,Slot) VALUES @JID,@Start)
END
exec SRO_VT_SHARD.._InsertToChestInfo
-- END
-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!
exec SRO_VT_SHARD.dbo._AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
print 'JID : '+CONVERT(varchar(25) @JID)
print 'Username : ' @
print 'CharID : '+CONVERT(varchar(25),@NewCharID)
print 'Charname : '+@CharName
print 'CharType : '+@CharType
print 'CharGender : '+@CharGender
print 'CharTown : ' @
print 'CharScale : '+CONVERT(varchar(25),@CharScale)
print 'Charlevel : '+CONVERT(varchar(25),@CharLevel)
print 'Charstr : '+CONVERT(varchar(25),@CharStr)
print 'Charint : '+CONVERT(varchar(25),@CharInt)
print 'CharGold : '+CONVERT(varchar(25),@CharGold)
print 'CharSP : '+CONVERT(varchar(25),@CharSP)
print 'CharHP : '+CONVERT(varchar(25),@CharHP)
print 'CharMP : '+CONVERT(varchar(25),@CharMP)
print 'Char_InvSlot : '+CONVERT(varchar(25),@CharInv)
print 'Weapon_Name : ' @Name
print 'Weapon_Type : ' @Type
print 'Weapon_Degree : ' @Degree
print 'Armor_Name : '+@ArmorName
print 'Armor_Type : '+@ArmorType
print 'Armor_Degree : '+@ArmorDegree
print 'character has been created successfully'
RETURN @NewCharID
GO
/****** Object: StoredProcedure [dbo].[_KingDollar_AddCharacter_ToAccount] Script Date: 03/08/2016 07:21:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[_KingDollar_AddCharacter_ToAccount]
@ varchar(24),
@CharName varchar (64),
@CharType varchar(8),
@CharGender varchar(6),
@ varchar(64),
@CharLevel tinyint,
@CharStr int,
@CharInt int,
@CharGold int,
@CharSP int,
@CharHP int,
@CharMP int,
@CharInv varchar(145),
@Name varchar(264),
@Type varchar(64),
@Degree varchar(24),
@ArmorName varchar(264),
@ArmorType varchar(64),
@ArmorDegree varchar(24)
AS
SET NOCOUNT ON
--################################################## ###########################
--################################################## ###########################
--###############/* TROY ONLINE PROCEDURES -- KING DOLLAR -- */--##############
--################################################## ###########################
--################################################## ###########################
DECLARE @JID INT
IF NOT EXISTS (SELECT StrUserID FROM SRO_VT_ACCOUNT.dbo.TB_User WHERE StrUserID = @)
BEGIN
PRINT 'Username is not exist'
END
ELSE IF EXISTS (SELECT StrUserID FROM SRO_VT_ACCOUNT.dbo.TB_User WHERE StrUserID = @)
BEGIN
SELECT @JID = JID FROM SRO_VT_ACCOUNT..TB_User WHERE StrUserID = @
END
DECLARE @Slot INT
DECLARE @ INT
DECLARE @NewCharID INT
SET @NewCharID = 0
SELECT @JID = JID FROM SRO_VT_ACCOUNT..TB_User WHERE StrUserID = @
/* DECLARING SOME SHITS */
DECLARE @CharScale tinyint
DECLARE @ArmorGender varchar(7)
DECLARE @RefCharID int
DECLARE @StartRegionID INT
DECLARE @StartPos_X real
DECLARE @StartPos_Y real
DECLARE @StartPos_Z real
/* SELECTING SOME SHITS */
SELECT @CharScale = CONVERT(int,34+(64-34)*RAND());
SELECT @RefCharID = CASE WHEN @CharType = 'Chinese' AND @CharGender = 'Male' THEN (SELECT CONVERT(int,1907+(1919-1907)*RAND())) WHEN @CharType = 'Chinese' AND @CharGender = 'Female' THEN (SELECT CONVERT(int,1920+(1932-1920)*RAND())) WHEN @CharType = 'Europe' AND @CharGender = 'Male' THEN (SELECT CONVERT(int,14875+(14887-14875)*RAND())) WHEN @CharType = 'Europe' AND @CharGender = 'Female' THEN (SELECT CONVERT(int,14888+(14900-14888)*RAND())) END
IF @ = 'Jangan')
BEGIN
SET @StartRegionID = '25000'
SET @StartPos_X = '995'
SET @StartPos_Y = '-32'
SET @StartPos_Z = '1132'
END
ELSE IF @ = 'Donwhang')
BEGIN
SET @StartRegionID = '26265'
SET @StartPos_X = '957'
SET @StartPos_Y = '-80'
SET @StartPos_Z = '1508'
END
ELSE IF @ = 'Hotan')
BEGIN
SET @StartRegionID = '23687'
SET @StartPos_X = '1138'
SET @StartPos_Y = '250'
SET @StartPos_Z = '153'
END
ELSE IF @ = 'SamarKand')
BEGIN
SET @StartRegionID = '27244'
SET @StartPos_X = '271'
SET @StartPos_Y = '180'
SET @StartPos_Z = '1438'
END
ELSE IF @ = 'Constantinople')
BEGIN
SET @StartRegionID = '26959'
SET @StartPos_X = '1030'
SET @StartPos_Y = '80'
SET @StartPos_Z = '512'
END
ELSE
BEGIN
SET @StartRegionID = '25000'
SET @StartPos_X = '995'
SET @StartPos_Y = '-32'
SET @StartPos_Z = '1132'
END
-----------------------------------------------------------------------------
-- 1. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö, ±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú üũÇÑ´Ù.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @ = count(CharID) FROM SRO_VT_SHARD.dbo._User WITH (NOLOCK) WHERE UserJID = @JID
IF @ >= 4)
BEGIN
-- ³Ê¹« ¸¹ÀÚ³ª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯ÅÍ Ãß°¡Çϱâ
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!
RETURN -3
END
EXEC @ = SRO_VT_SHARD.dbo._IsExistingCharName @CharName
IF @ <> 0)
BEGIN
print 'Charname exist but account created succesfully,you can use proc of [_KingDollar_AddCharacter_ToAccount]'
-- ÀÌ¹Ì »ç¿ëÁßÀÎ À̸§À̶ó´Âµ¥?
RETURN -4
END
BEGIN TRANSACTION
-- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼* ¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!
INSERT INTO SRO_VT_SHARD.dbo._Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold , RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, @CharStr, @CharInt, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, 0, @CharInv,
GetDate(), @CharLevel, @CharLevel, @CharGold, @CharSP, @CharHP,@CharMP, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -5
END
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..
INSERT INTO SRO_VT_SHARD.._AccountJID values @, @JID,0)
INSERT INTO SRO_VT_SHARD.._User VALUES @JID, @NewCharID)
-- finish by novice.
-----------------------------------------------------------------------------
-- 3-1. Àåºñ ½½·Ô ä¿ì±â
-- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼* 96°³·Î Áõ°¡!!!(woos0)
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO SRO_VT_SHARD.._Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM SRO_VT_SHARD.._RefDummySlot with( nolock )
WHERE cnt < 109
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -7
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-- µðÆúÆ®·Î ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀ» ´Ù½Ã ³Ö¾îÁÖÀÚ...
/* ¿ä·± ¼ø¼*·Î Á¤ÀǵǾî ÀÖ´Ù.
0: EQUIP_SLOT_HELM
1: EQUIP_SLOT_MAIL,
2: EQUIP_SLOT_SHOULDERGUARD,
3: EQUIP_SLOT_GAUNTLET,
4: EQUIP_SLOT_PANTS,
5: EQUIP_SLOT_BOOTS,
6: EQUIP_SLOT_WEAPON,
7: EQUIP_SLOT_SHIELD or ARROW,
9: EQUIP_SLOT_EARRING,
10: EQUIP_SLOT_NECKLACE,
11: EQUIP_SLOT_L_RING,
12: EQUIP_SLOT_R_RING,
*/
/* SELECTING SHITS -- STARTED BY KINGDOLLAR */
-- BEGIN
SELECT @Type = CASE WHEN @Type = 'Normal' THEN + '_A' WHEN @Type = 'Sos' THEN + '_A_RARE' WHEN @Type = 'Moon' THEN + '_B_RARE' WHEN @Type = 'Sun' THEN + '_C_RARE' END
SELECT @ArmorName = CASE WHEN @ArmorName = 'Garment' THEN '_CLOTHES_' WHEN @ArmorName = 'Protector' THEN '_LIGHT_' WHEN @ArmorName = 'Armor' THEN '_HEAVY_' END
SELECT @ArmorType = CASE WHEN @ArmorType = 'Normal' THEN '_A' WHEN @ArmorType = 'Sos' THEN '_A_RARE' WHEN @ArmorType = 'Moon' THEN '_B_RARE' WHEN @ArmorType = 'Sun' THEN '_C_RARE' END
SELECT @ArmorGender = CASE WHEN @CharGender = 'Male' THEN '_M' WHEN @CharGender = 'Female' THEN '_W' END
-- END
/* DECLARING SHITS -- STARTED BY KINGDOLLAR */
-- BEGIN
DECLARE @_Codename varchar(129)
DECLARE @Hat_Codename varchar(129)
DECLARE @Chest_Codename varchar(129)
DECLARE @Legs_Codename varchar(129)
DECLARE @Shoulder_Codename varchar(129)
DECLARE @Hand_Codename varchar(129)
DECLARE @Foot_Codename varchar(129)
DECLARE @Shield_Codename varchar(129)
DECLARE @Ring_Codename varchar(129)
DECLARE @Earring_Codename varchar(129)
DECLARE @Necklace_Codename varchar(129)
-- END
/* SELECTING SHITS PART 2 -- STARTED BY KINGDOLLAR */
-- BEGIN
IF (@RefCharID BETWEEN 1907 AND 1932)
BEGIN
SELECT @_Codename = CASE WHEN @Name = 'Sword' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SWORD_' @Degree @Type) WHEN @Name = 'Blade' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_BLADE_' @Degree @Type) WHEN @Name = 'Glavie' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_TBLADE_' @Degree @Type) WHEN @Name = 'Bow' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_BOW_' @Degree @Type) WHEN @Name = 'Spear' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SPEAR_' @Degree @Type) END
SELECT TOP 1 @Hat_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_H A'+@ArmorType
SELECT TOP 1 @Chest_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_B A'+@ArmorType
SELECT TOP 1 @Legs_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_L A'+@ArmorType
SELECT TOP 1 @Shoulder_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_S A'+@ArmorType
SELECT TOP 1 @Hand_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_A A'+@ArmorType
SELECT TOP 1 @Foot_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH'+@ArmorGender+@ArmorName+@ArmorDegree+'_F A'+@ArmorType
SELECT TOP 1 @Shield_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_SHIELD_' @Degree @Type
SELECT TOP 1 @Ring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_RING_' @Degree @Type
SELECT TOP 1 @Earring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_EARRING_' @Degree @Type
SELECT TOP 1 @Necklace_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_CH_NECKLACE_' @Degree @Type
END
ELSE IF (@RefCharID BETWEEN 14875 AND 14900)
BEGIN
SELECT @_Codename = CASE WHEN @Name = 'Staff' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_TSTAFF_' @Degree @Type) WHEN @Name = 'TwoHandedSword' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_TSWORD_' @Degree @Type) WHEN @Name = 'OneHanded' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_SWORD_' @Degree @Type) WHEN @Name = 'Dagger' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_DAGGER_' @Degree @Type) WHEN @Name = 'CrossBow' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_CROSSBOW_' @Degree @Type) WHEN @Name = 'WarLock' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_DARKSTAFF_' @Degree @Type) WHEN @Name = 'Cleric' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_STAFF_' @Degree @Type) WHEN @Name = 'Harp' THEN (SELECT TOP 1 CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_HARP_' @Degree @Type) END
SELECT TOP 1 @Hat_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_H A'+@ArmorType
SELECT TOP 1 @Chest_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_B A'+@ArmorType
SELECT TOP 1 @Legs_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_L A'+@ArmorType
SELECT TOP 1 @Shoulder_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_S A'+@ArmorType
SELECT TOP 1 @Hand_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_A A'+@ArmorType
SELECT TOP 1 @Foot_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU'+@ArmorGender+@ArmorName+@ArmorDegree+'_F A'+@ArmorType
SELECT TOP 1 @Shield_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_SHIELD_' @Degree @Type
SELECT TOP 1 @Ring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_RING_' @Degree @Type
SELECT TOP 1 @Earring_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_EARRING_' @Degree @Type
SELECT TOP 1 @Necklace_Codename = CodeName128 FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = 'ITEM_EU_NECKLACE_' @Degree @Type
END
-- END
/* DECLARING SHITS PART 2 -- STARTED BY KINGDOLLAR */
-- BEGIN
DECLARE @_ID bigint
DECLARE @_Dur bigint
DECLARE @_Shield_Status tinyint
DECLARE @Hat_ID bigint
DECLARE @Hat_Dur bigint
DECLARE @Chest_ID bigint
DECLARE @Chest_Dur bigint
DECLARE @Legs_ID bigint
DECLARE @Legs_Dur bigint
DECLARE @Shoulder_ID bigint
DECLARE @Shoulder_Dur bigint
DECLARE @Hand_ID bigint
DECLARE @Hand_Dur bigint
DECLARE @Foot_ID bigint
DECLARE @Foot_Dur bigint
DECLARE @Ring_ID bigint
DECLARE @Earring_ID bigint
DECLARE @Necklace_ID bigint
DECLARE @Shield_ID bigint
DECLARE @Shield_Dur bigint
-- END
/* SELECTING SHITS PART 3 -- STARTED BY KINGDOLLAR */
-- BEGIN
SELECT TOP 1 @_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @_Codename
SELECT TOP 1 @Shield_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Shield_Codename
SELECT TOP 1 @Hat_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Hat_Codename
SELECT TOP 1 @Chest_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Chest_Codename
SELECT TOP 1 @Legs_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Legs_Codename
SELECT TOP 1 @Shoulder_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Shoulder_Codename
SELECT TOP 1 @Hand_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Hand_Codename
SELECT TOP 1 @Foot_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Foot_Codename
SELECT TOP 1 @Ring_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Ring_Codename
SELECT TOP 1 @Earring_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Earring_Codename
SELECT TOP 1 @Necklace_ID = ID FROM SRO_VT_SHARD.dbo._RefObjCommon WHERE CodeName128 = @Necklace_Codename
SELECT TOP 1 @_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @_Codename
SELECT TOP 1 @Shield_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Shield_Codename
SELECT TOP 1 @Hat_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Hat_Codename
SELECT TOP 1 @Chest_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Chest_Codename
SELECT TOP 1 @Legs_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Legs_Codename
SELECT TOP 1 @Shoulder_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Shoulder_Codename
SELECT TOP 1 @Hand_Dur = It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Hand_Codename
SELECT TOP 1 @Foot_Dur =It.Dur_U FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @Foot_Codename
SELECT TOP 1 @_Shield_Status = It.TwoHanded FROM SRO_VT_SHARD.dbo._RefObjItem as It inner join SRO_VT_SHARD.dbo._RefObjCommon as RFC on RFC.Link = It.ID WHERE RFC.CodeName128 = @_Codename
-- END
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »ó°©
IF (@Hat_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 0, @Hat_ID, @Hat_Dur --HAT
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Shoulder_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 2, @Shoulder_ID, @Shoulder_Dur --Shoulder
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Hand_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 3, @Hand_ID, @Hand_Dur --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Ring_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 11, @Ring_ID, 1 --Ring
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 12, @Ring_ID, 1 --Ring
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Earring_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 9, @Earring_ID, 1 --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Necklace_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 10, @Necklace_ID, 1 --Hand
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- »ó°©
IF (@Chest_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 1, @Chest_ID, @Chest_Dur --Chest
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹ÙÁö
IF (@Legs_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 4, @Legs_ID, @Legs_Dur --Legs
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@Foot_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 5, @Foot_ID, @Foot_Dur --Foot
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF @_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 6, @_ID, @_Dur --Weapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
IF @_Shield_Status = 0)
BEGIN
IF (@Shield_ID <> 0)
BEGIN
EXEC @ItemID = SRO_VT_SHARD.dbo._FN_ADD_INITIAL_EQUIP @NewCharID, 7, @Shield_ID, @Shield_Dur --Shield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
END
-----------------------------------------------------------------------------
-- 3-2. ¾Æ¹ÙŸ Inventory ½½·Ô ä¿ì±â
-- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
-- APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼* Ãß°¡µÇ´Â ºÎºÐ
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO SRO_VT_SHARD.._InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM SRO_VT_SHARD.._RefDummySlot with( nolock )
WHERE cnt < 5
IF (@@ERROR <> 0)
BEGIN
-- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -14
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-----------------------------------------------------------------------------
-- default skill³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
DECLARE @country tinyINT
EXEC @country = SRO_VT_SHARD.._GetObjCountry @RefCharID
INSERT INTO SRO_VT_SHARD.._CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM SRO_VT_SHARD.._RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO SRO_VT_SHARD.._CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM SRO_VT_SHARD.._RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM SRO_VT_SHARD.._RefQuest
WHERE CodeName in (SELECT CodeName FROM SRO_VT_SHARD.._RefCharDefault_Quest with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1)
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -17
END
-----------------------------------------------------------------------------
-- Static Avatar Initial Record ³Ö±â
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ö±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO SRO_VT_SHARD.._CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT SRO_VT_SHARD.._CharNameList VALUES(@CharName, @NewCharID)
/* inserting into chest */
-- BEGIN
DECLARE @Start tinyint = 0
DECLARE @End tinyint = 239
WHILE @Start < @End
BEGIN
SET @Start += 1
INSERT INTO SRO_VT_SHARD.._Chest (UserJID,Slot) VALUES @JID,@Start)
END
exec SRO_VT_SHARD.._InsertToChestInfo
-- END
-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!
exec SRO_VT_SHARD.dbo._AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
print 'JID : '+CONVERT(varchar(25) @JID)
print 'Username : ' @
print 'CharID : '+CONVERT(varchar(25),@NewCharID)
print 'Charname : '+@CharName
print 'CharType : '+@CharType
print 'CharGender : '+@CharGender
print 'CharTown : ' @
print 'CharScale : '+CONVERT(varchar(25),@CharScale)
print 'Charlevel : '+CONVERT(varchar(25),@CharLevel)
print 'Charstr : '+CONVERT(varchar(25),@CharStr)
print 'Charint : '+CONVERT(varchar(25),@CharInt)
print 'CharGold : '+CONVERT(varchar(25),@CharGold)
print 'CharSP : '+CONVERT(varchar(25),@CharSP)
print 'CharHP : '+CONVERT(varchar(25),@CharHP)
print 'CharMP : '+CONVERT(varchar(25),@CharMP)
print 'Char_InvSlot : '+CONVERT(varchar(25),@CharInv)
print 'Weapon_Name : ' @Name
print 'Weapon_Type : ' @Type
print 'Weapon_Degree : ' @Degree
print 'Armor_Name : '+@ArmorName
print 'Armor_Type : '+@ArmorType
print 'Armor_Degree : '+@ArmorDegree
print 'character has been created successfully'
RETURN @NewCharID
DECLARE @ varchar(24) = 'player7'--username
DECLARE @Charname varchar(64) = 'Player7'--charname
DECLARE @CharType varchar(8) = 'Chinese' -- Available : Europe , Chinese
DECLARE @CharGender varchar(7) = 'Female' -- Available : Male , Female
DECLARE @ varchar(64) = 'Jangan' -- Available : Jangan , Donwhang , Hotan , SamarKand , Constantinople
DECLARE @CharLevel tinyint = '125'--charlevel
DECLARE @CharStr int = '395'--charstr
DECLARE @CharInt int = '395'--charint
DECLARE @Gold int = '9999999'--gold
DECLARE @SP int = '99999999'--sp
DECLARE @CharSTP int = '0'--char state point
DECLARE @HP int = '200'--hp
DECLARE @MP int = '200'--mp
DECLARE @INVSlot int = '109'--inv slot
-- Weapon Available
/* Chinese Available : Sword , Blade , Spear , Blade , Glavie */
/* Europe Available : Staff , TwoHandedSword , OneHanded , Dagger , CrossBow , WarLock , Cleric , Harp */
DECLARE @Name varchar(129) = 'Sword'
DECLARE @Type varchar(129) = 'Sun' -- Available : Normal , Sos , Moon , Sun
DECLARE @Degree varchar(129) = '13'
DECLARE @ArmorName varchar(129) = 'Armor' -- Available : Garment , Protector , Armor
DECLARE @ArmorType varchar(129) = 'Sun' -- Available : Normal , Sos , Moon , Sun
DECLARE @ArmorDegree varchar(129) = '13'
exec [_KingDollar_AddCharacter_ToAccount] @,@Charname,@CharType,@CharGender @,@CharLevel,@CharStr,@CharInt,@Gold,@SP,@HP,@MP,@I NVSlot @Name @Type @Degree,@ArmorName,@ArmorType,@ArmorDegree
DECLARE @Charname varchar(64) = 'Player7'--charname
DECLARE @CharType varchar(8) = 'Chinese' -- Available : Europe , Chinese
DECLARE @CharGender varchar(7) = 'Female' -- Available : Male , Female
DECLARE @ varchar(64) = 'Jangan' -- Available : Jangan , Donwhang , Hotan , SamarKand , Constantinople
DECLARE @CharLevel tinyint = '125'--charlevel
DECLARE @CharStr int = '395'--charstr
DECLARE @CharInt int = '395'--charint
DECLARE @Gold int = '9999999'--gold
DECLARE @SP int = '99999999'--sp
DECLARE @CharSTP int = '0'--char state point
DECLARE @HP int = '200'--hp
DECLARE @MP int = '200'--mp
DECLARE @INVSlot int = '109'--inv slot
-- Weapon Available
/* Chinese Available : Sword , Blade , Spear , Blade , Glavie */
/* Europe Available : Staff , TwoHandedSword , OneHanded , Dagger , CrossBow , WarLock , Cleric , Harp */
DECLARE @Name varchar(129) = 'Sword'
DECLARE @Type varchar(129) = 'Sun' -- Available : Normal , Sos , Moon , Sun
DECLARE @Degree varchar(129) = '13'
DECLARE @ArmorName varchar(129) = 'Armor' -- Available : Garment , Protector , Armor
DECLARE @ArmorType varchar(129) = 'Sun' -- Available : Normal , Sos , Moon , Sun
DECLARE @ArmorDegree varchar(129) = '13'
exec [_KingDollar_AddCharacter_ToAccount] @,@Charname,@CharType,@CharGender @,@CharLevel,@CharStr,@CharInt,@Gold,@SP,@HP,@MP,@I NVSlot @Name @Type @Degree,@ArmorName,@ArmorType,@ArmorDegree
Hope it save your time
trying to help not more