Başlıktan da anlaşılacağı gibi debug ve hash tablo kullanarak yazdığım badnick,reklam ve küfür korumaları.Korumaların çalışabilmesi için kanalda op olmalı veya usermode'larınızda "o" mode'unun olması gerekmektedir.Umarım debug kullanımına ve hash tablolarının kullanımına basit bir örnek olmuştur.
Ekleme yaparken wilcard(*) kullanabilirsiniz.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:start:{
hmake badnick
hmake kufur
hmake reklam
hload badnick badnick.doktrin
hload kufur kufur.doktrin
hload reklam reklam.doktrin
}
alias _prots {
tokenize 32 $1-
if ($1 = <-) {
if ($3 = JOIN) {
var %nick = $right($gettok($2,1,33),-1),%chan = $right($4,-1)
if $me isop %chan || o isin $usermode {
if $hfind(badnick,%nick,1,W).data {
ban -k %chan %nick 2 badnick
}
}
}
elseif ($3 = PRIVMSG) {
if ($4 ischan) {
var %nick = $right($gettok($2,1,33),-1),%text = $right($5-,-1),%chan = $4
if $me isop %chan || o isin $usermode {
if $hfind(kufur,%text,1,W).data {
ban -k %chan %nick 2 kufur
}
if $hfind(reklam,%text,1,W).data {
ban -k %chan %nick 2 reklam
}
}
}
}
}
}
alias ekle {
if !$1 { echo $colour(info) $timestamp *** Hatalı işlem! Kullanım şekli: /ekle <badnick|kufur|reklam> <eklenecek> | return }
if $1 == badnick {
if !$2 { echo $colour(info) $timestamp *** Hatalı işlem! Eklenecek badnicki girmediniz. | return }
else {
hadd -m badnick $r(1000,999999) $2
hsave badnick badnick.doktrin
echo $colour(info) $timestamp $+(7,$2,) veritabanına başarıyla eklendi.
}
}
elseif $1 == kufur {
if !$2 { echo $colour(info) $timestamp *** Hatalı işlem! Eklenecek küfürü girmediniz. | return }
else {
hadd -m kufur $r(1000,999999) $2-
hsave kufur kufur.doktrin
echo $colour(info) $timestamp $+(7,$2-,) veritabanına başarıyla eklendi.
}
}
elseif $1 == reklam {
if !$2 { echo $colour(info) $timestamp *** Hatalı işlem! Eklenecek reklamı girmediniz. | return }
else {
hadd -m reklam $r(1000,999999) $2-
hsave reklam reklam.doktrin
echo $colour(info) $timestamp $+(7,$2-,) veritabanına başarıyla eklendi.
}
}
}
alias sil {
if !$1 { echo $colour(info) $timestamp *** Hatalı işlem! Kullanım şekli: /sil <badnick|kufur|reklam> <silinecek> | return }
if $1 == badnick {
if !$2 { echo $colour(info) $timestamp *** Hatalı işlem! Silinecek badnicki girmediniz. | return }
if $hfind(badnick,$2,1,W).data {
hdel badnick $ifmatch
hsave badnick badnick.doktrin
echo $colour(info) $timestamp $+(7,$2,) veritabanından başarıyla silindi.
}
else { echo $colour(info) $timestamp $+(7,$2,) veritabanında bulunamadı | return }
}
elseif $1 == kufur {
if !$2 { echo $colour(info) $timestamp *** Hatalı işlem! Silinecek küfürü girmediniz. | return }
if $hfind(kufur,$2,1,W).data {
hdel kufur $ifmatch
hsave kufur kufur.doktrin
echo $colour(info) $timestamp $+(7,$2,) veritabanından başarıyla silindi.
}
else { echo $colour(info) $timestamp $+(7,$2,) veritabanında bulunamadı | return }
}
elseif $1 == reklam {
if !$2 { echo $colour(info) $timestamp *** Hatalı işlem! Silinecek reklamı girmediniz. | return }
if $hfind(reklam,$2,1,W).data {
hdel reklam $ifmatch
hsave reklam reklam.doktrin
echo $colour(info) $timestamp $+(7,$2,) veritabanından başarıyla silindi.
}
else { echo $colour(info) $timestamp $+(7,$2,) veritabanında bulunamadı | return }
}
}