|
• الانـتـسـاب » Apr 2015
|
• رقـم العـضـويـة » 121546
|
• المشـــاركـات » 4,029
|
• الـدولـة » https://t.me/pump_upp
|
• الـهـوايـة » MIS
|
• اسـم الـسـيـرفـر » No Server
|
• الـجـنـس » Male
|
• نقـاط التقييم » 45
|
|
|
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)
وبكدا السيستم شغال تمام و لو فى اقتراحات او اى مشاكل انا موجود
وتسلم ايديك مره تانيه على السيستم بتاعك و اسف على الاطاله ^_^
|
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
|