Kod:
[defname setting_house_system]
house_refreshtime = "15"
house_refreshfee = "5000"
house_max_egg = "3"
house_max_box = "3"
house_limit_partner = "5"
house_limit_friend = "15"
///// ortak,sahip,dost
house_membeR_0 = "dost"
house_member_1 = "ortak"
house_member_2 = "sahip"
//// ev seviyeleri ve esya limtileri ///
// ev seviyeleri
hi_multi_house_stone_plaster_smaill = "0"
hi_multi_tower = "2"
hi_multi_castle = "2"
//esya limitleri
[function get_storage_limit]
DOSWITCH <ARGs>
RETURN 3 75
RETURN 5 150
RETURN 7 300
ENDDO
[DIALOG d_house_main]
0,0
page 0
resizepic 100 120 5054 400 265
resizepic 110 130 3000 380 245
resizepic 200 70 5054 195 40
resizepic 210 80 3000 175 20
dorigin 110 130
dtext +120 -50 0 <serv.servname> Ev Paneli
dtext +20 +20 63 Ev Bilgileri
dhtmlgump +20 +50 170 150 0 0 <def.bfont_blue>Evin sahibi : <def.bfont_black><uid.<house_owner>.name><def.br><def.bfont_blue>Sabit eşya : <def.bfont_black><eval <strarg <house_lockeddown>>>/<streat <get_storage_limit <ddef.h<baseid>>>><def.br><def.bfont_blue>Kuluçka : <def.bfont_black><eval <streat <strarg <house_lockeddown>>>>/<strarg <get_storage_limit <ddef.h<baseid>>>><def.br><def.bfont_blue>Strongbox : <def.bfont_black><eval <streat <streat <house_lockeddown>>>>/<strarg <get_storage_limit <ddef.h<baseid>>>><def.bfont_black><def.br><def.br><def.bfont_blue>Ortaklar : <def.bfont_black><dhouse_membercount 1><def.br><def.bfont_blue>Dost sayısı : <def.bfont_black><dhouse_membercount 0> <def.br><def.bfont_blue>Kurulum : <def.bfont_black><strarg <tag.house_builddate>>
dhtmlgump +185 +30 160 50 0 0 <def.bfont_black>Bu ev <qval (<tag0.house_hatali>)?<def.bfont_red>hatali:<def.bfont_blue>düzgün> <def.bfont_black>inşa edilmiş.<def.br>Bu ev halka <qval !(<tag0.house_public>)?<def.bfont_lred>kapalı:<def.bfont_blue>açık>.
button +185 +85 2714 2715 1 0 1
dhtmlgump +210 +85 150 25 0 0 <def.bfont_black>Ortak ekle/kaldır.
button +185 +105 2714 2715 1 0 2
dhtmlgump +210 +105 150 25 0 0 <def.bfont_green>Dost ekle/kaldır.
button +185 +125 2714 2715 1 0 3
dhtmlgump +210 +125 150 25 0 0 <def.bfont_black>Evi kaldır.(re-deed)
button +185 +145 2714 2715 1 0 4
dhtmlgump +210 +145 150 25 0 0 <def.bfont_green>Evi transfer et.
button +185 +165 2714 2715 1 0 5
dhtmlgump +210 +165 150 25 0 0 <def.bfont_black>Evi halka <qval (<tag0.house_public>)?kapat:aç>.
button +185 +185 2714 2715 1 0 6
dhtmlgump +210 +185 150 25 0 0 <def.bfont_green>Evi satışa/kiraya çıkart.
if (<src.isgm>)
button +105 +215 2714 2715 1 0 201
dhtmlgump +130 +215 150 25 0 0 <def.bfont_black><qval (<tag0.house_onaylanmamis>)?Evi hatasız olarak onayla.:<DEF.BIG>HATALI EV !!>
endif
page 2
page 3
resizepic 100 400 5054 400 40
resizepic 110 410 3000 20
dtext 120 410 54 Evi kaldırmak istediğinizden emin misiniz ?
button 370 414 2103 2104 1 0 31
dtext 385 410 63 Evet.
button 420 414 2103 2104 1 0 0
dtext 435 410 38 Hayir.
page 4
resizepic 510 120 5054 200 265
resizepic 520 130 3500 180 245
dtext 550 140 63 <qval !(0<args>==0)?Ortak:Dost> Listesi
local.y = 140
if (0<args>==1)
local.query = "> 0"
else
local.query = "< 1"
endif
for <src.ctag0.page_limit> (<src.ctag0.page_limit>+9)
if 0<streat <list.house_<uid>.<dlocal._For>>>>
if <strarg <src.ishmember <uid>>> <local.query>
local.y +=20
if (<house_owner>==<src.uid>) || (<src.account.plevel> > 4)
button 535 (<local.y>+4) 2103 2104 1 0 (50+<local._for>)
endif
ref15 = <streat <list.house_<uid>.<dlocal._For>>>>
dcroppedtext 550 <local.y> 80 17 1153 <ref15.name>
endif
endif
endfor
if (<house_owner> == <src.uid>) || (<src.account.plevel> > 4)
button 570 345 2714 2715 1 0 <qval !(0<args>==0)?33:34>
dtext 590 345 1153 <qval !(0<args>==0)?Ortak:Dost> ekle
endif
button 680 345 015e1 015e5 1 0 41
button 530 345 015e3 015e7 1 0 42
page 5
if (<src.ctag0.house_member>)
resizepic 100 400 5054 400 70
resizepic 110 410 3500 380 50
dtext 120 410 54 <uid.<src.ctag0.house_member>.name> üye listesinden çıkartmak istediğinize emin misiniz ?
dtext 135 430 63 Evet.
button 120 434 2103 2104 1 0 32
dtext 335 430 38 Hayir.
button 320 434 2103 2104 1 0 0
endif
page 6
resizepic 510 120 5054 200 265
resizepic 520 130 3000 180 245
dtext 550 140 63 Satılık/Kiralık işlemi
dtext 550 180 39 Fiyat :
dtextentrylimited 593 180 120 20 1152 1 7 <var.blank>
radio 550 210 56 55 0 1
radio 550 230 56 55 0 2
dtext 570 210 1153 Kiralıik
dtext 570 230 1153 Satılık
dhtmlgump 530 260 150 100 0 0 <def.bfont_black>Kira süresi : <def.bfont_yellow>1 haftadır.<def.bfont_black><def.br>Satış yapabilmek için evinizde sabit eşya bulunmamalı.
button 550 340 4005 4006 1 0 35
dtext 585 340 1153 Tamamla.
[DIALOG d_house_main button]
ON=1
sdialog d_house_main,4 1
ON=2
sdialog d_house_main,4 0
ON=3
sdialog D_house_main,3
ON=4
if <house_owner> != <src.uid>
src.sysmessage @38,,1 bu işlemi sadece ev sahibi kullanabilir.
return 1
endif
src.targetf transfer_house <uid>
src.sysmessage @1153,,1 Evi devretmek istediğiniz kişiyi seçin ?
ON=5
if <house_owner> != <src.uid>
src.sysmessage @38,,1 bu işlemi sadece ev sahibi kullanabilir.
return 1
endif
if (<tag0.house_public>)
if (0<house_vendors>)
src.sysmessage @38,,1 Evinizde vendor varken evinizi halka kapatamazsınız.
return 1
endif
tag.house_public =
src.sysmessage @1153,,1 Evi halka kapattınız.
else
tag.house_public =1
src.sysmessage @1153,,1 Eviniz halka açılmıştır.
endif
ON=6
if <house_owner> != <src.uid>
src.sysmessage @38,,1 Bu özelliği sadece ev sahibi kullanabilir.
return 1
endif
sdialog d_house_main,6
ON=31 // redeed
if <house_owner> == <src.uid>
serv.newitem i_deed,1,<src.uid>
new.more1 = <baseid>
new.name Deed To <name>
src.tag.house =
ref1 = <uid>
forinstances i_key_copper
if (<link.uid>==<ref1.uid>)
remove
endif
endfor
list.house_<uid>.clear
remove
src.sysmessage @1153,,1 Evi kaldırdınız.
else
src.sysmessage @38,,1 Evi sadece evin sahibi kaldırabilir.
endif
ON=32
remove_hmember <src.ctag0.house_resignuid>
ON=33,34
// 33 ortak, 34 dost
targetf add_member <uid>,<qval <argn>==33)?1:0>
src.sysmessage @39,,1 <qval (<argn>==33)?Ortak:Dost> eklemek istediginiz kişiyi seçin ?
ON=35
if (<eval <strarg <house_lockeddown>>> > 1)
src.sysmessage @38,,1 Evi satışa/kiralığa çıkartabilmeniz için evinizde sabit esya bulunmamalıdır.
elif (0<house_vendors> > 0)
src.sysmessage @38,,1 Evinizde kurulu vendor varken evinizi satılığa/kiralığa çıkartamazsınız.
elif! (<argchk[1]>) && !(<argchk[2]>)
src.sysmessage @38,,1 Evi kiralık yada satılık olarak işaretlemelisiniz.
sdialog d_house_main,6
elif! (<isnumeric <argtxt[1]>>)
src.sysmessage @38,,1 fiyat kısmını hatalı girdiniz.
sdialog d_house_main,6
elif (<argtxt[1]> < 10000)
src.sysmessage @38,,1 Kira bedeli haftalık 10.000 altından daha düşük olamaz.
sdialog d_house_main,6
else
local.additionaltime = 10*60*60*24*15
tag.4sale = <qval (<argchk[1]>)?1:2>
tag.house_saleprice = <argtxt[1]>
tag.house_saleclose_date = <serv.time> + <local.additionaltime>
src.sysmessage @1153,,1 Evinizi <qval (<argchk[1]>)?kiralık:satılık> olarak işaretlediniz.(<bolukayir <dtag.house_saleprice>>gp)
endif
ON=20 // refreshhouse
if (<src.gold> < <def.house_Refreshfee>)
src.sysmessage @38,,1 Evinizi yenileyebilmek için <bolukayir <ddef.house_refreshfee>> altın gereklidir.
else
src.gold -=<def.house_Refreshfee>
timer = <def.house_refreshtime>*60*60*24
src.sysmessage @63,,1 Ev başarıyla yenilendi.
endif
ON=50,100
local.argn = (<argn>-50)
ref1 = <streat <list.house_<uid>.<dlocal.argn>>>
src.ctag.house_member = <ref1.uid>
src.ctag.house_resignuid = <dlocal.argn>
sdialog d_house_main,5
ON=201
tag.house_onaylanmamis = <qval (<tag0.house_onaylanmamis>)?0:1>
src.sysmessage @1153,,1 Evi <qval (<tag0.house_onaylanmamis>)?hatalı:hatasız> olarak işaretlediniz.
[function house_membercount]
for 0<f_arraY_lenght <tag0.members>>
if (<eval <strarg <f_array <tag0.members>,<dlocal._for>>>> == 1)
local.members +=1
elseif (<eval <strarg <f_array <tag0.members>,<dlocal._for>>>> < 1)
local.friends +=1
endif
endfor
return <qval (<argn>==1)?<local.members>:<local.friends>>
[function remove_hmember]
LIST.house_<uid>.<dargs>.REMOVE
[function house_vendors]
ref1 = <uid>
forchars 100
if (<region.uid> == <ref1.uid>) && (<brain> == brain_vendor)
local.vendors ++
endif
endfor
[function house_lockeddown]
ref1 = <uid>
foritems 100
if !(<type> == t_multi) && (<region.uid>) == <ref1.uid>) && (<attr>&attr_move_never)
local.items ++
if (<baseid>==i_kulucka)
local.kulucka ++
elif (<baseid>==i_house_Strongbox)
local.strongbox ++
elif (<type>==t_door) ||(<type>==t_door_locked)
local.doors ++
endif
endif
endfor
return <eval <local.items>-<local.doors>> <local.kulucka> <local.strongbox>
[function house_owner]
local.a = <streat <list.house_<uid>.0>>>
local.b = <EVAL strlen(<local.a>)>
return <strsub <local.b> <eval <local.b>-2> <streat <list.house_<uid>.0>>>
[function getuid_fromacc]
ref1 = <serv.account.<ARGS>.char.0>
for 0 (<ref1.account.chars>-1)
ref2 = <ref1.account.char.<dlocal._for>>
if (<ref2.tag.house>)
return <ref2.uid>
endif
endfor
[function ishmember]
ref1 = <args>
for list 0 2
if 0<list.house_<ref1.uid>.findelem "<dlocal.list> <uid>"> >= 0
return <list.house_<ref1.uid>.<list.house_<ref1.uid>.findelem "<dlocal.list> <uid>">>
endif
endfor
return 0
[ITEMDEF 0bd1]
//brass sign
DEFNAME=i_sign_brass
TYPE=T_SIGN_GUMP
TDATA2=064
FLIP=1
RESOURCES=2 I_BOARD, 1 i_ingot_iron
CATEGORY=Decoration - Signs
SUBSECTION=Blank
DESCRIPTION=Brass Blank
DUPELIST=0bd2
ON=@create
timerf 1,link.timer = <def.house_refreshtime>*60*60*24
timerf 1,link.tag.house_builddate = <serv.rtime>
timerf 1,link.tag.house_onaylanmamis = 1
timerf 1,region.events +r_player_house
ON=@click
if (<link.tag0.4sale> == 1)
message @1153,,1 [Kiralik]
elif (<link.tag0.4sale> == 2)
message @1153,,1 [Satilik]
endif
message @07d4,,1 [<f_zamangoster <link.timer>>]
message @1153,,1 <link.name>
return 1
ON=@dclick
if !(0<list.house_<link.uid>.count>)
serv.list.house_<link.uid>.add 2 <src.uid>
src.tag.house = 1
serv.allclients house_message <link.uid>
src.sysmessage @53,,1 Ev artik size aittir. Yetkililer tarafindan onaylandiktan sonra kullanabilirsiniz.
endif
if (<src.ishmember <link.uid>>)
link.sdialog d_house_main
else
if (<link.tag0.4sale>)
link.sdialog d_house_buy
endif
if <src.isgm>
link.sdialog d_house_main
endif
endif
return 1
ON=@timer
remove
return 1
[itemdef i_house_Strongbox]
id i_box_brass
name strongbox
tdata2 04b
ON=@create
timer -1
attr attr_move_never
ON=@click
message @07d4,,1 [<link.name>]
ON=@dclick
if (<src.uid> != <link.uid>) || (<src.account.plevel> < 5)
return 1
endif
ON=@destroy
if (<rescount> > 0)
serv.newitem i_backpack
forcont <uid>
if (<type> != t_corpse)
cont = <new.uid>
local.items .=,<name>-<uid>
endif
endfor
new.cont = <link.findlayer.layer_bankbox>
serv.log ## Strongbox silindi. sahibi : <link.uid> icindeki esyalar : <strsub 1 0 <local.items>>
endif
[itemdef i_kulucka]
[function add_member]
ref1 = <argv[0]>
ref2 = <argo>
if !(<argo.isplayer>)
src.sysmessage @38,,1 Sadece oyunculari evinize üye yapabilirsiniz.
elif (<argo.region.uid> != <ref1.uid>)
src.sysmessage @38,,1 <argo.name> evin içinde degil.
elif (<argo> == <src>)
src.sysmessage @38,,1 Kendinize teklif gönderemezsiniz.
elif (<argo.ishmember <ref1.uid>>)
src.sysmessage @38,,1 <argo.name> bu eve zaten ortak yada dost.
elif (<list.house_<argo.region.uid>.count> == <def.house_limit_partner>)
src.sysmessage @38,,1 Evin ortak/dost limiti dolu.
else
serv.b <name>
argo.ctag.house_offer = <ref1.uid> <argv[1]>
trysrc <argo.uid> src.dialogclose d_house_offer_membership
argo.timerf clear
trysrc <argo.uid> src.sdialog d_house_offer_membership,0 <src.uid>
src.sysmessage @1153,,1 <argo.name> adli oyuncuya teklifiniz iletildi.
argo.sysmessage @1153,,1 <src.name> adli oyuncu sizi evine <qval (<argn>)?ortak:dost>) olarak eklemek istiyor.
endif
[dialog d_house_offer_membership]
0,0
page 0
resizepic 100 100 5054 400 70
resizepic 110 110 3000 380 50
timerf 10,dialogclose d_house_offer_membership
dtext 120 110 54 <uid.<args>.name> sizi evine <qval (<streat <ctag0.house_offer>>==1)?ortak:dost> olarak eklemek istiyor ?
dtext 135 130 63 Evet, onayliyorum.
button 120 134 2103 2104 1 0 1
dtext 305 130 38 Hayir, onaylamiyorum.
button 290 134 2103 2104 1 0 0
endif
[dialog d_house_offeR_membership button]
ON=0
src.sysmessage @1153,,1 Teklifi geri çevirdiniz.
ON=1
ref1 = <strarg <ctag0.house_offer>>
if (<src.ishmember <ref1.uid>>)
src.sysh_trk Bu eve zaten üyesiniz.
return 1
endif
list.house_<ref1.uid>.add=<streat <ctag0.house_offer>> <src.uid>
sysmessage @64,,1 Üyeliginiz tamamlandi.
clearctags house
/// speech
[speech spk_house]
ON=i wish to lock this down
if! (<src.ishmember <uid>>)
src.sysmessage @38,,1 Bu eve ortak yada dost degilsiniz.
return 1
endif
targetf house_edit_item 1
ON=i wish to release this
if! (<src.ishmember <uid>>)
src.sysmessage @38,,1 Bu eve ortak yada dost degilsiniz.
return 1
endif
targetf house_edit_item 2
ON=item down
if! (<src.ishmember <uid>>)
src.sysmessage @38,,1 Bu eve ortak yada dost degilsiniz.
return 1
endif
targetf house_edit_item 4
ON=item up
if! (<src.ishmember <uid>>)
src.sysmessage @38,,1 Bu eve ortak yada dost degilsiniz.
return 1
endif
targetf house_edit_item 3
ON=i wish to remove this
if! (<src.ishmember <uid>>)
src.sysmessage @38,,1 Bu eve ortak yada dost degilsiniz.
return 1
endif
targetf house_edit_item 5
ON=i ban thee
if! (<src.ishmember <uid>>)
src.sysmessage @38,,1 Bu eve ortak yada dost degilsiniz.
return 1
endif
targetf house_edit_item 6
ON=remove thyself
if! (<src.ishmember <uid>>)
src.sysmessage @38,,1 Bu eve ortak yada dost degilsiniz.
return 1
endif
targetf house_edit_item 6
ON=i wish to place a strongbox
if (<strarg <src.ishmember <uid>>> < 1)
src.sysmessage @38,,1 Strongbox koyabilmek için bu eve ortak olmalisiniz.
elif (<streat <streat <house_lockeddown>>> == <strarg <get_storage_limit <def.h<baseid>>>>)
src.sysmessage @38,,1 Evdeki strongbox sayisi <strarg <get_storage_limit <def.h<baseid>>>> dan fazla olamaz.
elif (<hasstrongbox <src.uid>>)
src.sysmessage @38,,1 Bu evde zaten bir strongboxunuz var.
else
serv.newitem i_house_Strongbox
new.attr attr_move_never
new.link = <src.uid>
new.p = <src.p>
link.say @1153,,1 <src.name> strongbox ekledi.
endif
[function hasstrongbox]
ref1 = <args>
foritems 100
if (<baseid>==i_house_Strongbox) && (<region.uid> == <src.region.uid>)
if (<link.uid>==<ref1.uid>)
return 1
endif
endif
return 0
[function house_edit_item]
if! (<src.ishmember <region.uid>>)
src.sysmessage @38,,1 Bu eve ortak yada dost degilsiniz.
return 1
endif
if (<args>==1)
ref7 = <region.uid>
serv.b
if <eval <strarg <ref7.house_lockeddown>>> > <streat <get_storage_limit <ddef.h<ref7.baseid>>>>
src.sysmessage @38,,1 Evdeki sabit esya sayisi çok fazla.
return 1
endif
if <argo.isneartype t_sign_gump 2>
src.sysmessage @38,,1 Evin ban bolgesinin 3kare yakinina item sabitleyemezsiniz.
return 1
endif
if ((<argo.type> == t_stone_guild) || (<argo.type> == t_spell) || (<argo.baseid> == i_corpse) || (<argo.type> == t_blood) || (<argo.baseid> == i_sticks) || (<argo.baseid> == i_deed_dummyn) || (<argo.type> == T_WEAPON_MACE_STAFF))
src.sysmessage @38,,1 Bunu evinize sabitleyemezsiniz.
elseif (<argo.cont>)
src.sysmessage @38,,1 Sabitlemek istediginiz esya yerde durmali.
elseif (<argo.attr>&attr_move_never)
src.sysmessage @38,,1 Bu esya zaten sabitlenmis.
elseif (<argo.link.isitem>) || (<argo.link.ischar>)
src.sysmessage @38,,1 Bunu sabitleyemezsiniz.
else
argo.link <uid>
argo.attr <argo.attr>&~attr_decay
argo.attr <argo.attr>|attr_move_never
argo.timer -1
argo.message @07d4,,1 [sabit]
if ((<argo.type>) == t_book)
argo.more 1
endif
argo.update
endif
elif (<args>==2)
iF (<argo.baseid> == i_guildstone)
src.sysmessage @38,,1 Lonca tasini kaldiramazsiniz bu sekilde.
return 1
ENDIF
if (<argo.baseid> == i_bones)
src.sysmessage @38,,1 Cesetler üzerinde bu islemi yapamazsiniz.
return 1
endif
if (<argo.baseid> == i_loom_upright)
local.act <argo.uid>
try uid.<uid.<args>.tag0.<local.act>part>.remove
try uid.<uid.<args>.tag0.<uid.<args>.tag0.<local.act>part>part>.remove
try uid.<args>.tag0.<local.act>part
try uid.<args>.tag0.<uid.<args>.tag0.<local.act>part>part
try serv.newitem i_deed_loom_n
try new.bounce
return 1
endif
if (<argo.baseid> == i_pentagram)
if! (<argo.dispid> == 0fea)
src.sysmessage @38,,1 Pentagrami kaldirmak için ortasini seçiniz.
return 1
else
local.act <argo.uid>
argo.remove
for 1 8
try uid.<uid.<args>.tag0.<local.act>part<dlocal._for>>.remove
try uid.<args>.tag0.<local.act>part<dlocal._for>
endfor
try serv.newitem i_deed_pentagram
try new.bounce
return 1
endif
endif
IF (<ARGO.ISITEM>)
IF ((<ARGO.TYPE>==t_door_locked) || (<ARGO.TYPE>==t_door) || (<ARGO.TYPE>==t_sign_gump) || (<ARGO.TYPE>==t_stone_guild)) && !(<argo.baseid> == i_bar_door_ne)
src.sysmessage @38,,1 Hatali seçim.
RETURN 1
ENDIF
if (strmatch('<argo.dispid>','i_nest_with_eggs'))
src.sysmessage @38,,1 Yumurtayi çikartmadan kuluçkayi kaldiramazsiniz.Yumurtaniz olgunlasmissa çift tiklayarak çikartabilirsiniz.
return 1
endif
if (strmatch('<argo.baseid>','i_house_Strongbox'))
src.sysmessage @38,,1 Remove komutuyla kaldirmalisiniz.
return 1
endif
if! (<ARGO.CONT>)
IF (<ARGO.REGION.UID>==<src.region.uid>)
IF (<ARGO.TYPE>==t_container)
LOCAL.RESCOUNT=<ARGO.RESCOUNT>
ENDIF
if (<ARGO.ATTR> & attr_move_never)
TRY UID.<ARGO.UID>.LINK=0fffffff
TRY UID.<ARGO.UID>.ATTR=<ARGO.ATTR>-attr_move_never
TRY UID.<ARGO.UID>.ATTR=<ARGO.ATTR>+attr_decay
TRY UID.<ARGO.UID>.SAY=[Sabit degil]
TRY UID.<ARGO.UID>.EVENTS -t_locked_down
TRY UID.<ARGO.UID>.TIMER=<eval <SERV.DecayTimer>*60>
TRY UID.<ARGO.UID>.UPDATE
else
src.sysmessage @38,,1 Bu esya sabitlenmemis.
endif
else
src.sysmessage @38,,1 Bu esya evde degil.
endif
endif
endif
elif (<args>==3)
if! (<argo.isitem>)
src.sysmessage @38,,1 Sadece esyalarin pozisyonunu degistirebilirsiniz.
return 1
endif
IF (<SRC.UID.<SRC.REGION.UID>.TYPE>==t_multi) || (<SRC.UID.<SRC.REGION.UID>.TYPE>==t_multi_custom)
if! (<argo.REGION.UID>==<REGION.uid>)
src.sysmessage @38,,1 Bu esya evde degil.
return 1
endif
endif
if! (<argo.attr>&attr_move_never)
src.sysmessage @38,,1 Önce esyayi sabitlemelisiniz.
return 1
endif
if ((<argo.baseid> == i_house_Strongbox) || (<argo.type> == t_spell) || (<argo.baseid> == i_corpse) || (<argo.type> == t_blood) || (<argo.type> == t_door) || (<argo.type> == t_door_locked) || (<argo.type> == t_sign_gump) || (<argo.type> == t_stone_guild) || (<argo.baseid> == i_forge) || (<argo.baseid> == i_anvil) || (<argo.baseid> == i_training_dummy) || (<argo.baseid> == i_pickpocket_dip) || (<argo.baseid> == i_spinning_wheel) || (<argo.baseid> == i_loom_upright) || (<argo.baseid> == i_pentagram) || (<argo.type> == t_deed))
src.sysmessage @38,,1 Bu esyanin pozisyonuyla oynayamazsiniz.
return 1
endif
ref1 = <region.uid>
if ((<ref1.baseid> == i_multi_house_3room) || (<ref1.baseid> == i_multi_house_stone_plaster_small) || (<ref1.baseid> == i_multi_house_stone_small) || (<ref1.baseid> == i_multi_house_stone_brick_small) || (<ref1.baseid> == i_multi_house_stone_wood_small) || (<ref1.baseid> == i_multi_house_wood_plaster_small) || (<ref1.baseid> == i_multi_house_wood_thatched_small) || (<ref1.baseid> == i_multi_shop_blacksmithy_large))
if (<argo.p.z> >= <eval (<p.z> + 25)>)
src.sysmessage @38,,1 Bu esyayi daha fazla yükseltemezsiniz.
else
argo.nudgeup
endif
elseif ((<ref1.baseid> == i_multi_keep) || (<ref1.baseid> == i_multi_castle) || (<ref1.baseid> == i_multi_house_patio_sand) || (<ref1.baseid> == i_multi_villa_2story) || (<ref1.baseid> == i_multi_cabin_log_2story) || (<ref1.baseid> == i_multi_house_wood_plaster_2story) || (<ref1.baseid> == i_multi_house_stone_plaster_2story))
if (<argo.p.z> >= <eval (<p.z> + 45)>)
src.sysmessage @38,,1 Bu esyayi daha fazla yükseltemezsiniz.
else
argo.nudgeup
endif
elseif ((<ref1.baseid> == i_multi_shop_stone_small) || (<ref1.baseid> == i_multi_shop_marble_small) || (<ref1.baseid> == i_multi_house_patio_marble) || (<ref1.baseid> == i_multi_tower_wizard))
if (<argo.p.z> >= <eval (<p.z> + 65)>)
src.sysmessage @38,,1 Bu esyayi daha fazla yükseltemezsiniz.
else
argo.nudgeup
endif
elseif (<ref1.baseid> == i_multi_tower)
if (<argo.p.z> >= <eval (<ref1.p.z> + 85)>)
src.sysmessage @38,,1 Bu esyayi daha fazla yükseltemezsiniz.
else
argo.nudgeup
endif
else
src.sysmessage @38,,1 Evinizin tipi bu komutu desteklemiyor.Anormal bir durumda bu uyariyi aliyorsaniz page atiniz.
endif
elif (<args>==4)
if! <argo.isitem>
src.sysmessage @38,,1 Sadece esyalarin pozisyonunu degistirebilirsiniz.
return 1
endif
IF (<SRC.UID.<SRC.REGION.UID>.TYPE>==t_multi)// || (<SRC.UID.<SRC.REGION.UID>.TYPE>==t_multi_custom)
if! (<argo.REGION.UID>==<REGION.uid>)
src.sysmessage @38,,1 Bu esya evde degil.
return 1
endif
endif
if! (<argo.attr>&attr_move_never)
src.sysmessage @38,,1 Önce esyayi sabitlemelisiniz.
return 1
endif
if ((<argo.baseid> == i_house_Strongbox) || (<argo.type> == t_spell) || (<argo.baseid> == i_corpse) || (<argo.type> == t_blood) || (<argo.type> == t_door) || (<argo.type> == t_door_locked) || (<argo.type> == t_sign_gump) || (<argo.type> == t_stone_guild) || (<argo.baseid> == i_forge) || (<argo.baseid> == i_anvil) || (<argo.baseid> == i_training_dummy) || (<argo.baseid> == i_pickpocket_dip) || (<argo.baseid> == i_spinning_wheel) || (<argo.baseid> == i_loom_upright) || (<argo.baseid> == i_pentagram) || (<argo.type> == t_deed))
src.sysmessage @38,,1 Bu esyanin pozisyonuyla oynayamazsiniz.
return 1
endif
if (<argo.p.z> < <ref1.p.z>)
src.sysmessage @38,,1 Bu itemi daha fazla indiremezsiniz.
return 1
endif
argo.nudgedown
elif (<args>==5)
if! (<argo.REGION.UID>==<REGION.uid>)
src.sysmessage @38,,1 Bu esya evde degil.
return 1
endif
if (<argo.baseid> != i_house_Strongbox)
src.sysmessage @38,,1 Sadece strongbox'u kaldirabilirsiniz.
return 1
endif
if (<strarg <src.ishmember <argo.region.uid>>> < 2)
if (<argo.link> != <src.uid>)
src.sysmessage @38,,1 Bu strongbox size ait degil.
return 1
endif
endif
argo.remove
src.sysmessage @1153,,1 Strongbox kaldirildi.
elif (<args>==6)
if (<src.action> == skill_magery)
src.sysmessage @38,,1 Büyü atarken konusamazsiniz.
return 1
endif
IF (<src.flags>&statf_dead)
src.sysmessage @38,,1 Bu komutu ölüyken kullanamazsiniz.
return 1
ENDIF
IF (<SRC.UID.<SRC.REGION.UID>.TYPE>==t_multi) || (<SRC.UID.<SRC.REGION.UID>.TYPE>==t_multi_custom)
if (<src.isevent.e_ibantheeyok>)
src.sysmessage @38,,1 Biraz beklemelisiniz.
return 1
endif
else
src.sysmessage @38,,1 Sadece ev içinde kullanabilirsiniz
return 1
ENDIF
IF (<ARGO.ISPLAYER>)
IF (<ARGO.REGION.UID>!=<src.REGION.UID>)
src.sysmessage @38,,1 <ARGO.NAME> evde degil.
RETURN 1
ELIF (<ARGO.UID>==<SRC.UID>)
src.sysmessage @38,,1 Kendini atamazsin.
RETURN 1
ELIF (<argo.account.plevel> > 1)
src.sysmessage @38,,1 Yetkilileri evden atamazsin.
RETURN 1
ELIF <strarg <argo.ishmember <region.uid>>>
src.sysmessage @38,,1 <argo.name> eve dost yada ortak.
RETURN 1
endif
ENDIF
TRY UID.<ARGO.UID>.GO=<Uid.<region.uid>.link.p>
TRY UID.<ARGO.UID>.FIX
src.events +e_ibantheeyok
src.timerf 1,events -e_ibantheeyok
RETURN 1
elseIF (<ARGO.npc>)
IF (<ARGO.REGION.UID>!=<UID.<ARGS>.REGION.UID>)
src.sysmessage @38,,1 <ARGO.NAME> evde degil.
RETURN 1
endif
IF (<argo.barin> == brain_vendor)
src.sysmessage @38,,1 Vendoru evden atamazsin.
RETURN 1
endif
TRY UID.<ARGO.UID>.GO=<UID.<ARGS>.P>
TRY UID.<ARGO.UID>.FIX
RETURN 1
ELSE
src.sysmessage @38,,1 Sadece oyunculari seçebilirsiniz.
ENDIF
[function transfer_house]
ref1 = <args>
ref2 = <argo>
if !(<argo.isplayer>)
src.sysmessage @38,,1 evi sadece oyunculara devredebilirsiniz.
return 1
endif
if (<strarg <ref2.ishmember <ref1.uid>>>)
src.sysmessage @38,,1 <argo.name> eve dost yada ortak oldugu sürece evi <argo.name>'e devredemezsiniz.
return 1
endif
if (<argo.tag0.house>)
src.sysmessage @38,,1 <argo.name> zaten bir eve sahip. Her karakter max. 1 eve sahip olabilir.
return 1
endif
if (0<ref1.house_vendors> > 0)
src.sysmessage @38,,1 Evinzide kurulu vendor varken evi devredemezsiniz.
return 1
endif
list.house_<ref1.uid>.clear
list.house_<ref1.uid>.add =2 <argo.uid>
argo.sysmessage @63,,1 <src.name> evini size devretmistir. Tüm ortak ve dostlar temizlenmistir.
src.sysmessage @1153,,1 Evi <argo.name>'e devrettiniz.
src.tag.house
//// events
[regiontype r_player_house]
ON=@enter
if (<src.isplayer>)
src.events +e_player_house
endif
if (<region.tag0.house_hatali>)
src.sysmessage @38,,1 Bu ev yetkililer tarafindan hatali olarak isaretlenmis.
return 1
elif (<uid.<region.uid>.tag0.house_onaylanmamis>==1)
src.sysmessage @54,,1 Bu ev yetkililer tarafindan henüz onaylanmamis.
return 1
endif
ON=@exit
src.events -e_player_house
[events e_player_house]
ON=@login
if! (<strarg <src.ishmember <region.uid>>>)
src.p <uid.<region.uid>.link.p>
src.fix
endif
[events e_ibantheeyok]
[typedef t_locked_down]
ON=@click
message @07d4,,1 [sabit]
////////////////////////// ev kiralama/satma islemleri ///////////////////////
[dialog d_house_buy]
0,0
page 0
if (<tag0.4sale>==1)
local.status = 0
elif (<tag0.4sale>==2)
local.status = 1
endif
resizepic 100 100 5054 400 190
resizepic 110 110 3000 380 170
dcroppedtext 120 110 370 20 54 <name> adli evin <qval (<local.status>)?satis:kira> bilgilerini inceliyorsunuz.
dhtmlgump 160 140 300 100 0 1 <def.bfont_lred><def.center><qval (<local.status>)?Satis:Kira> Kosullari<def.centere><def.bfont_black>Bu evin <qval (<local.status>)?satis fiyati:haftalik kirasi> <def.bfont_lred><bolukayir <dtag.house_saleprice>>gp.<def.bfont_black><def.br>Burayi <qval (<local.status>)?satin almak:kiralamak> için bankanizda yeterli miktarda nakit olmali.Kira süresi <def.bfont_lred>1 hafta<def.bfont_black>dir, her hafta yeniden uzatmaniz gerekir.Yer sahibi kira bedelini kira kontrati bittigi anda güncelleme hakkina sahiptir>
dtext 135 250 63 Evet,<qval (<local.status>)?satin al:kirala>.
button 120 254 2103 2104 1 0 1
dtext 305 250 38 Hayir, <qval (<local.status>)?satin almiyorum:kiralamiyorum>.
button 290 254 2103 2104 1 0 0
endif
[dialog d_House_Buy button]
ON=1
ref1 = <house_owner>
if (<src.gold> < <tag.house_saleprice>)
src.sysmessage @38,,1 Bu evin satis fiyati <bolukayir <dtag0.house_saleprice>>gp. Sizin <bolukayir <eval (<tag.house_saleprice>-<src.gold>)>>gp'ye daha ihtiyaciniz var.
elif (<src.tag0.house>)
src.sysmessage @38,,1 Bu evi alabilmek için önce mevcut evinizi kaldirmalisiniz.
else
if (<tag0.4sale>==1)
serv.newitem i_control_rentedhouse,1,<src.uid>,1
new.link = <uid>
new.more1 = <ref1.uid>
endif
src.gold -=<dtag.house_saleprice>>
ref1.gold +=<dtag.house_saleprice>>
ref1.sysmessage @1153,,1 Sahip oldugunuz <name>, <src.name> adli oyuncu tarafindan <bolukayir <dtag.house_saleprice>>gp karsiligindan satin alinmistir.
src.sysmessage @1153,,1 <bolukayir <dtag.house_saleprice>>gp ödendi. Ev artik size aittir.
list.house_<uid>.clear
list.house_<uid>.add =2 <src.uid>
tag.house_saleprice =
tag.4sale =
tag.house_saleclose_date =
more1 = <src.uid>
ref2 = <uid>
forinstances i_key_copper
if <link.uid> == <ref2.uid>
remove
endif
endfor
serv.newitem i_key_copper,1,<src.findlayer.21>
new.link = <ref2.uid>
endif
[itemdef i_control_Rentedhouse]
id = i_memory
name = house reng controll
type = t_eq_script
ON=@create
attr attr_newbie|attr_invis
ON=@equip
serv.b @1152 hebele
timer = 60*60*60*7
ON=@timer
list.house_<link.uid>.clear
list.house_<link.uid>.add =2 <uid.<more1>.uid>
link.tag.house_saleprice =
link.tag.4sale =
link.tag.house_saleclose_date =
link.more1 = <cont.uid>
if <strarg <link.house_lockeddown>> > 1
link.send_house_items = <cont.uid>
endif
cont.sysmessage @1153,,1 <link.name> isimli kiralik evinizin kira süresi dolmustur. Ev eski sahibine iade edilmistir.
[function send_house_items]
ref1 = <args>
ref2 = <uid>
serv.newitem i_Backpack,1,<ref1.findlayer.layer_Bankbox>
local.new = <new.uid>
new.name = kiralik evdeki esyalariniz
new.attr = 00
foritems 100
if (<region.uid>==<ref2.uid>)
if (<baseid>==i_house_strongbox)
remove
endif
if (<link> != <ref2.uid>
if (<baseid> != i_kulucka)
attr &~attr_move_never
attr |attr_decay
timer = <SERV.DecayTimer>*60
cont = <new.uid>
else
serv.newitem i_ostard_egg,1,<local.new>
remove
endif
endif
endif
if (<uid.<local.new>.rescount> < 1)
uid.<local.new.rescount>.remove
endif
[ITEMDEF 0100e]
DEFNAME=i_key_copper
WEIGHT=0.1
VALUE=15
TYPE=T_KEY
CATEGORY=Provisions - Miscellaneous
SUBSECTION=Keys
DESCRIPTION=Copper Key
ON=@Create
attr attr_newbie
ON=@click
if (<more1>)
message @07d4,,1 [<uid.<more1>.name>]
endif
[function house_message]
if (<account.plevel> > 1)
trysrc <uid> dialogclose d_house_Approve
trysrc <uid> dialog d_house_Approve,0 <args>
endif
[dialog d_house_approve]
0,0
page 0
resizepic 0 0 9200 750 35
resizepic 10 10 730 15
ref1 = <args>
ref2 = <ref1.house_owner>
src.ctag0.house_p = <ref1.link.p>
dhtmlgump 12 8 495 23 0 0 <def.bfont_blue><uid.<ref1.house_owner>.name> <def.bfont_black>isimli oyuncu <def.bfont_blue><ref2.region.name><def.bfont_black>'de ev kurmustur.<def.bfont_blue> Onay bekleyen : <def.bfont_black> <dwaiting4approve>
button 500 10 2103 2104 1 0 1
dtext 515 7 1153 Tümüne bak.
button 600 10 2103 2104 1 0 2
dtext 615 7 1153 Ilgilen.
button 680 10 2103 2104 1 0 0
dtext 695 7 1153 Kapat.
[dialog d_house_approve button]
ON=1
src.evkontrol
ON=2
src.go <src.ctag0.house_p>
[function waiting4approve]
src.ctag0.house =
forinstances i_sign_Brass
if <link.type>==t_multi
if (<link.tag0.house_onaylanmamis>==1)
src.ctag0.house ++
src.ctag0.house_<dsrc.ctag.house> == <uid>
endif
endif
endfor
return <src.ctag0.house>
[DIALOG d_list_house_app]
0,0
page 0
resizepic 55 95 9200 450 300
resizepic 65 105 430 280
waiting4approve
dtext 143 111 54 Onay bekleyen ev listesi.(<dsrc.ctag0.house>)
local.x = 70
local.y = 150
for <src.ctag0.house_appage> (<src.ctag0.house_appage>+20)
if <src.ctag0.house_<dlocal._for>>
if (<local.y> > 350)
local.x +=250
local.y = 150
endif
ref1 = <src.ctag0.house_<dlocal._for>>
dhtmlgump (<local.x>+35) <local.y> 200 20 0 0 <def.bfont_black><ref1.link.name> - <def.bfont_lred>sahibi : <def.bfont_black><uid.<ref1.link.house_owner>.name>
button <local.x> <local.y> 4005 4006 1 0 (1+<dlocal._for>)
local.y +=20
endif
endfor
button 324 355 4005 4006 1 0 101
button 215 355 4014 4015 1 0 102
dtext 249 357 1153 Sayfa <eval (<src.ctag0.house_appage>/20)+1>/<eval (<src.ctag0.house>/20)+1>
[dialog d_list_house_App button]
ON=1,100
sayu go
src.go <uid.<src.ctag0.house_<eval <argn>-1>>.p>
ON=102
src.ctag.house_appage -=20
if (<src.ctag.house_appage> < 1)
src.ctag.house_appage
endif
sdialog d_list_house_App
ON=101
src.ctag.house_appage +=20
ref1 = <src.ctag.item_<dlocal._For>>
if <eval <src.ctag.house_appage>/20> > <eval <src.ctag0.house>/20>
src.ctag.house_appage =
endif
sdialog d_list_house_App
[function evkontrol]
waiting4approve
if (<src.ctag0.house> < 1)
src.sysmessage @38,,1 Onay bekleyen yada hatali ev yok.
else
src.sdialog d_list_house_app
endif
src.clearctags house
[FUNCTION bolukayir]
IF (<EVAL STRLEN(<ARGS>)> > 3)
LOCAL.STRLEN=<EVAL STRLEN(<ARGS>)>
LOCAL.CURRENTDIGIT=<EVAL STRLEN(<ARGS>)>
WHILE (<LOCAL.CURRENTDIGIT> > 3)
ARGS=<STRSUB 0 <EVAL (<LOCAL.CURRENTDIGIT> - 3)> <ARGS>>.<STRSUB <EVAL (<LOCAL.CURRENTDIGIT> - 3)> 50 <ARGS>>
LOCAL.CURRENTDIGIT -= 3
ENDWHILE
ENDIF
RETURN <ARGS>
[function isnumeric]
if strregex(^[0-9]+$,<args>)
return 1
else
return 0
endif
[function alphablack]
gumppictiled <argv[0]> <argv[1]> 2624 <argv[2]> <argv[3]>
checkertrans <argv[0]> <argv[1]> <argv[2]> <argv[3]>
[FUNCTION f_array_lenght]
return <dargv
[FUNCTION f_array]
local.temp = <argv[<eval <argv> - 1>]> -1
return <argv[<dlocal.temp>]>
[FUNCTION f_zamangoster]
if (<args> > 86400)
local.sure=<EVAL <args>/86400> gun <EVAL <EVAL <args>%86400>/3600> saat <EVAL <EVAL <EVAL <args>%86400>%3600>/60> dakika <EVAL <EVAL <EVAL <args>%86400>%3600>%60> saniye
Elseif (<args> > 3600)
local.sure=<EVAL <args>/3600> saat <EVAL <EVAL <args>%3600>/60> dakika <EVAL <EVAL <args>%3600>%60> saniye
Elseif (<args> > 60)
local.sure=<EVAL <args>/60> dakika <EVAL <args>%60> saniye
Else
local.sure=<args> saniye
Endif
return <local.sure>
[EOF]
bu scriptin içinde
Kod:
if (<src.ishmember <link.uid>>)
if <strarg <src.ishmember <uid>>> <local.query>
gibi satırlar niçin bu undefined symbol hatasını veriyo yardım edebilir misiniz acaba