شـريـط الاهـداءات | |
قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة [ قسم خاص لأسئلة واستفسارات عمل السيرفرات الخاصة ] [ يرجى الالتزام بقوانين قسم الأسئلة والاستفسارات ] |
|
أدوات الموضوع | انواع عرض الموضوع |
24-06-2020, 11:32 PM | #16 | |||||||||||||
|
اقتباس:
USE [SRO_VT_SHARDLOG] GO /****** Object: StoredProcedure [dbo].[_AddLogChar] Script Date: 6/24/2020 1040 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[_AddLogChar] @CharID int, @EventID tinyint, @Data1 int, @Data2 int, @strPos varchar(64), @Desc varchar(128) as -- Main Declares DECLARE @GM_Prim int =(select sec_primary from SRO_VT_ACCOUNT.dbo.TB_User as us inner join SRO_VT_SHARD.dbo._User as us2 on us.JID = us2.UserJID where CharID = @CharID) DECLARE @CharName varchar(50) = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID ) -------------- ----------------------------------------------------------------- ---------------------------- Pvp & Job Event VORTEX------------- ----------------------------------------------------------------- IF @EventID = '20' BEGIN DECLARE @KilledName VARCHAR(512) = @Desc ---------------------------- Pvp War Section ------------------------------------------- Declare @RunPvp varchar(100) = (Select Run From [SRO_VT_XEVENT].[dbo].[Settings_Basic] Where [Event] like 'Pvp war') Declare @ServicePvp int = (Select [Service] From [SRO_VT_XEVENT].[dbo].[Settings_Basic] Where [Event] like 'Pvp war') IF(@RunPvp='ON' And @ServicePvp = '1') BEGIN Exec [SRO_VT_XEVENT].[dbo].[EVENT_PVP_PROC] @CharID , @EventID , @KilledName , 3 , @Desc END ---------------------------- Job War Section ------------------------------------------- Declare @RunJob varchar(100) = (Select Run From [SRO_VT_XEVENT].[dbo].[Settings_Basic] Where [Event] like 'Job war') Declare @ServiceJob int = (Select [Service] From [SRO_VT_XEVENT].[dbo].[Settings_Basic] Where [Event] like 'Job war') IF(@RunJob='ON' And @ServiceJob = '1') BEGIN Exec [SRO_VT_XEVENT].[dbo].[EVENT_JOB_PROC] @CharID , @EventID , @KilledName , 3 , @Desc END ---------------------------- GM Kill Section ------------------------------------------- Declare @RunGM varchar(100) = (Select Run From [SRO_VT_XEVENT].[dbo].[Settings_Basic] Where [Event] like 'GM Kill') Declare @ServiceGM int = (Select [Service] From [SRO_VT_XEVENT].[dbo].[Settings_Basic] Where [Event] like 'GM Kill') IF(@RunGM ='ON' And @ServiceGM = '1') BEGIN Exec [SRO_VT_XEVENT].[dbo].[EVENT_GM_KILL_PROC] @CharID , @EventID , @KilledName , 3 , @Desc END END --------------------------------------------------------------- -----------------Jop For Each Star ----------------------------------------------------------------- IF (@EventID = 6) BEGIN EXEC [SRO_VT_SHARDLOG].[dbo].[_Job_Coin] @CharID END /* Job Top Count */ IF (@EventID = 9 OR @EventID = 11) BEGIN EXEC [SRO_VT_SHARDLOG].[dbo].[Top_Job_Count] @CharID END -- Job System IF @EventID = '19' BEGIN -- Renew for the nex day IF EXISTS (SELECT CharID FROM SRO_VT_XEVENT.dbo._JobDay WHERE isDat < GETDATE()) BEGIN DELETE FROM SRO_VT_XEVENT.dbo._JobDay WHERE CharID = @CharID DELETE FROM SRO_VT_XEVENT.DBO._JobNewSys WHERE KillerID = @CharID END IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._Char WITH(NOLOCK) WHERE CharID = @CharID AND CurLevel >= '90') BEGIN EXEC SRO_VT_XEVENT.dbo.[_JobNewJobS] @CharID,@Desc END END --- --- Wanted System if @EventID = '19' -- EventID Killing BEGIN IF (@Desc LIKE '%Trader, Neutral, no freebattle team%' -- Trader OR @Desc LIKE '%Hunter, Neutral, no freebattle team%' -- Hunter OR @Desc LIKE '%Robber, Neutral, no freebattle team%' -- Thief ) BEGIN DECLARE @ReqLevel INT = 0 SELECT @KilledName = REPLACE(@KilledName, LEFT(@KilledName, CHARINDEX('(', @KilledName)), '') SELECT @KilledName = REPLACE(@KilledName, RIGHT(@KilledName, CHARINDEX(')', REVERSE(@KilledName))), '') SELECT @ReqLevel = CurLevel FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharName16 = @KilledName if @ReqLevel >= 90 BEGIN Exec SRO_VT_XEVENT.dbo.[_Wanted] @CharID , @EventID , @KilledName END END END IF @EventID = '20' -- if dies BEGIN IF (@Desc LIKE '%Trader, Neutral, no freebattle team%' -- Trader OR @Desc LIKE '%Hunter, Neutral, no freebattle team%' -- Hunter OR @Desc LIKE '%Robber, Neutral, no freebattle team%' -- Thief ) BEGIN UPDATE SRO_VT_XEVENT.dbo._RowKills SET Kills = '0' WHERE KillerID = @CharID IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob WITH(NOLOCK) WHERE CharID = @CharID AND ( JobID = '33862' OR JobID BETWEEN '50021' AND '50024')) BEGIN DELETE FROM SRO_VT_SHARD.dbo._TimedJob WHERE CharID = @CharID AND ( JobID = '33862' OR JobID BETWEEN '50021' AND '50024') -- MSG SEND INSERT INTO SRO_VT_XEVENT.dbo._Chat ([send] ,[sendto],[Message],[date]) VALUES ('0',@CharName,'Your dead , wanted buff taked.',GETDATE()) END END END ---- /* Job Loggout Trader / Thief / Hunter */ IF @EventID = '6' BEGIN EXEC SRO_VT_XEVENT.dbo._JobLogOut @CharID END /* DailyReward System */ IF @EventID = '4' BEGIN EXEC SRO_VT_XEVENT.dbo.[_DailyRew] @CharID END ---------------------------- /*Extension*/--> by Yui IF not exists (SELECT CharID FROM _OnlineOffline WHERE CharID = @CharID) BEGIN INSERT INTO _OnlineOffline (CharID, Charname, [Status], [Date], [Minutes], [tMinutes], eSilk, mOnline, [Silk/Hour], [stillOnline@]) VALUES ( @CharID, (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID), 'OnHold', GETDATE(), 0,0,0, NULL,(SELECT DefaultSilk FROM [_Silk/Hour-Config] WHERE [Desc] like 'Rates'), NULL ); END IF (@EventID = 4 OR @EventID = 6) BEGIN IF (@EventID = 6 AND ((SELECT [Status] FROM _OnlineOffline WHERE CharID = @CharID) like 'OnHold')) BEGIN UPDATE _OnlineOffline SET [Status] = 'Offline' WHERE CharID = @CharID END IF (@EventID = 6 AND ((SELECT [Status] FROM _OnlineOffline WHERE CharID = @CharID) like 'Online')) BEGIN UPDATE _OnlineOffline SET [Status] = 'Offline', [Minutes] = [Minutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())), [tMinutes] = [tMinutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())), [mOnline] = NULL, [stillOnline@] = NULL WHERE CharID = @CharID END IF (@EventID = 4) BEGIN UPDATE _OnlineOffline SET [Status] = 'Online', [Date] = GETDATE(), [stillOnline@] = GETDATE() WHERE CharID = @CharID END END UPDATE _OnlineOffline SET [mOnline] = CAST((DATEDIFF(MINUTE,[Date],GETDATE()))as varchar(max)) + ' minute(s) Online', [Minutes] = [Minutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())), [tMinutes] = [tMinutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())), [stillOnline@] = GETDATE() WHERE [Status] like 'Online' /*Silk/Hour basic calc*/ IF ((SELECT [tMinutes] from _OnlineOffline WHERE CharID = @CharID) >= (SELECT [Step1Silk] FROM [_Silk/Hour-Config] WHERE [Desc] like 'Requirements')) BEGIN Declare @sph int; exec @sph = [_GetSilkperHour] @CharID UPDATE _OnlineOffline SET [Silk/Hour] = @sph WHERE CharID = @CharID END /*!Silk/Hour basic calc*/ IF (((SELECT NextDate FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next') IS NULL)) BEGIN DECLARE @FirstDate datetime, @Today datetime = GETDATE(), @FirstCharID int; exec @FirstCharID = SRO_VT_SHARD.dbo._RandomPlayerID exec SRO_VT_SHARD.dbo._GetRandomTime @Today, @FirstDate OUTPUT UPDATE [_RandomPlayer&Date] SET NextDate = @FirstDate, RefreshedDate = GETDATE(), CharID = @FirstCharID, Charname = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @FirstCharID) WHERE [Desc] like 'Next'; END IF ((SELECT NextDate FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next') <= GETDATE()) BEGIN UPDATE _OnlineOffline SET [Silk/Hour] = (SELECT RewardSilk FROM [_Silk/Hour-Config] WHERE [Desc] like 'Rates') WHERE CharID = (SELECT CharID FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next'); Declare @CurSilkperHour int, @OldCharID int = (SELECT CharID FROM [_RandomPlayer&Date] WHERE [Desc] like 'Current'); IF (@OldCharID IS NOT NULL) BEGIN exec @CurSilkperHour = _GetSilkperHour @OldCharID UPDATE _OnlineOffline SET [Silk/Hour] = @CurSilkperHour WHERE CharID = @OldCharID; END UPDATE [_RandomPlayer&Date] SET NextDate = NULL, RefreshedDate = GETDATE(), CharID = (SELECT CharID FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next'), Charname = (SELECT Charname FROM [_RandomPlayer&Date] WHERE [Desc] like 'Next') WHERE [Desc] like 'Current' /*new Random Time of Today+1*/ DECLARE @NextDate datetime, @Tomorrow datetime = GETDATE()+1, @NewCharID int; exec @NewCharID = SRO_VT_SHARD.dbo._RandomPlayerID exec SRO_VT_SHARD.dbo._GetRandomTime @Tomorrow, @NextDate OUTPUT UPDATE [_RandomPlayer&Date] SET NextDate = @NextDate, RefreshedDate = GETDATE(), CharID = @NewCharID, Charname = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @NewCharID) WHERE [Desc] like 'Next' /*!new Random...*/ END /*Calculation of the silk amount*/ Declare @tMinutes bigint = (SELECT [Minutes] from _OnlineOffline WHERE CharID = @CharID), @Silk int; IF (@tMinutes >= 60) BEGIN SET @Silk = CAST(((SELECT [Minutes] FROM _OnlineOffline WHERE CharID = @CharID) / 60) as int) UPDATE _OnlineOffline SET [Minutes] = [Minutes] % 60 WHERE CharID = @CharID IF exists (SELECT [WEEKDAYS] FROM [_Silk/Hour-Config] WHERE [WEEKDAYS] like DATENAME(WEEKDAY, GETDATE())) BEGIN UPDATE _OnlineOffline SET [eSilk] = [eSilk] + (@Silk*[Silk/Hour]) WHERE CharID = @CharID exec SRO_VT_ACCOUNT.dbo._extraSilk @CharID, @Silk END END /*Yui*/ /*!Extension*/ IF (@EventID = 6) BEGIN UPDATE [SRO_VT_SHARD].[dbo]._Char set ItemPoints = ( SELECT ISNULL((sum(ISNULL(Binding.nOptValue, 0)) + sum(ISNULL(OptLevel, 0))), 0) as ItemPoints FROM [SRO_VT_SHARD].[dbo].[_Inventory] as inventory WITH (NOLOCK) join [SRO_VT_SHARD].[dbo]._Items as Items WITH (NOLOCK) on Items.ID64 = inventory.ItemID join [SRO_VT_SHARD].[dbo]._RefObjCommon as Common on Items.RefItemId = Common.ID left join [SRO_VT_SHARD].[dbo]._BindingOptionWithItem as Binding WITH (NOLOCK) on Binding.nItemDBID = Items.ID64 where inventory.slot < 13 and inventory.slot != 8 and inventory.slot != 7 and inventory.CharID = _Char.CharID ) WHERE _Char.CharID = @CharID Declare @GuildID int; SELECT @GuildID = GuildID FROM [SRO_VT_SHARD].[dbo]._Char WITH (NOLOCK) WHERE _Char.CharID = @CharID IF (@GuildID > 0) BEGIN UPDATE [SRO_VT_SHARD].[dbo]._Guild set ItemPoints = ( SELECT SUM(Char.ItemPoints) as ItemPoints FROM [SRO_VT_SHARD].[dbo]._Char as Char WITH (NOLOCK) where Char.GuildID = _Guild.ID ) WHERE _Guild.ID = @GuildID END End |
|||||||||||||
|
25-06-2020, 01:05 AM | #17 | |||||||||||||
|
اقتباس:
|
|||||||||||||
|
25-06-2020, 01:33 AM | #18 | ||||||||||||
|
طيب خش ع الـ table دة SK_SilkChange_BY_Web لو لاقيت فية حاجة امسح كل الي فية و اعمل ريستارت للسيرفر فايلز و جرب
|
||||||||||||
|
25-06-2020, 07:35 PM | #19 | ||||||||||||
|
عملت افضل جواب بس ماقولتش المشكلة اتحلت ولا لا لو اتحلت ياريت تقول عشان نقفل الموضوع
|
||||||||||||
|
25-06-2020, 09:03 PM | #20 | |||||||||||||
|
اقتباس:
الف شكر :] |
|||||||||||||
|
25-06-2020, 09:14 PM | #21 | |||||||||||||
|
اقتباس:
العفو و بالتوفيق ان شاء الله
## |
|||||||||||||
|
يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر) | |
|
|