[dialog d_aile_rename button]
on = 1
if strlen(<argtxt[0]>) < 3 || strlen(<argtxt[0]>) > 15
src.sysmessage @38,,1 Soy isminiz, en az 3 en fazla 15 karakterden oluşabilir.
elif (<f_isim_kontrolu <argtxt[0]>> > 0)
src.sysmessage @38,,1 Lütfen sadece harf kullanınız.
elif (<f_soyadi_kontrolu <argtxt[0]>> > 0)
src.sysmessage @38,,1 Yazdığınız aile ismi zaten bulunuyor [<argtxt[0]>]
else
local.isim <strarg <src.name>>
local.soyisim <strtoupper(<strsub 0 1 <argtxt[0]>>)><strtolower(<strsub 1 15 <argtxt[0]>>)>
src.name <local.isim> <local.soyisim>
local.eskisoyisim <src.tag0.soyad>
src.tag0.soyad <argtxt[0]>
src.sysmessage @38,,1 Soy isminiz <src.tag.soyad> olarak değiştirilmiştir.
serv.b @68,1,1 <local.eskisoyisim> ailesi, <local.soyisim> olarak <local.isim> tarafindan değiştirildi.
for 1 <eval <def.maxuye>>
if strcmpi('<tag.uye<dlocal._for>>','')
ref1 = <tag.uye<dlocal._for>>
ref1.tag.soyad <local.soyisim>
local.isim <strarg <ref1.name>>
ref1.name <local.isim> <local.soyisim>
endif
endfor
endif
return 1
[dialog d_aile_kontrolu]
160,0
nomove
src.ctag.siralama = <dargv[0]>
page 0
resizepic 20 50 5120 250 200
resizepic 30 60 3000 230 180
dhtmlgump 40 70 210 25 1 0 <def.bfont_dred><link.tag0.soyad> Aile Panosu <def.bfont_black>(<dtag0.uyeler>/<eval <def.maxuye>>)
button 65 110 4005 4007 0 2 0
dhtmlgump 100 110 90 25 1 0 Üyeleri Yönet
button 65 140 4005 4006 1 0 902
dhtmlgump 100 140 90 25 1 0 Yeni Üye Al
button 65 170 4005 4006 1 0 904
dhtmlgump 100 170 90 25 1 0 Aileyi Dağıt
button 65 200 4005 4006 1 0 905
dhtmlgump 100 200 90 25 1 0 İsim değiştir
[plevel 1]
ac
[function ac]
if !strcmpi('<src.tag.soyad>','')
src.sysmessage @1153 bir aileniz yok?
else
IF !(STRMATCH('<ARGS>','')
SERV.ALLCLIENTS acThick <SRC.TAG.SOYAD>,<SRC.UID>,<ARGS>
ENDIF
endif
[function acThick]
if !(<isgm>) && !strcmpi('<ARGV[0]>','<tag.soyad>')
FOR DONGU 2 <EVAL <DARGV> - 1>
IF (<DLOCAL.DONGU> == 2)
LOCAL.TOTALSTRING = <ARGV[<DLOCAL.DONGU>]>
ELSE
LOCAL.TOTALSTRING = <LOCAL.TOTALSTRING>,<ARGV[<DLOCAL.DONGU>]>
ENDIF
ENDFOR
SYSMESSAGE @1153 [Aile Chat] <UID.<ARGV[1]>.NAME> : <LOCAL.TOTALSTRING>
endif
[function ac]
if !strcmpi('<src.tag.soyad>','')
src.sysmessage @1153 bir aileniz yok?
else
for 0 <eval (<serv.accounts>) -1>
if (<serv.account.<dlocal._for>>)
for x 0 <eval (<serv.account.<dlocal._for>.chars>) -1>
if (<serv.account.<dlocal._for>.char.<dlocal.x>.isonline>) && !strcmpi('<serv.account.<dlocal._for>.char.<dlocal.x>.tag.soyad>','')
ref1 = <serv.account.<dlocal._for>.char.<dlocal.x>>
local.soyad <strarg <serv.account.<dlocal._for>.char.<dlocal.x>.name>>
if strcmpi('<src.tag.soyad>','<local.soyad>')
ref1.sysmessage @1153 [Aile Chat] <src.name>: <args>
endif
endif
endfor
endif
endfor
endif
return 1
Slothere : Bu şekilde yaptığınla benim yaptığım arasında pek performans farkı olmuyor.Ayriyetten tüm aktif oyunculara komut gönderip, gerekli sorgu ve döngü ile girilen değerleri süzmek yerine üstte verdiğim şekilde tek bir döngü ile çözülmesi performans açısından daha mantıklı. Tabi bir alternatif isteyen onu da kullanabilir.
Ha illa kodları uzatmaya niyetliyim diyorsan şöyle bir şeyler de yapabiliriz özel olarak ancak dediğim gibi gereksiz olacaktır.
[function ac] if !strcmpi('<src.tag.soyad>','') src.sysmessage @1153 bir aileniz yok? else for 0 <eval (<serv.accounts>) -1> if (<serv.account.<dlocal._for>>) for x 0 <eval (<serv.account.<dlocal._for>.chars>) -1> if (<serv.account.<dlocal._for>.char.<dlocal.x>.isonline>) && !strcmpi('<serv.account.<dlocal._for>.char.<dlocal.x>.tag.soyad>','') ref1 = <serv.account.<dlocal._for>.char.<dlocal.x>> local.soyad <strarg <serv.account.<dlocal._for>.char.<dlocal.x>.name>> if strcmpi('<src.tag.soyad>','<local.soyad>') ref1.sysmessage @1153 [Aile Chat] <src.name>: <args> endif endif endfor endif endfor endif return 1
[plevel 1]
ac
[function ac]
if !strcmpi('<src.tag.soyad>','')
src.sysmessage @1153 bir aileniz yok?
else
forclients 6144
if (<isplayer>) && !(<isgm>) && !strcmpi('<src.tag.soyad>','<tag.soyad>')
sysmessage @1153 [Aile Chat] <src.name>: <args>
endif
endfor
endif