Merhaba bu konu altında sanırım bolbol fikir danışcam.İlkkez 56c için ev sistemi yapmaya calısıyorum umarım takıldıgım yerde sizlerden yardım alabilirim.
Şuan için sıkıntılarım
Evi kurdugumuzda kuran kişinin evin sahibi olamaması.Beceremedim sanırım :D tamamen i_sign_brass üzerinden MORE ile evin sahibini kaydetmek istiyorum yani region.tag.ower felan değilde direk i_sign_brass'ın more değeri kişinin UİD'i olacak bunu elle yaptıgımda sistem calısıyor ama evi kurunca otomatik ev sahibi yapamadım bitürlü :)

Tabelayı silince (.remove) evinde silinmesi gerekli ama oda olmadı.

Birde tabela timer ile calıscak timer sıfırlanırsa silincek onuda yapamadım sadece tabela gidiyor cünki link işini yapamadım multiye.

Sanırım ben bu link işini beceremedim aslında önce dialogları yazdıgım icin birazda kafam bulandı busefer tersten başladık napalım artık siz üstadların vercegi akıl ve fikirlerle bitircem inşallah bunu :)
Members
14.4
Tabela more1 i. Ev kayit eder tabelaya cift tikladigin zaman
Uid.<more1>.sdialog d_asd diye yap. Evin sahibini gostermes icinde <uid.<more1>.name> yap senin uidin evin more1 inde kayitlidir.
corujanın ev sistemini detaylıca incele. tam donanımlı bir housing scripti yapmak gerçekten zor bir iş. öncelikle gerekli parametreleri ve özellikleri nasıl yapacağını, daha önceki sistemlerde kullanılan yöntemleri artı eksileriyle bir analiz et. daha sonra scripti yazmaya başla. eminim daha başarılı olacaksın.
Uur tabelada ismi yazdırmak meselem değil okadarını zaten yapabildimde.Evi kurduğum anda tabelayı ev multisine linklemek ve kuran kişiyi sahibi yapmak istiyorum yani anlatamıyorumda :) more1 sahibi diyorsunda yani nasıl neye göre bunu anlamadım otomatikmanmı more1 atıyor yoksa biz bir döngüdemi yapacaz onu bi çözemedim işte :)

@Noxier

bahsettigin scripti bulamadım buldugum coğu script 55r den kalma bi script herkez biraz editlemiş koymuş.Bu konu hakkında bir dökümanda yok aslında basit usüllü bi ev sistemi düşünüyorum ancak birtek şu kurulum olkayını halledemedim yani elle ev sahibi yaptıktan sonra geri kalan herşey şuanda tamam illaki zamanla buglar cıkacak onlarda fixlenir elbet :) Şu olayı çözmem şart :D:D
Members
14.4
"OTOMATİKMAN" atıyor
tabelanın
@DESTROY
try uid.<more1>.remove ekle
Vallaha dediğini denedim ama otomatik olarak more1 hiçbir değer almıyor ve tabelaya @destroy döngüsünü ekledim ancak tabelayı silince ev sabit kalıyor hala :) Sanırım 56C kullandıgım için farklı bir durum var.


EKLEME: En son şöyle birşey yaptım.Evi kurdugumda sahibi oluyorum tabelayı silince evde gidiyor.Ancak stabilmidir eksik bir sorgu yapmışmıyım merak ettim o yüzden paylaşmak istedim bi bakarmısınız burda gereksiz bi sorgu veya eklenmesi gereken bi sorgu daha varmıdır :)


[function Evikur] ///////// Burda more1 'i static'e linkledik.Artık sahibide çözsek iyi olcak.
if (<link.baseid> == 0)
	return 1
elseif ((<link.timer> > 1) && (<link.timer> < 650)) // IDOC olayi budur, yuva yikar
	link.remove
elseif !(<more2> == 1)
	more2 1
        name House
        timer 259200
	type t_sign_gump
	name <link.name>
	more <link.uid>
	move 0 0 -1
        Message @1153,,1 Evinizi yenilemeyi unutmayın.
	link.move 0 0 -1
	link.link <uid>
	link.region.flags 0892
	link.region.events r_ev
	link.region.tag0.sahip <link.more1>
	link.tag.time <serv.time>
endif

Yukarıdaki kod'da aslında
elseif !(<more2> == 1) // Bu kısmı alıntı yaptım.More2 neyi simgeler aslında anlatsanız iyi olacak.

ŞUANLIK SORUNLARIM :
1-) evi kaldırınca içindeki wooden boxların silinmesi ve içinde eşya olan strongbox veya güvenli kasa varsa evin kaldırılmaması.
2-) Kurdugum ev'e yani multiye ait olan sign brass'ı scriptte nasıl çağırtabilirim yani <uid.<region.link>.name> gibisinden nasıl çağırabiliriz ? //// Bunu çözdüm evi kurarken region.tag0.tabela <uid> gibi kaydettim ve lazım olunca bunu cagırttım tabi tag'a gerek kalmadan cagırabilsek daha iyi olur aslında :)


UFAK TEFEKTE OLSA YARDIMI OLANLARA TEŞEKKÜR EDERİM.
Ben ev sistemimi yazdım bitirdim.İsteyen olursa diye burada paylaşmakta istedim sonuçta piyasadaki cogu ev sistemi sıkıntılı.
Öncelikle şunu belirteyim hiç denenmemiş ve kulllanılmamış bir sistem hatta daha yeni yazdım.
İllaki bug olacaktır.Sistemde EVE SABİTLENEBİLCEK İTEMLERİ BELİRTMENİZ ve bunları SABİTLE komutunda tanımlamanız evi kaldırırken BU İD LERİ SORGULATMANIZ lazım ! yani atıp direk kullanamazsınız.Temel olarak script calısır durumda. 2 ortak ve 5 dost eklenebiliyor evlere.
Bu döngüleri açık açık yazdımki ilk ve orta dereceli arkadaşlarımızda editleyebilsin kullanabilsin diye. Olabildigince local gibi şeyler kullanmadım basit düzenlenebilmesi icin.En temel şekliyle bi ev sistemidir.



[itemdef 0bd1]
defname i_sign_brass
type T_SIGN_GUMP
dupelist 0bd0,0bcf,0bd1,0ba4,0ba6,0ba8,0baa,0bac,0bae,0bb0,0bb2,0bb4,0bb6,0bb8,0bba,0bbc,0bbe,0bc0,0bc2,0bc4,0bc6,0bc8,0bca,0bcc,0bce,0bd0,0bd2,0bd4,0bd6,0bd8,0bda,0bdc,0bde,0be0,0be2,0be4,0be6,0be8,0bea,0bec,0bee,0bf0,0bf2,0bf4,0bf6,0bf8,0bfa,0bfc,0bfe,0c00,0c02,0c04,0c06,0c08,0c0a,0c0c

On=@Create
attr 012
timerf 1,evikur

On=@Timer
remove
try uid.<uid.<uid.<more1>.more1>>.hata <uid.<uid.<more1>.more1>region.name> bölgesindeki eviniz bakımsızlıktan yıkıldı !
return 1

On=@Click
if (<timer> > 86400)
message @02b,,1 [ <strarg <uid.<uid.<more1>.more1>.name>> ]
message @0b2,,1 <name>
return 1
else
message @02b,,1 [ <strarg <uid.<uid.<more1>.more1>.name>> ]
message @0846,,1 <name>
return 1
endif

On=@DClick
if (<region.tag0.sahip> == <src.uid>) || (<region.tag0.ortak1> == <src.uid>) || (<region.tag0.ortak2> == <src.uid>) || (<region.tag0.dost1> == <src.uid>) || (<region.tag0.dost2> == <src.uid>) || (<region.tag0.dost3> == <src.uid>) || (<region.tag0.dost4> == <src.uid>) || (<region.tag0.dost5> == <src.uid>)
if (<src.region.uid>==<link.uid>)
if (<timer> < 200000) && (<src.uid>==<region.tag0.sahip>)///// 3 gün süreli
src.sysmessage @0b2,,1 Evinizi yenilediniz.///////////////////EV YENİLEME
timer 259200////////////////////////////////////////////////// Olayını
endif/////////////////////////////////////////////////////////Buraya kodum
src.ctag0.isimdegistir <uid>
src.ctag0.evkaldir <link.uid>
src.sdialog d_ev_sahip
return 1
else
src.hata Evin içinde olmalısınız.
return 1
endif
else
src.ctag.evsahibi <uid.<uid.<more1>.more1>>
src.ctag.evismi <name>
if (<timer> < 129600)
src.ctag.evdurum Bakımsız
else
src.ctag.evdurum Yeni
endif 
src.sdialog d_ev_misafir
return 1
endif


on=@destroy /////////// Tabela silinince evde gidiyor 
try uid.<more1>.remove

[function Evikur] ///////// Burda evi kurduk inşallah :D
if (<link.baseid> == 0)
	return 1
elseif !(<more2> == 1) // Bu kısım bir scpten alıntı yapıldı.Sıkıntı cıkarabilir takip edelim.
	more2 1
	type t_sign_gump
	name <link.name>
        timer 259200
        name House
	more <link.uid>
	move 0 0 -1
	link.move 0 0 -1
	link.link <uid>
	link.region.flags 0892
	link.region.events r_ev
	link.region.tag0.sahip <link.more1>
	link.tag.time <serv.time>
        Message @1153,,1 Evinizi yenilemeyi unutmayın.
endif

////////////////// DİALOG /////////////////////
[dialog d_ev_sahip]
50,50
nomove
resizepic 0 0 9390 200 290
dhtmlgump 40 40 180 20 0 0 <def.bfont_white>Evinize hoş geldiniz.

dhtmlgump 60 60 180 20 0 0 <def.bfont_white>Banka aç
button 40 60 55 56 1 0 1

dhtmlgump 60 80 180 20 0 0 <def.bfont_white>Reslen
button 40 80 55 56 1 0 2

dhtmlgump 60 100 180 20 0 0 <def.bfont_green>Dost ekle
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)
button 40 100 55 56 1 0 3
endif

dhtmlgump 60 120 180 20 0 0 <def.bfont_red>Dost sil
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)
button 40 120 55 56 1 0 4
endif

dhtmlgump 60 140 180 20 0 0 <def.bfont_green>Ortak ekle
if (<region.tag0.sahip>==<src.uid>)
button 40 140 55 56 1 0 5
endif

dhtmlgump 60 160 180 20 0 0 <def.bfont_red>Ortak sil
if (<region.tag0.sahip>==<src.uid>)
button 40 160 55 56 1 0 6
endif

dhtmlgump 60 180 180 20 0 0 <def.bfont_black>Evi kaldır!
if (<region.tag0.sahip>==<src.uid>)
button 40 180 55 56 1 0 7
endif

dhtmlgump 60 200 180 20 0 0 <def.bfont_white>Ev ismi belirle
resizepic 58 220 3000 100 20
if (<region.tag0.sahip>==<src.uid>)
dtextentry 60 220 160 100 1152 1 <uid.<src.ctag.isimdegistir>.name>
button 40 220 55 56 1 0 8
else
dtext 60 220 1152 <uid.<src.ctag.isimdegistir>.name>
endif



[dialog d_ev_sahip button]
on=0
src.ctag.evisim

on=1

if (<region.tag0.sahip> == <src.uid>) || (<region.tag0.ortak1> == <src.uid>) || (<region.tag0.ortak2> == <src.uid>) || (<region.tag0.dost1> == <src.uid>) || (<region.tag0.dost2> == <src.uid>) || (<region.tag0.dost3> == <src.uid>) || (<region.tag0.dost4> == <src.uid>) || (<region.tag0.dost5> == <src.uid>)
bankself
return 1
else
src.hata Evinizin içinde olmalısınız.
return 1
endif

on=2
if (<region.tag0.sahip> == <src.uid>) || (<region.tag0.ortak1> == <src.uid>) || (<region.tag0.ortak2> == <src.uid>) || (<region.tag0.dost1> == <src.uid>) || (<region.tag0.dost2> == <src.uid>) || (<region.tag0.dost3> == <src.uid>) || (<region.tag0.dost4> == <src.uid>) || (<region.tag0.dost5> == <src.uid>)
if (<src.flags>&statf_dead)
src.newitem i_ev_reslen
new.equip <src>
src.flags <src.flags>|04
src.sysmessage @0b2,,1 30 sny içinde hayata döneceksiniz.
return 1
else
src.hata Ölü değilsiniz.
return 1
endif
else
src.hata Evin içinde olmalısınız.
return 1
endif

on=3
ref1=<src.ctag0.evkaldir>

if (<region.tag0.sahip> == <src.uid>) || (<region.tag0.ortak1> == <src.uid>) || (<region.tag0.ortak2> == <src.uid>) && (<src.region.uid>==<ref1>)
targetf dostekle
else
src.hata Sahibi yada ortağı olduğunuz evin içinde olmalısınız.
return 1
endif

on=4
ref1=<src.ctag0.evkaldir>

if (<region.tag0.sahip> == <src.uid>) || (<region.tag0.ortak1> == <src.uid>) || (<region.tag0.ortak2> == <src.uid>) && (<src.region.uid>==<ref1>)
sdialog d_dostsil
else
src.hata Evinizin içinde olmalısınız.
return 1
endif

on=5
ref1=<src.ctag0.evkaldir>

if (<region.tag0.sahip> == <src.uid>) && (<src.region.uid>==<ref1>)
targetf ortakekle
else
src.hata Sahibi olduğunuz evin içinde olmalısınız.
return 1
endif

on=6
ref1=<src.ctag0.evkaldir>

if (<region.tag0.sahip> == <src.uid>) && (<src.region.uid>==<ref1>)
sdialog d_ortaksil
else
src.hata Sahibi olduğunuz evin içinde olmalısınız.
return 1
endif

on=7
ref1=<src.ctag0.evkaldir>

if (<uid>==<region.tag0.sahip>) && (<region.uid>==<ref1>)
src.hata Evinizin içinde iken bu işlemi yapamazsınız.
return 1
endif

forchars 15
if (<region.uid> == <ref1>)
src.hata Evinizde <name> bulunduğu için işleme devam edemiyorsunuz.
return 1
endif
endfor

foritems 20
if (<type>==t_container) && (<region.uid> == <ref1>)
src.hata Evizdeki kutuları kaldırın.
return 1
endif
endfor

if !(<uid>==<uid.<ref1>.more1>)
src.hata Evin sahibi değilsiniz.
return 1
elseif (<hits> < <str>)
src.hata Yaralı iken evinizi kaldıramazsınız.
return 1
elseif (<src.uid.<src.uid.<src.memoryfindtype.memory_guard.link>.link>.distance> > 4)
	src.hata Evi tapu haline getirebilmek için tabelaya yakın olmalısınız.
return 1
else
ref1.remove
anahtartemizle
serv.newitem i_deed
new.more <uid.<ref1>.baseid>
new.name <uid.<ref1>.name>
new.bounce
new.attr 04
endif

on=8
ref1=<src.ctag0.evkaldir>

if (<src.region.uid>==<ref1>)
if (strmatch('<argtxt[1]>','')
src.hata İsim alanını boş bırakmayınız.
src.sdialog d_ev_sahip
return 1
endif

if (strmatch('<argtxt[1]>','<uid.<src.ctag0.isimdegistir>.name>')
src.hata Aynı ismi giremezsiniz.
src.sdialog d_ev_sahip
return 1
endif


for 0 <eval strlen(<argtxt[1]>) -1>
if !strmatch('[abcdefghijklmnoprstuvyzxq]','<strsub <eval <local._for>> 1 <argtxt[1]>>')
src.hata Hatalı karakter girildi.Sadece harf kullanılabilir.
src.sdialog d_ev_sahip
return 1
endif
endfor

if ((strlen(<argtxt[1]>) > 8) || ((strlen(<argtxt[1]>) < 1)
src.sdialog d_ev_sahip
src.hata Enaz 2, en fazla 8 karakter girilmelidir.
else
try uid.<src.ctag.isimdegistir>.name <argtxt[1]>
src.sysmessage @02b,,1 Evinizin ismi <argtxt[1]> olarak değişti.
return 1
endif
else
src.hata Evin içinde olmalısınız.
return 1
endif


//////////--------------///////////////

[dialog d_ev_misafir]
50,50
nomove
resizepic 0 0 9390 190 190
dhtmlgump 25 60 180 20 0 0 Yapı sahibi: <def.bfont_white><strarg <uid.<src.ctag.evsahibi>.name>>
dhtmlgump 25 80 180 20 0 0 Variyet : <def.bfont_white><eval <uid.<src.ctag.evsahibi>.gold>><def.bfont_yellow> gp.
dhtmlgump 25 100 180 20 0 0 Ev ismi : <def.bfont_white><src.ctag.evismi>
dhtmlgump 25 120 180 20 0 0 Ev durum : <def.bfont_white><src.ctag.evdurum>


[dialog d_ev_misafir button]
on=0
src.ctag.evsahibi
src.ctag.evdurum
src.ctag.evismi

//////////////-----------///////////
[dialog d_dostsil]
50,50
nomove
resizepic 0 0 9390 300 190

dhtmlgump 40 35 250 20 0 0 Kimi dostluktan men etmek istersiniz?

dhtmlgump 60 60 180 20 0 0 1-) <qval (<uid.<region.tag0.dost1>>)?<def.bfont_white><uid.<region.tag0.dost1>.name>:<def.bfont_red>Boş alan.>
dhtmlgump 60 80 180 20 0 0 2-) <qval (<uid.<region.tag0.dost2>>)?<def.bfont_white><uid.<region.tag0.dost2>.name>:<def.bfont_red>Boş alan.>
dhtmlgump 60 100 180 20 0 0 3-) <qval (<uid.<region.tag0.dost3>>)?<def.bfont_white><uid.<region.tag0.dost3>.name>:<def.bfont_red>Boş alan.>
dhtmlgump 60 120 180 20 0 0 4-) <qval (<uid.<region.tag0.dost4>>)?<def.bfont_white><uid.<region.tag0.dost4>.name>:<def.bfont_red>Boş alan.>
dhtmlgump 60 140 180 20 0 0 5-) <qval (<uid.<region.tag0.dost5>>)?<def.bfont_white><uid.<region.tag0.dost5>.name>:<def.bfont_red>Boş alan.>

button 40 60 56 56 1 0 1
button 40 80 56 56 1 0 2
button 40 100 56 56 1 0 3
button 40 120 56 56 1 0 4
button 40 140 56 56 1 0 5

[dialog d_dostsil button]

on=1
ref1=<src.ctag0.evkaldir>

if (<src.region.uid>==<ref1>)
if (<region.tag0.dost1>) && (<region.tag0.sahip>==<uid>) || (<region.tag0.ortak1>==<uid>) || (<region.tag0.ortak2>==<uid>)
src.sysmessage @55,,1 <uid.<region.tag0.dost1>.name> dostluktan men edilmiştir.
try uid.<region.tag0.dost1>.hata <strarg <name>> sizi evinin dostluğundan men etmiştir!
region.tag0.dost1
return 1
else
src.hata Bu alan boş veya siz evin sahibi/ortağı değilsiniz.
return 1
endif
else
src.hata Evinizin içinde olmalısınız.
return 1
endif


on=2
ref1=<src.ctag0.evkaldir>

if (<src.region.uid>==<ref1>)
if (<region.tag0.dost2>) && (<region.tag0.sahip>==<uid>) || (<region.tag0.ortak1>==<uid>) || (<region.tag0.ortak2>==<uid>)
src.sysmessage @55,,1 <uid.<region.tag0.dost2>.name> dostluktan men edilmiştir.
try uid.<region.tag0.dost2>.hata <strarg <name>> sizi evinin dostluğundan men etmiştir!
region.tag0.dost2
return 1
else
src.hata Bu alan boş veya siz evin sahibi/ortağı değilsiniz.
return 1
endif
else
src.hata Evinizin içinde olmalısınız.
return 1
endif


on=3
ref1=<src.ctag0.evkaldir>

if (<src.region.uid>==<ref1>)
if (<region.tag0.dost3>) && (<region.tag0.sahip>==<uid>) || (<region.tag0.ortak1>==<uid>) || (<region.tag0.ortak2>==<uid>)
src.sysmessage @55,,1 <uid.<region.tag0.dost3>.name> dostluktan men edilmiştir.
try uid.<region.tag0.dost3>.hata <strarg <name>> sizi evinin dostluğundan men etmiştir!
region.tag0.dost3
return 1
else
src.hata Bu alan boş veya siz evin sahibi/ortağı değilsiniz.
return 1
endif
else
src.hata Evinizin içinde olmalısınız.
return 1
endif


on=4
ref1=<src.ctag0.evkaldir>

if (<src.region.uid>==<ref1>)
if (<region.tag0.dost4>) && (<region.tag0.sahip>==<uid>) || (<region.tag0.ortak1>==<uid>) || (<region.tag0.ortak2>==<uid>)
src.sysmessage @55,,1 <uid.<region.tag0.dost4>.name> dostluktan men edilmiştir.
try uid.<region.tag0.dost4>.hata <strarg <name>> sizi evinin dostluğundan men etmiştir!
region.tag0.dost4
return 1
else
src.hata Bu alan boş veya siz evin sahibi/ortağı değilsiniz.
return 1
endif
else
src.hata Evinizin içinde olmalısınız.
return 1
endif


on=5
ref1=<src.ctag0.evkaldir>

if (<src.region.uid>==<ref1>)
if (<region.tag0.dost5>) && (<region.tag0.sahip>==<uid>) || (<region.tag0.ortak1>==<uid>) || (<region.tag0.ortak2>==<uid>)
src.sysmessage @55,,1 <uid.<region.tag0.dost5>.name> dostluktan men edilmiştir.
try uid.<region.tag0.dost5>.hata <strarg <name>> sizi evinin dostluğundan men etmiştir!
region.tag0.dost5
return 1
else
src.hata Bu alan boş veya siz evin sahibi/ortağı değilsiniz.
return 1
endif
else
src.hata Evinizin içinde olmalısınız.
return 1
endif


//////////////-----------///////////

[dialog d_dostekle]
50,50
nomove
resizepic 0 0 9390 250 190
dhtmlgump 25 60 180 80 0 0 Merhaba <strarg <name>>. <strarg <uid.<ctag0.teklifeden>.name>> isimli player size <uid.<ctag0.teklifedilenev>.p> koordinatındaki evine dost olmanızı teklif ediyor.
dhtmlgump 50 140 70 20 0 0 <def.bfont_green> Kabul et.
dhtmlgump 150 140 50 20 0 0 <def.bfont_red> Reddet.

button 40 140 55 56 1 0 1
button 140 140 55 56 1 0 2

[dialog d_dostekle button]
on=0
try uid.<ctag0.teklifeden>.hata <name> cevap vermedi ve teklif zaman aşımına uğradı.
ctag0.teklifeden
ctag0.teklifedilenev

on=1
ref1=<ctag0.teklifeden>
ref2=<ctag0.teklifedilenev>

if (<ref1.region.uid>==<ref1.ctag0.evkaldir>)
if (<src.region.uid>==<ref1.region.uid>)
if (<ref1.region.tag0.sahip>==<ref1.uid>) || (<ref1.region.tag0.ortak1>==<ref1.uid>) || (<ref1.region.tag0.ortak2>==<ref1.uid>)
if (<ref1.region.tag0.dost1>) && (<ref1.region.tag0.dost2>) && (<ref1.region.tag0.dost3>) && (<ref1.region.tag0.dost4>) && (<ref1.region.tag0.dost5>)
src.hata Bu evin dost listesi dolu.
ref1.hata Evinizin dost listesi tamamen dolmuş.
return 1
elseif (<src.uid>==<ref1.region.tag0.ortak1>) || (<src.uid>==<ref1.region.tag0.ortak2>)
src.hata Siz bu evin ortak listesinde mevcutsunuz.
ref1.hata <src.name> zaten evinizin ortak listesinde.
return 1
elseif (<src.uid>==<ref1.region.tag0.dost1>) || (<src.uid>==<ref1.region.tag0.dost2>) || (<src.uid>==<ref1.region.tag0.dost3>) || (<src.uid>==<ref1.region.tag0.dost4>) || (<src.uid>==<ref1.region.tag0.dost5>)
src.hata Siz bu eve zaten dostsunuz.
ref1.hata <src.name> zaten evinizin dost listesinde.
return 1
elseif !(<ref1.region.tag0.dost1>)
ref1.region.tag0.dost1 <uid>
ref1.sysmessage @0b2,,1 <strarg <name>> evinizin 1. dost slot'una yerleştirildi.
src.sysmessage @0b2,,1 <strarg <uid.<ref1>.name>> isimli kişinin evine dost oldunuz.
return 1
elseif !(<ref1.region.tag0.dost2>)
ref1.region.tag0.dost2 <uid>
ref1.sysmessage @0b2,,1 <strarg <name>> evinizin 2. dost slot'una yerleştirildi.
src.sysmessage @0b2,,1 <strarg <uid.<ref1>.name>> isimli kişinin evine dost oldunuz.
return 1
elseif !(<ref1.region.tag0.dost3>)
ref1.region.tag0.dost3 <uid>
ref1.sysmessage @0b2,,1 <strarg <name>> evinizin 3. dost slot'una yerleştirildi.
src.sysmessage @0b2,,1 <strarg <uid.<ref1>.name>> isimli kişinin evine dost oldunuz.
return 1
elseif !(<ref1.region.tag0.dost4>)
ref1.region.tag0.dost4 <uid>
ref1.sysmessage @0b2,,1 <strarg <name>> evinizin 4. dost slot'una yerleştirildi.
src.sysmessage @0b2,,1 <strarg <uid.<ref1>.name>> isimli kişinin evine dost oldunuz.
return 1
elseif !(<ref1.region.tag0.dost5>)
ref1.region.tag0.dost5 <uid>
ref1.sysmessage @0b2,,1 <strarg <name>> evinizin 5. dost slot'una yerleştirildi.
src.sysmessage @0b2,,1 <strarg <uid.<ref1>.name>> isimli kişinin evine dost oldunuz.
return 1
endif
else
src.hata Size teklif eden <ref1.name> bu evin sahibi yada ortağı değil.
ref1.hata Bu ev ile herhangi bir bağınız bulunamadı.
return 1
endif
else
src.hata Teklifi kabul etmek için evde olmalısınız.
ref1.say @0b2,,1 Eve gir <src.name>.
return 1
endif
else
src.hata Ev sahibi ve siz evde olmalısınız..
ref1.hata Dost etmek istediğiniz <src.name> evde olmadığınız için dost edilemedi!
return 1
endif

ctag0.teklifeden
ctag0.teklifedilenev

on=2
ref1=<ctag0.teklifeden>
ref2=<ctag0.teklifedilenev>

ref1.hata <strarg <name>> evinize dost olmayı kabul etmedi.

ctag0.teklifeden
ctag0.teklifedilenev


///////////////--------------////////////////

[dialog d_ortakekle]
50,50
nomove
resizepic 0 0 9390 250 190
dhtmlgump 25 60 180 80 0 0 Merhaba <strarg <name>>. <strarg <uid.<ctag0.teklifeden>.name>> isimli player size <uid.<ctag0.teklifedilenev>.p> koordinatındaki evine ortak olmanızı teklif ediyor.
dhtmlgump 50 140 70 20 0 0 <def.bfont_green> Kabul et.
dhtmlgump 150 140 50 20 0 0 <def.bfont_red> Reddet.

button 40 140 55 56 1 0 1
button 140 140 55 56 1 0 2

[dialog d_ortakekle button]
on=0
try uid.<ctag0.teklifeden>.hata <name> cevap vermedi ve teklif zaman aşımına uğradı.
ctag0.teklifeden
ctag0.teklifedilenev

on=1
ref1=<ctag0.teklifeden>
ref2=<ctag0.teklifedilenev>

if (<ref1.region.uid>==<ref1.ctag0.evkaldir>)
if (<src.region.uid>==<ref1.region.uid>)
if (<ref1.region.tag0.sahip>==<ref1.uid>)
if (<ref1.region.tag0.ortak1>) && (<ref1.region.tag0.ortak2>)
src.hata Bu evin ortak listesi dolu.
ref1.hata Evinizin ortak listesi tamamen dolmuş.
return 1
elseif (<src.uid>==<ref1.region.tag0.ortak1>) || (<src.uid>==<ref1.region.tag0.ortak2>)
src.hata Siz bu evin ortak listesinde mevcutsunuz.
ref1.hata <src.name> zaten evinizin ortak listesinde.
return 1
elseif (<src.uid>==<ref1.region.tag0.dost1>) || (<src.uid>==<ref1.region.tag0.dost2>) || (<src.uid>==<ref1.region.tag0.dost3>) || (<src.uid>==<ref1.region.tag0.dost4>) || (<src.uid>==<ref1.region.tag0.dost5>)
src.hata Siz bu eve zaten dostsunuz.
ref1.hata <src.name> zaten evinizin dost listesinde.
return 1
elseif !(<ref1.region.tag0.ortak1>)
ref1.region.tag0.ortak1 <uid>
ref1.sysmessage @0b2,,1 <strarg <name>> evinizin 1. ortak slot'una yerleştirildi.
src.sysmessage @0b2,,1 <strarg <uid.<ref1>.name>> isimli kişinin evine ortak oldunuz.
return 1
elseif !(<ref1.region.tag0.ortak2>)
ref1.region.tag0.ortak2 <uid>
ref1.sysmessage @0b2,,1 <strarg <name>> evinizin 2. ortak slot'una yerleştirildi.
src.sysmessage @0b2,,1 <strarg <uid.<ref1>.name>> isimli kişinin evine ortak oldunuz.
return 1
endif
else
src.hata Size teklif eden <ref1.name> bu evin sahibi değil.
ref1.hata Siz bu evin sahibi değilsiniz.
return 1
endif
else
src.hata Teklifi kabul etmek için evde olmalısınız.
ref1.say @0b2,,1 Eve gir <src.name>.
return 1
endif
else
src.hata Ev sahibi ve siz evde olmalısınız..
ref1.hata Ortak etmek istediğiniz <src.name> evde olmadığınız için ortak edilemedi!
return 1
endif

ctag0.teklifeden
ctag0.teklifedilenev

on=2
ref1=<ctag0.teklifeden>
ref2=<ctag0.teklifedilenev>

ref1.hata <strarg <name>> evinize ortak olmayı kabul etmedi.

ctag0.teklifeden
ctag0.teklifedilenev


////////////////--------------///////////////

[dialog d_ortaksil]
50,50
nomove
resizepic 0 0 9390 300 190

dhtmlgump 40 35 250 20 0 0 Kimi ortaklıktan men etmek istersiniz?

dhtmlgump 60 60 180 20 0 0 1-) <qval (<uid.<region.tag0.ortak1>>)?<def.bfont_white><uid.<region.tag0.ortak1>.name>:<def.bfont_red>Boş alan.>
dhtmlgump 60 80 180 20 0 0 2-) <qval (<uid.<region.tag0.ortak2>>)?<def.bfont_white><uid.<region.tag0.ortak2>.name>:<def.bfont_red>Boş alan.>

button 40 60 56 56 1 0 1
button 40 80 56 56 1 0 2

[dialog d_ortaksil button]

on=1
ref1=<src.ctag0.evkaldir>

if (<src.region.uid>==<ref1>)
if (<region.tag0.ortak1>) && (<region.tag0.sahip>==<uid>)
src.sysmessage @55,,1 <uid.<region.tag0.ortak1>.name> ortaklıktan men edilmiştir.
try uid.<region.tag0.ortak1>.hata <strarg <name>> sizi evinin ortaklığından men etmiştir!
region.tag0.ortak1
return 1
else
src.hata Bu alan boş veya siz evin sahibi değilsiniz.
return 1
endif
else
src.hata Evinizin içinde olmalısınız.
return 1
endif


on=2
ref1=<src.ctag0.evkaldir>

if (<src.region.uid>==<ref1>)
if (<region.tag0.ortak2>) && (<region.tag0.sahip>==<uid>)
src.sysmessage @55,,1 <uid.<region.tag0.dost2>.name> dostluktan men edilmiştir.
try uid.<region.tag0.dost2>.hata <strarg <name>> sizi evinin dostluğundan men etmiştir!
region.tag0.dost2
return 1
else
src.hata Bu alan boş veya siz evin sahibi/ortağı değilsiniz.
return 1
endif
else
src.hata Evinizin içinde olmalısınız.
return 1
endif

////////////////--------------////////////////

//////////EVENTLER///////////////
[events e_ev]

//////////İTEMLER///////////////

[itemdef i_ev_reslen]
ID=i_memory
TYPE=t_eq_script
NAME=Ev res

ON=@equip
TIMER=30
ATTR=attr_decay | attr_newbie

on=@timer
cont.resurrect
cont.flags <cont.flags>&~04
cont.update
remove


[itemdef i_strong_box]
defname i_strong_box
type t_container
id i_box_brass
name strongbox
tdata2 04b

On=@Create
timer -1
attr attr_move_never

On=@Click
message @02b,,1 <uid.<link>.name>
message @55,,1 Özel kasa
return 1

On=@DClick
if (<link> == <src.uid>)
	return 0
else
src.hata Bu kasa size ait değil.
	return 1
endif

On=@PickUp_Ground
	return 1
endif
//////////Region tipi///////////////

[regiontype r_ev]

On=@Enter
if (<src.findid(i_rune_summon_creature)>)
	src.spelleffect s_dispel,100
endif

	src.events +e_ev

On=@Exit

	src.events -e_ev

on=@step
if (<src.findid(i_rune_summon_creature)>)
	src.spelleffect s_dispel,100
endif



//////////    Komutlar   ///////////////

[function anahtartemizle]
FOR 0 <SRC.FINDLAYER.21.RESCOUNT>
IF (<SRC.FINDLAYER.21.FINDCONT(<LOCAL._FOR>).TYPE>==t_key)
IF (<SRC.FINDLAYER.21.FINDCONT(<LOCAL._FOR>).LINK.TYPE>==t_multi)
TRY UID.<SRC.FINDLAYER.21.FINDCONT(<LOCAL._FOR>).UID>.REMOVE
ENDIF
ENDIF
IF (<SRC.FINDLAYER.29.FINDCONT(<LOCAL._FOR>).type>==t_key)
IF (<SRC.FINDLAYER.29.FINDCONT(<LOCAL._FOR>).LINK.TYPE>==t_multi)
TRY UID.<SRC.FINDLAYER.29.FINDCONT(<LOCAL._FOR>).UID>.REMOVE
ENDIF
ENDIF
ENDFOR

[function dostekle]
ref1=<src.ctag0.evkaldir>


if (<region.tag0.sahip> == <src.uid>) || (<region.tag0.ortak1> == <src.uid>) || (<region.tag0.ortak2> == <src.uid>)
if (<argo.isplayer>) && (<argo>!=<isgm>)
if !(<argo.uid>==<src.uid>)
if (<src.region.uid>==<ref1>) && (<argo.region.uid>==<ref1>)
argo.timerf 1,sdialog d_dostekle
argo.timerf 5,dialogclose d_dostekle
argo.ctag0.teklifeden <src.uid>
argo.ctag0.teklifedilenev <src.region.uid>
src.sysmessage @0b2,,1 <argo.name>'ye dost teklifi gönderildi.
else
src.hata Siz ve <argo.name> evinizin içinde olmalıdır.
return 1
endif
else
src.hata Siz zaten evin sahibi veya ortağısınız.
return 1
endif
else
src.hata Sadece oyuncuları dost edebilirsiniz.
return 1
endif
else
src.hata Sadece sahibi/ortağı olduğunuz evlerde kullanabilirsiniz.
return 1
endif

[function ortakekle]
ref1=<src.ctag0.evkaldir>


if (<region.tag0.sahip> == <src.uid>)
if (<argo.isplayer>) && (<argo>!=<isgm>)
if !(<argo.uid>==<src.uid>)
if (<src.region.uid>==<ref1>) && (<argo.region.uid>==<ref1>)
argo.timerf 1,sdialog d_ortakekle
argo.timerf 5,dialogclose d_ortakekle
argo.ctag0.teklifeden <src.uid>
argo.ctag0.teklifedilenev <src.region.uid>
src.sysmessage @0b2,,1 <argo.name>'ye ortak teklifi gönderildi.
else
src.hata Siz ve <argo.name> evinizin içinde olmalıdır.
return 1
endif
else
src.hata Siz zaten evin sahibisiniz.
return 1
endif
else
src.hata Sadece oyuncuları ortak edebilirsiniz.
return 1
endif
else
src.hata Sadece sahibi olduğunuz eve ortak ekleyebilirsiniz.
return 1
endif

[function evdenyolla] ////// Eden at komutunun gerekli function'u
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)
if !(<argo.region.uid>==<src.region.uid>)
src.hata <argo.name> evinizde değil.
return 1
elseif (<argo.account.plevel> > 1)
src.hata Yetkilileri evden atamazsınız.
return 1
elseif !(<argo.npc>)
src.hata Sadece canlı varlıkları evden kovabilirsiniz.
return 1
elseif (<argo.uid>==<uid>)
src.hata Kendinizi evden atamazsınız.
return 1
elseif (<region.tag0.sahip>==<argo.uid>) || (<region.tag0.ortak1>==<argo.uid>) || (<region.tag0.ortak2> == <argo.uid>)
src.hata <argo.name> evinizin üyesi olduğu için evden atamazsınız.
return 1
elseif (<src.hits> < 1)
src.hata Ölü iken kullanamazsınız.
return 1
else
argo.go <uid.<uid.<region.uid>.link>.p>
argo.move 0 0 -1
return 1
endif
else
src.hata Sadece evinizde veya ortak/dost olduğunuz evlerde kullanabilirsiniz.
return 1
endif

[function kasasil]
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)
if !(<argo.region.uid>==<src.region.uid>)
src.hata Bu kasa sizin evinizde değil.
elseif !(<argo.baseid>==i_strong_box)
src.hata Bu özel bir kasa değil.
return 1
elseif (<argo.link>==<src.uid>)
argo.remove
else
src.hata Bu kasa size ait değil.
return 1
endif
else
src.hata Evin içinde olmalısınız.
return 1
endif

[function sabitle]
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)
if !(<argo.region.uid>==<src.region.uid>)
src.hata Bu item sizin evinizde değil.
elseif (<argo.isneartype t_sign_gump 2>)
src.hata Tabelaya bukadar yakın item sabitlenemez.
return 1
elseif (<argo.npc>)
src.hata Sadece item sabitleyebilirsiniz.
return 1
elseif !(<argo.baseid>==i_box_wood)
src.hata Bunlar sabitlenebilir itemler değil.
return 1
elseif (<argo.attr>&attr_move_never)
src.hata Bu item daha önceden sabitlenmiş.
return 1
else
argo.attr <argo.attr>&~attr_decay
argo.attr <argo.attr>|attr_move_never
argo.timer -1
argo.message @02fe,,1 sabit.
endif
else
src.hata Evin içinde olmalısınız.
return 1
endif


[function sabitkaldir]
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)
if !(<argo.region.uid>==<src.region.uid>)
src.hata Bu item sizin evinizde değil.
elseif (<argo.isplayer>)
src.hata Playerler üzerinde kullanılamaz.
return 1
elseif !(<argo.attr>&attr_move_never)
src.hata Bu item sabit değil.
return 1
elseif !(<argo.baseid>==i_box_wood)
src.hata Bu itemler üzerinde kullanılamaz.
return 1
else
argo.attr <argo.attr>&~attr_move_never
argo.attr <argo.attr>|attr_decay
argo.timer 120
argo.message @02fe,,1 sabit değil.
endif
else
src.hata Evin içinde olmalısınız.
return 1
endif

Buda ev komutları sphere_spech icine eklenmeli.


on=evden at
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)
targetf evdenyolla
else
hata Sadece evinizde veya ortak/dost olduğunuz evlerde kullanabilirsiniz.
return 1
endif

on=kasa koy
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)

forinstances i_strong_box
if (<link>==<src.uid>) && (<region.uid> == <src.region.uid>)
src.hata Bu evde size ait kasa zaten mevcut.
return 1
endif
endfor

if (<src.isneartype t_sign_gump 2>)
src.hata Tabelaya bukadar yakınken kasa koyamazsınız.
return 1
else
serv.newitem i_strong_box
new.p <src.p>
new.link <src.uid>
endif

else
src.hata Bu komutu sadece üyesi olduğunuz evlerde kullanabilirsiniz.
return 1
endif

on=kasa sil
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)

forinstances i_strong_box
if !(<region.uid> == <src.region.uid>)
src.hata Bu evde kasa yok.
return 1
elseif !(<link>==<src.uid>)
src.hata Bu evde size ait kasa yok.
return 1
endif
endfor

targetf kasasil

else
src.hata Bu komutu sadece üyesi olduğunuz evlerde kullanabilirsiniz.
return 1
endif

on=sabitle
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)

targetf sabitle

else
src.hata Bu komutu sadece üyesi olduğunuz evlerde kullanabilirsiniz.
return 1
endif

on=sabit kaldir
if (<region.tag0.sahip>==<src.uid>) || (<region.tag0.ortak1>==<src.uid>) || (<region.tag0.ortak2>==<src.uid>)

targetf sabitkaldir

else
src.hata Bu komutu sadece üyesi olduğunuz evlerde kullanabilirsiniz.
return 1
endif


NOT: Eğer forumdaki bilgili arkadaşlar yeterince yardım etseydi daha iyi bi sistem cıkabilcegine emindim ama pek kimse umursamadı acıkcası.Yinede skype üzerinden artık kafamın durdugu yerde ufak yardımlar aldıgım caner kılıcogluna teşekkür ederim.

Bu konu Mrs.xaRiyla tarafından düzenlendi(2014-07-29 21:00, 9 yıl önce)
İlk denemene göre başarılı tebrikler.

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.