مع احترامي لكل الاعضاء الكرام لاكن لو زي ما في ناس بتقول لو ايتم مقفول او مش شغال مفيش حاجة اسمها الكراكتر ميتعملش الكراكتر كان بعد ما تدوس start هيفضل زي ما هو مبيعملش حاجة واللعبة مش هتفتح ومش هتديك اي اخطاء stuck يعني ولو
ولو مدينة نزول الكراكتر مقفول هيقولك vsro server is not running s1031 إنما مشكلة ال دي سي حلها انك تعمل كالاتي
تخش علي sro_vt_shard وتختار programability وتختار stored procedures وتختار addnewchar ودوس modify وحط الكويري دي
ملحوظة: عدل علي ال starter items براحتك بس اتاكد انها شغالة عندك كويس عشان ميحصلش مشاكل
ملحوظة:علي حسب ما فهمت من ردودك انو بياخد دي سي شوف لو المدينة مفتوحة ولا لا في refregionbindassoc وممكن يكون فيه حاجات متضافة في الداتا والكلينت لا
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 07/09/2017 17:10:04 ******/
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. ؤ³¸¯إح ½½·ش ³ر¹ِ°، 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. ؤ³¸¯إح أك°،اد±â
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 ہج´ظ!
BEGIN
-- ؤ³¸¯إح »¼؛ ½ائذ! ½؛ؤةہد °ھہج ہج»َاد´ظ!
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, ExpOffset, 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, 109,
GetDate(), 1, 1, 0, 100000000, 0, 0, 200,200, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ؤ³¸¯إح »¼؛ ½ائذ!
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_EVENT_RENT_RESURRECTION_100P_SCROL L',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E090930_SPEED_UP_SUPER_SCROLL' ,20,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RENT_REVERSE_RETURN_SCROLL', 20,1
INSERT INTO SRO_VT_ACCOUNT.dbo.SK_Silk (JID, silk_own, silk_gift, silk_point) VALUES (@UserJID, 0, 10000000, 0);
-- Quick Slot ?¤?¸ A?A??ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
RETURN @NewCharID