Gizli Paylaşımı sevmiyorum ama yinede ufak bir teşekkür yeterlidir.
Genellikle bu sistemleri kendim için yaparım ama son zamanlarda paylaşma yanlısı oldum. Daha çok güzel şeyler paylaşacağım.
Neyse Prosedürümün açıklamalarını yapayım.
USERDATA, ya alttaki iki kolonu QA yardımı ile ekliyorsunuz, Biri Mute yediği tarihi kayıt etmek için, diğeri ise kalan günü takip etmek için.
Ufak bir PHP sayfası yaparsanız siteden oyuncular sürelerini takip edebilir de.
Oyundan GM ya da sunucudan Editor yolu ile mutelenen oyuncu, Muteyi yedikten sonra oyuna ilk girdiği günden ibtibaren 7 günlük mute süresi başlar. Oyuna girmeyen oyuncuya zaten mute atmanın anlamı yok değil mi ? Ben kendim böyle kullanıyorum.
Artık mute yediği günden itibaren 8. günün başında oyuncu oyuna girerken mutesi açılır.
Prosedür de Kırmızı renk olan IF @MuteDay =7 kodunun sonunda ki 7 yi değiştirerek sürede oynama yapabilirsiniz.
NOT: İSTEK OLUR İSE SÜRELİ BAN SİSTEMİ DE PAYLAŞABİLİRİM.
BU KODU LOAD_USER_DATA ya eklemeniz yeterli.
Kod:
KOLON EKLEYELİM
Kod:
Genellikle bu sistemleri kendim için yaparım ama son zamanlarda paylaşma yanlısı oldum. Daha çok güzel şeyler paylaşacağım.
Neyse Prosedürümün açıklamalarını yapayım.
USERDATA, ya alttaki iki kolonu QA yardımı ile ekliyorsunuz, Biri Mute yediği tarihi kayıt etmek için, diğeri ise kalan günü takip etmek için.
Ufak bir PHP sayfası yaparsanız siteden oyuncular sürelerini takip edebilir de.
Oyundan GM ya da sunucudan Editor yolu ile mutelenen oyuncu, Muteyi yedikten sonra oyuna ilk girdiği günden ibtibaren 7 günlük mute süresi başlar. Oyuna girmeyen oyuncuya zaten mute atmanın anlamı yok değil mi ? Ben kendim böyle kullanıyorum.
Artık mute yediği günden itibaren 8. günün başında oyuncu oyuna girerken mutesi açılır.
Prosedür de Kırmızı renk olan IF @MuteDay =7 kodunun sonunda ki 7 yi değiştirerek sürede oynama yapabilirsiniz.
NOT: İSTEK OLUR İSE SÜRELİ BAN SİSTEMİ DE PAYLAŞABİLİRİM.
BU KODU LOAD_USER_DATA ya eklemeniz yeterli.
Kod:
- Kod:
EXEC SURELI_MUTE@strUserID
KOLON EKLEYELİM
Kod:
- Kod:
ALTER TABLE USERDATA
ADD MuteDate datetime NULL
GO
ALTER TABLE USERDATA
ADD MuteDay smallint NULL DEFAULT(0)
GO
UPDATE USERDATA SET MuteDay=0
PROSEDÜRÜ EKLEYELİM
[code]Kod:
USE [Kn_online]
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
-- Yapan: AKI
-- 2011.01.20
-- [Linkleri görebilmek için üye olun veya giriş yapın.]
CREATE PROCEDURE [dbo].[SURELI_MUTE]
@strUserID varchar(21)
AS
declare @MuteDayFinish datetime, @TIME datetime, @Day smallint
declare @MuteDay smallint, @Authority tinyint
SELECT @Authority=Authority, @MuteDay = MuteDay, @MuteDayFinish = MuteDate FROM USERDATA WHERE strUserId = @strUserID
IF @Authority=11 and @MuteDay >0 and @MuteDay <8
BEGIN
SET @TIME =getdate()
SET @Day =datediff(DAY, @TIME,@MuteDayFinish)
IF @Day < 7
BEGIN
UPDATE USERDATA SET MuteDay=@Day WHERE strUserId = @strUserID
END
END
ELSE
IF @MuteDay =0 AND @Authority=11
BEGIN
UPDATE USERDATA SET MuteDate=getdate()+7, MuteDay=7 WHERE strUserId = @strUserID
END
ELSE
IF @MuteDayFinish <GETDATE()
BEGIN
UPDATE USERDATA SET MuteDay=0,Authority=1, MuteDate =null WHERE strUserId = @strUserID
[/code]
USE [Kn_online]
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
-- Yapan: AKI
-- 2011.01.20
-- [Linkleri görebilmek için üye olun veya giriş yapın.]
CREATE PROCEDURE [dbo].[SURELI_MUTE]
@strUserID varchar(21)
AS
declare @MuteDayFinish datetime, @TIME datetime, @Day smallint
declare @MuteDay smallint, @Authority tinyint
SELECT @Authority=Authority, @MuteDay = MuteDay, @MuteDayFinish = MuteDate FROM USERDATA WHERE strUserId = @strUserID
IF @Authority=11 and @MuteDay >0 and @MuteDay <8
BEGIN
SET @TIME =getdate()
SET @Day =datediff(DAY, @TIME,@MuteDayFinish)
IF @Day < 7
BEGIN
UPDATE USERDATA SET MuteDay=@Day WHERE strUserId = @strUserID
END
END
ELSE
IF @MuteDay =0 AND @Authority=11
BEGIN
UPDATE USERDATA SET MuteDate=getdate()+7, MuteDay=7 WHERE strUserId = @strUserID
END
ELSE
IF @MuteDayFinish <GETDATE()
BEGIN
UPDATE USERDATA SET MuteDay=0,Authority=1, MuteDate =null WHERE strUserId = @strUserID
END
UPDATE USERDATA set MuteDate =GETDATE()+7 , MuteDay =7 where Authority=11 and MuteDate is null
UPDATE USERDATA set Authority=1, MuteDay=0,MuteDate=null where MuteDate<GETDATE() and Authority=11