تسجيل الدخول دائمآ
ط·آ§ط¸â€‍ط·آ¥ط·آ¹ط¸â€‍ط·آ§ط¸â€ ط·آ§ط·ع¾
قديم 09-10-2018, 11:22 AM   #18

#3mr
عضو مميز



الصورة الرمزية #3mr


• الانـتـسـاب » Aug 2009
• رقـم العـضـويـة » 63477
• المشـــاركـات » 683
• الـدولـة » أم الدنيــــا
• الـهـوايـة » Silkroad
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 17
#3mr صـاعـد

#3mr غير متواجد حالياً



افتراضي رد: ارجو الحل



أعمل واحد من دول على حسب البلص عندك وأشتغل بفيلتر وحدد الماكس بلص بعد كده بADV

أعمل ده الاول لو منفعشى اعمل التانى

[Procedure: [SRO_VT_LOG].[dbo].[_AddLogItem

كود:
/* Item upgrading */
IF (@Operation = 90 OR @Operation = 160)
BEGIN
	/* Start: Max Plus */
	DECLARE @strDescStrip VARCHAR(128)
	DECLARE @ItemID INT

	DECLARE @MaxOptLevel TINYINT
	SET @MaxOptLevel = 12

	/* Get current fused plus */
	SET @len_desc1 = CHARINDEX (']', @strDesc)
	IF (@len_desc1 = 9)
	BEGIN
		SET @strDesc = SUBSTRING(@strDesc, 0, 9)
		SET @strDescStrip = SUBSTRING(@strDesc, 8, 1)
	END
	ELSE IF (@len_desc1 = 10)
	BEGIN
		SET @strDesc = SUBSTRING(@strDesc, 0, 10)
		SET @strDescStrip = SUBSTRING(@strDesc, 8, 2)
	END
	/* Check if OptLevel above @MaxOptLevel */
	IF (@strDescStrip >= @MaxOptLevel)
	BEGIN
		/* Get ItemID */
		SELECT @ItemID = ID64 from [SRO_VT_SHARD].[dbo].[_Items] WHERE Serial64 = @ItemSerial
		/* Update items if has more than @MaxOptLevel without Adv elixir*/
		UPDATE [SRO_VT_SHARD].[dbo].[_Items] SET OptLevel = @MaxOptLevel WHERE OptLevel > @MaxOptLevel AND Serial64 = @ItemSerial
		/* Delete Adv elixir effect for item if has more than @MaxOptLevel with Adv elixir */
		DELETE FROM [SRO_VT_SHARD].[dbo].[_BindingOptionWithItem] WHERE nItemDBID IN (
			SELECT a.ID64 FROM [SRO_VT_SHARD].[dbo].[_Items] a WITH (NOLOCK)
			INNER JOIN [SRO_VT_SHARD].[dbo].[_BindingOptionWithItem] b ON a.ID64 = b.nItemDBID
			WHERE a.ID64 = @ItemID AND (a.OptLevel + b.nOptValue) > @MaxOptLevel
			AND b.bOptType = 2
		)
	END
	RETURN -1
	/* End: Max Plus */
END

[Procedure: [SRO_VT_LOG].[dbo].[_AddLogChar


كود:
/* Login/Logout sequence (4 = Login, 6 = Logout) */
IF (@EventID = 4 OR @EventID = 6)
BEGIN
	/*
	 * Begin: Item Plus check
	 */
	DECLARE @UserJID INT, @GuildID INT, @MaxOptLevel TINYINT
	SET @MaxOptLevel = 12	-- Set Max Plus value (change this)
	/*
	 * Get JID and GuildID info
	 */
	SELECT @UserJID = a.UserJID, @GuildID = b.GuildID FROM [SRO_VT_SHARD].[dbo].[_User] a WITH (NOLOCK)
		INNER JOIN [SRO_VT_SHARD].[dbo].[_Char] b ON a.CharID = b.CharID WHERE a.CharID = @CharID
	/*
	 * 1. INVENTORY: Update items in inventory if has more than +12 without Adv elixir
	 */
	UPDATE [SRO_VT_SHARD].[dbo].[_Items] SET OptLevel = @MaxOptLevel WHERE OptLevel > @MaxOptLevel AND ID64 IN (
		SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WITH (NOLOCK)
		WHERE CharID = @CharID AND ItemID > 0
	)
	/*
	 * 2. INVENTORY: Remove Adv elixir effect for items in inventory if has more than +12 with Adv elixir
	 */
	DELETE FROM [SRO_VT_SHARD].[dbo].[_BindingOptionWithItem] WHERE nItemDBID IN (
		SELECT a.ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] a WITH (NOLOCK) 
		INNER JOIN [SRO_VT_SHARD].[dbo].[_Items] b ON a.ItemID = b.ID64 
		INNER JOIN [SRO_VT_SHARD].[dbo].[_BindingOptionWithItem] c ON a.ItemID = c.nItemDBID
		WHERE a.CharID = @CharID AND a.ItemID > 0 AND (b.OptLevel + c.nOptValue) > @MaxOptLevel
		AND c.bOptType = 2
	)
	/*
	 * 3. PERSONAL STORAGE: Update items in personal storage if has more than +12 without Adv elixir
	 */
	UPDATE [SRO_VT_SHARD].[dbo].[_Items] SET OptLevel = @MaxOptLevel WHERE OptLevel > @MaxOptLevel AND ID64 IN (
		SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Chest] WITH (NOLOCK)
		WHERE UserJID = @UserJID AND ItemID > 0
	)
	/*
	 * 4. PERSONAL STORAGE: Remove Adv elixir effect for items in personal storage if has more than +12 with Adv elixir
	 */
	DELETE FROM [SRO_VT_SHARD].[dbo].[_BindingOptionWithItem] WHERE nItemDBID IN (
		SELECT a.ItemID FROM [SRO_VT_SHARD].[dbo].[_Chest] a WITH (NOLOCK) 
		INNER JOIN [SRO_VT_SHARD].[dbo].[_Items] b ON a.ItemID = b.ID64 
		INNER JOIN [SRO_VT_SHARD].[dbo].[_BindingOptionWithItem] c ON a.ItemID = c.nItemDBID
		WHERE a.UserJID = @UserJID AND a.ItemID > 0 AND (b.OptLevel + c.nOptValue) > @MaxOptLevel
		AND c.bOptType = 2
	)
	/*
	 * 5. GUILD: If character is guild member, check Item Plus in Guild Inventory
	 */
	IF (@GuildID <> 0)
	BEGIN
		/*
		 * 5.1. Update items in guild storage if has more than +12 without Adv elixir
		 */
		UPDATE [SRO_VT_SHARD].[dbo].[_Items] SET OptLevel = @MaxOptLevel WHERE OptLevel > @MaxOptLevel AND ID64 IN (
			SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_GuildChest] WITH (NOLOCK)
			WHERE GuildID = @GuildID AND ItemID > 0
		)
		/*
		 * 5.2. Remove Adv elixir effect for items in guild storage if has more than +12 with Adv elixir
		 */
		DELETE FROM [SRO_VT_SHARD].[dbo].[_BindingOptionWithItem] WHERE nItemDBID IN (
			SELECT a.ItemID FROM [SRO_VT_SHARD].[dbo].[_GuildChest] a WITH (NOLOCK) 
			INNER JOIN [SRO_VT_SHARD].[dbo].[_Items] b ON a.ItemID = b.ID64 
			INNER JOIN [SRO_VT_SHARD].[dbo].[_BindingOptionWithItem] c ON a.ItemID = c.nItemDBID
			WHERE a.GuildID = @GuildID AND a.ItemID > 0 AND (b.OptLevel + c.nOptValue) > @MaxOptLevel
			AND c.bOptType = 2
		)
	END
	/*
	 * END: Item Plus check
	 */
END


من غير فيلتر ده او ده هيعمل معاك الواجب


توقيع #3mr :
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

التعديل الأخير تم بواسطة #3mr ; 09-10-2018 الساعة 11:32 AM

 


يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر)
 

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى الردود آخر مشاركة
ارجو الرد :ازاى اعمل اميل فى سلك رود اون لاين كل ماجى ادوس عشان اعمل اميل بيجبلى كدة Hamada 156 قـسـم الاسـئـلـه و الاسـتـفـسـارات حـول الـلـعـبـة 3 06-07-2015 01:43 PM
ارجو الحل عندي مشكلة 3 partition اختفوا ارجو الحل amr174747 بـعـيـدآ عـن سـيـلـك رود 2 22-06-2012 01:26 AM
اقوى مشكله فى السرفرات وللا سف الحل ؟؟؟؟؟؟؟؟؟؟ ارجو الردود والمساهمه فى الحل ™_King_Redsea_™ مـنـاقـشـات عـامـة حـول سيلك رود أون لايـن 6 31-08-2009 05:02 AM


الساعة الآن 02:57 AM.