Selam arkadaşlar;

Tame sopası ile bir hayvanı tame ederken başka bir hayvana basılmamasını istiyorum. Yani tame esnasında "Zaten şuan tame yapıyorsunuz" gibisinden bir yazı gösterip tame sopasına dclick yapılamamasını istiyorum. Bu konuda yardımcı olursanız sevinirim.

[ITEMDEF i_staff_taming]
ID=i_staff_gnarled
NAME=Taming Staff
TYPE=T_WEAPON_MACE_STAFF
VALUE=254
TWOHANDS=Y
LAYER=2
WEIGHT=10
DAM=5,10

On=@Create
attr=04
color 0128
more2 0
timer -1
hitpoints 5

On=@DClick
if (<topobj.uid> != <src.uid>)
	src.sysh_trk Bunu kullanabilmeniz için üzerinizde olmalı.
        return 1
elseif (<src.flags>&statf_hidden) || (<src.flags>&statf_invisible)
	src.sysh_trk Gizlenmiş durumdayken bunu kullanamazsınız.
        return 1
elseif (<src.targ.region.defname> == a_townZoo)
	src.sysh_trk Bu bölgede taming yasaktır.
        return 1
elseif (<timer> == -1)
equip
target
src.sys_trk Hangi hayvanı tame etmek istiyorsunuz ?
return 1
endif

On=@UnEquip
more2 0
timer -1
link -1

On=@Timer
CONT.CHECKS <LINK.UID>
IF !(<VAR.SEE>)
CONT.sysh_trk Hayvan görüş alanınızdan çıktı.
link -1
more2 0
return 1
ELIF (<LINK.NPC> != brain_animal)
CONT.sysh_trk Bu hayvanı tame edemezsiniz.
link -1
more2 0
return 1
ELIF !(<LINK.TAMING>)
CONT.sysh_trk Bu hayvanı tame edemezsiniz.
link -1
more2 0
return 1
ELIF (<EVAL <CONT.TAMING>> < <LINK.TAMING>)
CONT.sysh_trk Bu hayvanı tame edebilmek için <act.taming> taming skilline ihtiyacınız vardır.
link -1
more2 0
return 1
ELIF (<CONT.FLAGS> & (statf_dead|statf_freeze|statf_invisible|statf_sleeping|statf_polymorph|statf_stone|statf_hidden))
CONT.sysh_trk Şuanki durumunuzda hayvan tameleyemezsiniz.
link -1
more2 0
return 1
ELIF (<LINK.MEMORYFINDTYPE.memory_ipet>)
CONT.sysh_trk Bu hayvan zaten tame edilmiş.
link -1
more2 0
return 1
ELIF (<LINK.MEMORYFINDTYPE.memory_fight>)
CONT.sysh_trk Bu hayvan sinirli.
link -1
more2 0
return 1
ELIF (<VAR.DIST> > 5)
CONT.sysh_trk Hayvana yeterince yakın değilsiniz.
LINK.TAG.LASTTAMER=0
link -1
more2 0
return 1
ELIF (<cont.flags>&statf_hidden) || (<cont.flags>&statf_invisible)
cont.sysh_trk Gizlenmiş durumdayken bunu kullanamazsınız.
link.tag.lasttamer 0
more2 0
link -1
return 1
ELSE
if (<more2> < 6)
	dorand 8
cont.sayua 1153,6,6,0 Gel <link.name>, gel..
cont.sayua 1153,6,6,0 Sana zarar vermeyeceğim
cont.sayua 1153,6,6,0 Sakin ol, <link.name>.
cont.sayua 1153,6,6,0 Her zaman senin gibi bir <link.name> sahibi olmak istemiştim..
cont.sayua 1153,6,6,0 Çok tatlısın, <link.name>.
cont.sayua 1153,6,6,0 Seni incitmeyeceğim,
cont.sayua 1153,6,6,0 Arkadaşın olmak istiyorum.
cont.sayua 1153,6,6,0 Gel <cont.sex babana/annene> <link.name>.
	enddo
	dorand 2
		cont.anim 17
		cont.anim 19
	enddo
	timer 2
	more2 (<more2> + 1)
	return 1
endif
more2 0

if !(<link.npc> == 1)
	cont.sysh_trk Bunu ehlileştiremezsiniz.
	return 1
endif

if (rand(100) < 90)
	if (<link.memoryfindtype.memory_ispawned>)
		link.memoryfindtype.memory_ispawned.remove
	endif
	link.karma -50
	link.memorydel <cont.uid>
	link.newitem i_memory
	link.act.attr 04
	link.act.more1 04
	link.act.more2 <serv.time>
	link.act.morep <link.p>
	link.act.color memory_ipet
	link.act.timer -1
	link.act.link <cont.uid>
	link.act.cont <link.uid>
	link.flags <link.flags>&statf_pet
	cont.sys_trk <link.name> sizi sahibi olarak kabul etti !
	cont.gaintaming
	if ((<link.id> == c_pig) || (<link.id> == c_doe) || (<link.id> == c_cow_brown) || (<link.id> == c_cow_bw) || (<link.id> == c_chicken) || (<link.id> == c_bull_brown_dk) || (<link.id> == c_bull_brown_lt) || (<link.id> == c_cat) || (<link.id> == c_dog) || (<link.id> == c_pig_big) || (<link.id> == c_goat) || (<link.id> == c_hart_great) || (<link.id> == c_bird_raven) || (<link.id> == c_bird_magpie) || (<link.id> == c_eagle) || (<link.id> == c_bird_tropical) || (<link.id> == c_bird) || (<link.id> == c_pig) || (<link.id> == c_familiar_crow) || (<link.id> == c_bird_crow) || (<link.id> == c_familiar_cat) || (<link.id> == c_familiar_rat))
        serv.newitem i_danimal
        link.equip <new>
        cont.sysh_trk Bu hayvan kontrat haline getirilmezse 60 saniye içerisinde silinecektir.
        endif
	link.tag.tamer <cont.uid>
	link -1
else
	cont.sysh_trk Hayvanı ehlilleştirmeyi başaramadınız.
	link -1
endif
return 1

On=@TargOn_Char
more2 0
if (<src.targ.id> == c_teacher)
src.sysh_trk Bunu tame edemezsiniz.
return 1
endif
if !(<src.targ.region.defname> == a_townZoo)
	if ((<src.targ.npc> == 1) && (<src.targ.id> != c_player_v))
		if !(<src.targ.canseelos>)
			src.sysh_trk Hayvana ulaşamıyorsunuz.
                        return 1
		elseif (<src.targ.distance> > 4)
			src.sysh_trk Hayvana yeterince yakın değilsiniz.
                        return 1
		elseif (<src.targ.memoryfindtype.memory_ipet>)
			if (<src.targ.memoryfindtype.(memory_ipet|memory_guard).link> == <src.uid>)
				src.sysh_trk <src.targ.name> zaten size ait.
				src.targ.flags <src.targ.flags>&statf_pet
                                return 1
			else
				src.sysh_trk <src.targ.name> bir başkasına ait.
                                return 1
			endif
		elseif (<src.targ.memoryfindtype.memory_fight>)
			src.sysh_trk Hayvan şu an müsait değil.
                         more2 0
                         return 1
		elseif (<src.targ.memoryfindtype.memory_war_targ.link> == <src.uid>)
			src.sysh_trk Hayvan şu an size çok kızgin.
                        more2 0
                        return 1
		elseif (<src.targ.findid.i_rune_summon_creature>)
			src.sysh_trk Büyü ile yaratılmış hayvanları ehlileştiremezsiniz.
                elseif (<src.targ.hits> < <src.targ.str>)
                       src.sysh_trk Bu hayvan yaralı.
                        more2 0
                        return 1
		elseif (0<src.targ.tag.tamer> == 0<src.uid>)
			src.sysh_trk Hayvan artık sizi umursamıyor.
                        more2 0
                        return 1
                elseif (<src.targ.memoryfindtype.MEMORY_ISPAWNED.link.distance> > 4)
                        src.sysh_trk Hayvan yuvasından çok uzakta.
                        more2 0
                        return 1
		elseif (<src.taming> < <src.targ.taming>)
			src.anim 19
			src.sysh_trk <src.targ.name> için taming skilliniz yeterli değil. (gerekli skill: <src.targ.taming>)
                        return 1
		elseif (<src.animallore> < <src.targ.animallore>)
			src.anim 19
			src.sysh_trk <src.targ.name> için animal lore skilliniz yeterli değil. (gerekli skill: <src.targ.animallore>)
                        return 1
		else
			link <src.targ.uid>
			src.anim 19
			timer 2
		endif
	else
		src.sysh_trk Bunu ehlilleştiremezsiniz.
                return 1
	endif
else
	src.sysh_trk Bu bölgede taming yasaktır.
        return 1
endif
return 1

On=@targon_item
src.sysh_trk Bu bir hayvan değil.
target
return 1

On=@targon_ground
src.sysh_trk Bu bir hayvan değil.
target
return 1
Denermisin ?

[ITEMDEF i_staff_taming]
ID=i_staff_gnarled
NAME=Taming Staff
TYPE=t_weapon_mace_staff
VALUE=290
TWOHANDS=Y
LAYER=2
WEIGHT=10
DAM=5,10

On=@Create
color 08a2
more2 0
attr 04
timer -1
hitpoints 5

On=@DClick
if (<topobj.uid> != <src.uid>)
src.hata Bunu sadece üzerinizde kullanabilirsiniz.s

elseif (<src.flags>&statf_hidden) || (<src.flags>&statf_invisible)
src.hata Gizlenmiş durumda bunu kullanamazsınız.s

elseif (<src.targ.region.defname> == a_townZoo)
src.hata Bu alanda bunu kullanamazsınız.s

elseif (<timer> == -1)
equip
target @044,,1 Hangi hayvanı evcilleştirmek istiyorsunuz?
endif
return 1

On=@UnEquip
more2 0
timer -1
link -1
src.events -e_taming_f

On=@Timer
cont.tag.animalaway=0 
cont.tag.hayvanx=<link.p.x> 
cont.tag.hayvany=<link.p.y> 
cont.distcheck 
if (0<cont.tag.animalaway>)
cont.events -e_taming_f 
more2 0
return 1 
endif 

if (<cont.flags>&statf_hidden) || (<cont.flags>&statf_invisible)
cont.sysmessage @38,,1 Gizlenmiş durumdayken evcilleştirme yapamazsınız.s
cont.events -e_taming_f
src.action -1
link -1
return 1
endif

if (<more2> < 6)
	dorand 10
		cont.sayu Gel [<link.name>], gel..
		cont.sayu Sana zarar vermeyeceğim [<link.name>]..
		cont.sayu Sakin ol, [<link.name>].
		cont.sayu Her zaman senin gibi bir [<link.name>] sahibi olmak istemiştim..
		cont.sayu Çok tatlısın, [<link.name>].
		cont.sayu Gel bir tanem, gel canım..
		cont.sayu Seni incitmeyeceğim, [<link.name>].
		cont.sayu Senin gibi bir [<link.name>] çok aradım.
		cont.sayu Gel  [<link.name>].
		cont.sayu Gel [<link.name>], gel <cont.sex Babana/Annene>.
	enddo
	dorand 2
		cont.anim 17
		cont.anim 19
	enddo
	timer 2
	more2 (<more2> + 1)
	return 1
endif
more2 0

if !(<link.npc> == 1)
	cont.sysmessage @38,,1 Bunu evcillestiremezsiniz.
	return 1
endif

if (rand(100) < 75)
	if (<link.memoryfindtype.memory_ispawned>)
		link.memoryfindtype.memory_ispawned.remove
	endif
	link.karma -50
	link.memorydel <cont.uid>
	link.newitem i_memory
	link.act.attr 04
	link.act.more1 04
	link.act.more2 <serv.time>
	link.act.morep <link.p>
	link.act.color memory_ipet
	link.act.timer -1
	link.act.link <cont.uid>
	link.act.cont <link.uid>
	link.flags <link.flags>&statf_pet
	link.newitem i_tame_hatirlatici
	link.act.link <cont.uid>
	link.equip <link.act>
        cont.sysmessage @044,,1 <link.name> Tamelemeyi BAŞARDINIZ.
        if (<link.id> == c_llama) || (<link.id> == c_m_nightmare) || (<link.id> == c_m_unicorn) || (<link.id> == c_ostard_zostrich) || (<link.id> == c_ostard_mid) || (<link.id> == c_ostard_forest) || (<link.id> == c_ostard_desert) ||  (<link.id> == c_steed_silver) || (<link.id> == c_shadow_llama) || (<link.id> == c_ice_llama) || (<link.id> == c_shire)
        serv.allclients sysmessage @0492,,1 :.Noxin Binek Habeleri.:
        serv.allclients sysmessage @0790,,1,1,1 <link.name> <region.name> civarlarında <cont.name> tarafından tamelenmiştir.
        endif
        
if (<link.body> == c_cow_bw) || (<link.body> == c_bear_brown) || (<link.body> == c_cow_bw) || (<link.body> == c_cow_brown) || (<link.body> == c_pig) || (<link.body> == c_dog) || (<link.body> == c_gorilla)
	link.remove
	cont.sms <link.name> silinmiştir.
	endif
	link.newitem i_tame_suresi
	link.act.link <cont.uid>
	link.equip <link.act>
	if ((<cont.skilllock[35]> == 0) && (<cont.skilltotal> < 800.0))
		if (<cont.taming> < 30.0)
			if (rand(2) == 1)
				cont.taming (<cont.taming> + 2)
			endif
		elseif (<cont.taming> < 50.0)
			if !(rand(2) == 1)
				cont.taming (<cont.taming> + 2)
			endif
		elseif (<cont.taming> < 75.0)
			if !(rand(3) == 1)
				cont.taming (<cont.taming> + 1)
			endif
		elseif (<cont.taming> < 100.0)
			if (rand(4) == 1) // 24
				cont.taming (<cont.taming> + 1)
			endif
		endif
	endif

	if ((<cont.skilllock[2]> == 0) && (<cont.skilltotal> < 800.0))
		if (<cont.animallore> < 30.0)
			if (rand(1) == 1)
				cont.animallore (<cont.animallore> + 2)
			endif
		elseif (<cont.animallore> < 50.0)
			if (rand(1) == 1)
				cont.animallore (<cont.animallore> + 2)
			endif
		elseif (<cont.animallore> < 75.0)
			if (rand(1) == 1)
				cont.animallore (<cont.animallore> + 2)
			endif
		elseif (<cont.animallore> < 100.0)
			if (rand(1) == 1)
				cont.animallore (<cont.animallore> + 1)
			endif
		endif
	endif
	link.tag.tamer <cont.uid>
	link -1
else
	cont.sysmessage @38,,1 Hayvani evcillestirmeyi BAŞARAMADINIZ.
	link -1
endif
return 1



On=@TargOn_Char
if !(<src.targ.region.defname> == a_townZoo)
	if ((<src.targ.npc> == 1) && (<src.targ.id> != c_pv))
		if !(<src.targ.canseelos>)
			src.sysmessage @38,,1 Hayvana ulasamiyorsunuz.
		elseif (<src.targ.distance> > 14)
			src.sysmessage @38,,1 Hayvana yeterince yakin degilsiniz.
		elseif (<src.targ.memoryfindtype.MEMORY_ISPAWNED.link.distance> > 5) 
                	src.sysmessage @38,,1 Hayvan yuvasindan uzak. 
		elseif (<src.targ.id> == c_vetdummy)
			src.hata Bunu evcilleştiremezsiniz yaptığınız suçtur.
		elseif (<src.targ.memoryfindtype.memory_ipet>)
			if (<src.targ.memoryfindtype.(memory_ipet|memory_guard).link> == <src.uid>)
				src.sysmessage @38,,1 <src.targ.name> zaten size ait.
				src.targ.flags <src.targ.flags>&statf_pet
			else
				src.sysmessage @38,,1 <src.targ.name> bir baskasina ait.
			endif
		elseif (<src.targ.memoryfindtype.memory_fight>)
			src.sysmessage @38,,1 Hayvan su an musait degil.
		elseif (<src.targ.memoryfindtype.memory_war_targ.link> == <src.uid>)
			src.sysmessage @38,,1 Hayvan su an size cok kizgin.
		elseif (<src.targ.findid.i_rune_summon_creature>)
			src.sysmessage @38,,1 Buyu ile yaratilmis hayvanlari evcillestirmezsiniz
		elseif (0<src.targ.tag.tamer> == 0<src.uid>) // tamerlar elele bug-free dunyaya
			src.sysmessage @38,,1 Hayvan artik sizi umursamiyor.
		elseif (<src.taming> < <src.targ.taming>)
			src.anim 19
			src.sysmessage @38,,1 <src.targ.name> icin taming skilliniz yeterli degil. [<src.targ.taming> Taming]
		elseif (<src.animallore> < <src.targ.animallore>)
			src.anim 19
			src.hata <src.targ.name> icin Animal Lore skilliniz yeterli degil. [<src.targ.animallore> Animal Lore]
		else // tame etmeye ba$la...
			link <src.targ.uid>
			src.anim 19
			timer 2
			src.events +e_taming_f
		endif
	else
		src.sysmessage @38,,1 Bunu evcillestiremezsiniz.
	endif
else
	src.sysmessage @38,,1 Buraya Tame Yasak.
endif
return 1

On=@TargOn_Item
return 1



[function memorydel] 
if (0<args>)
	if (<findid.i_memory.link> == <args>)
		findid.i_memory.remove
		memorydel <args>
	endif
endif

[EVENTS e_taming_f]

ON=@Hittry
IF (rand(2) =1)
	src.sysmessage @38,,1 Konsantrasyonunuz Bozuldu,Tameyi Tekrar Deneyiniz.
	//findlayer(2).skill fail
	//findlayer(2).action - 1
	EVENTS= -e_taming_f
	findlayer(2).more2 0
	findlayer(2).timer -1
	findlayer(2).link -1
ENDIF 

ON=@Death 
findlayer(2).unequip
EVENTS= -e_taming_f

ON=@spelleffect
IF (rand(2) =1)
IF (<argn> == 1) || (<argn> == 3) || (<argn> == 5) || (<argn> == 8) || (<argn> == 12) || (<argn> == 18) || (<argn> == 20) || (<argn> == 27) || (<argn> == 30) || (<argn> == 31) || (<argn> == 37) || (<argn> == 38) || (<argn> == 39) || (<argn> == 42) || (<argn> == 43) || (<argn> == 46) || (<argn> == 47) || (<argn> == 49) || (<argn> == 51) || (<argn> == 53) || (<argn> == 55) || (<argn> == 57)
	src.sysmessage @38,,1 Konsantrasyonunuz Bozuldu, Tame Yarida Kaldi.
	//src.findlayer(2).skill fail
	//src.findlayer(2).action - 1
	EVENTS= -e_taming_f
	src.findlayer(2).more2 0
	src.findlayer(2).timer -1
	src.findlayer(2).link -1
ENDIF
ENDIF

[itemdef i_tame_hatirlatici]
name=Tame Edenleri Hatirlar
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Create
attr=attr_decay|attr_newbie|attr_invis

On=@Timer 
remove
return 1

[function memorydel] // memory silen loop
if (0<args>)
	if (<findid.i_memory.link> == <args>)
		findid.i_memory.remove
		memorydel <args>
	endif
endif

[itemdef i_tame_suresi]
name=ustuste tami onler
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Create
attr=attr_decay|attr_invis
timer 15

On=@Timer 
remove
return 1


[EOF]


Bu konu Qnd tarafından düzenlendi(2011-01-07 07:20, 13 yıl önce)
target açtıgında sopaya tag koy target kapadıgında tag aldırt tag varsa target açmasın if ile kontrol ettir.
Tamamdır teşekkürler...

Üye Ol veya Giriş Yap

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