الإعلانات
قديم 15-10-2023, 12:33 AM   #1

محمد منتصر
عضو لامع



الصورة الرمزية محمد منتصر


• الانـتـسـاب » Dec 2010
• رقـم العـضـويـة » 77696
• المشـــاركـات » 1,134
• الـدولـة » Cairo
• الـهـوايـة » Developer Private Server
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 33
محمد منتصر صـاعـد

محمد منتصر غير متواجد حالياً



(11) How To Create Temporary ITems with time Easy Way -- عمل أيتم مؤقت في السيرفر



بسم الله والصلاة والسلام علي رسول الله
بقالي كتير اوي منزلتش حاجة هنا فكنت حابب أشارككم السيستم الصغير ده أكيد فيه ناس محتاجه حاجة زي كده
فيديو توضيحي للسيستم
الفيديو : عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
الأول هشرحلكم هو عبارة عن أيه
1- ده سيستم وظيفته أنه بيسجل الأيتم اللي انت بتحددها في ال npc لما حد يشتريها ويضيفها في تابل بوقت الشراء بتاعتها طيب ايه الفايدة ؟
فايدته انك لما بتيجي بعد كده تحدد في السيستم نفسه الوقت بقي علي التابل ده بيبدأ يجمع كل الأيتم اللي عدي عليها هنقول مثلا 5 ايام زي ما انا عامل وهيمسح كل الايتم دي من البلاير مش هسيبيها معاه وبكده الأيتم بقي مؤقت بوقت مش دايم معاه ممكن انت تضيف ايتم جديده مثلا بدامج قليل عن الطبيعية وتحطها للبلاير الجديدة تلعب بيها وتخليها يوم مثلا وتختفي وممكن تحدد من الفلتر بعد كده مثلا انه يضيف الشخص اللي اشتري ايتم في تابل ولو بعد كده جه يشتري يعمل check علي التابل ده لو لقيه موجود مش هيبيع معاه وبكده انت هتخليه hwid/limited
2- ممكن تشغل السيستم ده في إنك بعد كده تنزل أيتم جديد او دجري جديد للبلاير يجربوه وبعدين تحدده في التابل الموجود ومجرد ما تسجل ال id بتاع الايتم طبيعي هيتمسح اول ما يعدي عليه الوقت بتاعه
3- ممكن مثلا تعملها ايفنت علي جوائز ويكون الريورد ايتم مؤقت من ده مثلا ( ملحوظة السيستم عامله يشتغل علي البيع والشراء بس يعني لما تشتري من الnpc هيسجل غير كده لو نزلته من الكونسول مش هيتلغي تاني )
فأنت ممكن تعدل بقي يسجل امتي زي ما تحب او تضيف الايتم ف التابل يدوي وتديه للناس في ايفنتات
4- السيستم بيمسح الأيتم من كل مكان بيعمل تتبع للأيتم مش للأكونت يعني حتي لو اتنقل من أكونت للتاني فبرده هيتمسح عادي مفيش مشكلة ( pet/storage/storge guild / inventory) هيتمسح من كل دول مش هيبقي موجود فمتقلقش

نيجي بقي للشغل ركزوا معايا
أول حاجة هتعملها هتروح تعمل Create للتابل ده

كود:
USE YourDatabaseName
GO

/****** Object:  Table [dbo].[Temp_itemID]  #Mohamed_Montaser #T0P  Script Date: 10/14/2023 11:32:34 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Temp_itemID](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[ItemID] [int] NOT NULL,
	[CodeName] [varchar](max) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

بعد ما عملنا التابل هنروح علي الداتا بيز نجيب الايتم اللي احنا عايزين نشغل السيستم ده عليها ممكن تستخدم الكويري ده هينجز معاه
كود:
SELECT ID,CodeName128 FROM SRO_VT_SHARD.._RefObjCommon WHERE CodeName128 LIKE '%CODENAME%'

بعد كده خد الايتم اللي طلعتها وحطها ف التابل الأولاني اللي فوق ده لحد هنا الدنيا تمام زي الفل

نيجي علي الجزء التاني بقي التسجيل
هتروح علي ال sql وهتعمل Create للتابل ده

كود:
USE YourDatabaseName
GO

/****** Object:  Table [dbo].[_Temporary_items]  #Mohamed_Montaser #T0P Script Date: 10/14/2023 11:31:18 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[_Temporary_items](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[CharName] [varchar](30) NOT NULL,
	[CharID] [int] NOT NULL,
	[UserJid] [int] NOT NULL,
	[ID64] [int] NOT NULL,
	[ItemID] [int] NOT NULL,
	[ItemSerial] [bigint] NOT NULL,
	[ItemCodeName] [varchar](max) NOT NULL,
	[ShopCodeName] [varchar](max) NULL,
	[Timer] [datetime] NOT NULL,
	[Stats] [varchar](50) NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

تمام لحد هنا عملنا الجدول اللي هنسجل فيه بيانات الايتم طبعا انا عامل الجدول ده هيسجل بيانات الايتم بكل تفاصيله حتي ال npc اللي هتشتري منه والtab رقم كام وبيانات الاكونت والuserjid وكل التفاصيل اللي هتحتاجها


بعد ما عملت Create للتابل ده ناقص اخر حاجة وهي السيستم نفسه بقي هتروح علي SRO_VT_SHARDLOG/AddLogItem

وهتضيف السيستم في اخر البرسيدور زي ما هو كده

كود:
---- RECORD TEMPORARY ITEMS  #mohamed_montaser

IF (@Operation in (32,35))

DECLARE @TimerWeapon INT = -5   -- Time Down to remove items per days  #T0P

BEGIN

	IF (@ItemRefID IN (SELECT ItemID from TOOL_SYSTEM..Temp_itemID))

	BEGIN


		---//////
		DECLARE   @CharNameTemp varchar (35), @ID64Temp INT , @itemCodeNameTemp varchar (Max) ,@NPCTEMP VARCHAR (MAX), @UserTemp INT,@CharNameTempMsg Varchar (35)
		SET @CharNameTemp = (SELECT CharName16 FROM SRO_VT_SHARD.._Char WHERE CharID = @CharID )
		SET @ID64Temp = (SELECT ID64 FROM SRO_VT_SHARD.._Items WHERE Serial64 = @ItemSerial )
		SET @itemCodeNameTemp = ( SELECT CodeName128 From SRO_VT_SHARD.._RefObjCommon where ID = @ItemRefID)
		SET @NPCTEMP  = (SELECT RefTabCodeName FROM SRO_VT_SHARD.._RefShopGoods WHERE RefPackageItemCodeName = 'PACKAGE_' +@itemCodeNameTemp)
		SET @UserTemp = ( SELECT UserJID FROM SRO_VT_SHARD.._User WHERE CharID = @CharID )
		SET @CharNameTempMsg = (SELECT CharName16 FROM SRO_VT_SHARD.._Char WHERE CharID = @CharID )

		--DECLARE @MgsDetalis VARCHAR (MAX) = 'Hello Dear ['+@CharNameTemp+'] YOUR CharID Is ['+CONVERT (VARCHAR,@CharID)+'] ITEM ID64 IS ['+CONVERT (VARCHAR,@ID64Temp)+'] And Item Serial is ['+CONVERT (VARCHAR,@ItemSerial)+'] AND ItemID is ['+CONVERT (VARCHAR,@ItemRefID)+'] And Item CodeName Is ['+@itemCodeNameTemp+'] The Time is '+ CONVERT(VARCHAR, GETDATE(), 120)
		--INSERT INTO ZOLA_VT_FILTER.._AutoNotice VALUES (@MgsDetalis,@CharNameTemp,0,GETDATE())
		INSERT INTO TOOL_SYSTEM.._Temporary_items  VALUES (@CharNameTemp,@CharID,@UserTemp,@ID64Temp,@ItemRefID,@ItemSerial,@itemCodeNameTemp,@NPCTEMP,GETDATE(),'ADDED')

	END
		-- Check if items need to be removed based on the timer
       IF (SELECT COUNT(*) FROM TOOL_SYSTEM.._Temporary_items WHERE Timer < DATEADD(DAY, @TimerWeapon, GETDATE())) > 0

	BEGIN
			UPDATE inv  -- remove from inventory
			SET inv.ItemID = 0
			FROM SRO_VT_SHARD.._Inventory AS inv
			INNER JOIN SRO_VT_SHARD.._Items AS itm ON inv.ItemID = itm.ID64
			INNER JOIN TOOL_SYSTEM.._Temporary_items AS temp ON itm.Serial64 = temp.ItemSerial
			WHERE temp.Timer < DATEADD(DAY, @TimerWeapon, GETDATE());

			UPDATE Chest  ---- remove from Storage
			SET Chest.ItemID = 0
			FROM SRO_VT_SHARD.._Chest AS Chest
			INNER JOIN SRO_VT_SHARD.._Items AS I ON Chest.ItemID = I.ID64
			INNER JOIN TOOL_SYSTEM.._Temporary_items AS temp ON i.Serial64 = temp.ItemSerial
			WHERE temp.Timer < DATEADD(DAY, @TimerWeapon, GETDATE());

			UPDATE PET  -- remove from pet
			SET PET.ItemID = 0
			FROM SRO_VT_SHARD.._InvCOS AS PET
			INNER JOIN SRO_VT_SHARD.._Items AS I ON PET.ItemID = I.ID64
			INNER JOIN TOOL_SYSTEM.._Temporary_items AS temp ON i.Serial64 = temp.ItemSerial
			WHERE temp.Timer < DATEADD(DAY, @TimerWeapon, GETDATE());

			UPDATE G
			SET G.ItemID = 0 -- remove from storage guild
			FROM SRO_VT_SHARD.._GuildChest AS G
			INNER JOIN SRO_VT_SHARD.._Items AS I ON G.ItemID = I.ID64
			INNER JOIN TOOL_SYSTEM.._Temporary_items AS temp ON i.Serial64 = temp.ItemSerial
			WHERE temp.Timer < DATEADD(DAY, @TimerWeapon, GETDATE());

			UPDATE temp
			SET temp.Stats = 'DELETED'
			FROM TOOL_SYSTEM.._Temporary_items AS temp
			INNER JOIN SRO_VT_SHARD.._Items AS itm ON temp.ItemSerial = itm.Serial64
			WHERE temp.Timer < DATEADD(DAY, @TimerWeapon, GETDATE());
	END

END

وبكده نكون خلصنا شرح السيتسم وكل الحاجات اللي محتاجها فيه
ملحوظة تاني : الرقم اللي بالاحمر ده عدد الأيام دايما بالسالب انت غيرها بقي زي ما تحب الايتم يقعد كام يوم انا عامله يقعد 5 ايام شوف انت اللي يعجبك بقي

كلمة شكر تكفي


توقيع محمد منتصر :





Edit By :- [GM]T0P

التعديل الأخير تم بواسطة محمد منتصر ; 14-04-2024 الساعة 01:18 AM

رد مع اقتباس
إعلانات google

قديم 01-01-2024, 06:34 PM   #2

Last_Fiddler
عضو لامع



الصورة الرمزية Last_Fiddler


• الانـتـسـاب » Mar 2009
• رقـم العـضـويـة » 57693
• المشـــاركـات » 1,247
• الـدولـة » مصر
• الـهـوايـة » البرامج
• اسـم الـسـيـرفـر » No Server
• الـجـنـس » Male
• نقـاط التقييم » 10
Last_Fiddler صـاعـد

Last_Fiddler غير متواجد حالياً



افتراضي رد: How To Create Temporary ITems with time Easy Way -- عمل أيتم مؤقت في السيرفر



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


توقيع Last_Fiddler :




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


رد مع اقتباس
قديم 14-04-2024, 01:11 AM   #3

محمد منتصر
عضو لامع



الصورة الرمزية محمد منتصر


• الانـتـسـاب » Dec 2010
• رقـم العـضـويـة » 77696
• المشـــاركـات » 1,134
• الـدولـة » Cairo
• الـهـوايـة » Developer Private Server
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 33
محمد منتصر صـاعـد

محمد منتصر غير متواجد حالياً



افتراضي رد: How To Create Temporary ITems with time Easy Way -- عمل أيتم مؤقت في السيرفر



اقتباس:
المشاركة الأصلية كتبت بواسطة Last_Fiddler عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
تسلم ايدك فكره جميله
بس في ناس هتخد وبي وبست بس وطبعا المفروض يضيفو الايتم في التاب وانت كاتب بس في ناس مش هتعرف النطه دي ممكن تضيفلهم اي نوع ايتم ويكررو شبهه
وتقبل رايي
حبيبي ان شاء الله


توقيع محمد منتصر :





Edit By :- [GM]T0P


رد مع اقتباس
قديم 15-08-2024, 05:09 AM   #4

abo7amdy
عضو جديد





• الانـتـسـاب » Jan 2023
• رقـم العـضـويـة » 162417
• المشـــاركـات » 44
• الـدولـة »
• الـهـوايـة »
• اسـم الـسـيـرفـر » No Server
• الـجـنـس » Male
• نقـاط التقييم » 10
abo7amdy صـاعـد

abo7amdy غير متواجد حالياً



افتراضي رد: How To Create Temporary ITems with time Easy Way -- عمل أيتم مؤقت في السيرفر



شغلك جامد ياصديقي الله ينور




رد مع اقتباس
قديم 04-10-2024, 03:08 AM   #5

محمد منتصر
عضو لامع



الصورة الرمزية محمد منتصر


• الانـتـسـاب » Dec 2010
• رقـم العـضـويـة » 77696
• المشـــاركـات » 1,134
• الـدولـة » Cairo
• الـهـوايـة » Developer Private Server
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 33
محمد منتصر صـاعـد

محمد منتصر غير متواجد حالياً



افتراضي رد: How To Create Temporary ITems with time Easy Way -- عمل أيتم مؤقت في السيرفر



اقتباس:
المشاركة الأصلية كتبت بواسطة abo7amdy عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
شغلك جامد ياصديقي الله ينور
حبيبي تسلم


توقيع محمد منتصر :





Edit By :- [GM]T0P


رد مع اقتباس
إضافة رد


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

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

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

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى الردود آخر مشاركة
Easy Way To Change Price Of Items in NPCs Crisis قـسـم تـعـديـل [ PK2 Edit ] 13 24-03-2016 04:07 AM
want an easy way to add items to npc GusToma قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة 22 15-06-2013 05:35 PM
ليه الويزرد محتل السيرفر DRAGON 1 Bellona 19 25-08-2010 10:01 PM
حل مؤقت لكل من يعاني من مشكلة Run Time Error ! airforce مـنـاقـشـات عـامـة حـول سيلك رود أون لايـن 12 25-02-2009 11:44 PM


الساعة الآن 09:23 AM.