ماشي بس انا مبتدئ على فكره ولم بعرف الحاجه مره يعرفه وده مش غائب اني اسأل وي لو في حد يعمل الكلام ده بفلوس أنا موافق بس يدي سعر معقول مش واحد يقلمني يقولي هعملك إلا Pets ب 500 جنيه ليه !!!
بص يامحمد علشان تعرف تضيف حاجه اولاً لازم اللى عارضها او فاككها من داتا بيز تانيه ومجهزها على النقل يكون كاتب هيا بتتحط فين وانا مع كلام Levi لأنه صح طبعاً ومحدش يقدر يقول غير كده خصوصاً إنه عاوزلك الخير :)
ثانياً والأهم طبعاً وانت بتضيف اى حاجه لآزم تتأكد من شوية حاجات أهمها الأيديهات ID ده عباره عن تعريف الشئ اللى انت بتضيفه برقم وده بيوفر انه تقعد يكتب الكود فى كل مره يحتاج فيها ليه بالنسبه لـ RefObjCommon الجدول ده مرتبط بيه لما تيجي تضيف اى ايتم RefObjItem ولو بتضيف اى حاجه ليها شخصيه او كراكتر بتربطها بـ RefObjChar وطبعاً لو حاجه زى ال Pets بتحتاج تضيفها فى الاثنين لأن ليها أيتمس وكاركتر Items+Char وده كله بيرتبط ب RefObjCommon
بعد مابتضيف ال Line بتاعك فى RefObjCommon و RefObjItem أو RefObjChar هتروح على أخر السطر بتاع ال Line اللى فى RefObjCommon هتلاقى حاجه أسمها Link اخر حاجه خالص ده اللى هتحط فيه ال ID بتاع RefObjItem أو RefObjChar
طبعاً ده توضيح مش اكتر يعنى ممكن تكون الحاجه اللى انت هتضيفها لازم تنضاف فى جداول تانيه وأكيد اللى مطلع الاكواد كاتب هتنضاف فين ولو احتاجت تعرف اكتر عرفنى بس :)
تمام ؟
انت كده ضيفت فى الداتا بيز لو حبيت بقى تجيب الكود اللى هتضيفه فى الميديا من غير ماتتعب او لو حبيت تضيف حاجه مثلاً وصاحبها نسى يحط الميديا او كده هتعمل البروسيدور ده مع مراعاة تغيير أسم الداتا بيز لأسم بتاعتك
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_GetMediaLines] Script Date: 02/05/2012 12:42:29 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE procedure [dbo].[_GetMediaLines]
@Type SMALLINT, @CodeName VARCHAR(30)
AS
IF(@Type=1) BEGIN SELECT _RefObjCommon.Service,_RefObjCommon.ID,_RefObjCommon.CodeName128,_RefObjCommon.ObjName128,_RefObjCommon.OrgObjCodeName128,_RefObjCommon.NameStrID128,_RefObjCommon.DescStrID128,_RefObjCommon.CashItem,_RefObjCommon.Bionic,_RefObjCommon.TypeID1,_RefObjCommon.TypeID2,_RefObjCommon.TypeID3,_RefObjCommon.TypeID4,_RefObjCommon.DecayTime,_RefObjCommon.Country,_RefObjCommon.Rarity,_RefObjCommon.CanTrade,_RefObjCommon.CanSell,_RefObjCommon.CanBuy,_RefObjCommon.CanBorrow,_RefObjCommon.CanDrop,_RefObjCommon.CanPick,_RefObjCommon.CanRepair,_RefObjCommon.CanRevive,_RefObjCommon.CanUse,_RefObjCommon.CanThrow,_RefObjCommon.Price,_RefObjCommon.CostRepair,_RefObjCommon.CostRevive,_RefObjCommon.CostBorrow,_RefObjCommon.KeepingFee,_RefObjCommon.SellPrice,_RefObjCommon.ReqLevelType1,_RefObjCommon.ReqLevel1,_RefObjCommon.ReqLevelType2,_RefObjCommon.ReqLevel2,_RefObjCommon.ReqLevelType3,_RefObjCommon.ReqLevel3,_RefObjCommon.ReqLevelType4,_RefObjCommon.ReqLevel4,_RefObjCommon.MaxContain,_RefObjCommon.RegionID,_RefObjCommon.Dir,_RefObjCommon.OffsetX,_RefObjCommon.OffsetY,_RefObjCommon.OffsetZ,_RefObjCommon.Speed1,_RefObjCommon.Speed2,_RefObjCommon.Scale,_RefObjCommon.BCHeight,_RefObjCommon.BCRadius,_RefObjCommon.EventID,_RefObjCommon.AssocFileObj128,_RefObjCommon.AssocFileDrop128,_RefObjCommon.AssocFileIcon128,_RefObjCommon.AssocFile1_128,_RefObjCommon.AssocFile2_128, _RefObjItem.MaxStack,_RefObjItem.ReqGender,_RefObjItem.ReqStr,_RefObjItem.ReqInt,_RefObjItem.ItemClass,_RefObjItem.SetID,_RefObjItem.Dur_L,_RefObjItem.Dur_U,_RefObjItem.PD_L,_RefObjItem.PD_U,_RefObjItem.PDInc,_RefObjItem.ER_L,_RefObjItem.ER_U,_RefObjItem.ERInc,_RefObjItem.PAR_L,_RefObjItem.PAR_U,_RefObjItem.PARInc,_RefObjItem.BR_L,_RefObjItem.BR_U,_RefObjItem.MD_L,_RefObjItem.MD_U,_RefObjItem.MDInc,_RefObjItem.MAR_L,_RefObjItem.MAR_U,_RefObjItem.MARInc,_RefObjItem.PDStr_L,_RefObjItem.PDStr_U,_RefObjItem.MDInt_L,_RefObjItem.MDInt_U,_RefObjItem.Quivered,_RefObjItem.Ammo1_TID4,_RefObjItem.Ammo2_TID4,_RefObjItem.Ammo3_TID4,_RefObjItem.Ammo4_TID4,_RefObjItem.Ammo5_TID4,_RefObjItem.SpeedClass,_RefObjItem.TwoHanded,_RefObjItem.Range,_RefObjItem.PAttackMin_L,_RefObjItem.PAttackMin_U,_RefObjItem.PAttackMax_L,_RefObjItem.PAttackMax_U,_RefObjItem.PAttackInc,_RefObjItem.MAttackMin_L,_RefObjItem.MAttackMin_U,_RefObjItem.MAttackMax_L,_RefObjItem.MAttackMax_U,_RefObjItem.MAttackInc,_RefObjItem.PAStrMin_L,_RefObjItem.PAStrMin_U,_RefObjItem.PAStrMax_L,_RefObjItem.PAStrMax_U,_RefObjItem.MAInt_Min_L,_RefObjItem.MAInt_Min_U,_RefObjItem.MAInt_Max_L,_RefObjItem.MAInt_Max_U,_RefObjItem.HR_L,_RefObjItem.HR_U,_RefObjItem.HRInc,_RefObjItem.CHR_L,_RefObjItem.CHR_U,_RefObjItem.Param1,_RefObjItem.Desc1_128,_RefObjItem.Param2,_RefObjItem.Desc2_128,_RefObjItem.Param3,_RefObjItem.Desc3_128,_RefObjItem.Param4,_RefObjItem.Desc4_128,_RefObjItem.Param5,_RefObjItem.Desc5_128,_RefObjItem.Param6,_RefObjItem.Desc6_128,_RefObjItem.Param7,_RefObjItem.Desc7_128,_RefObjItem.Param8,_RefObjItem.Desc8_128,_RefObjItem.Param9,_RefObjItem.Desc9_128,_RefObjItem.Param10,_RefObjItem.Desc10_128,_RefObjItem.Param11,_RefObjItem.Desc11_128,_RefObjItem.Param12,_RefObjItem.Desc12_128,_RefObjItem.Param13,_RefObjItem.Desc13_128,_RefObjItem.Param14,_RefObjItem.Desc14_128,_RefObjItem.Param15,_RefObjItem.Desc15_128,_RefObjItem.Param16,_RefObjItem.Desc16_128,_RefObjItem.Param17,_RefObjItem.Desc17_128,_RefObjItem.Param18,_RefObjItem.Desc18_128,_RefObjItem.Param19,_RefObjItem.Desc19_128,_RefObjItem.Param20,_RefObjItem.Desc20_128,_RefObjItem.MaxMagicOptCount,_RefObjItem.ChildItemCount FROM _RefObjCommon INNER JOIN _RefObjItem ON _RefObjCommon.Link=_RefObjItem.ID WHERE _RefObjCommon.CodeName128 LIKE @CodeName AND _RefObjCommon.Service=1 ORDER BY _RefObjCommon.ID ASC END IF(@Type=2) BEGIN SELECT _RefObjCommon.Service,_RefObjCommon.ID,_RefObjCommon.CodeName128,_RefObjCommon.ObjName128,_RefObjCommon.OrgObjCodeName128,_RefObjCommon.NameStrID128,_RefObjCommon.DescStrID128,_RefObjCommon.CashItem,_RefObjCommon.Bionic,_RefObjCommon.TypeID1,_RefObjCommon.TypeID2,_RefObjCommon.TypeID3,_RefObjCommon.TypeID4,_RefObjCommon.DecayTime,_RefObjCommon.Country,_RefObjCommon.Rarity,_RefObjCommon.CanTrade,_RefObjCommon.CanSell,_RefObjCommon.CanBuy,_RefObjCommon.CanBorrow,_RefObjCommon.CanDrop,_RefObjCommon.CanPick,_RefObjCommon.CanRepair,_RefObjCommon.CanRevive,_RefObjCommon.CanUse,_RefObjCommon.CanThrow,_RefObjCommon.Price,_RefObjCommon.CostRepair,_RefObjCommon.CostRevive,_RefObjCommon.CostBorrow,_RefObjCommon.KeepingFee,_RefObjCommon.SellPrice,_RefObjCommon.ReqLevelType1,_RefObjCommon.ReqLevel1,_RefObjCommon.ReqLevelType2,_RefObjCommon.ReqLevel2,_RefObjCommon.ReqLevelType3,_RefObjCommon.ReqLevel3,_RefObjCommon.ReqLevelType4,_RefObjCommon.ReqLevel4,_RefObjCommon.MaxContain,_RefObjCommon.RegionID,_RefObjCommon.Dir,_RefObjCommon.OffsetX,_RefObjCommon.OffsetY,_RefObjCommon.OffsetZ,_RefObjCommon.Speed1,_RefObjCommon.Speed2,_RefObjCommon.Scale,_RefObjCommon.BCHeight,_RefObjCommon.BCRadius,_RefObjCommon.EventID,_RefObjCommon.AssocFileObj128,_RefObjCommon.AssocFileDrop128,_RefObjCommon.AssocFileIcon128,_RefObjCommon.AssocFile1_128,_RefObjCommon.AssocFile2_128, _RefObjChar.Lvl,_RefObjChar.CharGender,_RefObjChar.MaxHP,_RefObjChar.MaxMP,_RefObjChar.InventorySize,_RefObjChar.CanStore_TID1,_RefObjChar.CanStore_TID2,_RefObjChar.CanStore_TID3,_RefObjChar.CanStore_TID4,_RefObjChar.CanBeVehicle,_RefObjChar.CanControl,_RefObjChar.DamagePortion,_RefObjChar.MaxPassenger,_RefObjChar.AssocTactics,_RefObjChar.PD,_RefObjChar.MD,_RefObjChar.PAR,_RefObjChar.MAR,_RefObjChar.ER,_RefObjChar.BR,_RefObjChar.HR,_RefObjChar.CHR,_RefObjChar.ExpToGive,_RefObjChar.CreepType,_RefObjChar.Knockdown,_RefObjChar.KO_RecoverTime,_RefObjChar.DefaultSkill_1,_RefObjChar.DefaultSkill_2,_RefObjChar.DefaultSkill_3,_RefObjChar.DefaultSkill_4,_RefObjChar.DefaultSkill_5,_RefObjChar.DefaultSkill_6,_RefObjChar.DefaultSkill_7,_RefObjChar.DefaultSkill_8,_RefObjChar.DefaultSkill_9,_RefObjChar.DefaultSkill_10,_RefObjChar.TextureType,_RefObjChar.Except_1,_RefObjChar.Except_2,_RefObjChar.Except_3,_RefObjChar.Except_4,_RefObjChar.Except_5,_RefObjChar.Except_6,_RefObjChar.Except_7,_RefObjChar.Except_8,_RefObjChar.Except_9,_RefObjChar.Except_10 FROM _RefObjCommon INNER JOIN _RefObjChar ON _RefObjCommon.Link=_RefObjChar.ID WHERE CodeName128 LIKE @CodeName AND _RefObjCommon.Service=1 ORDER BY _RefObjCommon.ID ASC END
IF(@Type!=1 OR @Type!=2) BEGIN PRINT 'The Type must be 1 OR 2!' PRINT 'Use @Type=1 for Items' PRINT 'Use @Type=2 for Characters' END
/* Stored Procedure by sladlejrhfpq */
بعد ماتضيفه وعاوز تطلع حاجه علشان تضيفها فى Itemdata45000 اللى هيا خاصه بالايتمات بس
هتعمل الكويرى ده وتغير الكود اللى فيه ده ITEM_CH_BOW_11_A_RARE للكود اللى انت عاوز تضيفه
كود PHP:
USE [SRO_VT_SHARD] exec _GetMediaLines @Type=1, @CodeName='ITEM_CH_BOW_11_A_RARE'
ولو عاوز تطلع حاجه هتنضاف فى Characterdata45000 اللى هيا خاصه بأى حاجه ليها كراكتر هتستخدم ده
كود PHP:
USE [SRO_VT_SHARD] exec _GetMediaLines @Type=2, @CodeName='MOB_CH_MANGNYANG'
وهتغير الكود ده للكود اللى عاوز تطلعه MOB_CH_MANGNYANG
يبقى الكود ده علشان تطلع بيه اللى هتضيفه فى الميديا itemdata_xxxx
كود PHP:
USE [SRO_VT_SHARD] exec _GetMediaLines @Type=1, @CodeName='ITEM_CH_BOW_11_A_RARE'
وده اللى هضيف بيه فى الميديا لـ Characterdata_xxxx
كود PHP:
USE [SRO_VT_SHARD] exec _GetMediaLines @Type=2, @CodeName='MOB_CH_MANGNYANG'
RefSkill هيا هيا = Skilldataenc_45000 وديه لازم تفك تشفيرها قبل ماتضيف فيها حاجه وبعد مابتضيف بتشفرها تانى
ولو عندك استفسار تانى ياريت تقوله وانا هساعدك فيه على قد ماقدر ومتسمحش لحد يستغلك ^_^
وتقريباً ديه الحاجه الوحيده اللى بتحتاج الفه ديه علشان تحطها فى الميديا على ما أتذكر أى جدول تانى هتلاقيه في الميديا بيتحط زى ماهو فى الداتا بيز :)
التعديل الأخير تم بواسطة Dev.Myth ; 01-01-2017 الساعة 07:29 PM
معلش انا قصدى انى انا عنددى Client بتاع جيم تانى انا كونت بلعبو وعارف كل حاجه فيه انا بقا عايز اخود منو ملفات pets واحوته فى المديا وDatabase بتاعتى و لم ممكن اخود منهه بعد الحاجات غير ال pets