الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   مشكله الكراكتر DC قبل ميدخل (https://silkroad4arab.com/vb/showthread.php?t=616676)

hassanmohamed 18-06-2017 06:06 AM

مشكله الكراكتر DC قبل ميدخل
 
1 مرفق
ارجو المساعده

Legendr 18-06-2017 09:52 AM

رد: مشكله الكراكتر DC قبل ميدخل
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hassanmohamed (المشاركة 5320968)
ارجو المساعده

اتاكد انك فاتح مدينه كركتر بينزل فيه او ممكن في ايتم مش شغال بينزل مع كركتر

hassanmohamed 18-06-2017 01:01 PM

رد: مشكله الكراكتر DC قبل ميدخل
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Legendr (المشاركة 5320979)
اتاكد انك فاتح مدينه كركتر بينزل فيه او ممكن في ايتم مش شغال بينزل مع كركتر

اعرف ازاي انه بينزل في انهو مدينه عاوز اعرف

Legendr 19-06-2017 07:02 PM

رد: مشكله الكراكتر DC قبل ميدخل
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hassanmohamed (المشاركة 5320993)
اعرف ازاي انه بينزل في انهو مدينه عاوز اعرف

استحدم ده بدل الي عندك وافتخ JG-Const
في AddnewChar في داتابيز
اقتباس:

USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 22/02/2015 07:33:11 م ******/
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, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID, HwanLevel)
VALUES (@RefCharID, @CharName, @CharScale, 20, 20, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 109,
GetDate(), 1, 1, 1000000, 0, 1000000, 200,200, 1, 1, 1, 1, 0)

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)

-- Quick Slot أپ¤آ؛¸ أ€أ؛أ€أ¥آ؟ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...

COMMIT TRANSACTION

RETURN @NewCharID


الساعة الآن 01:30 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.