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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=289)
-   -   Mastery Scroll Fix Limit (https://silkroad4arab.com/vb/showthread.php?t=611273)

Dev.Ri3o 09-02-2017 04:00 PM

Mastery Scroll Fix Limit
 
http://www4.0zz0.com/2015/11/27/18/243536469.gif

http://www4.0zz0.com/2015/11/27/18/884808031.gif

http://www4.0zz0.com/2015/11/27/18/702514124.gif
Mastery Scroll Limit

الMastery Scroll من ال scrolls المهمة جدا وبتسهل كتير جدا على ال Player بس بيبقى مش معمولها Limit وفى ناس بتعممل Bugs وطرق تخليهم يفتحو ال Full Mastery مثلا الموضوع اللى هنا
http://www.silkroad4arab.com/vb/showthread.php?t=601089
الموضوع بتاع العضو Stroxy اكتر من رائع وسهل وسلس بس مشكلته فى ال Limits هو عاملو انو بيشوف ال lvl بتاعة ال Mastery كلها كام ولو اقل او يساوى 110 يشتغل بس فى ناس ممكن تفتح 4 Mastery فى كل ال Mastery وتخليهم lvl 10 وبكدة ال scroll هتشتغل برضو وهيفتحو بالسكرول 2 Mastery كاملين
...

يعنى المشكلة كلها فى lvl من 1 ل 110 وبعدها ال Player ميقدرش يعمل Bug ... عشان كدة انا عدلت على ال Procedure وبقى كدة
http://www4.0zz0.com/2015/11/27/18/171651594.gif
كود:

IF (@Operation=41 AND @ItemRefID BETWEEN 41932 AND 41937) ---------------- European Mastery Scrolls -------------------
    BEGIN
    IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE MasteryID='513')
    BEGIN
    DECLARE @Wizard INT,@Warrior INT,@Rouge INT,@Warlock INT,@Bard INT,@Cleric INT
    SELECT @Wizard=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='514'
    SELECT @Warrior=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='513'
    SELECT @Rouge=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='515'
    SELECT @Warlock=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='516'
    SELECT @Bard=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='517'
    SELECT @Cleric=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='518'
    IF (@Wizard+@Warrior+@Rouge+@Warlock+@Bard+@Cleric='0' Or @Wizard+@Warrior+@Rouge+@Warlock+@Bard+@Cleric='110')
    BEGIN
    DECLARE @EuropeanMasteryType INT;
            SET @EuropeanMasteryType = CASE
                WHEN @ItemRefID=41932 --------------- Wizard
                THEN 514
                WHEN @ItemRefID=41933 --------------- Warrior
                THEN 513
                WHEN @ItemRefID=41934 --------------- Rouge
                THEN 515
                WHEN @ItemRefID=41935 --------------- Cleric
                THEN 518
                WHEN @ItemRefID=41936 --------------- Bard
                THEN 517
                WHEN @ItemRefID=41937 --------------- Warlock
                THEN 516
                END
    UPDATE SRO_VT_SHARD.dbo._CharSkillMastery SET [Level]='110' WHERE CharID=@CharID AND MasteryID=@EuropeanMasteryType
    INSERT SRO_VT_SHARD.dbo._CharSkill SELECT @CharID,SkillID,'1' FROM SRO_VT_SHARDLOG.dbo._CharacterSkills WHERE MasteryID=@EuropeanMasteryType
    END
    END
    END
    IF (@Operation=41 AND @ItemRefID BETWEEN 41925 AND 41931) ---------------- Chinese Mastery Scrolls -------------------
    BEGIN
    IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE MasteryID='257')
    BEGIN
    DECLARE @Bicheon INT,@Heuksal INT,@Pacheon INT,@Cold INT,@Lightning INT,@Fire INT,@Force INT
    SELECT @Bicheon=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='257'
    SELECT @Heuksal=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='258'
    SELECT @Pacheon=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='259'
    SELECT @Cold=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='273'
    SELECT @Lightning=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='274'
    SELECT @Fire=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='275'
    SELECT @Force=[Level] FROM SRO_VT_SHARD.dbo._CharSkillMastery WHERE CharID=@CharID AND MasteryID='276'
    IF (@Bicheon+@Heuksal+@Pacheon+@Cold+@Lightning+@Fire+@Force ='0' Or @Bicheon+@Heuksal+@Pacheon+@Cold+@Lightning+@Fire+@Force ='110' Or @Bicheon+@Heuksal+@Pacheon+@Cold+@Lightning+@Fire+@Force ='220')
    BEGIN
    DECLARE @ChineseMasteryType INT;
            SET @ChineseMasteryType = Case
                WHEN @ItemRefID=41927  ---------------    Bacheon
                THEN 257
                WHEN @ItemRefID=41926  ---------------    Heuksal
                THEN 258
                WHEN @ItemRefID=41925  ---------------    Pacheon
                THEN 259
                WHEN @ItemRefID=41930  ---------------    Cold
                THEN 273
                WHEN @ItemRefID=41929  ---------------    Lightning
                THEN 274
                WHEN @ItemRefID=41928  ---------------    Fire
                THEN 275
                WHEN @ItemRefID=41931  ---------------    Foce
                THEN 276
                END
    UPDATE SRO_VT_SHARD.dbo._CharSkillMastery SET [Level]='110' WHERE CharID=@CharID AND MasteryID=@ChineseMasteryType
    INSERT SRO_VT_SHARD.dbo._CharSkill SELECT @CharID,SkillID,'1' FROM SRO_VT_SHARDLOG.dbo._CharacterSkills WHERE MasteryID=@ChineseMasteryType
    END
    END
    END

http://www4.0zz0.com/2015/11/27/18/171651594.gif
طب ال Procedure ده هيعمل ايه ؟ ال Procedure ده مش هيخلى ال scroll تشتغل غير ازا كان ال Player مفتحش اى Mastery او اى Skill او فتح Full Mastery واحدة ده بالنسبة لل EU ومش هتشتغل لل CH إلا اذا كان مش فاتح اى Mastery او Skill و لو فاتح Full Mastery واحدة ولو فاتح 2 Mastery كاملين
...
http://www4.0zz0.com/2015/11/27/18/171651594.gif
طب ولنفرض ان فى player غلط او ميعرفش ان فى Mastery Scroll ..عندو حلين يا اما انو يكمل يدوى او انك تنزل Mastery Recall Scroll وطبعا انت PVP Server يعنى ال mastery Scroll اكيد مش هتنزلها ب Coin ممكن تخليها ب 1 Gold عشان متصعبش على ال PLayer لانو اسهل حاجة انو يعمل New Account وينقل حاجته فيها....
لو هتعمل موضوع ال Mastery Recall Scroll هتعدل على ال Procedure على السطر ده
كود:

UPDATE _CharSkillMastery SET Level='0' WHERE CharID=@CharID AND Level <= '130'
http://www4.0zz0.com/2015/11/27/18/171651594.gif
وهتلغى ال lvl المعين
كود:

UPDATE _CharSkillMastery SET Level='0' WHERE CharID=@CharID
http://www4.0zz0.com/2015/11/27/18/171651594.gif

http://www4.0zz0.com/2015/11/27/18/735351340.gif

Hamza FiGo 11-02-2017 11:39 PM

رد: Mastery Scroll Fix Limit
 
تمام تسلم ....

Dev.Klito 12-02-2017 10:06 AM

رد: Mastery Scroll Fix Limit
 
عاااش

ahmedandtota 12-02-2017 02:30 PM

رد: Mastery Scroll Fix Limit
 
رائع

meshapet 11-09-2019 06:16 PM

رد: Mastery Scroll Fix Limit
 
طاب حضرتك ازاي اعرف مسار ال producer دي ؟؟
ممكن تقولهولي حضرتك ؟! :Emoji26:


الساعة الآن 12:24 AM.

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