ãÔÇåÏÉ ÇáäÓÎÉ ßÇãáÉ : ãÔßáÉ ÙåÑÊ ÈÚÏ ãÇÝÊÍÊ Bandit FTW ãä _RefRegionBindAssocServer
elgenis
27-10-2017, 10:23 PM
ÇáãÔßáÉ Ïí ÙåÑÊ áãÇ ÝÊÍÊ Bandit FTW ãÚÑÝÔ åí ÚãáÊ ßÏÇ áíå ÈÓ ÏÎáÊ Úáì SQL æÛíÑÊ ãÇÈ Çá char æ Ïå Çááì ÍÕá áãÇ ÈäÒá ÈÇáÇßæäÊ
Ïí áãÇ äÒáÊ ÈÚÏ ãÇÝÊÍÊ bandit ftw ãä _RefRegionBindAssocServer
http://www4.0zz0.com/2017/10/27/22/679568443.jpg (https://www.0zz0.com)
ÇáÕæÑÉ Ïí áãÇ ÛíÑÊ ãßÇä Çááì ÈíäÒá Ýíå Çá char æ ÈíÇÎÏ DC ãä ÞÈá ãÇíäÒá
http://www4.0zz0.com/2017/10/27/22/877202393.jpg (https://www.0zz0.com)
ÌÑÈ áÞÝáåÇ ÊÇäí ßÏÇ æÔæÝ åÊÔÊÛá æáÇ áÇ :mf_viking:
Scrox
28-10-2017, 12:54 AM
ããßä ÍÇÖÑÊß ÊÈÚÊáì Add New Char_ ÈÊÚÊß ÇÊÇßÏÇ ãäå
æ ÇÊÇßÏÇ ãä Çä jangan ãÝÊæÍåÇ Ýì RefRegionBindAssocServer
CHINA = 1
FORT_BJ_AREA = 1
elgenis
28-10-2017, 03:42 AM
ããßä ÍÇÖÑÊß ÊÈÚÊáì Add New Char_ ÈÊÚÊß ÇÊÇßÏÇ ãäå
æ ÇÊÇßÏÇ ãä Çä jangan ãÝÊæÍåÇ Ýì RefRegionBindAssocServer
CHINA = 1
FORT_BJ_AREA = 1
http://www8.0zz0.com/2017/10/28/03/928528386.jpg (https://www.0zz0.com)
Janjan ãÝÊæÍÉ æÇááÚÈå ÔÛÇáå ÈÓ ÇáãÔßáÉ Ïí ÙåÑÊ áãÇ ÏÎáÊ Çá Bandit FTW æ áÞíÊ ÇáÇßæäÊ ÈíÇÎÏ DC áãÇ ÇÎÊÇÑ ÇáÔÎÕíÉ æÈÚÏ áãÇ ÛíÑÊ ãßÇäå áÞíÊåÇ ÈÊÍãá æÊäÒá ÈÓ ÈÇÎÏ DC æ hp/mp 0
ÇÊÝÖá ÍÖÑÊß
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 10/28/2017 2:35:36 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID INT,
--@CharSlot INT,
@RefCharID INT,
@CharName varchar (64),
@CharScale tinyINT,
@StartRegionID INT,
@StartPos_X real,
@StartPos_Y real,
@StartPos_Z real,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail tinyINT,
@DurPants tinyINT,
@DurBoots tinyINT,
@DurWeapon tinyINT,
@DurShield tinyINT,
@DefaultArrow INT
AS
SET NOCOUNT ON
DECLARE @Slot INT
DECLARE @temp INT
DECLARE @NewCharID INT
SET @NewCharID = 0
-----------------------------------------------------------------------------
-- 1. ij¸¯Ã…Ã� ½½·Ã” ³Ã‘¹Ã¶°Â¡ validÇÑ °Ã�ÀÎÃ�ö, ±×¸®°Ã* ºó½½·Ã”ÀÌ ¸Ã‚´Ã‚Ã�ö ¸Ã•Àú üũÇѴÙ.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
IF (@temp >= 4)
BEGIN
-- ³Ãй« ¸¹Ã€Ãš³Âª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯Ã…Ã� Ã߰¡ÇÃ�±â
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 À̴Ù!
BEGIN
-- ij¸¯Ã…Ã� »Ã½¼Âº ½Ã‡Ã†Ã�! ½ÂºÃ„ÉÀÃ� °ÂªÃ€ÃŒ À̻óÇÃ�´Ã™!
RETURN -3
END
EXEC @temp = _IsExistingCharName @CharName
IF (@temp <> 0)
BEGIN
-- À̹Ì »ç¿ëÃ�ßÀÎ À̸§Ã€ÃŒ¶Ã³´Ã‚µ¥?
RETURN -4
END
BEGIN TRANSACTION
-- Àδø½Ãƒ½ÂºÃ…ÛÀÌ Àû¿ëµÃ‡¸é¼* ¸¶Ã�ö¸·Â¿Â¡ WorldID¿Ã� 1°ÂªÃ€» ´Ãµ ³Ã–¾î Ã�־ú´Ã™!
INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, 149, 149, 32475, 1898, 659.7908, 960, 2094, 109,
GetDate(), 130, 130, 100000000, 390, 10000000, 2000, 2000, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯Ã…Ã� »Ã½¼Âº ½Ã‡Ã†Ã�!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- A??¦ Slot ¾E¾´´U.. ±×³E Insert ¸¸..
INSERT INTO _User VALUES (@UserJID, @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 _Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _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,
8: EQUIP_SLOT_EARRING,
9: EQUIP_SLOT_NECKLACE,
10: EQUIP_SLOT_L_RING,
11: EQUIP_SLOT_R_RING,
*/
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »Ã³°©
IF (@RefMailID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹Ã™Ã�ö
IF (@RefPantsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@RefBootsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF (@RefWeaponID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
-- ¹Ã¦Ã†Ã�
IF (@RefShield <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
END
-- Ȥ½Ãƒ default·ÃŽ ¼±Ã…ÃÇÑ ¹«±â°Â¡ ȰÀ̶ó¸é È*»Ã¬ 250°³µéÀÌ È°Ã…ëµµ ÇÔ²² Ã�شÙ. Ã�ÒÄ¡?
IF (@DefaultArrow <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
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 _InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _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 = _GetObjCountry @RefCharID
INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM _RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO _CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM _RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ÂºÃ†® ³Ã–¾îÃ�Ö±â
-----------------------------------------------------------------------------
INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM _RefQuest
WHERE CodeName in (SELECT CodeName FROM _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 _StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ã–±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Ã…丮 »Ã½¼Âº ½Ã‡Ã†Ã�!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ã–¾îÃ�Ö±â
-----------------------------------------------------------------------------
INSERT _CharNameList VALUES(@CharName, @NewCharID)
BEGIN
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_PREMIUM_VIETNAM_GOLDTIME_PLUS ',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_EVENT_RENT_GLOBAL_CHATTING',5 ,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_EVENT_RENT_REVERSE_RETURN_SCR OLL',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_AVATAR_M_AMALRUN_BLUE',1,0
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_AVATAR_W_AMALRUN_BLUE',1,0
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_ARCHEMY_POTION_SPEED_11',10, 1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_03',50,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HP_SUPERSET_5_BAG',8000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_MP_SUPERSET_5_BAG',8000,1
END
IF not exists (SELECT 1 FROM SRO_VT_ACCOUNT.dbo.SK_Silk WHERE JID = @UserJID)
BEGIN
INSERT INTO SRO_VT_ACCOUNT.dbo.SK_Silk SELECT @UserJID, 500000, 10000, 0;
END
-- Quick Slot Ã�¤Âº¸ ÀúÀå¿ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
RETURN @NewCharID
ÇÝäÏíäÇ ™Hamboka™
28-10-2017, 03:55 AM
ÍØ addnewcher Ïíå ãßÇä Çáí ÚäÏß
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 07/03/2012 21:37:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID INT,
--@CharSlot INT,
@RefCharID INT,
@CharName varchar (64),
@CharScale tinyINT,
@StartRegionID INT,
@StartPos_X real,
@StartPos_Y real,
@StartPos_Z real,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail tinyINT,
@DurPants tinyINT,
@DurBoots tinyINT,
@DurWeapon tinyINT,
@DurShield tinyINT,
@DefaultArrow INT
AS
SET NOCOUNT ON
DECLARE @Slot INT
DECLARE @temp INT
DECLARE @NewCharID INT
SET @NewCharID = 0
-----------------------------------------------------------------------------
-- 1. ij¸¯Ã…Ã� ½½·Ã” ³Ã‘¹Ã¶°Â¡ validÇÑ °Ã�ÀÎÃ�ö, ±×¸®°Ã* ºó½½·Ã”ÀÌ ¸Ã‚´Ã‚Ã�ö ¸Ã•Àú üũÇѴÙ.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
IF (@temp >= 4)
BEGIN
-- ³Ãй« ¸¹Ã€Ãš³Âª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯Ã…Ã� Ã߰¡ÇÃ�±â
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 À̴Ù!
BEGIN
-- ij¸¯Ã…Ã� »Ã½¼Âº ½Ã‡Ã†Ã�! ½ÂºÃ„ÉÀÃ� °ÂªÃ€ÃŒ À̻óÇÃ�´Ã™!
RETURN -3
END
EXEC @temp = _IsExistingCharName @CharName
IF (@temp <> 0)
BEGIN
-- À̹Ì »ç¿ëÃ�ßÀÎ À̸§Ã€ÃŒ¶Ã³´Ã‚µ¥?
RETURN -4
END
BEGIN TRANSACTION
-- Àδø½Ãƒ½ÂºÃ…ÛÀÌ Àû¿ëµÃ‡¸é¼* ¸¶Ã�ö¸·Â¿Â¡ WorldID¿Ã� 1°ÂªÃ€» ´Ãµ ³Ã–¾î Ã�־ú´Ã™!
INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, 20, 20, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 45,
GetDate(), 1, 1, 0, 0, 0, 200,200, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯Ã…Ã� »Ã½¼Âº ½Ã‡Ã†Ã�!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- ÀÌÃ�¦ Slot ¾Ãˆ¾´´Ã™.. ±×³Ã‰ Insert ¸¸..
INSERT INTO _User VALUES (@UserJID, @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 _Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _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,
8: EQUIP_SLOT_EARRING,
9: EQUIP_SLOT_NECKLACE,
10: EQUIP_SLOT_L_RING,
11: EQUIP_SLOT_R_RING,
*/
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »Ã³°©
IF (@RefMailID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹Ã™Ã�ö
IF (@RefPantsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@RefBootsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF (@RefWeaponID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
-- ¹Ã¦Ã†Ã�
IF (@RefShield <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
END
-- Ȥ½Ãƒ default·ÃŽ ¼±Ã…ÃÇÑ ¹«±â°Â¡ ȰÀ̶ó¸é È*»Ã¬ 250°³µéÀÌ È°Ã…ëµµ ÇÔ²² Ã�شÙ. Ã�ÒÄ¡?
IF (@DefaultArrow <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
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 _InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _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 = _GetObjCountry @RefCharID
INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM _RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO _CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM _RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ÂºÃ†® ³Ã–¾îÃ�Ö±â
-----------------------------------------------------------------------------
INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM _RefQuest
WHERE CodeName in (SELECT CodeName FROM _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 _StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ã–±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Ã…丮 »Ã½¼Âº ½Ã‡Ã†Ã�!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ã–¾îÃ�Ö±â
-----------------------------------------------------------------------------
INSERT _CharNameList VALUES(@CharName, @NewCharID)
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_HP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_MP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_COS_P_GOLDPIG_SCROLL ',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_MOVE_SPEED_UP_100 10 ',1,1
-- Quick Slot Ã�¤Âº¸ ÀúÀå¿ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
RETURN @NewCharID
ÇÞÝá ÇáãÏä ßáåÇ æ ÓíÈ chine+eu ÈÓ Çáí ãÝÊæÍíä
æÇÚãá Çãíá ÌÏíÏ æÌÑÈ
elgenis
28-10-2017, 04:44 AM
ÍØ addnewcher Ïíå ãßÇä Çáí ÚäÏß
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 07/03/2012 21:37:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID INT,
--@CharSlot INT,
@RefCharID INT,
@CharName varchar (64),
@CharScale tinyINT,
@StartRegionID INT,
@StartPos_X real,
@StartPos_Y real,
@StartPos_Z real,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail tinyINT,
@DurPants tinyINT,
@DurBoots tinyINT,
@DurWeapon tinyINT,
@DurShield tinyINT,
@DefaultArrow INT
AS
SET NOCOUNT ON
DECLARE @Slot INT
DECLARE @temp INT
DECLARE @NewCharID INT
SET @NewCharID = 0
-----------------------------------------------------------------------------
-- 1. ij¸¯Ã…Ã� ½½·Ã” ³Ã‘¹Ã¶°Â¡ validÇÑ °Ã�ÀÎÃ�ö, ±×¸®°Ã* ºó½½·Ã”ÀÌ ¸Ã‚´Ã‚Ã�ö ¸Ã•Àú üũÇѴÙ.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
IF (@temp >= 4)
BEGIN
-- ³Ãй« ¸¹Ã€Ãš³Âª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯Ã…Ã� Ã߰¡ÇÃ�±â
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 À̴Ù!
BEGIN
-- ij¸¯Ã…Ã� »Ã½¼Âº ½Ã‡Ã†Ã�! ½ÂºÃ„ÉÀÃ� °ÂªÃ€ÃŒ À̻óÇÃ�´Ã™!
RETURN -3
END
EXEC @temp = _IsExistingCharName @CharName
IF (@temp <> 0)
BEGIN
-- À̹Ì »ç¿ëÃ�ßÀÎ À̸§Ã€ÃŒ¶Ã³´Ã‚µ¥?
RETURN -4
END
BEGIN TRANSACTION
-- Àδø½Ãƒ½ÂºÃ…ÛÀÌ Àû¿ëµÃ‡¸é¼* ¸¶Ã�ö¸·Â¿Â¡ WorldID¿Ã� 1°ÂªÃ€» ´Ãµ ³Ã–¾î Ã�־ú´Ã™!
INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, 20, 20, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 45,
GetDate(), 1, 1, 0, 0, 0, 200,200, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯Ã…Ã� »Ã½¼Âº ½Ã‡Ã†Ã�!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- ÀÌÃ�¦ Slot ¾Ãˆ¾´´Ã™.. ±×³Ã‰ Insert ¸¸..
INSERT INTO _User VALUES (@UserJID, @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 _Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _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,
8: EQUIP_SLOT_EARRING,
9: EQUIP_SLOT_NECKLACE,
10: EQUIP_SLOT_L_RING,
11: EQUIP_SLOT_R_RING,
*/
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »Ã³°©
IF (@RefMailID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹Ã™Ã�ö
IF (@RefPantsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@RefBootsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF (@RefWeaponID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
-- ¹Ã¦Ã†Ã�
IF (@RefShield <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
END
-- Ȥ½Ãƒ default·ÃŽ ¼±Ã…ÃÇÑ ¹«±â°Â¡ ȰÀ̶ó¸é È*»Ã¬ 250°³µéÀÌ È°Ã…ëµµ ÇÔ²² Ã�شÙ. Ã�ÒÄ¡?
IF (@DefaultArrow <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
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 _InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _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 = _GetObjCountry @RefCharID
INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM _RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO _CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM _RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ÂºÃ†® ³Ã–¾îÃ�Ö±â
-----------------------------------------------------------------------------
INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM _RefQuest
WHERE CodeName in (SELECT CodeName FROM _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 _StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ã–±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Ã…丮 »Ã½¼Âº ½Ã‡Ã†Ã�!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ã–¾îÃ�Ö±â
-----------------------------------------------------------------------------
INSERT _CharNameList VALUES(@CharName, @NewCharID)
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_HP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_MP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_COS_P_GOLDPIG_SCROLL ',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_MOVE_SPEED_UP_100 10 ',1,1
-- Quick Slot Ã�¤Âº¸ ÀúÀå¿ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
RETURN @NewCharID
ÇÞÝá ÇáãÏä ßáåÇ æ ÓíÈ chine+eu ÈÓ Çáí ãÝÊæÍíä
æÇÚãá Çãíá ÌÏíÏ æÌÑÈ
ÇÌÑÈ ÇÏÎá bandit ftw íÚäì
ÇÝäÏíäÇ ™Hamboka™
28-10-2017, 04:52 AM
ÇÝÊÍåÇ æ ÌÑÈ ÇÏÎáåÇ
Scrox
28-10-2017, 01:19 PM
http://www8.0zz0.com/2017/10/28/03/928528386.jpg (https://www.0zz0.com)
Janjan ãÝÊæÍÉ æÇááÚÈå ÔÛÇáå ÈÓ ÇáãÔßáÉ Ïí ÙåÑÊ áãÇ ÏÎáÊ Çá Bandit FTW æ áÞíÊ ÇáÇßæäÊ ÈíÇÎÏ DC áãÇ ÇÎÊÇÑ ÇáÔÎÕíÉ æÈÚÏ áãÇ ÛíÑÊ ãßÇäå áÞíÊåÇ ÈÊÍãá æÊäÒá ÈÓ ÈÇÎÏ DC æ hp/mp 0
ÇÊÝÖá ÍÖÑÊß
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 10/28/2017 2:35:36 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID INT,
--@CharSlot INT,
@RefCharID INT,
@CharName varchar (64),
@CharScale tinyINT,
@StartRegionID INT,
@StartPos_X real,
@StartPos_Y real,
@StartPos_Z real,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail tinyINT,
@DurPants tinyINT,
@DurBoots tinyINT,
@DurWeapon tinyINT,
@DurShield tinyINT,
@DefaultArrow INT
AS
SET NOCOUNT ON
DECLARE @Slot INT
DECLARE @temp INT
DECLARE @NewCharID INT
SET @NewCharID = 0
-----------------------------------------------------------------------------
-- 1. ij¸¯Ã…Ã� ½½·Ã” ³Ã‘¹Ã¶°Â¡ validÇÑ °Ã�ÀÎÃ�ö, ±×¸®°Ã* ºó½½·Ã”ÀÌ ¸Ã‚´Ã‚Ã�ö ¸Ã•Àú üũÇѴÙ.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
IF (@temp >= 4)
BEGIN
-- ³Ãй« ¸¹Ã€Ãš³Âª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯Ã…Ã� Ã߰¡ÇÃ�±â
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 À̴Ù!
BEGIN
-- ij¸¯Ã…Ã� »Ã½¼Âº ½Ã‡Ã†Ã�! ½ÂºÃ„ÉÀÃ� °ÂªÃ€ÃŒ À̻óÇÃ�´Ã™!
RETURN -3
END
EXEC @temp = _IsExistingCharName @CharName
IF (@temp <> 0)
BEGIN
-- À̹Ì »ç¿ëÃ�ßÀÎ À̸§Ã€ÃŒ¶Ã³´Ã‚µ¥?
RETURN -4
END
BEGIN TRANSACTION
-- Àδø½Ãƒ½ÂºÃ…ÛÀÌ Àû¿ëµÃ‡¸é¼* ¸¶Ã�ö¸·Â¿Â¡ WorldID¿Ã� 1°ÂªÃ€» ´Ãµ ³Ã–¾î Ã�־ú´Ã™!
INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, 149, 149, 32475, 1898, 659.7908, 960, 2094, 109,
GetDate(), 130, 130, 100000000, 390, 10000000, 2000, 2000, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯Ã…Ã� »Ã½¼Âº ½Ã‡Ã†Ã�!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- A??¦ Slot ¾E¾´´U.. ±×³E Insert ¸¸..
INSERT INTO _User VALUES (@UserJID, @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 _Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _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,
8: EQUIP_SLOT_EARRING,
9: EQUIP_SLOT_NECKLACE,
10: EQUIP_SLOT_L_RING,
11: EQUIP_SLOT_R_RING,
*/
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »Ã³°©
IF (@RefMailID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹Ã™Ã�ö
IF (@RefPantsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@RefBootsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF (@RefWeaponID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
-- ¹Ã¦Ã†Ã�
IF (@RefShield <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
END
-- Ȥ½Ãƒ default·ÃŽ ¼±Ã…ÃÇÑ ¹«±â°Â¡ ȰÀ̶ó¸é È*»Ã¬ 250°³µéÀÌ È°Ã…ëµµ ÇÔ²² Ã�شÙ. Ã�ÒÄ¡?
IF (@DefaultArrow <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
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 _InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _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 = _GetObjCountry @RefCharID
INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM _RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO _CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM _RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ÂºÃ†® ³Ã–¾îÃ�Ö±â
-----------------------------------------------------------------------------
INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM _RefQuest
WHERE CodeName in (SELECT CodeName FROM _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 _StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ã–±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Ã…丮 »Ã½¼Âº ½Ã‡Ã†Ã�!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ã–¾îÃ�Ö±â
-----------------------------------------------------------------------------
INSERT _CharNameList VALUES(@CharName, @NewCharID)
BEGIN
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_PREMIUM_VIETNAM_GOLDTIME_PLUS ',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_EVENT_RENT_GLOBAL_CHATTING',5 ,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_EVENT_RENT_REVERSE_RETURN_SCR OLL',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_AVATAR_M_AMALRUN_BLUE',1,0
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_AVATAR_W_AMALRUN_BLUE',1,0
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_ARCHEMY_POTION_SPEED_11',10, 1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_03',50,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HP_SUPERSET_5_BAG',8000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_MP_SUPERSET_5_BAG',8000,1
END
IF not exists (SELECT 1 FROM SRO_VT_ACCOUNT.dbo.SK_Silk WHERE JID = @UserJID)
BEGIN
INSERT INTO SRO_VT_ACCOUNT.dbo.SK_Silk SELECT @UserJID, 500000, 10000, 0;
END
-- Quick Slot Ã�¤Âº¸ ÀúÀå¿ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
RETURN @NewCharID
ÇÊÝÖíá Ïì ÈÑÓíÓæÏÑ ÈÊÇÚß ÚãáÊ Úáíå ÊÚÏíá
SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 10/28/2017 2:35:36 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID INT,
--@CharSlot INT,
@RefCharID INT,
@CharName varchar (64),
@CharScale tinyINT,
@StartRegionID INT,
@StartPos_X real,
@StartPos_Y real,
@StartPos_Z real,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail tinyINT,
@DurPants tinyINT,
@DurBoots tinyINT,
@DurWeapon tinyINT,
@DurShield tinyINT,
@DefaultArrow INT
AS
SET NOCOUNT ON
DECLARE @Slot INT
DECLARE @temp INT
DECLARE @NewCharID INT
SET @NewCharID = 0
-----------------------------------------------------------------------------
-- 1. ij¸¯Ã…Ã� ½½·Ã” ³Ã‘¹Ã¶°Â¡ validÇÑ °Ã�ÀÎÃ�ö, ±×¸®°Ã* ºó½½·Ã”ÀÌ ¸Ã‚´Ã‚Ã�ö ¸Ã•Àú üũÇѴÙ.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
IF (@temp >= 4)
BEGIN
-- ³Ãй« ¸¹Ã€Ãš³Âª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯Ã…Ã� Ã߰¡ÇÃ�±â
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 À̴Ù!
BEGIN
-- ij¸¯Ã…Ã� »Ã½¼Âº ½Ã‡Ã†Ã�! ½ÂºÃ„ÉÀÃ� °ÂªÃ€ÃŒ À̻óÇÃ�´Ã™!
RETURN -3
END
EXEC @temp = _IsExistingCharName @CharName
IF (@temp <> 0)
BEGIN
-- À̹Ì »ç¿ëÃ�ßÀÎ À̸§Ã€ÃŒ¶Ã³´Ã‚µ¥?
RETURN -4
END
BEGIN TRANSACTION
-- AI´?½?½??UA? Aû?ëµC¸é¼* ¸¶??¸·?? WorldID?? 1°?A» ´? ³?¾î ??¾?´U!
INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID, DailyPK, PKPenaltyPoint, TotalPK,HwanLevel)
VALUES (@RefCharID, @CharName, @CharScale, 129, 129, 26265, 932, -106.760178, 1474, 2094, 109,
GetDate(), 130, 130, 10000000, 327, 10000000, 200,200, 1, 1, 1, 1, 50, 0, 0, 37)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ?³¸¯?? »?¼? ½C??!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- A??¦ Slot ¾E¾´´U.. ±×³E Insert ¸¸..
INSERT INTO _User VALUES (@UserJID, @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 _Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _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,
8: EQUIP_SLOT_EARRING,
9: EQUIP_SLOT_NECKLACE,
10: EQUIP_SLOT_L_RING,
11: EQUIP_SLOT_R_RING,
*/
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »Ã³°©
IF (@RefMailID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹Ã™Ã�ö
IF (@RefPantsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@RefBootsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF (@RefWeaponID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
-- ¹Ã¦Ã†Ã�
IF (@RefShield <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
END
-- Ȥ½Ãƒ default·ÃŽ ¼±Ã…ÃÇÑ ¹«±â°Â¡ ȰÀ̶ó¸é È*»Ã¬ 250°³µéÀÌ È°Ã…ëµµ ÇÔ²² Ã�شÙ. Ã�ÒÄ¡?
IF (@DefaultArrow <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
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 _InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _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 = _GetObjCountry @RefCharID
INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM _RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO _CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM _RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ÂºÃ†® ³Ã–¾îÃ�Ö±â
-----------------------------------------------------------------------------
INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM _RefQuest
WHERE CodeName in (SELECT CodeName FROM _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 _StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ã–±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Ã…丮 »Ã½¼Âº ½Ã‡Ã†Ã�!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ã–¾îÃ�Ö±â
-----------------------------------------------------------------------------
INSERT _CharNameList VALUES(@CharName, @NewCharID)
BEGIN
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_PREMIUM_VIETNAM_GOLDTIME_PLUS ',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_EVENT_RENT_GLOBAL_CHATTING',5 ,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_EVENT_RENT_REVERSE_RETURN_SCR OLL',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_AVATAR_M_AMALRUN_BLUE',1,0
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_AVATAR_W_AMALRUN_BLUE',1,0
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_ARCHEMY_POTION_SPEED_11',10, 1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_03',50,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HP_SUPERSET_5_BAG',8000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_MP_SUPERSET_5_BAG',8000,1
END
IF not exists (SELECT 1 FROM SRO_VT_ACCOUNT.dbo.SK_Silk WHERE JID = @UserJID)
BEGIN
INSERT INTO SRO_VT_ACCOUNT.dbo.SK_Silk SELECT @UserJID, 500000, 10000, 0;
END
-- Quick Slot Ã�¤Âº¸ ÀúÀå¿ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
RETURN @NewCharID
ÇÝäÏíäÇ ™Hamboka™
30-10-2017, 12:19 AM
##
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions, Inc