Can sıkıntısından biraz uğraşmış olduğum ve tekrardan can sıkıntısından tam anlamıyla tamamlamadığım ama sizler için tamamlanması ve kullanması çok basit olan küfür kayıt sistemini sizlere taktim ediyorum
Uğraşmamda ki en temel amaç küfür ihbar sistemlerinin sadece küfür edene odaklı olarak çalışıyor olması, burada ki farklılık ise hem küfür edenin hem küfüre tahrik edenin kayıt altına alınıyor olması:
Kod:
/// Çalışması için :
/// Sphere_Speech - On=* Altına Kufur_Kontrol <Args> şeklinde eklenmesi lazım
/// Kufur kayitlarının tutulacağı yeri ownerin çantası olarak ayarladım göz önünde bulunması için
/// Yapılması gereken sunucu sahibinin .Kufurkayityeri yazması.
[Function KufurKayitYeri]
IF (<Account.Plevel> > 6) && !(<Var.KufurKayitYeri>)
Serv.Var.Kufurkayityeri <Src.Findlayer.21>
Else
Src.Sysmessage @38,,1 <Qval <Serv.Var.KufurKayitYeri>?Bu komut daha önceden kullanılmış.:Bu komutu kullanmaya haiz değilsiniz.>
Endif
[Plevel 1]
Kufur
[Itemdef i_Kufur_Kayit]
ID 4030
Name Kufur Kayit
Weight 0
On=@Create
Attr 04|Attr_Invis
Color 0952
On=@Click
Message @077a,,1 Küfür Kayıt (<dTag.ToplamKonusma>)
Message @07a1,,1 Şikayetçi: <UID.<Tag0.Sikayeteden>.Name>
Message @339,,1 Suçlanan: <UID.<Tag0.Sikayetedilen>.Name>
Return 1
On=@DClick
SDialog KufurBildiri
Return 1
[Function Kufur_Kontrol]
IF 0<List.Kufur_<Src.UID>.Count> >= 29
Serv.List.Kufur_<Src.UID>.0.Remove
Endif
List.Kufur_<Src.UID>.Add <Serv.Time> <Src.UID> <Serv.Rtime.Format %d.%m.%Y %H:%M:%S> <Region.UID> <Args>
[Function Kufur]
IF (<Src.dTag0.KufurSure> > <Serv.Time>) //&& (<Src.dTag0.KufurSure>)
Src.Sysmessage @38,,1 5 dakikada bir küfür ihbarında bulunabilirsiniz.
Return 1
Endif
TargetF Kufurx
Src.Sysmessage @07a1,,1 Şikayette bulanacağınız kişiyi seçin.
[Function Kufurx]
IF !(<Argo.IsPlayer>)
Src.Sysmessage @38,,1 Sadece oyuncuları ihbar edebilirsiniz.
Return 1
Endif
IF (<Argo> = <Src>)
Src.Sysmessage @38,,1 Kendizi ihbar edemezsiniz.
Return 1
Endif
IF !(0<List.Kufur_<Argo>.Count>)
Src.Sysmessage @38,,1 Kişinin kayıtlı konuşması bulunmamaktadır.
Return 1
Endif
Serv.Newitem i_Kufur_Kayit
IF <List.Kufur_<Argo>.Count>
For 0 <Eval <List.Kufur_<Argo.UID>.Count> - 1>
Local.ZZ ++
Local.Xy <List.Kufur_<Argo>.<dLocal._For>>
New.Tag0.Kufur<dLocal.ZZ> <Local.XY>
EndFor
List.Kufur_<Argo>.Clear
Endif
IF <List.Kufur_<Src>.Count>
For 0 <Eval <List.Kufur_<Src>.Count> - 1>
Local.ZZ ++
Local.Xy <List.Kufur_<UID>.<dLocal._For>>
New.Tag0.Kufur<dLocal.ZZ> <Local.XY>
EndFor
List.Kufur_<Src>.Clear
Endif
Src.Tag0.KufurSure <Eval <Serv.Time> + (300*6)>
New.Tag0.ToplamKonusma <dLocal.ZZ>
New.Tag0.SikayetEden <UID>
New.Tag0.SikayetEdilen <Argo>
New.Attr 04
New.Cont <Var.KufurKayitYeri> /// Nereye yada neyin içine gitmesini istiyorsanız oranın uidi
Src.Sysmessage @07a1,,1 Şikayetiniz kayıt altına alınmıştır artık yetkili onayı beklemelisiniz.
[Dialog KufurBildiri]
0,0
NoMove
For a 1 <dTag.ToplamKonusma>
For b 1 <dTag.ToplamKonusma>
Local.XYZ = <StrArg <Tag0.Kufur<dLocal.a>>>
Local.ZYX = <StrArg <Tag0.Kufur<dLocal.b>>>
IF <dLocal.XYZ> < <dLocal.ZYX>
Local.XxX = <Tag0.Kufur<dLocal.b>>
Tag0.Kufur<dLocal.b> = <Tag0.Kufur<dLocal.a>>
Tag0.Kufur<dLocal.a> = <Local.XxX>
Endif
Endfor
Endfor
Page 0
Resizepic 300 0 83 200 50
Resizepic 307 10 9300 187 30
DText 365 15 1153 Küfür İhbar
Resizepic 0 50 83 800 560
Checkertrans 7 60 787 540
DText 180 60 1152 Şikayet Eden : <UID.<Tag0.SikayetEden>.Name> (<Tag0.SikayetEden>)
DText 490 60 339 Şikayet Edilen : <UID.<Tag0.SikayetEdilen>.Name> (<Tag0.SikayetEdilen>)
Button 160 64 10740 10741 0 2 9999
Button 470 64 10740 10741 0 3 9999
Local.Sayfa=1
Page 1
DText 30 60 339 Tarih
DText 95 60 339 Saat
For 1 <dTag.ToplamKonusma>
IF <Tag0.SikayetEden> = <StrArg <StrEat <Tag0.Kufur<dLocal._For>>>>
Local.Renk 1153
Endif
IF <Tag0.SikayetEdilen> = <StrArg <StrEat <Tag0.Kufur<dLocal._For>>>>
Local.Renk 339
Endif
Local.Konusan <StrArg <StrEat <Tag0.Kufur<dLocal._For>>>>
Local.Region <StrArg <StrEat <StrEat <StrEat <StrEat <Tag0.Kufur<dLocal._For>>>>>>>
Local.Konusma <StrEat <StrEat <StrEat <StrEat <StrEat <Tag0.Kufur<dLocal._For>>>>>>>
Local.Tarih <StrArg <StrEat <StrEat <Tag0.Kufur<dLocal._For>>>>>
Local.Saat <StrArg <StrEat <StrEat <StrEat <Tag0.Kufur<dLocal._For>>>>>>
If (<Local.ToplamKonusma> >= 24
Local.ToplamKonusma=0
Button 560 575 015e1 015e5 0 <Eval <Local.Sayfa>+1> 1
DText 520 573 38 ILERI
Local.Sayfa +=1
Page <Eval <Local.Sayfa>>
Button 220 575 015e3 015e7 0 <Eval <Local.Sayfa>-1> 1
DText 250 573 38 GERI
Endif
Resizepic 10 <eval (<Local.ToplamKonusma>*20)+80> 9300 135 20
Resizepic 150 <eval (<Local.ToplamKonusma>*20)+80> 9300 640 20
DText 15 <Eval (<Local.ToplamKonusma>*20)+80> 0 <Local.Tarih> <Local.Saat>
DText 155 <Eval (<Local.ToplamKonusma>*20)+80> <Qval (<Tag0.Sikayetedilen> = <Local.Konusan>)?339:1152> <Local.Konusma> {Region: <Local.Region>}
Local.ToplamKonusma +=1
EndFor
Page 2
Ref1=<UID.<Tag0.Sikayeteden>>
Ref2=<UID.<Tag0.Sikayetedilen>>
Local.Ref1Uzaklik 120
Local.Ref2Uzaklik 510
Local.Ref1Renk 38
Button 30 64 10740 10741 0 1 9999
DText 50 62 1152 Geri
Resizepic 30 120 9300 350 220
DText 40 130 <dLocal.Ref1Renk> Hesap Adı
DText <dLocal.Ref1Uzaklik> 130 1152 | <Ref1.Account.Name> <QVal <Ref1.Account.Jail>?[ Jailde ]:>
DText 40 150 <dLocal.Ref1Renk> Karakter Adı
DText <dLocal.Ref1Uzaklik> 150 1152 | <Ref1.Name>
DText 40 170 <dLocal.Ref1Renk> Kayıt Tarihi
DText <dLocal.Ref1Uzaklik> 170 1152 | <Ref1.Account.FirstConnectDate>
DText 40 190 <dLocal.Ref1Renk> Son Giriş
DText <dLocal.Ref1Uzaklik> 190 1152 | <Ref1.Account.LastConnectDate>
DText 40 210 <dLocal.Ref1Renk> Toplam Uyarı
DText <dLocal.Ref1Uzaklik> 210 1152 | <Ref1.Account.dTag0.Uyari>
IF (<Ref1.Account.Tag0.Uyari>)
Button 170 215 10740 10741 1 0 2005
DText 190 213 90 Uyarıları sıfırla
Endif
Button 50 250 10740 10741 1 0 2000
DText 70 247 78 Uyarı ver
Button 50 270 10740 10741 1 0 2001
DText 70 267 78 Jaile at
Button 50 290 10740 10741 1 0 2006
DText 70 287 78 Banla
Button 200 250 10740 10741 1 0 2002
DText 220 247 78 Karakteri sil
Button 200 270 10740 10741 1 0 2003
DText 220 267 78 Hesabı sil
Resizepic 50 350 5170 320 230
DText 180 352 38 Not Ekle
Button 180 552 2450 2451 1 0 2004
For 1 8
Resizepic 70 <Eval 359 + <dLocal._For>*18> 9300 280 16
EndFor
DTextenTry 75 375 270 140 55 1 <Ref1.Account.Tag0.HesapUyari>
Page 3
Button 30 64 10740 10741 0 1 9999
DText 50 62 1152 Geri
Resizepic 420 120 9300 350 220
DText 430 130 <dLocal.Ref1Renk> Hesap Adı
DText <dLocal.Ref2Uzaklik> 130 339 | <Ref2.Account.Name> <QVal <Ref2.Account.Jail>?[ Jailde ]:>
DText 430 150 <dLocal.Ref1Renk> Karakter Adı
DText <dLocal.Ref2Uzaklik> 150 339 | <Ref2.Name>
DText 430 170 <dLocal.Ref1Renk> Kayıt Tarihi
DText <dLocal.Ref2Uzaklik> 170 339 | <Ref2.Account.FirstConnectDate>
DText 430 190 <dLocal.Ref1Renk> Son Giriş
DText <dLocal.Ref2Uzaklik> 190 339 | <Ref2.Account.LastConnectDate>
DText 430 210 <dLocal.Ref1Renk> Toplam Uyarı
DText <dLocal.Ref2Uzaklik> 210 339 | <Ref2.Account.dTag0.Uyari>
IF (<Ref2.Account.Tag0.Uyari>)
Button 570 215 10740 10741 1 0 3005
DText 590 213 90 Uyarıları sıfırla
Endif
Button 440 250 10740 10741 1 0 3000
DText 470 247 78 Uyarı ver
Button 440 270 10740 10741 1 0 3001
DText 470 267 78 Jaile at
Button 440 290 10740 10741 1 0 3006
DText 470 287 78 Banla
Button 590 250 10740 10741 1 0 3002
DText 610 247 78 Karakteri sil
Button 590 270 10740 10741 1 0 3003
DText 610 267 78 Hesabı sil
Resizepic 440 350 5170 320 230
DText 570 352 38 Not Ekle
Button 570 552 2450 2451 1 0 3004
For 1 8
Resizepic 460 <Eval 359 + <dLocal._For>*18> 9300 280 16
EndFor
DTextenTry 465 375 270 140 55 2 <Ref2.Account.Tag0.HesapUyari>
[Dialog KufurBildiri Button]
On=2000 2006
Ref1=<UID.<Tag0.Sikayeteden>>
Ref2=<UID.<Tag0.Sikayetedilen>>
IF (<Argn> = 2000)
Ref1.Account.Tag0.Uyari ++
Ref1.Sysmessage @07a1,,1 Dikkat : Küfür şikayetiniz gerçeği yansıtmadığından + 1 uyarı cezası aldınız.
Src.Sysmessage @38,,1 <Ref1.Name> isimli kişiye + 1 uyarı verdiniz.
Remove
ElseIF (<Argn> = 2001)
Ref1.Jail
Ref1.Account.Tag0.Uyari=
Ref1.Sysmessage @07a1,,1 Dikkat : Küfür şikayetiniz gerçeği yansıtmadığından jaile girdiniz.
Src.Sysmessage @38,,1 <Ref1.Name> isimli kişiye hapis cezasına çarptırıldı.
Remove
ElseIF (<Argn> = 2002)
Ref1.Remove 1
Src.Sysmessage @38,,1 <Ref1.Name> isimli kişinin karakteri silindi.
Remove
ElseIF (<Argn> = 2003)
Serv.Account <Ref1.Account> Delete
Src.Sysmessage @38,,1 <Ref1.Account.Name> hesap silinmiştir.
Remove
ElseIF (<Argn> = 2004)
Ref1.Account.Tag0.HesapUyari <ArgTxt[1]>
Ref1.Sysmessage @07a1,,1 Dikkat : Asılsız bildiriden dolayı hesabınıza uyarı notu eklendi.
Src.Sysmessage @07a1,,1 Notunuz <Ref1.Account.Name> isimli hesaba eklendi.
Remove
ElseIF (<Argn> = 2005)
Ref1.Account.Tag0.Uyari=
Src.Sysmessage @07a1,,1 Notunuz <Ref1.Account.Name> isimli hesabın uyarıları sıfırlandı.
ElseIF (<Argn> = 2006)
Serv.Account <Ref1.Account> Block 1
Ref1.DisConnect
Src.Sysmessage @07a1,,1 <Ref1.Account.Name> isimli hesap kapatılmıştır.
Remove
Endif
On=3000 3006
Ref1=<UID.<Tag0.Sikayetedilen>>
Ref2=<UID.<Tag0.Sikayeteden>>
IF (<Argn> = 3000)
Ref1.Account.Tag0.Uyari ++
Ref1.Sysmessage @07a1,,1 Dikkat : <Ref2.Name> isimli kişiye hakaret ettiğinizden + 1 uyarı cezası aldınız.
Ref2.Sysmessage @07a1,,1 Dikkat : <Ref1.Name> isimli kişi size hakaratten + 1 uyarı cezası aldı.
Src.Sysmessage @38,,1 <Ref1.Name> isimli kişiye + 1 uyarı verdiniz.
Remove
ElseIF (<Argn> = 3001)
Ref1.Account.Jail
Ref1.Account.Tag0.Uyari=
Ref1.Sysmessage @07a1,,1 Dikkat : <Ref2.Name> isimli kişiye hakaret ettiğinizden jail cezası aldınız.
Ref2.Sysmessage @07a1,,1 Dikkat : <Ref1.Name> isimli kişi size hakaret ettiğinden jail cezası aldı.
Src.Sysmessage @38,,1 <Ref1.Name> isimli kişiye hapis cezasına çarptırıldı.
Remove
ElseIF (<Argn> = 3002)
Ref1.Remove 1
Ref2.Sysmessage @07a1,,1 Dikkat : <Ref1.Name> isimli kişinin karakteri ihbarınız neticesinde silinmiştir.
Src.Sysmessage @38,,1 <Ref1.Name> isimli kişinin karakteri silindi.
Remove
ElseIF (<Argn> = 3003)
Serv.Account <Ref1.Account.Name> Delete
Ref2.Sysmessage @07a1,,1 Dikkat : <Ref1.Name> isimli kişinin hesabı ihbarınız neticesinde silinmiştir.
Src.Sysmessage @38,,1 <Ref1.Account.Name> hesap silinmiştir.
Remove
ElseIF (<Argn> = 3004)
Ref1.Account.Tag0.HesapUyari <ArgTxt[1]>
Ref1.Sysmessage @07a1,,1 Dikkat : <Ref2.Name> isimli kişiye hakaret ettiğinizden hesabınıza uyarı notu eklendi.
Ref2.Sysmessage @07a1,,1 Dikkat : <Ref1.Name> isimli kişi size hakaretten, hesabına uyarı notu eklendi.
Src.Sysmessage @07a1,,1 Notunuz <Ref1.Account.Name> isimli hesaba eklendi.
Remove
ElseIF (<Argn> = 3005)
Ref1.Account.Tag0.Uyari=
Src.Sysmessage @07a1,,1 Notunuz <Ref1.Account.Name> isimli hesabın uyarıları sıfırlandı.
Endif
Umarım işinize yarar.