,.-~*´¨¯¨`*·~-.¸-(_Metin2.Knight.Pvp Paylaşım Platformu_)-,.-~*´¨¯¨`*·~-.¸ ,.-~*´¨¯¨`*·~-.¸-(_Metin2.Knight.Pvp Paylaşım Platformu_)-,.-~*´¨¯¨`*·~-.¸ |
|
| Süreli GM Sistemi | |
| | Yazar | Mesaj |
---|
Kayıt tarihi : 01/01/70
Ruh Hali Paylasim: (100/100) Basari Puanı: (100/100)
| Konu: Süreli GM Sistemi Cuma Eyl. 17, 2010 10:56 pm | |
| 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_GMSAS /*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 USERDATADEALLOCATE USERDATA COMMIT TRAN
Karakteri GM Yapan ve Süre Belirleyen, Prosedürümüz ; Kod: 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 ; 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.
EXEC CHECK_DAY_GMS | |
| | | | Süreli GM Sistemi | |
|
Similar topics | |
|
| Bu forumun müsaadesi var: | Bu forumdaki mesajlara cevap veremezsiniz
| |
| |
| |
|