الموقع العربي الاول للعبة 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=617059)

comannda 04-07-2017 09:32 AM

كركتر Dc قبل ما يدخل
 
انا عامل سيرفر جديد كل اما بدخل يجيلي Dc بس المشكله ان في ايتم مش شغال بينزل مع الكركتر مش عارف اعرفه ازاي

MikrotikBody 04-07-2017 10:43 AM

رد: كركتر Dc قبل ما يدخل
 
سهله انك تعرف الايتم اللي فيه مشكله

Legendr 04-07-2017 10:44 AM

رد: كركتر Dc قبل ما يدخل
 
اتاكد من مدينه الي بينزل فيه كركتر علشان مقفوله ولو كان في ايتم كان زمان كركتر متعملتش اصلا

MikrotikBody 04-07-2017 10:45 AM

رد: كركتر Dc قبل ما يدخل
 
بس تحدد الاول
الايتم مش شغال ولا مش مقفول ولا مش موجود

Legendr 04-07-2017 10:49 AM

رد: كركتر Dc قبل ما يدخل
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MikrotikBody (المشاركة 5322548)
بس تحدد الاول
الايتم مش شغال ولا مش مقفول ولا مش موجود

والله اكركتر مكنتش هتتعمل اصلا لو كان فيه ايتم مش موجود او حته مقفول shardmanger غبي اه بس مش للدرجه ديه

comannda 04-07-2017 12:23 PM

رد: كركتر Dc قبل ما يدخل
 
طب المدينه مفتوحه بس بيجلي Dc اول لما بيدخل اي الحل

Draz 04-07-2017 12:56 PM

رد: كركتر Dc قبل ما يدخل
 
حضرتك انت ممكن تمسح item دة من addnewchar وهتكون كل حاجة تمام وياريت تخلى الايتم اللى ينزل شوية ولو ظهر مشكل تانى اتأكد من odbc واتأكد من المدينة اللى بينزل فيها ممكن يكون فيها مشكلة تكون هى السبب

Legendr 04-07-2017 04:25 PM

رد: كركتر Dc قبل ما يدخل
 
اقتباس:

المشاركة الأصلية كتبت بواسطة comannda (المشاركة 5322558)
طب المدينه مفتوحه بس بيجلي Dc اول لما بيدخل اي الحل

اتاكد من بينات sql في dbconnoct

comannda 05-07-2017 08:21 PM

رد: كركتر Dc قبل ما يدخل
 
اتاكد من ده كولو بس برضو نفس المشكله

comannda 06-07-2017 01:08 AM

رد: كركتر Dc قبل ما يدخل
 
انا عملت ادد نيو شير ودخل عادي بس لما بروح اي مدينه بياخد Dc وبيفضل علي كدا والمدن كلها مفتوحه

™Ozoo-Eboda™ 06-07-2017 03:31 AM

رد: كركتر Dc قبل ما يدخل
 
حضرتك عملت extract للداتا و نقلتها مع ملفات السيرفر و لا ....

oro109 06-07-2017 05:06 PM

رد: كركتر Dc قبل ما يدخل
 
مع احترامي لكل الاعضاء الكرام لاكن لو زي ما في ناس بتقول لو ايتم مقفول او مش شغال مفيش حاجة اسمها الكراكتر ميتعملش الكراكتر كان بعد ما تدوس 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

comannda 15-07-2017 07:04 PM

رد: كركتر Dc قبل ما يدخل
 
بردوا نفس المشكله الجيم بتخوش بروح برفيرس وبضرب الوحوش عادي بس لما بدخل المدينه باخد Dc وبيفضل علي كدا
مش عارف اعمل اي

Legendr 15-07-2017 07:09 PM

رد: كركتر Dc قبل ما يدخل
 
جرب كده داتابيز تانيه وشوف

comannda 15-07-2017 09:33 PM

رد: كركتر Dc قبل ما يدخل
 
طب متعرفش انتا داتا عشان انا زهقت ومش لاقي

comannda 16-07-2017 04:00 AM

رد: كركتر Dc قبل ما يدخل
 
جربت نفس المشكله بس ال refregion el town fe 0 عملتها 1 وبردو نفس المشكله

comannda 16-07-2017 04:44 AM

رد: كركتر Dc قبل ما يدخل
 
جربت داتا بيز تانيه ونفس المشكله بس refregion ال town فيه 0 خلتها 1 بس بردوا نفس المشكله

comannda 16-07-2017 11:05 PM

رد: كركتر Dc قبل ما يدخل
 
ارجو الرد

shasha800 23-07-2017 10:49 AM

رد: كركتر Dc قبل ما يدخل
 
نيجي للسبب :

كنت حليتها في موضوع قبل كدة و قلت : سببين ممكن يخلوا الكلاينت يعمل كراش (هما اكتر من كدة بس خلينا في السهل)

1-في NPC في الداتابيز السيرفس بتاعته 1 يعني مقري من الجيم سيرفر و مش موجود عندك في characterdata_xxxx.txt

2-ممكن ال Bsr بتاع ال NPC في characterdata_xxxxx.txt ميكونش موجود في ال res بتاعت Data.pk2

و نضيف سبب جديد دلوقتي و هو : ممكن في تيليبورت محطوط في الداتابيز و سيرفس 1 و مش موجود في الكلاينت في teleportbuilding.txt

طب نيجي للحل :

الحل بسيط جدا نعمل matchmaking بين الكلاينت و الداتا بمعني اننا هنوفق بين الداتابيز و الكلاينت من كل الحاجات اللي ممكن تكون بتلبس كراش

عن طريق البرنامج الصغير ده :

https://files.fm/u/sw6k75qv

تظبيط البرنامج بسيط جدا هو انت تفتح ملف db2pk2.exe.Config بال Notepad و تعدل الاتي
كود بلغة HTML:

<add key="dbHost" value="xxxxx\SQLEXPRESS" />
    <add key="dbUser" value="sa" />
    <add key="dbPassword" value="123" />
    <add key="dbName" value="SR_R_Shard1" />

1-تبدل ال xxxxx اللي في ال sqlhost باسم السيرفر بتاعك مثال : COMMANDA-PC/SQLEXPRESS

2- dbuser غالبا هو sa عند الكل لكن لو مغيره عدله

3-dbpassword بباسورد اللوجن بتاع السيكول سيرفر

4-dbName باسم الشارد بيز بتاعتك اللي غالبا بيكون SRO_VT_SHARD

هتفتح البرنامج و تدول علي Connect Database المفروض يقولك Connected و بعدها اختار itemdata و characterdata و skilldataenc و دوس Export خد الملفات اللي طلعت و دخلها في الكلاينت و عشان نتأكد ببساطة انه مش تيليبورت هنعمل الاتي

تفتح sql server تعمل new query و تكتب الأتي

كود:

USE [SHARD_NAME]
Select * from dbo._RefObjCommon
Where CodeName128 Like 'STORE%GATE%' AND SERVICE = '1'
GO

ثم :

كود:

USE [SHARD_NAME]
Select * from dbo._RefObjCommon
Where CodeName128 Like 'INS%' AND SERVICE = '1'
GO


هتاخد اللي طلع و هتحطه في فايل teleportbuilding في الميديا و مبروك عليك الماتش و لو عايز تعمل ماتش في الشوبات مفيش مشاكل من البرنامج بردو


الساعة الآن 04:18 AM.

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