قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة[ قسم متخصص فى شروحات و البرامج في عمل السيرفرات الخاصة ] [ يرجى عدم وضع الأسئلة والاستفسارات في هذا القسم ]
المشاركة الأصلية كتبت بواسطة elmagico123
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
سيستم كويس الصراحة جدا ومع التعديل بتاع التايتل يرجع للتايتل القديم دا بقي فاجر الصراحة استمر
تسلم ^_^
اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed ElKersh
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
تمام ماشي بس فيه ملحوظة دلواقتي انت ادتني ده
كود PHP:
USE [SRO_VT_SHARDLOG] GO
/****** Object: Table [dbo].[_OldTitles1] Script Date: 10/03/2016 02:03:29 م ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[_OldTitles1]( [ID] [int] IDENTITY(1,1) NOT NULL, [CharName] [varchar](59) NOT NULL, [OldHwan] [int] NULL, [UName] [varchar](50) NULL, CONSTRAINT [PK__OldTitles] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
اسمه oldtitle1
لاكن في الكويري مكتوب
كود PHP:
Insert Into [SRO_VT_SHARDLOG].[dbo].[_OldTitles] ([CharName],[OldHwan],[UName]) Values (@CharName1,@CheckHwanlevel,'5')
ده طبيعي ولا ايه ؟
اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed ElKersh
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
و انا عاوز احط اكتر من يونيك جابلي ايرور
يا جدعان جربوا الحاجة ونبي
جرب دا
كود PHP:
iF (@EventID = 9 OR @EventID = 11) BEGIN DECLARE @Hwanlevelchange1 int = (SELECT OldHwan FROM [SRO_VT_SHARDLOG].[dbo].[_OldTitles1] Where UName = '5') DECLARE @MaxK1 int = (SELECT Count(CodeName128) FROM [SRO_VT_SHARDLOG].[dbo].[_UniquesLog] Where Killer = @CharName1 And CodeName128 = 'MOB_OA_URUCHI') If @MaxK1 >= '2' BEGIN -- Take the title from the player and change to hwanlvl = 1 Insert Into [SRO_VT_SHARDLOG].[dbo].[_OldTitles1] ([CharName],[OldHwan],[UName]) Values (@CharName1,@CheckHwanlevel,'5') UPDATE [SRO_VT_SHARD].[dbo].[_Char] SET HwanLevel = @Hwanlevelchange1 where HwanLevel like '5' DELETE from [SRO_VT_SHARDLOG].[dbo].[_OldTitles1] where UName Like '5' And OldHwan = @Hwanlevelchange1 -- Adding the title to the new player ( 8 is the hwan lvl change to yours (reward hwanlvl) ) UPDATE [SRO_VT_SHARD].[dbo].[_Char] set HwanLevel = '5' where CharName16 = @CharName1 -- Item Reward EXEC [SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN] @CharName1,'ITEM_ETC_ARENA_COIN',10,0 -- Notice Lines To show All server this char is Hero insert into [SRO_VT_SHARDLOG].[dbo].[iLegend_Tool] ([Service],[Type],[Message],[Date]) Values ('1','Notice','** Unique Hero System** : '+@Charname1+' has now recived (Unique Hero ) title for killing Tiger Girl 2 times And recived Arena Coins as reward ',GETDATE()) -- Delete Log Unique From Table DELETE from [SRO_VT_SHARDLOG].[dbo].[_UniquesLog] where Killer = @Charname1 and CodeName128 = 'MOB_OA_URUCHI' END END
وشوف انا عملت اية و اعملو علشان لو عاوز تضيف كمان يونك ثالت
وبالنسبة ل Reward
هتلاقى الكود دا غيرو ITEM_ETC_ARENA_COIN بدل كود reward بتاعك
ورقم 10 دا الكمية لوعملتها فى بروسيدور دا كده انت غيرت reward بتاع URCHI
اما فى بروسيدور الاساسى الموجود فى الموضوع اعملو مثلا بتاع tiger
هتلاقى فية reward arena برضو انت لو عاوز تعيرها عيرها برضو ل reward الا انت عاوزه
وبكده تكون عملت اتنين Reward مختلفة
و لو جربت تعمل بروسيدور التانى تاخدو copy و past من عير ماتعدل علية حاجة علشان تعمل بية ليونك ثالث مثلا هيجيلك error
فا انت شوف انا عملت اية المختلف فى بروسيدور الثانى و اعملو علشان تعرف تعملو ليونك الثالث
التعديل الأخير تم بواسطة elbattawy1st ; 10-03-2016 الساعة 08:27 PM
المشاركة الأصلية كتبت بواسطة Mohamed ElKersh
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
مش بيجيب اي ريوارد ولا اي حاجة :] بايظ :] هو السيستم ده ليونيك واحد بس ولا ايه
شرح للمرة الاخيرة
بعد ما ضيف table و بروسيدور الموجودين فى الموضوع دا كده يونك واحد (ضيف بس الحاجات الموجوده فى الموضوع اى حاجة تانية عملتها شيلها )
علشان تعمل اليونك التانى
ضيف تابل دا
كود PHP:
USE [SRO_VT_SHARDLOG]
GO
/****** Object: Table [dbo].[_OldTitles1] Script Date: 10/03/2016 07:53:30 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_OldTitles1](
[ID] [int] IDENTITY(1,1) NOT NULL,
[CharName] [varchar](20) NOT NULL,
[OldHwan] [int] NULL,
[UName] [varchar](50) NULL,
CONSTRAINT [PK__OldTitles1] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
و بروسيدور دا هضيفو تحت بروسيدور الاول
ملحوطة لازم البروسيدور الاول يكون مضاف علشان البروسيدور الثاتى يشتغل معاك
كود PHP:
iF (@EventID = 9 OR @EventID = 11)
BEGIN
DECLARE @Hwanlevelchange1 int = (SELECT OldHwan FROM [SRO_VT_SHARDLOG].[dbo].[_OldTitles1] Where UName = '5')
DECLARE @MaxK1 int = (SELECT Count(CodeName128) FROM [SRO_VT_SHARDLOG].[dbo].[_UniquesLog] Where Killer = @CharName1 And CodeName128 = 'MOB_OA_URUCHI')
If @MaxK1 >= '2'
BEGIN
-- Take the title from the player and change to hwanlvl = 1
Insert Into [SRO_VT_SHARDLOG].[dbo].[_OldTitles1] ([CharName],[OldHwan],[UName]) Values (@CharName1,@CheckHwanlevel,'5')
UPDATE [SRO_VT_SHARD].[dbo].[_Char] SET HwanLevel = @Hwanlevelchange1 where HwanLevel like '5'
DELETE from [SRO_VT_SHARDLOG].[dbo].[_OldTitles1] where UName Like '5' And OldHwan = @Hwanlevelchange1
-- Adding the title to the new player ( 8 is the hwan lvl change to yours (reward hwanlvl) )
UPDATE [SRO_VT_SHARD].[dbo].[_Char] set HwanLevel = '5' where CharName16 = @CharName1
-- Item Reward
EXEC [SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN] @CharName1,'ITEM_ETC_SD_TOKEN_01',10,0
-- Notice Lines To show All server this char is Hero
insert into [SRO_VT_SHARDLOG].[dbo].[iLegend_Tool] ([Service],[Type],[Message],[Date]) Values ('1','Notice','** Unique Hero System** : '+@Charname1+' has now recived (Unique Hero ) title for killing Tiger Girl 2 times And recived Arena Coins as reward ',GETDATE())
-- Delete Log Unique From Table
DELETE from [SRO_VT_SHARDLOG].[dbo].[_UniquesLog] where Killer = @Charname1 and CodeName128 = 'MOB_OA_URUCHI'
END
END
و ارجع و اقول اقرأ الشرح الا انا عاملو فى الموضوع الاول علشان تعرف تغير فى بروسيدور براحتك
واخيراا لو جيت تجرب تعمل كمان واحد ثالث مش هيشتغل عير لما تغير انت
شوف اية الفرق مابين بروسيدور الاول و الثانى و قلد الثانى علشان تعرف تعمل الثالث
و الاكود دى انا لسة مجربها اكتر من مرة و شغالة تمام
لو ماشتغلش يبقى العيب من عندك مش من system علشان انا جربتو اكتر من مره
ولو قابلك مشاكل تانى اعملها فى قسم الاسئله و الاستفسارات علشان spam
المشاركة الأصلية كتبت بواسطة SkyZ
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
how make Reward Silk ?
Create This Table
كود PHP:
USE [SRO_VT_ACCOUNT]
GO
/****** Object: StoredProcedure [CGI].[CGI_WebPurchaseSilk_Job] Script Date: 12/03/2016 12:42:35 ص ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
-- =============================================
-- Author: kokspflanze
-- =============================================
CREATE PROCEDURE [CGI].[CGI_WebPurchaseSilk_Job]
@UserID INT,
@NumSilk INT
as
DECLARE @SilkRemain INT
DECLARE @OrderID INT
set @SilkRemain = 0
--DECLARE @PointRemain INT
-- BEGIN TRANSACTION
IF( not exists( SELECT * from SK_Silk where JID = @UserID))
BEGIN
INSERT SK_Silk(JID,silk_own,silk_gift,silk_point)VALUES(@UserID,@NumSilk,0,0)
--UPDATE Silk Own
END
ELSE
BEGIN
SET @SilkRemain = CGI.getSilkOwn(@UserID)
UPDATE SK_Silk SET silk_own = silk_own + @NumSilk WHERE JID = @UserID
--INSERT Silk Own
END
SELECT @OrderID = cast(MAX(OrderNumber)+1 as INT) FROM SK_SilkBuyList WHERE UserJID = @UserID
IF(@OrderID is NULL)
BEGIN
set @OrderID = 0
END
INSERT SK_SilkBuyList(UserJID,Silk_Type,Silk_Reason,Silk_Offset,Silk_Remain,ID,BuyQuantity,SlipPaper,RegDate,OrderNumber) VALUES( @UserID,0,0,@NumSilk,@SilkRemain + @NumSilk,0,1,"User Purchase Silk from VDC-Net2E Billing System",GETDATE(),@OrderID)
INSERT SK_SilkChange_BY_Web(JID,silk_remain,silk_offset,silk_type,reason) VALUES(@UserID,@SilkRemain + @NumSilk,@NumSilk,0,4)
IF (@@error <> 0 or @@rowcount = 0)
BEGIN
SELECT Result = "FAIL"
-- ROLLBACK TRANSACTION
RETURN
END
SELECT Result = "SUCCESS"
-- COMMIT TRANSACTION
RETURN
SET QUOTED_IDENTIFIER OFF
GO
Replace this with old code
كود PHP:
iF (@EventID = 9 OR @EventID = 11)
BEGIN
DECLARE @Notice varchar(50)
DECLARE @CharName1 varchar(20) = (SELECT CharName16 FROM [SRO_VT_SHARD].[dbo].[_Char] Where CharID = @CharID)
DECLARE @MaxK int = (SELECT Count(CodeName128) FROM [SRO_VT_SHARDLOG].[dbo].[_UniquesLog] Where Killer = @CharName1 And CodeName128 = 'MOB_CH_TIGERWOMAN')
DECLARE @CheckHwanlevel tinyint = (SELECT HwanLevel FROM [SRO_VT_SHARD].[dbo].[_Char] Where CharName16 = @CharName1)
DECLARE @Hwanlevelchange int = (SELECT OldHwan FROM [SRO_VT_SHARDLOG].[dbo].[_OldTitles] Where UName = '5')
DECLARE @UserID int = (SELECT userjid FROM [SRO_VT_SHARD].[dbo].[_User] where CharID = @CharID)
If @MaxK >= '2'
BEGIN
-- Take the title from the player and change to hwanlvl = 1
Insert Into [SRO_VT_SHARDLOG].[dbo].[_OldTitles] ([CharName],[OldHwan],[UName]) Values (@CharName1,@CheckHwanlevel,'5')
UPDATE [SRO_VT_SHARD].[dbo].[_Char] SET HwanLevel = @Hwanlevelchange where HwanLevel like '5'
DELETE from [SRO_VT_SHARDLOG].[dbo].[_OldTitles] where UName Like '5' And OldHwan = @Hwanlevelchange
-- Adding the title to the new player ( 8 is the hwan lvl change to yours (reward hwanlvl) )
UPDATE [SRO_VT_SHARD].[dbo].[_Char] set HwanLevel = '5' where CharName16 = @CharName1
-- Item Reward
EXEC SRO_VT_ACCOUNT.[CGI].[CGI_WebPurchaseSilk_Job] @UserID,50
-- Notice Lines To show All server this char is Hero
insert into [SRO_VT_SHARDLOG].[dbo].[iLegend_Tool] ([Service],[Type],[Message],[Date]) Values ('1','Notice','** Unique Hero System** : '+@Charname1+' has now recived (Unique Hero ) title for killing Tiger Girl 2 times And recived Arena Coins as reward ',GETDATE())
-- Delete Log Unique From Table
DELETE from [SRO_VT_SHARDLOG].[dbo].[_UniquesLog] where Killer = @Charname1 and CodeName128 = 'MOB_CH_TIGERWOMAN'
END
END
Change 50 with ur Reward silk amout
التعديل الأخير تم بواسطة elbattawy1st ; 12-03-2016 الساعة 01:47 AM
- تم اضافه 10 يونكات ل system
- تم اصلاح مشاكل oldtitles حاليا شغاله تمام
- تم اضافه 3 Reward لناس الا عاوزه تدى اكتر من Reward
- تم اضافه Reward Silk Donate
- تم اضافه Reward Silk Gift
- تم عمل نظام Back title to char if he want
bas al klam dah ? hadef fe AddLogchar
iF (@EventID = 9 OR @EventID = 11)
BEGIN
EXEC [SRO_VT_SHARDLOG].[dbo].[_Unique_System] @CharID
END
wel system hyt3ml ?
المشاركة الأصلية كتبت بواسطة SkyZ
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
mesh hn3ml create lel Table aly esmo Unique_System ?
?
انا رافع 3 procdures و 2 table لازم تعملهم الاول فى الداتا بيز
بعد كده حط الكود بتاع addlogchar و كود Memo_add
وابدا ظبط system على اليونكات و الريوراد الا انت عاوزه و هتلاقى شرح لكلام دا كلة فى الموضوع