arkadaslar serverimde herkes istedigi kadar ev kurabiliyor..

bunu nasıl engelliyebilirim acaba? 1 taneden sonra zaten bir evin var gibi bir mesaj istiyorum

yardımlarınız icin simdiden tesekkurler.




yokmu yardımcı olabilecek kimse :(

Bu konu balbo tarafından düzenlendi(2008-08-03 04:11, 15 yıl önce)
kolay aslında mantığu şu

adama evi kurunca tag verdittirirsin başka kuramaz evi kaldırdığında ise tagı sildittirirsin.
veya,

Ev sahiplerinde memory_guard diye bi memory bulunur. Ev kurma deedlerinde bunun kontrolünü yaptırabilirsin ( dclick'e if (<src.memoryfindtype.memory_guard>) src.sysmessage ev var ! return 1 endif falan ). Ama bu memory gemi sahiplerinde de bulunuyor, o yüzden adamdaki memory_guard türündeki bütün memoryleri incelettirip, ev mi değil mi diye kontrol ettirmen gerekir ki iş uzar, ama arkadaşın dediğine göre daha sağlam olur koruman.

Arkadaşın dediği şey daha kolay, ancak zaten ev sahibi olan kişiler için çalışmaz, ve ev kaldırıldığında da tagı sildirmen gerekir, hatta sadece ev kaldırıldığında değil, ev bakımsızlıktan yıkılabilir de, veya evi bir staff da hatalı olduğu için de kaldırabilir, oralara ve evin silineceği diğer yerlere de gerekli tag sildirme komutlarını eklemen gerekir.
yani bütün ev deed'lerinin dclick ine eklemeliyim öylemi?
bunu bende düşündüm ama merak ettiğim şudur ; acaba tek satırda bütün evlerde aktif edemezmiyiz?
Zannediyorum ki deedlere çift tıklamanın genel olarak çağırdığı bi trigger yok, aslında ev deedleri t_deed type'ını kullanıyor. Ama bunu kullanan sadece ev deedleri değil, gemiler falan da kullanıyor bu yüzden bunu kullanamayız.

Aslında genel olarak kullanılan housing sistemini kullanıyorsan orda yeni kurulan evler için bir defa çalıştırılan bir bölüm vardı galiba, buliyim bi normal housing sistemi bende yoktu.


elseif !(<more2>) // yeni kurulan evlerde ILK bu oluyor, bi dahada olmuyo
	more2 1
	timer 600
	type t_sign_gump
	name <link.name>
	more <link.uid>
	move 0 0 -1
	link.move 0 0 -1
	link.link <uid>
	link.region.flags 0892
	link.region.events r_house_private
	hcycle

Burasıydı işte, burada da kontrolü yaptırabilirsin aslında. Ev sahibinin uidi ev multisinin more'unda saklanıyordu galiba. Yani buraya eklenecek şey:

if (<uid.<link.more>.artikTagVerdirtiysenTagKontroluYapVeyaMemory_guardKontrolü>)
deed yapma işlemini bir şekilde yaptır // "trysrc <link.more> link.hredeed" yazarsan deed haline getirmesi lazım
return 1
endif

Daha kısa bir yolu var mı bilmem ben her eve @dclick eklemiştim, o kadar da çok ev yok, eğer hepsini bir şeye bağlamak istiyosan fonksiyon yaparsın, hepsine

on=@dclick
return <src.f_yaptigim_fonksiyon>

Eklersin, fonksiyon da:
[function f_yaptigim_fonksiyon]
if (tagmıneyikontrolettirceksen, eğer varsa)
return 1
else
return 0
endif

Böyle bir şey olabilir, böylece eğer sistem üzerinde bir değişiklik yapıcaksan sadece fonksiyonu düzenlersin.

Üye Ol veya Giriş Yap

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