2007 yılında yayımladığım isim sisteminin halen kullanıldığını görmekteyim. O zamanın şartları ile yazılan scriptin şu an kullanılması pek içime sinmiyor açıkçası. O yüzden sistemi güncelleyip (baştan yazdım gerçi) tekrar yayınlıyorum. Bu halinin daha iyi olduğunu düşünüyorum, eski sistemi kullanan arkadaşlara ricam yeni sisteme geçmeleridir. Sistemi test etmedim eden birisi buraya yazabilirse mutlu olurum
[comment isim_sistemi]
yazan: Slothere
tarih: 31/07/2009
version: 056b+
açıklama:
- sistem, eskiden (2007'de) yazdığım sisteme kıyasla daha stabil şekilde çalışmaktadır. eski sistemin güncellenmiş halidir.
- on=@login tetikleyicisinin altına "f_isim" fonksiyonu eklenmesi sistem için gerekli ve yeterlidir. eklemediğiniz takdirde sistem çalışmaz.
- aktif bir soyad sisteminiz bulunuyorsa sistem kişinin soy isimli halini değil, kişinin yalın haldeki ismini kontrol edecektir.
---------------------
[function f_isim_duzenle]
local.isim <strarg <strtoupper(<strsub 0 1 <args>>)><strtolower(<strsub 1 16 <args>>)>>
return <local.isim>
[function f_karakter]
for 0 <eval (strlen(<args>)) -1>
if !strmatch('*[a-z]*','<strsub <dlocal._for> 1 <args>>')
local.hatali ++
endif
endfor
return <dlocal.hatali>
[function f_kontrol]
for 0 <eval (<serv.accounts>) -1>
if (<serv.account.<dlocal._for>>)
for x 0 <eval (<serv.account.<dlocal._for>.chars>) -1>
local.isim = <strarg <serv.account.<dlocal._for>.char.<dlocal.x>.name>>
if !strcmpi('<local.isim>','<args>') && (<serv.account.<dlocal._for>.char.<dlocal.x>.uid> != <src>)
local.return ++
endif
endfor
endif
endfor
return <dlocal.return>
[function f_isim]
local.isim <strarg <src.name>>
if (<eval <src.f_kontrol <local.isim>>> > 0) && !(<src.dtag0.isimkontrolu>)
src.flags <src.flags>|04
sdialog d_isim_duzenle
endif
[dialog d_isim_duzenle]
0,0
nomove
noclose
resizepic 50 50 5054 320 180
resizepic 60 60 3000 300 160
dhtmlgump 95 70 250 50 0 0 <strarg <src.name>> ismi sunucuda kullanilmaktadir. Lutfen yeni bir isim girip onaylayiniz.
resizepic 120 130 3000 160 20
dtextentry 125 130 140 20 1152 0 <argv[0]>
button 120 165 4005 4007 1 0 1
dtext 155 165 1152 Tamam
[dialog d_isim_duzenle button]
on = 1
if (<eval (strlen(<argtxt[0]>))> < 3) || (<eval (strlen(<argtxt[0]>))> > 16)
src.sysmessage @1153 isminiz en az 3, en fazla 16 karakterden olusabilir.
sdialog d_isim_duzenle,0,<argtxt[0]>
elif (<eval (<f_karakter <argtxt[0]>>)> > 0)
src.sysmessage @1153 isminizde hatali karakterler bulunmaktadir.
sdialog d_isim_duzenle,0,<argtxt[0]>
elif (<eval (<f_kontrol <argtxt[0]>>)> > 0)
src.sysmessage @1153 <argtxt[0]> ismi sunucuda kullanilmaktadir
sdialog d_isim_duzenle,0,<argtxt[0]>
else
local.isim <f_isim_duzenle <argtxt[0]>>
src.name <local.isim>
src.sysmessage @1153 isminiz <local.isim> olarak duzenlendi.
src.flags <src.flags>&~04
src.tag.isimkontrolu 1
endif
return 1
[eof]