Pvp Serverlar Pvp Server Tanitim Server Tanitimi
Would you like to react to this message? Create an account in a few clicks or log in to continue.


Burasi Sadece Myko Serverlerin Mekanı!!
 
AnasayfaAnasayfa  KapıKapı  Latest imagesLatest images  AramaArama  Kayıt OlKayıt Ol  Giriş yapGiriş yap  
Giriş yap
Kullanıcı Adı:
Şifre:
Beni hatırla: 
:: Şifremi unuttum
Reklam


 

 Süreli GM Sistemi

Aşağa gitmek 
YazarMesaj
Admin
Admin



Mesaj Sayısı : 88
Kayıt tarihi : 25/07/09
Yaş : 31
Nerden : Düzce

Süreli GM Sistemi Empty
MesajKonu: Süreli GM Sistemi   Süreli GM Sistemi EmptyPtsi Tem. 27, 2009 10:37 am

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 Süreli GM Sistemi Smile

Kod:
EXEC CHECK_DAY_GMS

Cucelator Harici Kullanımını Kesinlikle Yasaktır.

İyi Eğlenceler Dileğiyle..
Sayfa başına dön Aşağa gitmek
https://pvpserverler.forumtwilight.com
 
Süreli GM Sistemi
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Pvp Serverlar Pvp Server Tanitim Server Tanitimi :: Paylaşımlar :: Kendi Paylasimlarimiz-
Buraya geçin: