Süreli GM Sistemi

  • Konbuyu başlatan Konbuyu başlatan AKUMA
  • Başlangıç tarihi Başlangıç tarihi
Konu Yazar

AKUMA

Active Member
Emektar
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...
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:
Cevap: [PAYLAŞIM]En İyi Süreli GM Sistemi :)

Teşşekürler Akuma SQL d ALTER Ne anlama Gelior
 
Cevap: [PAYLAŞIM]En İyi Süreli GM Sistemi :)

Selamlar,

Açıklayayım Kodun Tamamiyle Türkçesini Yazayım Sana Anlarsın :)

Kod:
ALTER TABLE USERDATA ADD GM_CreatedDate smalldatetime NOT NULL DEFAULT 0; 

USERDATA Tablosunu Değiştir, GM_CreatedDate Adında ve smalldatetime Tipinde Null Olmayan ve Varsayılan Değeri 0 Olan Bir Alan Ekle

Kod:
ALTER TABLE USERDATA ADD GM_Day tinyint NOT NULL DEFAULT 0; 

USERDATA Tablosunu Değiştir, GM_Day Adında ve tinyint Tipinde Null Olmayan ve Varsayılan Değeri 0 Olan Bir Alan Ekle

Ayrıca ALTER demek Değiştirmek Demek

Kolay Gelsin...
 
Cevap: [PAYLAŞIM]En İyi Süreli GM Sistemi :)

Kod:
ALTER TABLE USERDATA ADD GM_Day tinyint NOT NULL DEFAULT 0; 

update = alter 

set = not,default


Gibi Teşşekürler Bunu hiç görmemiştim güzel bilgi
 
Cevap: [PAYLAŞIM]En İyi Süreli GM Sistemi :)

Kod:
Server: Msg 208, Level 16, State 6, Procedure INSERT_GM_DAY, Line 28
Invalid object name 'INSERT_GM_DAY'.

HELP LUTFEN!!!!!!

INSERT_GM_DAY Bole bi Proc Create Vermedin :(
Nasil Degistirmek istiyorsun?^^
HELP LUTFEN!!!!!!!!!!!
 
Son düzenleme:
Cevap: [PAYLAŞIM]En İyi Süreli GM Sistemi :)

Kod:
Server: Msg 208, Level 16, State 6, Procedure INSERT_GM_DAY, Line 28
Invalid object name 'INSERT_GM_DAY'.

HELP LUTFEN!!!!!!

INSERT_GM_DAY Bole bi Proc Create Vermedin :(
Nasil Degistirmek istiyorsun?^^
HELP LUTFEN!!!!!!!!!!!


Tekrar Değiştir ALTER yazmıştım Düzelttim Onu Dene Tekrar

INSER GM DAY proceduresini
 
Cevap: [PAYLAŞIM]En İyi Süreli GM Sistemi :)

Supersin Kardesim!!!!!!!!!!!!!!!!!!!!!!!
HELAL OLSUN!!!!!!!!!!!11
 
Cevap: [PAYLAŞIM]En İyi Süreli GM Sistemi :)

saol ayhan abi :)
 
Cevap: Süreli GM Sistemi

Ayhan abi sen bi harikasın hö
Bide bişi sorcam, bu kodu sadece tablo isimlerini deiştirerek 0 'ı 255 yaparak süreli ban yapabilirmiyiz ?
 
Geri
Üst Alt