Arkadaşlar bir healing scriptim var, bandaj basmasamda silahla vurunca ''bandajlari yirtilir'' yaziyor ne iş anlamadım.. Bunun nedeni nedir ve bu saglam degil gibime geliyor. Healing scp'niz varsa buraya koyarsanız..

[itemdef i_bandajvar]
ID=i_memory
TYPE=t_eq_script
NAME=bandajvar

On=@Create
attr attr_decay|attr_newbie

On=@Equip
timer 2

On=@Timer
remove
return 1

[ITEMDEF 0ee9]
DUPEITEM=0e21

[ITEMDEF 0e22]
DUPEITEM=0e20

[ITEMDEF 0e21]
DEFNAME=i_bandage 
RESOURCES=i_cloth 
TYPE=T_BANDAGE 
WEIGHT=0.2 
DUPELIST=0ee9 
CATEGORY=Items by Professions 
SUBSECTION=Healer 
DESCRIPTION=clean bandages 

On=@Click
message @1153,1,1,1 <amount>, <name>
return 1

On=@DClick
if !(<topobj.uid> == <src.uid>)
	src.sysmessage @1976,1,1,1 Bandajlar cantanizda olmali.
	return 1
elseif (<src.findid.i_mem_healing.timer> < 0)
	src.findid.i_mem_healing.remove
	return 0
elseif (<src.findid.i_mem_healing>)
	src.sysmessage @1976,1,1,1 Bandajlari su an kullanamazsiniz.
	return 1
else
	return 0
endif

On=@Targon_Char
src.skill fail
if !(<src.restest 1 i_bandage>)
	src.sysmessage @1976,1,1,1 Bandajiniz yok.
	return 1
elseif (<src.hits> < 1)
	src.sysmessage @1952,1,1,1 Oluyken Bandaj Kullanilmaz.
	return 1
elseif (<src.targ.distance> > 3)
	src.sysmessage @1952,1,1,1 Hedefe ulasamiyorsunuz.
	return 1
elseif (<src.targ.npc> == 10) ||(<src.targ.npc> == 11) || (<src.targ.npc> == 12) || (<src.targ.npc> == 13)
	src.sysmessage @1952,1,1,1 Bunu iyilestiremezsiniz.
	return 1
elseif (<src.targ.npc> == 1)
	if (<src.targ.id> == c_m_golem_tinker1) || (<src.targ.id> == c_m_golem_tinker2) || (<src.targ.id> == c_m_golem)
		src.sysmessage @1952,1,1,1 Bunu bandajla iyilestiremezsiniz.
		return 1
	elseif (<src.targ.hits> == 0) && (<src.targ.id> == c_horse_tan) || (<src.targ.id> == c_horse_brown_dk) || (<src.targ.id> == c_horse_gray) || (<src.targ.id> == c_horse_brown_lt) || (<src.targ.id> == c_llama) || (<src.targ.id> == c_ostard_desert) || (<src.targ.id> == c_ostard_forest) || (<src.targ.id> == c_ostard_zostrich) || (<src.targ.id> == c_shire) || (<src.targ.id> == c_a_mustang_black) (<src.targ.id> == c_a_mustang_crimson) || (<src.targ.id> == c_a_mustang_skygray) || (<src.targ.id> == c_a_mustang_wimmimate) || (<src.targ.id> == c_a_mustang_pamamino) || (<src.targ.id> == c_a_mustang_sky) || (<src.targ.id> == c_a_mustang_redroan) || (<src.targ.id> == c_a_mustang_chocolate) || (<src.targ.id> == c_a_mustang_roan) || (<src.targ.id> == c_a_mustang_grey) || (<src.targ.id> == c_ostard_mid) || (<src.targ.id> == c_shire) || (<src.targ.id> == c_m_unicorn) || (<src.targ.id> == c_m_kirin) || (<src.targ.id> == c_steed_fire) || (<src.targ.id> == c_steed_silver) || (<src.targ.id> == c_m_silvercorn)
		src.sysmessage @1952,1,1,1 Bunu bandajla iyilestiremezsiniz.
		return 1
	elseif !((<src.targ.hits> < <src.targ.str>) || (<src.targ.findid.i_rune_poison>))
		src.sysmessage @1933,1,1,1 <src.targ.name> tedaviye ihtiyac duymuyor.
		return 1
	elseif (<src.targ.findid.i_rune_poison>)
		if ((<src.veterinary> < 60.0) || (<src.animallore> < 60.0))
			src.sysmessage @1952,1,1,1 Hayvan uzerindeki zehiri tedavi edecek kadar yetenekli degilsiniz.
			return 1
		endif
	else
		var.nx1 (<src.veterinary> / {20 50})
		var.nx2 (<src.animallore> / 50)
		var.nx3 <eval (<var.nx1> + <var.nx2> + {3 10})>
	endif
	src.sd 1
	src.anim 17
        serv.newitem i_mem_spellheal
        new.equip
	serv.newitem i_mem_healing
	new.morey <eval <var.nx3>>
	new.morex 3
	new.link <src.targ.uid>
	new.equip
	src.face
	return 1
elseif (<src.targ.flags>&statf_dead)
	if ((<src.healing> < 80.0) || (<src.anatomy> < 80.0))
		src.sysmessage @1952,1,1,1 Henuz oluleri diriltecek kudrete sahip degilsiniz.
	elseif !(<src.restest 5 i_bandage>)
		src.sysmessage @1952,1,1,1 Diriltme islemi icin 5 bandaja ihtiyaciniz var.
	else
		if (<src.targ.kills> > 5)
			src.criminal 1
			src.sayua 048,6,6,0 * <src.targ.name> isimli katili diriltir *
		elseif (<src.targ.flags>&statf_criminal)
			src.criminal 1
			src.sayua 048,6,6,0 * <src.targ.name> isimli sucluyu diriltir *
		elseif (<src.memoryfindtype.memory_town>) && (<src.targ.memoryfindtype.memory_town>) && (<src.memoryfindtype.memory_town.link> != <src.targ.memoryfindtype.memory_town.link>)
			src.criminal 1
		elseif (<src.memoryfindtype.memory_guild.link.align>) && (<src.targ.memoryfindtype.memory_guild.link.align>) && (<src.memoryfindtype.memory_guild.link.align> != <src.targ.memoryfindtype.memory_guild.link.align>)
			src.criminal 1
		endif
		src.sd 2
		src.face
		src.anim 17
		src.consume 5 i_bandage
		src.targ.spelleffect s_resurrection 1000
		src.targ.sayua 048,6,6,0 * <src.name> sayesinde hayata doner *
		//src.checkhealing 2
		//src.checkanatomy 2
	endif
	return 1
elseif (<src.targ.memoryfindtype.memory_town>) && !(<src.memoryfindtype.memory_town>)
	src.sysmessage @1976,1,1,1 Faction uyelerini iyilestiremezsiniz.
	return 1
elseif (<src.targ.memoryfindtype.memory_guild.link.align> > 0) && !(<src.memoryfindtype.memory_guild.link.align>)
	src.sysmessage @1952,1,1,1 Order / Chaos uyelerini iyilestiremezsiniz.
	return 1
elseif !((<src.targ.hits> < <src.targ.str>) || (<src.targ.findid.i_rune_poison>))
	if !(<src.targ.uid> == <src.uid>)
		src.sysmessage @1933,1,1,1 <src.targ.name> tedaviye ihtiyac duymuyor.
	else
		src.sysmessage @1933,1,1,1 Tedaviye ihtiyaciniz yok.
	endif
	return 1
elseif (<src.targ.findid.i_rune_poison>)
	if ((<src.healing> < 60.0) || (<src.anatomy> < 60.0))
		src.sysmessage @1976,1,1,1 Zehiri tedavi edecek kadar yetenekli degilsiniz.
		return 1
	endif
elseif (<src.targ.findid.i_bleeding>)         ///Bleeding
	if ((<src.healing> < 70.0) || (<src.anatomy> < 70.0))
		src.sysmessage @1976,1,1,1 Yarayi tedavi edecek kadar yetenekli degilsiniz.
		return 1
	endif
else
	var.nx1 (<src.healing> / {20 50})
	var.nx2 (<src.anatomy> / 50)
	var.nx3 <eval (<var.nx1> + <var.nx2> + {3 10})>
endif

src.sd 1
src.anim 17
        serv.newitem i_mem_spellheal
        new.equip
serv.newitem i_mem_healing
new.morey <eval <var.nx3>>
if !(<src.targ.uid> == <src.uid>) // heal other
	new.morex 1
	new.link <src.targ.uid>
	src.face
endif
new.equip
return 1

[itemdef i_mem_healing]
ID=i_memory
TYPE=t_eq_script
NAME=healing mem

On=@Create
attr attr_decay|attr_newbie

On=@Equip
src.events +e_healing
timer 3

On=@UnEquip
cont.events -e_healing

On=@Timer
if (<morey>)
	if (<morex> == 3) // veterinary
		if !(<link.hits> < <link.str>) && !(<link.findid.i_rune_poison>)
			cont.sysmessage @1976,1,1,1 <link.name> tedaviye ihtiyac duymuyor.
			remove
			return 1
		elseif (<link.findid.i_rune_poison>)
			if (<cont.veterinary> < 60.0) || (<cont.animallore> < 60.0)
				cont.sysmessage @1976,1,1,1 Zehiri tedavi edecek kadar yetenekli degilsiniz.
				remove
				return 1
			endif
		elseif (<link.findid.i_bleeding>)       ///////Hayvanlarda bleeding
			if (<cont.veterinary> < 70.0) || (<cont.animallore> < 70.0)
				cont.sysmessage @1976,1,1,1 Yarayi tedavi edecek kadar yetenekli degilsiniz.
				remove
				return 1
			endif
		elseif !(<cont.restest 1 i_bandage>)
			cont.sysmessage @1976,1,1,1 Bandajiniz yok.
			remove
			return 1
		endif
		cont.consume 1 i_bandage
		if (<link.findid.i_rune_poison>) // cure animal
			if !(rand(4) == 1)
				link.findid.i_rune_poison.remove
				link.effect 3,0376a,2,10,1
				link.sayu * iyilestirilir *
			else
				cont.sayua 020,6,6,0 * <link.name> uzerindeki zehiri iyilestiremez *
			endif
		elseif (<link.findid.i_bleeding>) //hayvanlarda yara iyilestirme poff :D
			if !(rand(5) == 1)
				link.findid.i_bleeding.remove
				link.effect 3,0376a,2,10,1
				link.sayu * yarasi iyilestirilir *
			else
				cont.sayua 020,6,6,0 * <link.name> uzerindeki yarayi iyilestiremez *
			endif
		else // heal animal
			link.hits <eval (<link.hits> + <morey>)>
			link.effect 3,0376a,2,10,1
			if (<link.hits> > <link.str>)
				link.hits <link.str>
			endif
			link.sayu * tedavi gorur *
			link.update
		endif
		cont.checkveterinary
		cont.checkanimallore
		if (<cont.dex> < 35)
			timer 6
		else
			timer 4
		endif
	elseif (<morex>) // others
		if !(<link.hits> < <link.str>) && !(<link.findid.i_rune_poison>)
			cont.sysmessage @1976,1,1,1 <link.name> tedaviye ihtiyac duymuyor.
			remove
			return 1
		elseif (<link.hits> < 1)
			cont.sysmessage @1976,1,1,1 <link.name> tedavi esnasinda hayatini kaybetti.
			remove
			return 1
		elseif (<link.findid.i_rune_poison>)
			if (<cont.healing> < 60.0) || (<cont.anatomy> < 60.0)
				cont.sysmessage @1976,1,1,1 Zehiri tedavi edecek kadar yetenekli degilsiniz.
				remove
				return 1
			endif
		elseif !(<cont.restest 1 i_bandage>)
			cont.sysmessage @1100 Bandajiniz yok.
			remove
			return 1
		endif
		cont.consume 1 i_bandage
		if (<link.findid.i_rune_poison>) // cure other
			if !(rand(5) == 1)
				link.findid.i_rune_poison.remove
				link.effect 3,0376a,2,10,1
				if (<link.kills> > 5)
					cont.criminal 1
					cont.sayua 048,6,6,0 * <link.name> isimli katili iyilestirir *
				elseif (<link.flags>&statf_criminal)
					cont.criminal 1
					cont.sayua 048,6,6,0 * <link.name> isimli sucluyu iyilestirir *
				else
					link.sayua 048,6,6,0 * <cont.name> tarafindan iyilestirilir *
					if (<link.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town.link> != <link.memoryfindtype.memory_town.link>)
						cont.criminal 1
					elseif (<link.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align> != <link.memoryfindtype.memory_guild.link.align>)
						cont.criminal 1
					endif
				endif
			else
				cont.sayua 020,6,6,0 * <link.name> uzerindeki zehiri iyilestiremez *
			endif
		elseif (<link.findid.i_bleeding>) 
			if !(rand(5) == 1)
				link.findid.i_bleeding.remove
				link.effect 3,0376a,2,10,1
				if (<link.kills> > 5)
					cont.criminal 1
					cont.sayua 048,6,6,0 * <link.name> yarasini iyilestirir.*
				elseif (<link.flags>&statf_criminal)
					cont.criminal 1
					cont.sayua 048,6,6,0 * <link.name> isimli suclunun yarasini iyilestirir. *
				else
					link.sayua 048,6,6,0 * <cont.name> tarafindan yarasi iyilestirilir. *
					if (<link.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town.link> != <link.memoryfindtype.memory_town.link>)
						cont.criminal 1
					elseif (<link.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align> != <link.memoryfindtype.memory_guild.link.align>)
						cont.criminal 1
					endif
				endif
			else
				cont.sayua 020,6,6,0 * <link.name> uzerindeki yarayi tedavi edemez *
			endif        
		else
			link.hits (<link.hits> + <morey>)
			link.effect 3,0376a,2,10,1
			if (<link.hits> > <link.str>)
				link.hits <link.str>
			endif
			if (<link.kills> > 5)
				cont.criminal 1
				cont.sayua 048,6,6,0 * <link.name> isimli katili tedavi eder *
			elseif (<link.flags>&statf_criminal)
				cont.criminal 1
				cont.sayua 048,6,6,0 * <link.name> isimli sucluyu tedavi eder *
			else
				link.sayua 048,6,6,0 * <cont.name> tarafindan tedavi edilir *
				if (<link.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town.link> != <link.memoryfindtype.memory_town.link>)
					cont.criminal 1
				elseif (<link.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align> != <link.memoryfindtype.memory_guild.link.align>)
					cont.criminal 1
				endif
			endif
		endif
		cont.checkhealing 1
		cont.checkanatomy 1
		if (<cont.dex> < 35)
			timer 6
		else
			timer 4
		endif
	else
		if !(<cont.hits> < <cont.str>) && !(<cont.findid.i_rune_poison>)
			cont.sysmessage @1976,1,1,1 Tedaviye ihtiyac duymuyorsunuz.
			remove
			return 1
		elseif (<cont.hits> < 1)
			remove
			return 1
		elseif (<cont.findid.i_rune_poison>)
			if (<cont.healing> < 60.0) || (<cont.anatomy> < 60.0)
				cont.sysmessage @1976,1,1,1 Zehiri tedavi edecek kadar yetenekli degilsiniz.
				remove
				return 1
			endif 
   		elseif !(<cont.restest 1 i_bandage>)
			cont.sysmessage @1976,1,1,1 Bandajiniz yok.
			remove
			return 1
		endif
		cont.consume 1 i_bandage
		if (<cont.findid.i_rune_poison>)
			if !(rand(5) == 1)
				cont.findid.i_rune_poison.remove
				cont.effect 3,0376a,2,10,1
				cont.sayua 048,6,6,0 * zehir etkisini iyilestirir *
			else
				cont.sayua 020,6,6,0 * zehiri iyilestiremez *
			endif
		elseif (<cont.findid.i_bleeding>)
			if !(rand(5) == 1)
				cont.findid.i_bleeding.remove
				cont.effect 3,0376a,2,10,1
				cont.sayua 048,6,6,0 * yarayi tedavi eder *
			else
				cont.sayua 020,6,6,0  * yarayi tedavi edemez *
			endif
		else // heal self
			cont.hits (<cont.hits> + <morey>)
			cont.effect 3,0376a,2,10,1
			cont.sayua 048,6,6,0 * kendini tedavi eder *
			if (<cont.hits> > <cont.str>)
				cont.hits <cont.str>
			endif
		endif
		cont.checkhealing 1
		cont.checkanatomy 1
		if (<cont.dex> < 35)
			timer 10
		else
			timer 8
		endif
	endif
	morey 0
	cont.events -e_healing
	return 1
endif
remove
return 1
	
[events e_healing]
On=@GetHit
if (rand(3) == 1)
	sayua 020,6,6,0 * bandajlari yirtilir *
	src.consume 1 i_bandage
	findid.i_mem_healing.remove
endif

On=@Death
findid.i_mem_healing.remove

On=@Logout
findid.i_mem_healing.remove

[function checkhealing]
if (<args> == 1) && (<healing> >= 80.0) && (rand(1) == 2)
	return 0
endif

if ((<skilllock[17]> == 0) && (<skilltotal> < 800.0))
	if (<healing> < 30.0)
		if (rand(2) == 1)
			healing (<healing> + 1)
		endif
	elseif (<healing> < 50.0)
		if (rand(2) == 1)
			healing (<healing> + 1)
		endif
	elseif (<healing> < 75.0)
		if (rand(3) == 1)
			healing (<healing> + 1)
		endif
	elseif (<healing> < 100.0)
		if (rand(3) == 1)
			healing (<healing> + 1)
		endif
	endif
endif

[function checkveterinary]
if ((<skilllock[39]> == 0) && (<skilltotal> < 800.0))
	if (<veterinary> < 30.0)
		if (rand(1) == 1)
			veterinary (<veterinary> + 1)
		endif
	elseif (<veterinary> < 50.0)
		if (rand(2) == 1)
			veterinary (<veterinary> + 1)
		endif
	elseif (<veterinary> < 75.0)
		if (rand(3) == 1)
			veterinary (<veterinary> + 1)
		endif
	elseif (<veterinary> < 100.0)
		if (rand(3) == 1)
			veterinary (<veterinary> + 1)
		endif
	endif
endif

[function checkanatomy]
if (<args> == 1) && (<anatomy> >= 80.0) && (rand(3) == 1)
	return 0
endif

if ((<skilllock[1]> == 0) && (<skilltotal> < 800.0))
	if (<anatomy> < 30.0)
		if (rand(1) == 1)
			anatomy (<anatomy> + 1)
		endif
	elseif (<anatomy> < 50.0)
		if (rand(2) == 1)
			anatomy (<anatomy> + 1)
		endif
	elseif (<anatomy> < 75.0)
		if (rand(3) == 1)
			anatomy (<anatomy> + 1)
		endif
	elseif (<anatomy> < 100.0)
		if (rand(4) == 1)
			anatomy (<anatomy> + 1)
		endif
	endif
endif

[function checkanimallore]
if ((<skilllock[2]> == 0) && (<skilltotal> < 800.0))
	if (<animallore> < 30.0)
		if (rand(1) == 1)
			animallore (<animallore> + 1)
		endif
	elseif (<animallore> < 50.0)
		if (rand(2) == 1)
			animallore (<animallore> + 1)
		endif
	elseif (<animallore> < 75.0)
		if (rand(3) == 1)
			animallore (<animallore> + 1)
		endif
	elseif (<animallore> < 100.0)
		if (rand(3) == 1)
			animallore (<animallore> + 1)
		endif
	endif
endif

[DIALOG d_rescon]
0,375

nomove
page 0 
resizepic 30 10 5054 145 75
text 45 15 600 0
text 60 35 0 1
text 60 55 0 2
button 40 35 210 211 1 0 1
button 40 55 210 211 1 0 0 

[DIALOG d_rescon TEXT]   
Resurrect?
yeah, sure.
no, thanks.

[DIALOG d_rescon BUTTON]  
ONBUTTON=0

ONBUTTON=1
SRC.RESURRECT

[ITEMDEF i_mem_spellheal]
ID=i_memory  
TYPE=t_eq_script  
NAME=Spell Heal
 
ON=@Create  
ATTR=attr_decay
  
ON=@equip
src.sysmessage @1976,1,1,1 bandaj atarken buyu yapamazsiniz.
TIMER=2

ON=@Timer
remove
return 1

[EOF]

büyük bi ihtimal üzerinde bandajın event'i kalmıştır bi kontrol et istersen ha birde bandaj bas ve bi 6-7 sn sonra tekrar kontrol et event silinmiyor olabilir
Savaşırken nasıl sildiricem ki eventi? tekrar savaşı bıraktıgı zamanda tekrar vermek gerek eventi

bandajın eventi bu: Bu event zaten serverdaki her charda bulunuyor bundan dolayımı, peki nasıl ayarlarım ki

[events e_healing]
On=@GetHit
if (rand(3) == 1)
sayua 020,6,6,0 * bandajlari yirtilir *
src.consume 1 i_bandage
findid.i_mem_healing.remove
endif

On=@Death
findid.i_mem_healing.remove

On=@Logout
findid.i_mem_healing.remove
equip e bunu ekle
timerf 2, findid.i_mem_healing.remove

ON=@Timer ide sil gitsin

Bu konu PeterJoseph tarafından düzenlendi(2010-09-06 10:58, 14 yıl önce)
Teşekkürler oluyor.

Bu konu ycihangir tarafından düzenlendi(2010-09-06 11:15, 14 yıl önce)
np :)

Üye Ol veya Giriş Yap

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