- Haz
- 437
- 36
Selamlar,
Umarım İhtiyacı Olan Arkadaşların İşini Görür,
Prosedürün Özelliklerini Maddelendirirsek ;
1. İstediğiniz Kadar Günlük GM Verebilirsin 1,20,30,50,100 vb.
2. LOAD_USER_DATA da Olmadığı İçin Sürekli SQL Servera Procedur Göndermez ve Transcation Log(LDF) Dosyanızda Dolayısıyla Şişmez yine Buna Bağlı Olarak SQL Serverınız Yorulmaz ve Kaynak Kullanımları Artmaz.
3. CHECK_DAYS_GMS i Sadece Günde 1 Kere Çalıştırmanız Yeterli isteğe Göre 2 de Yapabilirsiniz Size Kalmış Birşey...
USERDATA Tablomuzu Değiştiriyoruz...
GM'lerin Süresini Kontrol Eden Prosedürümüz ;
Karakteri GM Yapan ve Süre Belirleyen, Prosedürümüz ;
Süreli GM Vermek İçin Kullanacığınız Kod ;
Süresi Biten GM leri Kontrol Etmek İçin, Günde Sadece 1 veya İsteğe Göre Daha Fazla Çalıştıracağınız Kod, Merak Etmeyin Kişi Oyundada Ertesi Gün Yine Değiştirir
Cucelator Harici Kullanımını Kesinlikle Yasaktır.
İyi Eğlenceler Dileğiyle...
Umarım İhtiyacı Olan Arkadaşların İşini Görür,
Prosedürün Özelliklerini Maddelendirirsek ;
1. İstediğiniz Kadar Günlük GM Verebilirsin 1,20,30,50,100 vb.
2. LOAD_USER_DATA da Olmadığı İçin Sürekli SQL Servera Procedur Göndermez ve Transcation Log(LDF) Dosyanızda Dolayısıyla Şişmez yine Buna Bağlı Olarak SQL Serverınız Yorulmaz ve Kaynak Kullanımları Artmaz.
3. CHECK_DAYS_GMS i Sadece Günde 1 Kere Çalıştırmanız Yeterli isteğe Göre 2 de Yapabilirsiniz Size Kalmış Birşey...
USERDATA Tablomuzu Değiştiriyoruz...
Kod:
ALTER TABLE USERDATA ADD GM_CreatedDate smalldatetime NOT NULL DEFAULT 0;
ALTER TABLE USERDATA ADD GM_Day tinyint NOT NULL DEFAULT 0;
GM'lerin Süresini Kontrol Eden Prosedürümüz ;
Kod:
CREATE PROCEDURE CHECK_DAY_GMS
AS
/*
Author : AKUMA
*/
BEGIN TRAN
DECLARE @strUserID char(21),@GM_CreatedDate smalldatetime,@GM_Day tinyint
DECLARE USERDATA CURSOR FOR
SELECT strUserID,GM_CreatedDate,GM_Day FROM USERDATA WHERE Authority = 0
OPEN USERDATA
FETCH NEXT FROM USERDATA INTO @strUserID,@GM_CreatedDate,@GM_Day
WHILE (@@FETCH_STATUS = 0)
BEGIN
DECLARE @Calc_Date smalldatetime
SET @Calc_Date = DATEDIFF(dd,@GM_CreatedDate,GetDate())
IF @Calc_Date >= @GM_Day
BEGIN
UPDATE USERDATA SET Authority = 1 WHERE strUserID = @strUserID
END
FETCH NEXT FROM USERDATA INTO @strUserID,@GM_CreatedDate,@GM_Day
END
CLOSE USERDATA
DEALLOCATE USERDATA
COMMIT TRAN
Karakteri GM Yapan ve Süre Belirleyen, Prosedürümüz ;
Kod:
CREATE PROCEDURE INSERT_GM_DAY
(
@strUserID char(21),
@Day tinyint
)
AS
/*
Author : AKUMA
*/
BEGIN TRAN
DECLARE @CheckUserID tinyint
SELECT @CheckUserID = COUNT(strUserID) FROM USERDATA WHERE strUserID = @strUserID
IF @CheckUserID <> 0
BEGIN
UPDATE USERDATA SET GM_CreatedDate = GetDate(),GM_Day = @Day,Authority = 0 WHERE strUserID = @strUserID
PRINT RTRIM(LTRIM(@strUserID)) + ' Karakterine ' + RTRIM(LTRIM(STR(@Day))) + ' Günlük GM''lik Verildi.'
END
ELSE
BEGIN
PRINT RTRIM(LTRIM(@strUserID)) + ' Karakteri Veritabaninda Bulunamadi.'
END
COMMIT TRAN
Süreli GM Vermek İçin Kullanacığınız Kod ;
Kod:
KULLANIM : EXEC INSERT_GM_DAY 'NICK','KACGUN'
ÖRNEK : EXEC INSERT_GM_DAY 'AKUMA','32'
Süresi Biten GM leri Kontrol Etmek İçin, Günde Sadece 1 veya İsteğe Göre Daha Fazla Çalıştıracağınız Kod, Merak Etmeyin Kişi Oyundada Ertesi Gün Yine Değiştirir
Kod:
EXEC CHECK_DAY_GMS
Cucelator Harici Kullanımını Kesinlikle Yasaktır.
İyi Eğlenceler Dileğiyle...
Son düzenleme: