// * writer : Slothere ( Family System )
// * date: 18.08.2008
// * version: 056b+
// Eksikler;
//# Aile Chat
//# Üyeler için çıkış fonksiyonu.
[COMMENT FAMILYSYSTEM]
- Sunucuda kurulan aile isimlerinin tek olması eklendi.
- Üye alımı aktif edildi.
- Üye listesi eklendi.
- Üye'lerin detaylarının incelenmesi eklenildi.
- Soy isim alırken ' karakteri ile alınması eklendi.
- Aileden üye atılması eklendi.
# finish: 18.08.2008 - 05:00
[DEFNAME FAMILYSYSTEM]
// Aileye alınacak max. kişi sayısı
familymaxmember 15
// Üye alımında alınacak ücret
familyinvitecash 25000
[ITEMDEF i_deed_family]
ID = i_deed
TYPE = t_script
WEIGHT = 2
NAME = Family Deed
VALUE = 270000
ON=@CREATE
COLOR = 0810
ATTR = ATTR_NEWBIE
ON=@CLICK
message @1153 <name>
return 1
ON=@DCLICK
IF (<src.uid> != <topobj.uid>)
src.sys_error Sadece cantanizda kullanabilirsiniz..
return 1
ELIF (<src.flags>&statf_dead)
src.sys_error Su anki halinizle kullanamazsiniz..
return 1
ENDIF
IF !(<isempty <src.tag.soyisim>>)
src.sys_error Siz bir aileye uyesiniz.
return 1
ELSE
src.sdialog d_createfamily
return 1
ENDIF
[Dialog d_createfamily]
0,0
PAGE 0
resizepic 200 100 5120 300 150
resizepic 210 110 3000 280 130
resizepic 280 150 3000 200 25
dtext 220 110 1153 <serv.name> Aile Sistemi
dtext 215 150 1153 Soyisim:
dtextentry 285 148 150 20 030 1
button 230 190 4006 4007 1 0 1
dtext 270 190 1153 Aileyi Kur
[Dialog d_createfamily button]
on = 1
FORPLAYERS 6144
IF (<src.uid> != <uid>) && (strmatch('<argtxt[1]>','<uid.<uid>.tag0.soyisim>')
src.sys_error Bu soyisimden sunucuda bulunuyor.
return 1
ENDIF
ENDFOR
IF (strlen(<argtxt[1]>) < 5) || (strlen(<argtxt[1]>) > 15)
src.sys_error Soyisim en az 5, en fazla 15 karakter olabilir..
return 1
ENDIF
FOR s 1 <eval (strlen(<argtxt[1]>))-1>
IF !(strmatch('[abcdefghijklmnoprstuvyz']','<strsub <dlocal.s> 1 <argtxt[1]>>'))
src.sys_error Soy isminizde gecersiz karakterler bulunuyor.
return 1
ENDIF
ENDFOR
serv.newitem i_family_necklace_owner
new.tag.soyisim = <argtxt[1]>
new.tag.membernum= 0
new.tag.member0 = <src.uid>
new.link <src.uid>
new.equip
src.tag.soyisim <argtxt[1]>
src.tag.realname <src.name>
local.isim = <strtoupper(<strsub 0 1 <src.name>>)><strtolower(<strsub 1 15 <src.name>>)>
local.soyisim = <strtoupper(<strsub 0 1 <argtxt[1]>>)>
src.name <local.isim> <local.soyisim>
serv.allclients sysmessage @1153 <local.soyisim> isimli aile <local.isim> tarafindan kurulmustur.
src.findid.i_deed_family.remove
return 1
[ITEMDEF i_family_necklace_member]
ID = i_necklace_gold
TYPE t_jewelry
name = uye kolyesi
weight = 0.5
ON=@Create
COLOR = 07a1
ATTR = attr_newbie
ON=@CLICK
message @1153 [<link.name>]
message @030 Uye: <tag0.soyisim>
return 1
ON=@DCLICK
obj = <tag.masternecklace>
sdialog d_uyeler
return 1
[ITEMDEF i_family_necklace_owner]
ID = i_necklace_gold
TYPE = t_jewelry
name = aile kolyesi
weight = 0.5
ON=@CREATE
COLOR = 07a1
ATTR = attr_newbie
ON=@CLICK
message @1153 [<link.name>]
message @030 Reis: <tag0.soyisim>
return 1
ON=@EQUIP
IF (<link.uid> != <src.uid>)
src.sys_error Bu kolye size ait degil.
return 1
ENDIF
ON=@DCLICK
IF (<link.uid> != <src.uid>)
src.sys_error Bu kolye size ait degil..
return 1
ELIF (<src.uid> != <topobj.uid>)
src.sys_error Bunu sadece uzerinizdeyken kullanabilirsiniz
return 1
ENDIF
obj = <uid>
sdialog d_familycontrol
return 1
[Dialog d_familycontrol]
0,0
PAGE 0
resizepic 150 90 5120 250 200
resizepic 160 100 3000 230 180
dcroppedtext 200 110 200 20 1153 <serv.name> Aile Menusu
dtext 220 140 0456 Aileye Uye Al
dtext 220 160 0456 Aileden Uye At
dtext 220 180 0456 Uyelere Bak
dtext 220 200 0456 Aileyi Sil
button 200 140 2714 2715 1 0 1
button 200 160 2714 2715 1 0 2
button 200 180 2714 2715 1 0 3
button 200 200 2714 2715 1 0 4
[Dialog d_familycontrol BUTTON]
on=1
IF !(<src.flags> & statf_dead)
src.targetf f_uyealimi <uid>
src.sys_normal Ailenize almak istediginiz kisiyi secin?
return 1
ENDIF
on=2
obj = <uid>
sdialog d_uyeat
return 1
on=3
obj = <uid>
sdialog d_uyeler
return 1
on=4
obj = <uid>
sdialog d_ailedagit
return 1
// üye alımı
[FUNCTION f_uyealimi]
ref1 = <argv[0]>
IF (<isempty <ref1>>) || (<isempty <ref2>>)
src.sys_error Bir hata olustu yetkiliye basvurunuz.
return 1
ENDIF
IF !(<argo.isplayer>)
src.sys_error Sadece oyunculari secebilirsiniz.
return 1
ENDIF
IF !(<isempty <argo.tag.soyisim>>)
src.sys_error <argo.name>'in bir ailesi var.
return 1
ENDIF
IF (<argo.flags> & statf_dead)
src.sys_error <argo.name>'i su anda ailenize alamazsiniz.
return 1
ENDIF
IF (<ref1.tag0.membernum> == <eval (<def0.familymaxmember>)>
src.sys_error Bir aile <eval (<def0.familymaxmember>)>'den fazla uye alamaz.
return 1
ENDIF
IF !(<argo.restest <eval (<def0.familyinvitecash>)> i_gold>)
src.sys_error <argo.name>'in yaninda <eval (<def0.familyinvitecash>)> altin bulunmuyor.
return 1
ENDIF
OBJ = <REF1>
TRYSRC <ARGO> sdialog d_invitefamily
//ARGO.TIMERF 10, dialogclose d_invitefamily
src.sys_error <argo.name> davet edildi cevap bekleniyor.
argo.sys_normal <src.name> sizi <src.tag0.soyisim> ailesine davet ediyor.
[DIALOG d_invitefamily]
0,0
resizepic 100 100 5120 250 150
resizepic 110 110 3000 230 130
dtext 115 130 0456 <obj.tag0.soyisim> ailesine davet edildiniz.
dtext 115 150 0456 Kabul ediyor musunuz?
button 125 180 2714 2715 1 0 1
button 125 200 2714 2715 1 0 2
dtext 145 180 0456 Evet
dtext 145 200 0456 Hayir
[DIALOG d_invitefamily BUTTON]
ON=0
try uid.<obj.link.uid>.sys_error <src.name> davetinizi red etti.
src.sys_error Daveti red ettiniz.
ON=2
try uid.<obj.link.uid>.sys_error <src.name> davetinizi red etti.
src.sys_error Daveti red ettiniz.
return 1
ON=1
IF (<obj.tag0.membernum> == <eval (<def0.familymaxmember>)>)
src.sys_error <obj.tag0.soyisim> ailesinin uye sayisi dolmus.
return 1
ENDIF
IF !(<isempty <src.tag.soyisim>>)
src.sys_error Sizin zaten bir aileniz bulunuyor. (<src.tag0.soyisim>)
try uid.<obj.link.uid>.sys_error <src.name>'in bir ailesi bulunuyor. (<src.tag0.soyisim>)
return 1
ENDIF
IF !(<src.restest <eval (<def0.familyinvitecash>)> i_gold>)
src.sys_error Uzerinizde <eval (<def0.familyinvitecash>)> altin bulunmuyor.
try uid.<obj.link.uid>.sys_error <src.name>'in uzerinde <eval (<def0.familyinvitecash>)> altin bulunmuyor.
return 1
ENDIF
FOR <eval (<def0.familymaxmember>)> 1
IF (<isempty <obj.tag.member<dlocal._for>>>)
local.bosslot = <dlocal._for>
ENDIF
ENDFOR
IF (<local.bosslot>)
obj.tag.member<dlocal.bosslot> = <src.uid>
obj.tag.membernum +=1
src.tag.soyisim = <obj.tag0.soyisim>
src.tag.realname = <src.name>
src.name = <src.name> <obj.tag0.soyisim>
serv.newitem i_family_necklace_member
new.tag.soyisim = <obj.tag0.soyisim>
new.tag.masternecklace = <obj.uid>
new.link = <src.uid>
new.equip <src>
src.consume <eval (<def0.familyinvitecash>)> i_gold
src.sys_normal <obj.tag0.soyisim> ailesine katildiniz.
try uid.<obj.link.uid>.sys_normal <src.name> ailenize katildi.
try uid.<obj.link.uid>.sys_normal Toplam: <eval (<obj.tag0.membernum>)> uyeniz var.
return 1
ELSE
src.sys_error Ailede bos yer kalmamis.
try uid.<obj.link.uid>.sys_error Ailede bos yer kalmamis.
return 1
ENDIF
// üyeyi atma işlemleri
[DIALOG d_uyeat]
0,0
resizepic 0 35 5120 250 400
resizepic 10 45 3000 230 380
dtext 30 45 1153 <obj.tag0.soyisim> Ailesinin Uyeleri
FOR 1 <eval (<def0.familymaxmember>)-1>
IF !(<isempty <obj.tag.member<dlocal._for>>>)
dtext 35 <eval (<local._for>*20)+70> <qval (<uid.<obj.tag.member<dlocal._for>>.isonline>)? 040:025> <uid.<obj.tag.member<dlocal._for>>.name>
button 15 <eval (<local._for>*20)+70> 2714 2715 1 0 <dlocal._for>
ENDIF
ENDFOR
[DIALOG d_uyeat button]
on=1 15
src.ctag.atilacak = <obj.tag.member<dargn>>
obj = <src.ctag0.atilacak>
sdialog d_atilimonay
return 1
[dialog d_atilimonay]
0,0
resizepic 100 100 5120 300 150
resizepic 110 110 3000 280 130
dtext 130 130 0456 <obj.name> isimli kisiyi
dtext 130 149 0456 atmak istediginize emin misiniz?
button 150 180 2714 2715 1 0 1
button 150 200 2714 2715 1 0 2
dtext 170 180 0456 Evet
dtext 170 200 0456 Hayir
[dialog d_atilimonay button]
on=2
return 1
on=1
targetf f_uyeat
src.sys_normal Lutfen aile kolyenizi seciniz.
return 1
[function f_uyeat]
ref1 = <ctag.atilacak>
IF (<argo.baseid> == i_family_necklace_owner) && (strmatch('<argo.tag0.soyisim>','<src.tag0.soyisim>')
src.sys_normal <ref1.name> isimli kisi aileden atildi.
argo.tag.membernum -=1
ref1.tag.soyisim =
ref1.name = <obj.tag.realname>
ref1.findid.i_family_necklace_member.remove
ctag.atilacak =
FOR 1 <eval (<def0.familymaxmember>)>
IF (<argo.tag0.member<dlocal._for>> == <ref1.uid>)
argo.tag.member<dlocal._for> =
return 1
ENDIF
ENDFOR
else
src.sys_error Bu kolye degil..
return 1
ENDIF
[dialog d_ailedagit]
0,0
resizepic 100 100 5120 300 150
resizepic 110 110 3000 280 130
dtext 130 130 0456 <obj.tag0.soyisim> ailesini
dtext 130 149 0456 dagitmak istediginize emin misiniz?
button 150 180 2714 2715 1 0 1
button 150 200 2714 2715 1 0 2
dtext 170 180 0456 Evet
dtext 170 200 0456 Hayir
[dialog d_ailedagit button]
on=2
return 1
on=1
serv.allclients sysmessage @1153 <obj.tag0.soyisim> ailesi dagitilmistir.
FOR 1 <eval (<def0.familymaxmember>)-1>
IF !(<isempty <obj.tag.member<dlocal._for>>>)
try uid.<obj.tag.member<dlocal._for>>.name = <uid.<obj.tag.member<dlocal._for>>.tag.realname>
try uid.<obj.tag.member<dlocal._for>>.tag.soyisim =
try uid.<obj.tag.member<dlocal._for>>.tag.realname =
try uid.<obj.tag.member<dlocal._for>>.findid.i_family_necklace_member.remove
src.sys_normal <uid.<obj.tag.member<dlocal._for>>.name> aileden cikartildi.
obj.tag.member<dlocal._for> =
ENDIF
ENDFOR
obj.remove
src.tag.soyisim =
src.update
src.name = <src.tag.realname>
src.tag.realname =
src.sys_normal Aileyi dagittiniz.
// kolyedeki üye listeleri
[DIALOG d_uyeler]
0,0
resizepic 0 35 5120 250 400
resizepic 10 45 3000 230 380
dtext 30 45 1153 <obj.tag0.soyisim> Ailesinin Uyeleri
FOR 0 <eval (<def0.familymaxmember>)>
IF !(<isempty <obj.tag.member<dlocal._for>>>)
dtext 35 <eval (<local._for>*20)+70> <qval (<uid.<obj.tag.member<dlocal._for>>.isonline>)? 040:025> <uid.<obj.tag.member<dlocal._for>>.name>
button 15 <eval (<local._for>*20)+70> 2714 2715 1 0 <eval (<dlocal._for>)+1>
ENDIF
ENDFOR
[DIALOG d_uyeler button]
on=1 15
src.ctag.member = <obj.tag.member<eval (<argn>)-1>>
sdialog d_uyedetay
return 1
[dialog d_uyedetay]
0,0
obj = <src.ctag0.member>
resizepic 100 100 5120 350 300
resizepic 110 110 3000 330 280
FOR 1 10
resizepic 125 <eval (<local._for>*20)+130> 3000 120 20
ENDFOR
FOR 1 10
resizepic 220 <eval (<local._for>*20)+130> 3000 200 20
ENDFOR
dtext 130 150 0456 Isim:
dtext 130 170 0456 Str:
dtext 130 190 0456 Dex:
dtext 130 210 0456 Int:
dtext 130 230 0456 Fame:
dtext 130 250 0456 Karma:
dtext 130 270 0456 Kills:
dtext 130 290 0456 Region:
dtext 130 310 0456 Skilltotal:
dtext 130 330 0456 Bankbalance:
dtext 230 150 0 <obj.name>
dtext 230 170 0 <obj.str> / <obj.hits>
dtext 230 190 0 <obj.dex> / <obj.stam>
dtext 230 210 0 <obj.int> / <obj.mana>
dtext 230 230 0 <obj.fame>
dtext 230 250 0 <obj.karma>
dtext 230 270 0 <obj.kills>
dtext 230 290 0 <obj.region.name>
dtext 230 310 0 <fval <obj.skilltotal>>
dtext 230 330 0 <obj.bankbalance>
[EOF]
Total votes: 0
Ultima Online 2 saat önce
Sphere Scripting 3 gün önce
Ultima Online 3 gün önce
Ultima Online 1 hafta önce
Duyurular 2 hafta önce
Sunucular 2 hafta önce
Ultima Online 3 hafta önce
Ultima Online 3 hafta önce
Ultima Online 1 ay önce
Ultima Online 1 ay önce
Sunucular 1 ay önce
Sunucular 1 ay önce
2024-10-31 22:47
2024-10-14 17:45
2024-09-26 14:21
2024-07-08 22:50
2024-07-08 22:34
2024-06-19 22:05
2024-06-01 02:19
2024-05-31 21:17
Yorumlar (0)