Merhaba Arkadaşlar...
KO-Cuce'den çok şey öğrendim, Bunca zamandır
izleyici konumundaydım, Artık kendimce bildiklerimi Paylaşmaya
başlıyorum...
Daha önce forumlarda verilmiş bir çok BAN SİSTEMİ vardı,
Kimin verdiğini hatırlamıyorum. Bende bunları kendi çalışmalarımda basit bir
şekilde geliştirerek kullandım...
Ban sistemi AŞAMALI çalışmaktadır.
Oyuncu ilk defa banlanıyorsa 7 Gün banlanıyor, Eğer ikinci defa banlanıyorsa 30
gün. Eğer üçüncü sefer banlanıyorsa 9999 Gün banlanıyor...
Öncelikle
USERDATA tablomuza iki yeni table ekliyoruz.
İsterseniz Veri Tabanında DESİGN
seçeneğinden ekleyin isterseniz QA olarak...
USERDATA'ya DESİGN ile
table eklemek için
Column Name: BANSURE
Data Type:
nvarchar
Lenghth: 50
Column Name: BANSAYI
Data Type:
nvarchar
Lenghth: 50
USERDATA'ya QA ile satır eklemek
için:
Kod:
ALTER TABLE USERDATA
ADD BANSURE nvarchar
ALTER TABLE USERDATA
ADD BANSAYI nvarchar
Oluşturalacak Procedures'ler:
Kod:
CREATE PROCEDURE char_sureli_ban AS
-- Bu Script BoyuBeyi Tarafından Geliştirilmiştir!..
-- JOB Ayarları her 1 saatte gerçekleştirilicektir!..
update USERDATA set BANSURE = '7', BANSAYI = '1' where authority ='255' and BANSURE ='0' and BANSAYI ='0'
-- Eğer oyuncu ilk defa banlanıyorsa 7 gün banlıyor!..
update USERDATA set BANSURE= '30', BANSAYI = '2' where authority ='255' and BANSURE ='0' and BANSAYI ='1'
-- Eğer oyuncu ikinci defa banlanıyorsa 30 gün banlıyor!..
update USERDATA set BANSURE = '9999', BANSAYI = '3' where authority ='255' and BANSURE ='0' and BANSAYI ='2'
-- Eğer oyuncu üçüncü defa banlanıyorsa 9999 gün banlıyor!..
GO
ve...
Kod:
CREATE PROCEDURE char_sureli_ban_guncelle AS
-- Bu Script BoyuBeyi Tarafından Geliştirilmiştir!..
-- JOB Ayarları her gün 1 sefer gerçekleştirilicektir!..
update USERDATA set BANSURE = BANSURE - 1 where BANSURE > '0' and authority ='255'
-- Gün sayısı 0 dan yüksek olan banlı charların süresini 1 gün azaltıyor!..
update USERDATA set authority ='1' where BANSURE ='0' and authority = '255'
-- Ban süresi bitmiş olan banlı charların banını açıyor!..
GO
Şimdi Herşey tamamsa, Artık bunlara JOB eklemek yeterli.
EXEC
char_sureli_ban Saat'te 1 sefer çalışacak şekilde
ayarlayın...
EXEC char_sureli_ban_guncelle Günde 1
sefer çalışacak şekilde ayarlayın...
KO-Cuce'den çok şey öğrendim, Bunca zamandır
izleyici konumundaydım, Artık kendimce bildiklerimi Paylaşmaya
başlıyorum...
Daha önce forumlarda verilmiş bir çok BAN SİSTEMİ vardı,
Kimin verdiğini hatırlamıyorum. Bende bunları kendi çalışmalarımda basit bir
şekilde geliştirerek kullandım...
Ban sistemi AŞAMALI çalışmaktadır.
Oyuncu ilk defa banlanıyorsa 7 Gün banlanıyor, Eğer ikinci defa banlanıyorsa 30
gün. Eğer üçüncü sefer banlanıyorsa 9999 Gün banlanıyor...
Öncelikle
USERDATA tablomuza iki yeni table ekliyoruz.
İsterseniz Veri Tabanında DESİGN
seçeneğinden ekleyin isterseniz QA olarak...
USERDATA'ya DESİGN ile
table eklemek için
Column Name: BANSURE
Data Type:
nvarchar
Lenghth: 50
Column Name: BANSAYI
Data Type:
nvarchar
Lenghth: 50
USERDATA'ya QA ile satır eklemek
için:
Kod:
ALTER TABLE USERDATA
ADD BANSURE nvarchar
ALTER TABLE USERDATA
ADD BANSAYI nvarchar
Oluşturalacak Procedures'ler:
Kod:
CREATE PROCEDURE char_sureli_ban AS
-- Bu Script BoyuBeyi Tarafından Geliştirilmiştir!..
-- JOB Ayarları her 1 saatte gerçekleştirilicektir!..
update USERDATA set BANSURE = '7', BANSAYI = '1' where authority ='255' and BANSURE ='0' and BANSAYI ='0'
-- Eğer oyuncu ilk defa banlanıyorsa 7 gün banlıyor!..
update USERDATA set BANSURE= '30', BANSAYI = '2' where authority ='255' and BANSURE ='0' and BANSAYI ='1'
-- Eğer oyuncu ikinci defa banlanıyorsa 30 gün banlıyor!..
update USERDATA set BANSURE = '9999', BANSAYI = '3' where authority ='255' and BANSURE ='0' and BANSAYI ='2'
-- Eğer oyuncu üçüncü defa banlanıyorsa 9999 gün banlıyor!..
GO
ve...
Kod:
CREATE PROCEDURE char_sureli_ban_guncelle AS
-- Bu Script BoyuBeyi Tarafından Geliştirilmiştir!..
-- JOB Ayarları her gün 1 sefer gerçekleştirilicektir!..
update USERDATA set BANSURE = BANSURE - 1 where BANSURE > '0' and authority ='255'
-- Gün sayısı 0 dan yüksek olan banlı charların süresini 1 gün azaltıyor!..
update USERDATA set authority ='1' where BANSURE ='0' and authority = '255'
-- Ban süresi bitmiş olan banlı charların banını açıyor!..
GO
Şimdi Herşey tamamsa, Artık bunlara JOB eklemek yeterli.
EXEC
char_sureli_ban Saat'te 1 sefer çalışacak şekilde
ayarlayın...
EXEC char_sureli_ban_guncelle Günde 1
sefer çalışacak şekilde ayarlayın...