SQL Gag Sistemi v4.0
Counter-Strike 1.6 / GoldSrc SQL Destekli Gelişmiş Gag Sistemi

Eklenti Adı: SQL Gag Sistemi v4.0
Eklenti Yapımcısı: Onur "MrStipFan" MASALCI
Oyun: Counter-Strike 1.6 / GoldSrc
Modül Desteği: AMX Mod X, SQLx, Engine
Ayar Dosyası: addons/amxmodx/configs/sqlgagsistemi.ini
SQL Tablosu: gag_sistemi
Eklenti Açıklaması
Bu eklenti, Counter-Strike 1.6 sunucuları için hazırlanmış SQL destekli gelişmiş bir gag sistemidir. Adminler oyunculara yazı gag, mikrofon gag veya hem yazı hem mikrofon gag uygulayabilir.
Eklenti gag kayıtlarını SQL veritabanına işler. Bu sayede oyuncu sunucudan çıksa, map değişse veya sunucu yeniden başlasa bile aktif gag kaydı korunur. Oyuncu tekrar sunucuya bağlandığında sistem oyuncunun SteamID/AuthID ve IP adresini kontrol eder, aktif gag kaydı varsa otomatik olarak tekrar uygular.
Başlıca Özellikler
- SQL destekli gag kayıt sistemi.
- Oyuncu çıkıp girse bile gag kaydını koruma.
- SteamID/AuthID ve IP adresine göre gag kontrolü.
- Chat gag, mikrofon gag ve chat + mikrofon gag desteği.
- Süreli veya kalıcı gag uygulama.
- Admin menüsü üzerinden kolay gag atma.
- Admin menüsü üzerinden kolay gag kaldırma.
- Aktif gag listesini görüntüleme.
- Tüm gag kayıtlarını tek komutla temizleme.
- Kötü kelime yakalama ve otomatik gag sistemi.
- Oyuncu sunucuya girince SQL üzerinden gag kontrolü.
- Gag süresi dolunca otomatik kaldırma.
- HUD bilgilendirme desteği.
- İsteğe bağlı ses efekti desteği.
- Detaylı log sistemi.
- Ayar dosyası üzerinden özelleştirilebilir yapı.
Ana Komut Listesi
Kod:
sql_gag <nick> <dakika> <tur> <sebep>
sql_gagmenu
sql_ungagmenu
sql_cleangags
sql_gaglist
/gagmenu
!gagmenu
.gagmenu
/ungagmenu
!ungagmenu
.ungagmenu1. sql_gag Komutu
Görevi:
Oyuncuya direkt konsol üzerinden gag atar.
Kullanım:
Kod:
sql_gag <nick> <dakika> <tur> <sebep>Kod:
<nick> = Gag atılacak oyuncunun adı veya adının bir bölümü <dakika> = Gag süresi. 0 yazılırsa kalıcı gag olur <tur> = Gag türü. 0, 1 veya 2 kullanılır <sebep> = Oyuncuya uygulanacak gag sebebiKod:
0 = Sadece Chat Gag
1 = Sadece Mikrofon Gag
2 = Chat + Mikrofon Gag10 dakika chat gag:
Kod:
sql_gag Onur 10 0 SpamKod:
sql_gag Onur 15 1 Mikrofon spamKod:
sql_gag Onur 30 2 KufurKod:
sql_gag Onur 0 2 ReklamSüre kısmına 0 yazılırsa gag kalıcı olur. Kalıcı gag otomatik bitmez, admin tarafından kaldırılması gerekir.
2. sql_gagmenu Komutu
Görevi:
Adminin gag menüsünü açmasını sağlar.
Kullanım:
Kod:
sql_gagmenu- Admin gag menüsünü açar.
- Gag atılacak oyuncuyu seçer.
- Gag sebebini seçer.
- Gag türünü seçer.
- Gag süresini seçer.
- Gag oyuncuya uygulanır.
- Kayıt SQL tablosuna işlenir.
- Oyuncuya ve sunucuya bilgilendirme mesajı gönderilir.
- Ayarlıysa HUD mesajı ve ses efekti çalışır.
Menüde Gaglı Oyuncu Gösterimi:
Oyuncu zaten gaglıysa menüde yanında şu ibare görünür:
Kod:
[GAGLI]3. Oyun İçi Gag Menü Komutları
Adminler gag menüsünü oyun içi chat üzerinden de açabilir.
Normal chat komutları:
Kod:
/gagmenu
!gagmenu
.gagmenuKod:
say_team /gagmenu
say_team !gagmenu
say_team .gagmenu4. sql_ungagmenu Komutu
Görevi:
Gag kaldırma menüsünü açar.
Kullanım:
Kod:
sql_ungagmenuİşleyiş:
- Admin sql_ungagmenu komutunu kullanır.
- Aktif gaglı oyuncular listelenir.
- Admin oyuncuyu seçer.
- Oyuncunun gag kaydı SQL tablosundan silinir.
- Eğer oyuncunun mikrofonu kapalıysa tekrar açılır.
- Oyuncunun yerel gag durumu sıfırlanır.
- Sunucuya gag kaldırma mesajı gönderilir.
- Log dosyasına kayıt işlenir.
Gag kaldırıldığında:
- Chat gag kalkar.
- Mikrofon gag kalkar.
- Oyuncu tekrar konuşabilir.
- Oyuncu tekrar yazı yazabilir.
5. Oyun İçi Ungag Menü Komutları
Adminler ungag menüsünü oyun içi chat üzerinden de açabilir.
Normal chat komutları:
Kod:
/ungagmenu
!ungagmenu
.ungagmenuKod:
say_team /ungagmenu
say_team !ungagmenu
say_team .ungagmenu6. sql_cleangags Komutu
Görevi:
Tüm aktif gag kayıtlarını temizler.
Kullanım:
Kod:
sql_cleangags- SQL tablosundaki tüm gag kayıtlarını siler.
- Sunucuda aktif gaglı oyuncular varsa hepsinin gag durumunu sıfırlar.
- Mikrofon gaglı oyuncuların sesini tekrar açar.
- Tüm oyunculara adminin gagleri temizlediği bilgisini gönderir.
- Log dosyasına temizleme kaydı işler.
Dikkat:
Bu komut tüm gag sistemini temizlediği için sadece yüksek yetkili adminlerde kalmalıdır. Varsayılan yetki ayarında CLEAN_ACCESS değeri ADMIN_RCON olarak ayarlanmıştır.
7. sql_gaglist Komutu
Görevi:
Aktif gag listesini gösterir.
Kullanım:
Kod:
sql_gaglistKod:
Oyuncu adı
Gag türü
Kalan süre
Orijinal süre
Gagi atan admin
Gag sebebiKod:
Sure: KaliciKod:
Aktif gag yok.Gag Türlerinin Detaylı Açıklaması
0 - Chat Gag
Oyuncunun yazı yazmasını engeller.
Engellenen komutlar:
Kod:
say
say_teamGösterilen bilgiler:
- Gag türü
- Kalan süre
- Admin adı
- Sebep
1 - Mikrofon Gag
Oyuncunun mikrofon kullanmasını engeller.
Engellenen komut:
Kod:
+voicerecord2 - Chat + Mikrofon Gag
Oyuncunun hem yazı yazmasını hem de mikrofon kullanmasını engeller.
Engellenenler:
Kod:
say
say_team
+voicerecordSüre Sistemi
Gag süresi dakika üzerinden çalışır.
Örnek süreler:
Kod:
5 = 5 dakika
15 = 15 dakika
30 = 30 dakika
60 = 1 saat
120 = 2 saat
1440 = 1 gün
4320 = 3 gün
0 = Kalıcı gagSQL Kayıt Mantığı
Eklenti SQL bağlantısını kurduktan sonra gag_sistemi tablosunu otomatik oluşturur. Bu tablo içinde oyuncu kimliği, IP adresi, admin adı, gag sebebi, gag süresi, bitiş zamanı ve gag türü tutulur.
Tabloda tutulan temel alanlar:
Kod:
id
authid
player_ip
player_name
admin_name
reason
gag_minutes
expire_time
gag_type
gag_type_text
created_at- Oyuncu çıksa bile gag kaydı silinmez.
- Map değişse bile gag devam eder.
- Sunucu restart sonrası kayıtlar korunur.
- Aynı oyuncu tekrar bağlandığında sistem otomatik kontrol yapar.
- Gag kayıtları panel veya web tarafında okunabilir hale gelir.
Oyuncu Sunucuya Girince Ne Olur?
Oyuncu sunucuya bağlandığında eklenti şu işlemleri yapar:
- Oyuncunun geçici gag durumu sıfırlanır.
- Bot veya HLTV değilse kontrol görevleri başlatılır.
- Belirlenen gecikmeden sonra SQL kontrolü yapılır.
- Oyuncunun AuthID ve IP adresi SQL tablosunda aranır.
- Aktif gag varsa oyuncuya tekrar uygulanır.
- Oyuncuya gaglı olarak bağlandığı bilgisi gösterilir.
- Ayar açıksa gaglı oyuncunun sunucuya girdiği herkese duyurulur.
Otomatik Gag Süresi Dolma Kontrolü
Eklenti belirli aralıklarla süresi dolmuş gag kayıtlarını kontrol eder.
Varsayılan ayar:
Kod:
CHECK_EXPIRED_INTERVAL = 30.0Süre dolduğunda:
- SQL tablosundan süresi biten gag kayıtları silinir.
- Oyuncu sunucudaysa yerel gag durumu sıfırlanır.
- Mikrofon gag varsa sesi tekrar açılır.
- Oyuncuya gag süresinin dolduğu bildirilir.
- Log dosyasına kayıt düşülür.
Kötü Kelime Sistemi
Eklentide otomatik kötü kelime kontrol sistemi vardır. Oyuncu chat mesajı yazdığında sistem mesajı kontrol eder. Ayar dosyasındaki yasaklı kelimelerden biri kullanılırsa oyuncuya otomatik gag uygulanır.
Ayar bölümü:
Kod:
[Kotu Kelimeler]
ENABLED = 1
GAG_TIME = 20
GAG_TYPE = 2
WORD_1 = kelime1
WORD_2 = kelime2Kod:
ENABLED = 1 ise kötü kelime sistemi aktif, 0 ise kapalı
GAG_TIME = Otomatik gag süresi
GAG_TYPE = Otomatik gag türü
WORD_1 = Yasaklı kelime
WORD_2 = Yasaklı kelimeKod:
ENABLED = 1
GAG_TIME = 10
GAG_TYPE = 0
WORD_1 = spamkelimeAyar Dosyası
Eklentinin ayar dosyası:
Kod:
addons/amxmodx/configs/sqlgagsistemi.iniSQL Ayarları
Kod:
[Database]
DB_HOST =
DB_USER =
DB_PASS =
DB_NAME =Örnek:
Kod:
DB_HOST = 127.0.0.1
DB_USER = gag_user
DB_PASS = sifre
DB_NAME = gag_databaseGüvenlik Notu:
Forumda veya herkese açık bir yerde gerçek SQL kullanıcı adı, şifre veya host bilgilerinizi paylaşmayın.
Menü Ayarları
Kod:
[Menu]
MENU_PREFIX =
MENU_GAGS_TITLE = Oyuncu Sec:
MENU_REASONS_TITLE = Sebep Sec:
MENU_TIMES_TITLE = Sure Sec:
MENU_TYPES_TITLE = Gag Turu Sec:Gag Sebepleri
Kod:
[Reasons]
REASON_1 = \r*\w Ozel Sebep...|Ozel Sebep
REASON_2 = \y*\w Spam|Spam
REASON_3 = \y*\w Hakaret/Asagilama|Hakaret/Asagilama
REASON_4 = \y*\w Reklam|Reklam
REASON_5 = \y*\w Kufur|Kufur
REASON_6 = \y*\w Mikrofon Spam|Mikrofon Spam
REASON_7 = \y*\w Uygunsuz Davranis|Uygunsuz DavranisÖrnek:
Kod:
REASON_2 = \y*\w Spam|SpamKod:
SpamKod:
SpamMenüde ilk sebep özel sebep olarak kullanılabilir. Admin bu seçeneği seçtiğinde sistem özel sebep yazdırır, ardından gag türü ve süre seçimine devam eder.
Süre Ayarları
Kod:
[Sureler]
TIME_1 = \r5 \wdakika|5
TIME_2 = \y15 \wdakika|15
TIME_3 = \y30 \wdakika|30
TIME_4 = \w1 \ysaat|60
TIME_5 = \w2 \ysaat|120
TIME_6 = \w6 \ysaat|360
TIME_7 = \w12 \ysaat|720
TIME_8 = \w1 \ygun|1440
TIME_9 = \w3 \ygun|4320
TIME_10 = \rKalici|0Yetki Ayarları
Kod:
[Erisim]
GAG_ACCESS = ADMIN_SLAY
UNGAG_ACCESS = ADMIN_SLAY
CLEAN_ACCESS = ADMIN_RCON
LIST_ACCESS = ADMIN_SLAYKod:
GAG_ACCESS = sql_gag, sql_gagmenu, /gagmenu komutlarını kullanma yetkisi
UNGAG_ACCESS = sql_ungagmenu, /ungagmenu komutlarını kullanma yetkisi
CLEAN_ACCESS = sql_cleangags komutunu kullanma yetkisi
LIST_ACCESS = sql_gaglist komutunu kullanma yetkisiKod:
GAG_ACCESS = ADMIN_SLAY
UNGAG_ACCESS = ADMIN_SLAY
CLEAN_ACCESS = ADMIN_RCON
LIST_ACCESS = ADMIN_SLAYLog Sistemi
Kod:
[Logs]
LOGS_ENABLED = 1
LOGS_FILE = gagsystem.logKod:
addons/amxmodx/logs/gagsystem.log- Adminin gag atması.
- Adminin gag kaldırması.
- Tüm gaglerin temizlenmesi.
- Otomatik kötü kelime gagi.
- Süresi dolan gag kayıtları.
- SQL hataları.
Ses Sistemi
Kod:
[Sounds]
GAG_SOUND =
UNGAG_SOUND =
EXPIRE_GAG_SOUND =Kod:
GAG_SOUND = Gag atılınca çalacak ses
UNGAG_SOUND = Gag kaldırılınca çalacak ses
EXPIRE_GAG_SOUND = Gag süresi bitince çalacak sesÖrnek:
Kod:
GAG_SOUND = buttons/blip1.wav
UNGAG_SOUND = buttons/bell1.wav
EXPIRE_GAG_SOUND = buttons/button9.wavHUD Sistemi
Gag atıldığında ekranda HUD mesajı gösterilir.
Kod:
[HUD]
HUD_X = -1.0
HUD_Y = 0.25
HUD_HOLDTIME = 5.0
HUD_FADEIN = 0.1
HUD_FADEOUT = 0.2
HUD_EFFECT = 2Kod:
Admin
Oyuncu
Tur
SebepBağlantı Ayarları
Kod:
[Baglanti]
ANNOUNCE_EXISTING_GAG_ON_JOIN = 1
SHOW_JOIN_INFO_TO_PLAYER = 1
JOIN_INFO_SECONDS = 120
AUTO_GAG_ON_JOIN_ENABLED = 0
AUTO_GAG_ON_JOIN_MINUTES = 2
AUTO_GAG_ON_JOIN_TYPE = 0
AUTO_GAG_ON_JOIN_REASON = Ilk giris susturma
AUTO_GAG_ON_JOIN_ANNOUNCE_ALL = 0
AUTO_GAG_ONLY_ONCE_PER_MAP = 1
AUTO_GAG_SKIP_ADMINS = 1Kod:
ANNOUNCE_EXISTING_GAG_ON_JOIN = Gaglı oyuncu girince herkese duyurur
SHOW_JOIN_INFO_TO_PLAYER = Gaglı oyuncuya kendi gag bilgisini gösterir
JOIN_INFO_SECONDS = Giriş bilgilendirme süresi metninde kullanılan saniye
AUTO_GAG_ON_JOIN_ENABLED = Sunucuya giren oyuncuya otomatik gag uygular
AUTO_GAG_ON_JOIN_MINUTES = Girişte uygulanacak otomatik gag süresi
AUTO_GAG_ON_JOIN_TYPE = Girişte uygulanacak gag türü
AUTO_GAG_ON_JOIN_REASON = Otomatik giriş gag sebebi
AUTO_GAG_ON_JOIN_ANNOUNCE_ALL = Otomatik giriş gagini herkese duyurur
AUTO_GAG_ONLY_ONCE_PER_MAP = Her haritada oyuncuya sadece bir kez uygular
AUTO_GAG_SKIP_ADMINS = Adminlere otomatik gag uygulanmazGenel kullanımda AUTO_GAG_ON_JOIN_ENABLED = 0 kalması tavsiye edilir. Açılırsa sunucuya giren oyunculara otomatik gag uygulanabilir.
Kurulum
- .sma dosyasını şu klasöre atın:
Kod:
addons/amxmodx/scripting/- Eklentiyi derleyin:
Kod:
./amxxpc gag_sistemi.sma- Oluşan .amxx dosyasını şu klasöre atın:
Kod:
addons/amxmodx/plugins/- plugins.ini dosyasına ekleyin:
Kod:
gag_sistemi.amxx- Ayar dosyasını kontrol edin:
Kod:
addons/amxmodx/configs/sqlgagsistemi.ini- SQL bilgilerini doldurun:
Kod:
[Database]
DB_HOST = 127.0.0.1
DB_USER = kullanici
DB_PASS = sifre
DB_NAME = veritabani- Sunucuya restart veya map değişimi atın.
Pratik Kullanım Örnekleri
10 dakika chat gag:
Kod:
sql_gag oyuncu 10 0 SpamKod:
sql_gag oyuncu 30 1 Mikrofon spamKod:
sql_gag oyuncu 1440 2 KufurKod:
sql_gag oyuncu 0 2 ReklamKod:
sql_gagmenuKod:
/gagmenuKod:
sql_ungagmenuKod:
/ungagmenuKod:
sql_gaglistKod:
sql_cleangagsKısa Özet
Kod:
Admin gag atar
↓
Oyuncu chat / mikrofon / ikisinden engellenir
↓
Kayıt SQL tablosuna yazılır
↓
Oyuncu çıkıp girse bile gag devam eder
↓
Süre dolarsa sistem otomatik kaldırır
↓
Admin isterse ungag menüsünden manuel kaldırırBu içeriği görebilmek için kayıt olmanız gerekiyor!
)


