عرض مشاركة واحدة
قديم 11-11-2016, 08:59 PM   #1

Dev.Ri3o
عضو ذهبى



الصورة الرمزية Dev.Ri3o


• الانـتـسـاب » Apr 2015
• رقـم العـضـويـة » 121546
• المشـــاركـات » 4,033
• الـدولـة » https://t.me/pump_upp
• الـهـوايـة » MIS
• اسـم الـسـيـرفـر » No Server
• الـجـنـس » Male
• نقـاط التقييم » 45
Dev.Ri3o صـاعـد

Dev.Ri3o غير متواجد حالياً

9264  


إرسال رسالة عبر ICQ إلى Dev.Ri3o إرسال رسالة عبر AIM إلى Dev.Ri3o إرسال رسالة عبر Yahoo إلى Dev.Ri3o إرسال رسالة عبر Skype إلى Dev.Ri3o

(21) Auto Plus Notice With New Feature



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

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

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

Auto Plus Notice By Item Code And Item Name

فى ناس كتير بتحتاج ال Auto Plus Notice انا لقيت ان موضوع Mido مش شغال ومش عارف ازاى ان فى ناس بتقول شغال وانها جربتو فصلحت الغلط اللى فى Procedure ال AddLogItem وعدلت على ال Procedure عشان لو عايز اسم ال Items هو اللى يظهر مش ال Code بتاعه فى ال RefObjCommon

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

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

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

تانى حاجة هتعمل ال Queries دى

1

كود:
USE [SRO_VT_SHARDLOG]
GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DF_PlusNotice_Sent]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[PlusNotice] DROP CONSTRAINT [DF_PlusNotice_Sent]
END

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DF_PlusNotice_Date]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[PlusNotice] DROP CONSTRAINT [DF_PlusNotice_Date]
END

GO

USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[PlusNotice]    Script Date: 09/11/2013 12:37:51 ******/
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[PlusNotice]') AND type in (N'U'))
DROP TABLE [dbo].[PlusNotice]
GO

USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[PlusNotice]    Script Date: 09/11/2013 12:37:51 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[PlusNotice](
    [Sent] [int] NOT NULL,
    [message] [varchar](max) NOT NULL,
    [Date] [datetime] NOT NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[PlusNotice] ADD  CONSTRAINT [DF_PlusNotice_Sent]  DEFAULT ((0)) FOR [Sent]
GO

ALTER TABLE [dbo].[PlusNotice] ADD  CONSTRAINT [DF_PlusNotice_Date]  DEFAULT (getdate()) FOR [Date]
GO
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

2

كود:
USE [SRO_VT_SHARD]
GO

/****** Object:  Table [dbo].[_ItemName]    Script Date: 09/11/2013 12:38:45 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[_ItemName](
    [CodeName128] [varchar](50) NOT NULL,
    [Name] [varchar](50) NOT NULL
) ON [PRIMARY]

GO

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

3

كود:
USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[_LogItemPlus]    Script Date: 09/11/2013 12:37:14 ******/
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[_LogItemPlus]') AND type in (N'U'))
DROP TABLE [dbo].[_LogItemPlus]
GO

USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[_LogItemPlus]    Script Date: 09/11/2013 12:37:14 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[_LogItemPlus](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [CharID] [varchar](10) NOT NULL,
    [Serial64] [varchar](64) NOT NULL,
    [Plus] [text] NOT NULL,
    [Data] [datetime] NOT NULL,
    [Lido] [int] NOT NULL,
 CONSTRAINT [PK__LogItemPlus1_1] 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] TEXTIMAGE_ON [PRIMARY]

GO

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

ولو عايز ال Notice تظهر ب Code ال Item فى ال RefObjCommon
هتعمل ال Procdure ده
كود:
USE [SRO_VT_LOG]
GO
/****** Object:  StoredProcedure [dbo].[_AddLogItem]    Script Date: 09/15/2013 20:20:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER  procedure [dbo].[_AddLogItem]  
  @CharID  int,   
  @ItemRefID int,   
  @ItemSerial bigint,   
  @dwData int,   
  @TargetStorage tinyint,   
  @Operation tinyint,   
  @Slot_From tinyint,   
  @Slot_To tinyint,   
  @EventPos varchar(64),   
  @strDesc varchar(128), 
  @Gold        bigint        -- #ifdef EXTEND_GOLD_TYPE »?AO    
  as   
   declare @len_pos int   
   declare @len_desc int  
   declare @strDesc_separado varchar(128)  
   declare  @len_desc1 int 
   set @len_pos = len(@EventPos)   
   set @len_desc = len(@strDesc)   
   if (@len_pos > 0 and @len_desc > 0)   
   begin   
            insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, EventPos, strDesc, Serial64, Gold)    -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
            values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @EventPos, @strDesc, @ItemSerial, @Gold)        -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
   end   
   else if (@len_pos > 0 and @len_desc = 0)   
   begin   
            insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, EventPos, Serial64, Gold)            -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
            values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @EventPos, @ItemSerial, @Gold)                -- #ifdef EXTEND_GOLD_TYPE ±³?¼  
   end   
   else if (@len_pos = 0 and @len_desc > 0)   
   begin   
            insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, strDesc, Serial64, Gold)            -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
            values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @strDesc, @ItemSerial, @Gold)                    -- #ifdef EXTEND_GOLD_TYPE ±³?¼  
   end   
   else if (@len_pos = 0 and @len_desc = 0)   
   begin   
            insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, Serial64, Gold)                        -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
            values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @ItemSerial, @Gold)                            -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
   end   
   -- A¯·? ¾?A??U ±¸AOA?¸é!   
   -- #define LOG_ITEMEVENT_BUY_CASHITEM  (BYTE)35   
   if (@Operation = 35)   
   begin   
    insert _LogCashItem (RefItemID, CharID, Cnt, EventTime, Serial64)   
    values(@ItemRefID, @CharID, @dwData, GetDate(), @ItemSerial)   
   end 
   if (@Operation = 90 OR @Operation = 160)   
   begin   
   set @len_desc1 = CHARINDEX (']',@strDesc)  
  if(@len_desc1 = 9)   
     begin 
     set @strDesc = SUBSTRING(@strDesc,0,9) 
     set @strDesc_separado = SUBSTRING(@strDesc, 8, 1) 
    end 
   else if(@len_desc1 = 10) 
        begin 
        set @strDesc = SUBSTRING(@strDesc,0,10) 
        set @strDesc_separado = SUBSTRING(@strDesc, 8, 2) 
        end 
        if(@strDesc_separado >= 8) 
        begin 
        --set @strDesc_separado = @len_desc1 
      insert _LogItemPlus(CharID, Serial64, Plus, Data, Lido) values(@CharID, @ItemSerial, @strDesc_separado, GetDate(), '0')   
    end  
   end 
   if(@Operation = 90)
   begin
    declare @iname varchar(129)
    declare @iid int
    declare @cname varchar(64)
    select @iid = RefItemID from SRO_VT_SHARD.dbo._Items where Serial64 = @ItemSerial
    select @iname = CodeName128 from SRO_VT_SHARD.dbo._RefObjCommon where id = @iid  
    select @cname = CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @CharID
    if(@strDesc_separado >= 8)
    insert PlusNotice(Sent, Message)values(0,'[' +@cname + '] has increased [' + @iname + '] to [Lvl ' + CAST(@strDesc_separado AS NVARCHAR) + ']')
 end
والصور من العضو Ruxana

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

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

ولو عايز تخلى ال Notice تظهر بأسم ال Item
هتعمل ال Procedure ده بدل اللى فوق
كود:
USE [SRO_VT_SHARLOG]
GO
/****** Object:  StoredProcedure [dbo].[_AddLogItem]    Script Date: 09/15/2013 20:20:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER  procedure [dbo].[_AddLogItem]  
  @CharID  int,   
  @ItemRefID int,   
  @ItemSerial bigint,   
  @dwData int,   
  @TargetStorage tinyint,   
  @Operation tinyint,   
  @Slot_From tinyint,   
  @Slot_To tinyint,   
  @EventPos varchar(64),   
  @strDesc varchar(128), 
  @Gold        bigint        -- #ifdef EXTEND_GOLD_TYPE »?AO    
  as   
   declare @len_pos int   
   declare @len_desc int  
   declare @strDesc_separado varchar(128)  
   declare  @len_desc1 int 
   set @len_pos = len(@EventPos)   
   set @len_desc = len(@strDesc)   
   if (@len_pos > 0 and @len_desc > 0)   
   begin   
             insert _LogEventItem (EventTime, CharID, ItemRefID, dwData,  TargetStorage, Operation, Slot_From, Slot_To, EventPos, strDesc,  Serial64, Gold)    -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
             values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage,  @Operation, @Slot_From, @Slot_To, @EventPos, @strDesc, @ItemSerial,  @Gold)        -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
   end   
   else if (@len_pos > 0 and @len_desc = 0)   
   begin   
             insert _LogEventItem (EventTime, CharID, ItemRefID, dwData,  TargetStorage, Operation, Slot_From, Slot_To, EventPos, Serial64,  Gold)            -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
             values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage,  @Operation, @Slot_From, @Slot_To, @EventPos, @ItemSerial,  @Gold)                -- #ifdef EXTEND_GOLD_TYPE ±³?¼  
   end   
   else if (@len_pos = 0 and @len_desc > 0)   
   begin   
             insert _LogEventItem (EventTime, CharID, ItemRefID, dwData,  TargetStorage, Operation, Slot_From, Slot_To, strDesc, Serial64,  Gold)            -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
             values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage,  @Operation, @Slot_From, @Slot_To, @strDesc, @ItemSerial,  @Gold)                    -- #ifdef EXTEND_GOLD_TYPE ±³?¼  
   end   
   else if (@len_pos = 0 and @len_desc = 0)   
   begin   
             insert _LogEventItem (EventTime, CharID, ItemRefID, dwData,  TargetStorage, Operation, Slot_From, Slot_To, Serial64,  Gold)                        -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
             values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage,  @Operation, @Slot_From, @Slot_To, @ItemSerial,  @Gold)                            -- #ifdef EXTEND_GOLD_TYPE ±³?¼ 
   end   
   -- A¯·? ¾?A??U ±¸AOA?¸é!   
   -- #define LOG_ITEMEVENT_BUY_CASHITEM  (BYTE)35   
   if (@Operation = 35)   
   begin   
    insert _LogCashItem (RefItemID, CharID, Cnt, EventTime, Serial64)   
    values(@ItemRefID, @CharID, @dwData, GetDate(), @ItemSerial)   
   end 
   if (@Operation = 90 OR @Operation = 160)   
   begin   
   set @len_desc1 = CHARINDEX (']',@strDesc)  
  if(@len_desc1 = 9)   
     begin 
     set @strDesc = SUBSTRING(@strDesc,0,9) 
     set @strDesc_separado = SUBSTRING(@strDesc, 8, 1) 
    end 
   else if(@len_desc1 = 10) 
        begin 
        set @strDesc = SUBSTRING(@strDesc,0,10) 
        set @strDesc_separado = SUBSTRING(@strDesc, 8, 2) 
        end 
        if(@strDesc_separado >= 8) 
        begin 
        --set @strDesc_separado = @len_desc1 
      insert _LogItemPlus(CharID, Serial64, Plus, Data, Lido) values(@CharID, @ItemSerial, @strDesc_separado, GetDate(), '0')   
    end  
   end 
   if(@Operation = 90)
   begin
    declare @iname varchar(129)
    declare @iid int
    declare @cname varchar(64)
    declare @RealName Varchar(Max) 
    select @iid = RefItemID from SRO_VT_SHARD.dbo._Items where Serial64 = @ItemSerial
    select @iname = CodeName128 From SRO_VT_SHARD.dbo._RefObjCommon where id = @iid
    Select @RealName = Name From SRO_VT_SHARD.dbo._itemName Where CodeName128 = @iname
    select @cname = CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @CharID and
    if(@strDesc_separado >= 12)
     insert PlusNotice(Sent, Message)values(0,'[' +@cname + '] has increased  [' + @RealName + '] to [Lvl ' + CAST(@strDesc_separado AS NVARCHAR) + ']')
 end
بعد اما تعمل ال Procedure ده هتخش على Tabel ال _ItemName وتضيف فى ال CodeName128 ال Code بتاع ال Item فى ال RefObjCommon و فى ال Name هتضيف اسم الايتم اللى يعازو يظهر زى كدة

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

والصور من العضو Ruxana

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

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

اقتباس:
المشاركة الأصلية كتبت بواسطة elbattawy1st عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
تسلم ايديك يامعلم بس بعد اذنك طبعا فى اضافه على الموضوع بتاعك
الاضافه هتكون كالتالى:
- يعمل notice ل sets
- الايتم الا هاتترفع فيها adv هيتكب فى notice الا انها معاه adv
- الايتم الا هاتترفع و مفهاش adv هينكتب الا مش معاه Adv
- الايتم الا هاتترفع ب Adv هينكتب فى notice ان البلاير استخدم adv كذا فى رفع الايتم
كدا اعتقد ان السيستم كامل ^_^

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

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

Guide :
- فك الضغط و اعمل exec لتابل و البروسيدور
- ضيف سطور addlogitem
- غير اسم داتا ELBATTAWY_SYSTEMS لداتا بتاعتك الا فيها التابل و البروسيدور
- ضيف سطور بتاعت تابل ItemsName علشان اسم الايتم يظهر فى الجيم عندك (افتح ملف دا من الميديا textdata_equip&skill.txt جيب منه الاكواد بالاسماء الايتم و ضيفها فى التابل)
- افتح البروسيدور و دور على Set @MaxPlus = '1' غير رقم 1 دا الارقم انت عاوزه يبدا البوت يدى notice بالايتم
ملحوطه : السيستم مش هيشتغل لو تابل itemsName مفهوش كود الايتم (بمعنى انت لو مش عاوز ديجرى معين ميتعملش ليه notice ماضيفِش اكواد الديجرى فى تابل ItemsName)
وبكدا السيستم شغال تمام و لو فى اقتراحات او اى مشاكل انا موجود
وتسلم ايديك مره تانيه على السيستم بتاعك و اسف على الاطاله ^_^
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]


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

التعديل الأخير تم بواسطة Dev.Ri3o ; 13-11-2016 الساعة 08:09 PM

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