عندي مشكله صغيره
انا بضيف
plus notice,pvp notice,job notice
المشكله بقي أن بضيف كله تمام
والوج بيتسجل في التاب تمام
بس مافيش notice بيظهر في الجيم
وشغال بي notice v3
ياريت الأفاده
وياريت لو أمكن شرح تشغيل wanted system
عشان ضيفتو وبيسجل في التاب عادي بس مش بيضيف
skills wanted to char
اول مشكلة بسبب البرنامج اكيد مش شغال على الEvent اللى انت عاملة لازم يكون البرنامج بتاع ال Event يعنى من الاخر تعمل برنامج خاص لية زى مثلا ال Plus notice و تانى مشكلة اتاكد انك حاطط كل الكورى اللى موجودة و مظبط ال ID بتاع ال Ref.Skil
USE [SRO_VT_LOGS]
GO
/****** Object: StoredProcedure [dbo].[_Wanted] Script Date: 10/1/2014 4:54:13 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[_Wanted]
@CharID int,
@EventID tinyint,
@Desc varchar(128)
as
Declare @Kc int
Declare @CharName VARCHAR(52) = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID)
DECLARE @K_Name VARCHAR(512) = @Desc
SELECT @K_Name = REPLACE(@K_Name, LEFT(@K_Name, CHARINDEX('(', @K_Name)), '')
SELECT @K_Name = REPLACE(@K_Name, RIGHT(@K_Name, CHARINDEX(')', REVERSE(@K_Name))), '')
----- Killed CharID
DECLARE @K_CharID INT =(SELECT CharID FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharName16 = @K_Name)
------
-- Check if he kills the char more than 3 times
DECLARE @PKill int = (select COUNT(*) from _RowKills where KillerID = @CharID and KilledID = @K_CharID)
DECLARE @MaxK int = (select COUNT(Kills) from _RowKills where KillerID = @CharID and Kills = '1')
IF ( @PKill <= '1' and @MaxK <= '50' )
BEGIN
INSERT INTO _RowKills (KillerID , KilledID , Kills) VALUES (@CharID , @K_CharID,'1')
END
----- End inserting
SET @Kc = (SELECT COUNT(Kills) FROM _RowKills WHERE KillerID = @CharID and Kills = '1' )--and Recived = 'OFF')
--- if he kills 10 in row give him the buff -- give Wanted level 1
IF @Kc = '10' AND NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID between '50021' and '50024')
BEGIN
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID )
---- Values
VALUES (@CharID , 0 , 33862 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
INSERT INTO SRO_VT_LOGS.dbo.PlusNotice VALUES ('0',+@CharName+' : is Wanted "Hero Mode - 10Kills in row [Wanted Lv1]"',GETDATE())
END
--- if he kills 20 in row give him the buff -- give Wanted level 2
IF @Kc = '20' AND NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '50021' and '50024')
BEGIN
INSERT INTO SRO_VT_LOGS.dbo.PlusNotice VALUES ('0',+@CharName+' : is Wanted "Hero Mode - 20Kills in row [Wanted Lv2]"',GETDATE())
IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '33862')
BEGIN
DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '33862'
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50021 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
ElSE IF NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '33862')
BEGIN
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50021 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
END
--- if he kills 30 in row give him the buff -- give Wanted level 3
IF @Kc = '30' AND NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '50022' and '50024')
BEGIN
INSERT INTO SRO_VT_LOGS.dbo.PlusNotice VALUES ('0',+@CharName+' : is Wanted "Hero Mode - 30Kills in row [Wanted Lv3]"',GETDATE())
IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '33862')
BEGIN
DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '33862'
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50022 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
ElSE IF NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '33862')
BEGIN
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50022 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
END
--- if he kills 40 in row give him the buff -- give Wanted level 4
IF @Kc = '40' AND NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '50023' and '50024')
BEGIN
INSERT INTO SRO_VT_LOGS.dbo.PlusNotice VALUES ('0',+@CharName+' : is Wanted "Hero Mode - 40Kills in row [Wanted Lv4]"',GETDATE())
IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50022' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021')
BEGIN
DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50022' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021'
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50023 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
ElSE IF NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50022' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021')
BEGIN
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50023 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
END
--- if he kills 50 in row give him the buff -- give Wanted level 5
IF @Kc = '50' AND NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50024')
BEGIN
INSERT INTO SRO_VT_LOGS.dbo.PlusNotice VALUES ('0',+@CharName+' : is Wanted "Hero Mode - 50Kills in row [Wanted Lv5]"',GETDATE())
DELETE FROM _RowKills WHERE KillerID = @CharID
IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50023' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '50023')
BEGIN
DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50023' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '50023'
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50024 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
ElSE IF NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50023' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '50023')
BEGIN
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50024 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
END
USE [SRO_VT_LOGS] GO /****** Object: Table [dbo].[_RowKills] Script Date: 09/13/2014 11:35:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[_RowKills]( [ID] [int] IDENTITY(1,1) NOT NULL, [KillerID] [int] NULL, [KilledID] [varchar](50) NULL, [Kills] [int] NULL, CONSTRAINT [PK__RowKills] 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
--- Wanted System if @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]ID = '19' -- Count kills BEGIN if (@strPos like '%(0x679a)%') BEGIN IF @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]c LIKE '%Trader, Neutral, no freebattle team%' -- Trader OR @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]c LIKE '%Hunter, Neutral, no freebattle team%' -- Hunter OR @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]c LIKE '%Robber, Neutral, no freebattle team%' -- Thief ) BEGIN DECLARE @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]Name VARCHAR(512) = @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]c DECLARE @ReqLevel INT = 0 SELECT @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]Name = REPLACE @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]Name, LEFT @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]Name, CHARINDEX('(', @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]Name)), '') SELECT @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]Name = REPLACE @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]Name, RIGHT @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]Name, CHARINDEX(')', REVERSE @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]Name))), '') SELECT @ReqLevel = CurLevel FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharName16 = @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]Name if @ReqLevel >= 90 BEGIN Exec [_Wanted] @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]ID , @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]ID , @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]c End END END END if @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]ID = '20' -- if dies BEGIN IF @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]c LIKE '%Trader, Neutral, no freebattle team%' -- Trader OR @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]c LIKE '%Hunter, Neutral, no freebattle team%' -- Hunter OR @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]c LIKE '%Robber, Neutral, no freebattle team%' -- Thief ) BEGIN UPDATE _RowKills SET Kills = '0' WHERE KillerID = @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]ID IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob WHERE CharID = @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]ID AND JobID = '33862' or CharID = @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]ID and JobID between '50021' and '50024') BEGIN DELETE FROM SRO_VT_SHARD.dbo._TimedJob WHERE CharID = @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]ID and JobID = '33862' or CharID = @عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]ID and JobID between '50021' and '50024' END END END --------- End of wanted system