Türkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor. Türkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor.
  • ANASAYFA
  • ULTIMA ONLINE
    • Ultima Online Oyuncu Rehberi

      Ultima Online Oyuncu Rehberi

      Oyunu hakkında tanıcı bilgiler ve ipuçları

    • Ultima Online Server List

      Ultima Online Server List

      Önemli özellikleri ve online oyuncu sayıları

    • Ultima Online Script

      Ultima Online Script

      Sphere, RunUO, Razor scriptleri

    • Ultima Online Forum

      Ultima Online Forum

      UO hakkında görüş alışverişi

  • FORUM
  • DOKÜMAN
  • İNDİR
  • DISCORD 14
   Üye ol    Giriş
216
  1. UO Scriptleri
  2. Sphere Scripts
  3. Function
  4. küfür bildiri sistemi v1
Slothere

küfür bildiri sistemi v1

  • Slothere
  • 2010-09-01 19:12
  • 0 Yorumlar
  • 2777 Görüntüleme
küfür sistemi üzerine genel olarak aldığım talepler nedeniyle boş bir anımda bu sistemi geliştirdim. işine yarayacak birileri olabilir diye bu kodları buradan paylaşıyorum.

kullanmanız için mysql bağlantısına sahip olmanız gerekmektedir. daha sonra sistemi kurmak için yetkili bir hesap ile oyun içinden "kufurtblkur" komutunu kullanmak ve speech scripti içindeki spk_player bölümünde bulunan "on=*"'in altına "src.konusmaekle <args>" komutlarını eklemek yeterlidir. örnek;

[SPEECH spk_player]
on=*
src.konusmaekle <args>

sistem oyuncuların sürekli olarak son 30 konuşmasını kayıt altına almak üzerine tasarlandı. küfür bildirisi yapılmadan önce sürekli olarak karakterin son 30 konuşma kaydı tutulacaktır. 30 kayıttan fazla konuşma olduğu zaman bu sefer ilk kayıt silinip (kayıttaki ilk konuşma kaydı) son kayıt olarak yeni konuşma eklenir. böylece sürekli olarak son 30 konuşma eskileri yenileri ile güncellenerek tutulmuş olur.

küfür bildirisi yapıldığında eski kayıtlara hiç bir ekleme-silme işlemi yapılmaz. yeni kayıtlar ayrı bir tag içerisinde tutulur ve bildiri olduğunda bu iki kayıt ayrı ayrı gönderilir.

ayrıca şu an ceza bölümlerini eklemedim. herkesin bu sistemi ayrı ayrı olacağından gerekli tanımlamaları (kişileri ref1 olarak tanımladım) yaparak kodların o kısımlarını açık bıraktım. ceza kodlarını oraya eklemeniz yeterlidir.

sistem daha çok ham durumda. fazla test etme imkânımda pek olmadı. test edip bir sorunla karşılaşırsanız çözüm için bana bildirmeniz yeterlidir. umarım birilerinin işini görür.

[comment kufur_sistemi]
hazırlayan: Slothere
tarih: 1 Eylül 2010
güncelleme: -
versiyon: v1
------------------------

[function escapedata]
local.metin <args>
if <argv>
for 0 <eval <argv> - 1>
local.yenimetin <local.yenimetin> <argv[<dlocal._for>]>
endfor
local.metin <strsub 0 <local.yenimetin>>
endif
db.connect
return <db.escapedata <local.metin>>
db.close

[function konusmaekle]
if <findid(i_kufur_takip)>
local.durum "sonraki
local.limit 100
else
local.durum "son"
local.limit 30
endif
if !<isempty <local.durum>> && <local.limit>
if <isempty <tag.<local.durum>konusmalar>>
tag0.<local.durum>konusmalar <escapedata <args>>
else
tag0.<local.durum>konusmalar <tag0.<local.durum>konusmalar>,<escapedata <args>>
endif
args <tag0.<local.durum>konusmalar>
if <dargv> > <dlocal.limit>
for <eval <argv> - 1>
local.argv <local.argv> <argv[<dlocal._for>]>
endfor
local.argv <strsub 0 <local.argv>>
tag0.<local.durum>konusmalar <local.argv>
endif
endif

[plevel 1]
kufurbildir

[function kufurbildir]
targetf _kufurbildir

[function _kufurbildir]
if !<argo.isplayer>
sysmessage Yalnizca oyunculari secebilirsiniz.
elif <argo>==<src>
sysmessage Kendinizi secemezsiniz.
elif <argo.account.plevel> > 1
sysmessage Yetkilileri secemezsiniz.
elif <argo.findid(i_kufur_bildir)>
sysmessage <argo.name> su an zaten izleniyor.
elif !<argo.isonline>
sysmessage <argo.name> oyunda degil.
else
serv.newitem i_kufur_takip,1,<argo>,1
new.link <uid>
sysmessage <argo.name> izleme altina alindi.
endif

[function kufurtblkur]
db.connect
if <db.connected>
db.execute "create table if not exists kufurbildirileri (id int not null auto_increment primary key, tarih timestamp not null default current_timestamp, bildiren varchar(12), bildirilen varchar(12), konusmaIlk text, konusmaSon text)";
sysmessage tablo basariyla kuruldu.
endif
db.close

[function kufurMsg]
if <account.plevel> > 1
sysmessage @040 Kufur Bildirisi: <args>
endif

[plevel 4]
bildiriler

[function bildiriler]
db.connect
if <db.connected>
db.query "select id from kufurbildirileri";
if !<db.row.numrows>
sysmessage Gonderilen bildiri yok.
else
clearctags bildiri
ctag0.bildiri_index 0
sdialog d_kufur_bildirileri
endif
else
sysmessage Teknik bir sorunla karsilasildi.
endif
db.close

[function bildirisil]
db.connect
if <db.connected>
db.execute "delete from kufurbildirileri where id='<dargn>'";
sysmessage Bildiri silindi.
endif
db.close


[itemdef i_kufur_takip]
id i_handr_1
type t_eq_script
name kufur bildirisi

on=@create
attr attr_newbie|attr_decay

on=@equip
timer 60

on=@unequip
db.connect
if <db.connected>
if <isempty <topobj.tag.sonrakikonusmalar>>
local.sonrakikonusmalar "yok"
else
local.sonrakikonusmalar "<topobj.tag0.sonrakikonusmalar>"
endif
if <isempty <topobj.tag.sonkonusmalar>>
local.sonkonusmalar "yok"
else
local.sonkonusmalar "<topobj.tag0.sonkonusmalar>"
endif
db.execute "set names 'latin5'";
db.execute "insert into kufurbildirileri (bildiren,bildirilen,konusmaIlk,konusmaSon) values ('<link>','<topobj>','<local.sonkonusmalar>','<local.sonrakikonusmalar>')";
topobj.tag0.sonrakikonusmalar
serv.allclients kufurMsg Bildiren: <link.name>, Bildirilen: <topobj.name>, Tarih: <serv.rtime>
endif
db.close

on=@timer
remove
return 1

[dialog d_kufur_bildirileri]
0,0
nomove

db.connect
if <db.connected>
db.query "select bildiren,bildirilen,tarih,id from kufurbildirileri order by tarih desc limit <dctag0.bildiri_index>,14";
resizepic 50 50 3600 450 400
resizepic 60 60 3000 430 380
button 450 415 015a4 015a6 1 0 999999
button 75 415 015a1 015a3 1 0 999998
dorigin 75 70
dtext 105 60 1152 Bildiren
dtext 220 60 1152 Bildirilen
dtext 340 60 1152 Tarih
while <db.row.<dlocal._while>.id>
button +0 *20 4005 4007 1 0 <eval <db.row.<dlocal._while>.id>>
dtext 110 *0 040 <uid.<db.row.<dlocal._while>.bildiren>.name>
dtext 220 *0 040 <uid.<db.row.<dlocal._while>.bildirilen>.name>
dtext 340 *0 040 <db.row.<dlocal._while>.tarih>
endwhile
endif
db.close

[dialog d_kufur_bildirileri button]
on=1 999997
ctag0.bildiri_id <dargn>
sdialog d_kufur_bildiri_icerik

on=999998
if <ctag0.bildiri_index> > 0
ctag0.bildiri_index -=15
endif
sdialog d_kufur_bildirileri

on=999999
ctag0.bildiri_index +=15
sdialog d_kufur_bildirileri

[dialog d_kufur_bildiri_icerik]
0,0
nomove

resizepic 50 50 3600 280 380
resizepic 60 60 3000 260 360
db.connect
if <db.connected>
db.query "select bildiren,bildirilen,tarih,konusmaSon,konusmaIlk from kufurbildirileri where id='<dctag0.bildiri_id>'";
if <db.row.numrows>
ctag0.bildiri_bildiren <db.row.0.bildiren>
ctag0.bildiri_bildirilen <db.row.0.bildirilen>
dtext 75 80 1000 Bildiren:
dtext 75 100 1000 Bildirilen:
dtext 75 120 1000 Tarih:
dtext 75 140 1000 Önceki Konuşma Kaydı:
dtext 142 80 040 <uid.<db.row.0.bildiren>.name>
dtext 142 100 040 <uid.<db.row.0.bildirilen>.name>
dtext 142 120 040 <db.row.0.tarih>
dhtmlgump 75 160 220 80 1 1 <db.row.0.konusmaIlk>
dtext 75 240 1000 Sonraki Konuşma Kaydı:
dhtmlgump 75 260 220 80 1 1 <db.row.0.konusmaSon>
button 75 350 4005 4007 1 0 1
dtext 115 350 1000 Bildireni (<uid.<db.row.0.bildiren>.name>) Cezalandır
button 75 370 4005 4007 1 0 2
dtext 115 370 1000 Bildirileni (<uid.<db.row.0.bildirilen>.name>) Cezalandır
button 75 390 4005 4007 1 0 3
dtext 115 390 1000 Bildiriyi Sil
else
dtext 100 100 38 Böyle bir bildiri bulunamadı..
endif
endif
db.close

[dialog d_kufur_bildiri_icerik button]
on=0
clearctags bildiri

on=1
ref1 <ctag0.bildiri_bildiren>
// bildireni cezalandıracak kodlar
bildirisil <dctag0.bildiri_id>

on=2
ref1 <ctag0.bildiri_bildirilen>
// bildirileni cezalandıracak kodlar
bildirisil <dctag0.bildiri_id>

on=3
bildirisil <dctag0.bildiri_id>

[eof]

Değerlendirmeler

0 0

Total votes: 0

Üye Ol veya Giriş Yap

Bu içeriğe yorum atmak istiyorsanız hemen üye olun veya giriş yapın.

Discord ile Bağlan
Twitch ile Bağlan
Steam ile Bağlan
Google ile Bağlan

Yorumlar (0)

Henüz yorum yapılmamış
Sadece kayıtlı kullanıcılar yeni yorum yapabilir.


Ultima-Strike Discord
Benzer Sayfalar
  • Küfür sistemi

    2011-12-19 18:05

  • Küfür Sistemi -MySql-

    2008-10-13 18:14

  • Pin Sistemi.

    2009-04-28 11:01

  • Mf Ev Sistemi

    2008-08-05 12:33

  • Ban Sistemi

    2007-12-02 12:20



  • Son Forumlar
  • Sayfalar
  • TSuN@Mi
    Counter-Strike 1.6 İndir - Tek Link Hızlı-

    Counter-Strike 6 saat önce

  • sarhos7573
    Ev Yapmak istiyorum

    Sphere Scripting 2 gün önce

  • Zerox
    Üyeliği 15 yıl ve üzerinde olanlar.

    Ultima Online 3 gün önce

  • Gökhan Çelikörs
    NightUO

    Sunucular 3 hafta önce

  • HızlıTetık
    Yapay zekayla UO kodlamaya çalışan var mı? Cursor...

    Sphere Scripting 3 hafta önce

  • Vanq
    Discord'a alternatif olarak basit sesli sohbet...

    Off Topic 1 ay önce

  • Furkan Yurtseven
    CS2 Topluluk Sunucumuza Ücretli Yetkili Aranıyor!

    Counter-Strike 2 1 ay önce

  • Nefrelius
    Alcor UO Reborn

    Sunucular 1 ay önce

  • System_Error
    Client Patlaması

    Ultima Online 1 ay önce

  • georgm15
    CS2 turnuvaları tartışmalı başladı.

    Counter-Strike 2 2 ay önce

  • Cihangir algın
    Razor Kullanımı

    RunUo Scripting 2 ay önce

  • Lucretius
    Rampage Pvp

    Sunucular 2 ay önce

  • Lucretius
    Nephilim Pvp

    Sunucular 2 ay önce

  • Cengiz MERDİT
    Sphere 56T Nightly Sürümü

    Ultima Online 3 ay önce

  • aygun
    Esgaroth UO

    Sunucular 3 ay önce

  • Skill seçimlerinizi planlamak artık çok daha kolay

    Ultima Online Karakter Yapılandırma Aracı Bölümü Açıldı!

    2024-10-31 22:47

  • Ultima Online topluluğu, ClassicUO'nun sadece web client olarak kullanılabileceğinin açıklanmasının ardından tepkili.

    Resmi UO, Oyuncuları İkiye Böldü: Web Client Yeterli mi?

    2024-10-14 17:45

  • Ultima Online, ClassicUO ile resmi işbirliği yapıyor! Performans iyileştirmeleri, geniş oyun penceresi ve daha fazlası geliyor.

    Ultima Online, ClassicUO ile Resmi İşbirliğine Gidiyor

    2024-09-26 14:21

  • Centred#

    2024-07-08 22:50

  • CentrED+ 7.9

    2024-07-08 22:34

  • Distance(uzaklık) Sorgusu Hakkında

    2024-06-19 22:05

  • UoFiddler

    2024-06-01 02:19

  • UoFiddler ile Map Kopyalama

    2024-05-31 21:17

Menü
  • ANASAYFA
  • FORUM
  • DOKÜMAN
  • İNDİR
  • İLETİŞİM
  • Bağlantılar
  • CS 1.6 indir
  • CS 1.6 Türkçe
  • CS 1.6 Bot
  • CS 1.6 CFG
  • CS 1.6 Rate Ayarları
  • UO Server
  • Ghost Mouse indir
  • FPS Nedir?
  • Ultima Online PVP Server
  • Makroman
  • UO Karakter Yapılandırma
    © 2004 - 2025 Ultima-Strike. Her hakkı saklıdır.