Pvp Serverler | Metin2 | Pvp Server | Private Serverler | Metin2 Pvp Serverler | Knight

Pvp Serverler | Metin2 | Pvp Server | Private Serverler | Metin2 Pvp Serverler | Knight

Pvp Serverler | Metin2 | Private Serverler | Pvp Serverlar | Metin2 Private Serverlar | Knight Online Private Serverlar | Pvp Hileler | Pvp Server Tanıtımlar | Pvp Koxp | Private Serverlar Düpe Yöntemleri | PVP SERVERLER,PVP SERVER,PVP,FİFA 2011,PES 2011


    Süreli GM Sistemi

    Paylaş
    avatar
    Admin
    Admin
    Admin

    <b>Mesaj Sayısı</b> Mesaj Sayısı : 1103
    <b>Rep Puanı</b> Rep Puanı : 414804 Rep Gücü : 0 Kayıt tarihi : 16/09/10 Pvp Server Kurulumu :


    Süreli GM Sistemi

    Mesaj tarafından Admin Bir Cuma 7 Ocak - 7:01

    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...







    Admin

    [Linkleri görebilmek için üye olun veya giriş yapın.]

    [Linkleri görebilmek için üye olun veya giriş yapın.]

      Forum Saati Çarş. 18 Ekim - 4:00