Healing sistemim bu
[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=@DClick
if !(<topobj.uid> == <src.uid>)
	src.sysmessage @38,,1 Bandajlar cantanizda olmali.
	return 1
elif (<src.findid.i_mem_healing.timer> < 0)
	src.findid.i_mem_healing.remove
	return 0
elif (<src.findid.i_mem_healing>)
	src.sysmessage @38,,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 @38,,1 Bandajiniz yok.
	return 1
elif (<src.targ.distance> > 3)
	src.sysmessage @38,,1 Hedefe ulasamiyorsunuz.
	return 1
elif !(<src.targ.canseelos>)
src.sysmessage @38,,1 Hedefi goremiyorsunuz.
return 1
elif (<eval <src.p.z>+8> < <src.targ.p.z>) || (<eval <src.p.z>-8> > <src.targ.p.z>)
src.sysmessage @38,,1 Bu kisinin yukseklik seviyesi sizden daha fazla yada alcak!
return 1
elif (<src.targ.npc> == 10) ||(<src.targ.npc> == 11) || (<src.targ.npc> == 12) || (<src.targ.npc> == 13)
	src.sysmessage @38,,1 Bunu iyilestiremezsiniz.
	return 1
elif (<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 @38,,1 Golem'leri bandajla iyilestiremezsiniz.
	elif !((<src.targ.hits> < <src.targ.str>) || (<src.targ.findid.i_rune_poison>))
		src.sysmessage @38,,1 <src.targ.name> tedaviye ihtiyac duymuyor.
		return 1
	elif (<src.targ.findid.i_rune_poison>)
		if ((<src.veterinary> < 60.0) || (<src.animallore> < 60.0))
			src.sysmessage @38,,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
	src.newitem i_mem_healing
	new.morey <eval <var.nx3>>
	new.morex 3
	new.link <src.targ.uid>
	new.equip
	src.face
	return 1
elif (<src.targ.flags>&statf_dead)
	if ((<src.healing> < 80.0) || (<src.anatomy> < 80.0))
		src.sysmessage @38,,1 Henuz oluleri diriltecek kudrete sahip degilsiniz.
	elif !(<src.restest 5 i_bandage>)
		src.sysmessage @38,,1 Diriltme islemi icin 5 bandaja ihtiyaciniz var.
	else
		if (<src.targ.kills> > 5)
			src.criminal 1
			src.sayua 044,6,6,0 * <src.targ.name> isimli katili diriltir *
		elif (<src.targ.flags>&statf_criminal)
			src.criminal 1
			src.sayua 044,6,6,0 * <src.targ.name> isimli sucluyu diriltir *
		elif (<src.memoryfindtype.memory_town>) && (<src.targ.memoryfindtype.memory_town>) && (<src.memoryfindtype.memory_town.link> != <src.targ.memoryfindtype.memory_town.link>)
			src.criminal 1
		elif (<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 044,6,6,0 * <src.name> sayesinde hayata doner *
		//src.checkhealing 2
		//src.checkanatomy 2
	endif
	return 1
elif (<src.targ.memoryfindtype.memory_town>) && !(<src.memoryfindtype.memory_town>)
	src.sysmessage @38,,1 Faction uyelerini iyilestiremezsiniz.
	return 1
elif (<src.targ.memoryfindtype.memory_guild.link.align> > 0) && !(<src.memoryfindtype.memory_guild.link.align>)
	src.sysmessage @38,,1 Order/Chaos uyelerini iyilestiremezsiniz.
	return 1
elif !((<src.targ.hits> < <src.targ.str>) || (<src.targ.findid.i_rune_poison>))
	if !(<src.targ.uid> == <src.uid>)
		src.sysmessage @38,,1 <src.targ.name> tedaviye ihtiyac duymuyor.
	else
		src.sysmessage @38,,1 Tedaviye ihtiyaciniz yok.
	endif
	return 1
elif (<src.targ.findid.i_rune_poison>)
	if ((<src.healing> < 60.0) || (<src.anatomy> < 60.0))
		src.sysmessage @38,,1 Zehiri tedavi edecek kadar yetenekli degilsiniz.
		return 1
	endif
elif (<src.targ.findid.i_bleeding>) || (<src.targ.findid.i_bleeding2>)         ///Bleeding
	if ((<src.healing> < 70.0) || (<src.anatomy> < 70.0))
		src.sysmessage @38,,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
src.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.newitem i_bandajvar
new.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 @38,,1 <link.name> tedaviye ihtiyac duymuyor.
			remove
			return 1
		elif (<link.findid.i_rune_poison>)
			if (<cont.veterinary> < 60.0) || (<cont.animallore> < 60.0)
				cont.sysmessage @38,,1 Zehiri tedavi edecek kadar yetenekli degilsiniz.
				remove
				return 1
			endif
		elif (<link.findid.i_bleeding>) || (<link.findid.i_bleeding2>)       ///////Hayvanlarda bleeding
			if (<cont.veterinary> < 70.0) || (<cont.animallore> < 70.0)
				cont.sysmessage @38,,1 Yarayi tedavi edecek kadar yetenekli degilsiniz.
				remove
				return 1
			endif
		elif !(<cont.restest 1 i_bandage>)
			cont.sysmessage @38,,1 Bandajiniz yok.
			remove
			return 1
		endif
		cont.consume 1 i_bandage
		if (<link.findid.i_rune_poison>) // cure animal
			if !(rand(5) == 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
		elif (<link.findid.i_bleeding>) || (<link.findid.i_bleeding2>) //hayvanlarda yara iyilestirme poff :D
			if !(rand(5) == 1)
				link.findid.i_bleeding.remove
				link.findid.i_bleeding2.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
	elif (<morex>) // others
		if !(<link.hits> < <link.str>) && !(<link.findid.i_rune_poison>)
			cont.sysmessage @38,,1 <link.name> tedaviye ihtiyac duymuyor.
			remove
			return 1
		elif (<link.hits> < 1)
			cont.sysmessage @38,,1 <link.name> tedavi esnasinda hayatini kaybetti.
			remove
			return 1
		elif (<link.findid.i_rune_poison>)
			if (<cont.healing> < 60.0) || (<cont.anatomy> < 60.0)
				cont.sysmessage @38,,1 Zehiri tedavi edecek kadar yetenekli degilsiniz.
				remove
				return 1
			endif
		elif !(<cont.restest 1 i_bandage>)
			cont.sysmessage @38,,1 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 044,6,6,0 * <link.name> isimli katili iyilestirir *
				elif (<link.flags>&statf_criminal)
					cont.criminal 1
					cont.sayua 044,6,6,0 * <link.name> isimli sucluyu iyilestirir *
				else
					link.sayua 044,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
					elif (<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
		elif (<link.findid.i_bleeding>) || (<link.findid.i_bleeding2>)//Bleeding 
			if !(rand(5) == 1)
				link.findid.i_bleeding.remove
				link.findid.i_bleeding2.remove
				link.effect 3,0376a,2,10,1
				if (<link.kills> > 5)
					cont.criminal 1
					cont.sayua 044,6,6,0 * <link.name> yarasini iyilestirir.*
				elif (<link.flags>&statf_criminal)
					cont.criminal 1
					cont.sayua 044,6,6,0 * <link.name> isimli suclunun yarasini iyilestirir. *
				else
					link.sayua 044,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
					elif (<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 // heal other
			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 044,6,6,0 * <link.name> isimli katili tedavi eder *
			elif (<link.flags>&statf_criminal)
				cont.criminal 1
				cont.sayua 044,6,6,0 * <link.name> isimli sucluyu tedavi eder *
			else
				link.sayua 044,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
				elif (<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 @38,,1 Tedaviye ihtiyac duymuyorsunuz.
			remove
			return 1
		elif (<cont.hits> < 1)
			remove
			return 1
		elif (<cont.findid.i_rune_poison>)
			if (<cont.healing> < 60.0) || (<cont.anatomy> < 60.0)
				cont.sysmessage @38,,1 Zehiri tedavi edecek kadar yetenekli degilsiniz.
				remove
				return 1
			endif 
   		elif !(<cont.restest 1 i_bandage>)
			cont.sysmessage @38,,1 Bandajiniz yok.
			remove
			return 1
		endif
		cont.consume 1 i_bandage
		if (<cont.findid.i_rune_poison>) // cure self
			if !(rand(5) == 1)
				cont.findid.i_rune_poison.remove
				cont.effect 3,0376a,2,10,1
				cont.sayua 044,6,6,0 * zehir etkisini iyilestirir *
			else
				cont.sayua 020,6,6,0 * zehiri iyilestiremez *
			endif
		elif (<cont.findid.i_bleeding>) || (<cont.findid.i_bleeding2>)/////////Bleeding bana bleed
			if !(rand(5) == 1)
				cont.findid.i_bleeding.remove
				cont.findid.i_bleeding2.remove
				cont.effect 3,0376a,2,10,1
				cont.sayua 044,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 044,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 14
		else
			timer 8
		endif
	endif
	morey 0 // memory'yi etkisiz hale getir
	cont.events -e_healing // eventi kaldir artik gerek yok
	return 1
endif
remove
return 1
	
[events e_healing]
On=@GetHit
if (rand(2) == 1)
	sayua 020,6,6,0 * bandajlari yirtilir *
	findid.i_mem_healing.remove
	src.frozenbandaj
endif

On=@Death
findid.i_mem_healing.remove

On=@Logout
findid.i_mem_healing.remove

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

if ((<skilllock[17]> == 0) && (<skilltotal> < 800.0))
if (<tag0.override.skillcap_17> < 100.1)
if (<healing> < 100.0)
healing (<healing> +1)
else
if (<healing> < <tag0.override.skillcap_17>)
healing (<healing> +1)
endif
endif
endif

[comment asd]
if (<healing> < 30.0)
		if (rand(2) == 1)
			healing (<healing> + 1)
		endif
	elif (<healing> < 50.0)
		if (rand(2) == 1)
			healing (<healing> + 1)
		endif
	elif (<healing> < 75.0)
		if (rand(3) == 1)
			healing (<healing> + 1)
		endif
	elif (<healing> < 100.0)
		if (rand(4) == 1)
			healing (<healing> + 1)
		endif
	endif
endif

[function checkveterinary]
if ((<skilllock[39]> == 0) && (<skilltotal> < 800.0))
if (<tag0.override.skillcap_39> < 100.1)
if (<veterinary> < 100.0)
veterinary (<veterinary> +1)
else
if (<veterinary> < <tag0.override.skillcap_39>)
veterinary (<veterinary> +1)
endif
endif
endif
[comment vet]
	if (<veterinary> < 30.0)
		if (rand(1) == 1)
			veterinary (<veterinary> + 1)
		endif
	elif (<veterinary> < 50.0)
		if (rand(2) == 1)
			veterinary (<veterinary> + 1)
		endif
	elif (<veterinary> < 75.0)
		if (rand(3) == 1)
			veterinary (<veterinary> + 1)
		endif
	elif (<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 (<tag0.override.skillcap_1> < 100.1)
if (<anatomy> < 100.0)
anatomy (<anatomy> +1)
else
if (<anatomy> < <tag0.override.skillcap_1>)
anatomy (<anatomy> +1)
endif
endif
endif
[comment fda]
	if (<anatomy> < 30.0)
		if (rand(1) == 1)
			anatomy (<anatomy> + 1)
		endif
	elif (<anatomy> < 50.0)
		if (rand(2) == 1)
			anatomy (<anatomy> + 1)
		endif
	elif (<anatomy> < 75.0)
		if (rand(3) == 1)
			anatomy (<anatomy> + 1)
		endif
	elif (<anatomy> < 100.0)
		if (rand(4) == 1)
			anatomy (<anatomy> + 1)
		endif
	endif
endif

[function checkanimallore]
if ((<skilllock[2]> == 0) && (<skilltotal> < 800.0))
if (<tag0.override.skillcap_2> < 100.1)
if (<animallore> < 100.0)
animallore (<animallore> +1)
else
if (<animallore> < <tag0.override.skillcap_2>)
animallore (<animallore> +1)
endif
endif
endif

[comment lfgf]
	if (<animallore> < 30.0)
		if (rand(1) == 1)
			animallore (<animallore> + 1)
		endif
	elif (<animallore> < 50.0)
		if (rand(2) == 1)
			animallore (<animallore> + 1)
		endif
	elif (<animallore> < 75.0)
		if (rand(3) == 1)
			animallore (<animallore> + 1)
		endif
	elif (<animallore> < 100.0)
		if (rand(4) == 1)
			animallore (<animallore> + 1)
		endif
	endif
endif

[EOF]

Verdiği hatada budur
16:01:ERROR:(bandage_system.scp,150)Undefined symbol 'i_bandajvar'
16:01:ERROR:(bandage_system.scp,150)Undefined symbol 'i_bandajvar'
16:02:ERROR:(bandage_system.scp,258)Undefined symbol 'i_bleeding'
16:02:ERROR:(bandage_system.scp,258)Undefined symbol 'i_bleeding2'
16:02:ERROR:(bandage_system.scp,118)Undefined symbol 'i_bleeding'
16:02:ERROR:(bandage_system.scp,118)Undefined symbol 'i_bleeding2'
16:02:ERROR:(bandage_system.scp,129)Undefined keyword 'sd'

yardımcı olabilirmisiniz?

ayrıca bandajı çok kısa sürede atıyor ve bandajları şu an kullanamazsınızı çok uzun tutuyor fakat timerları ellemekten korktum ilgilenirseniz çok sevinirim. :)
Novice
12.5
"i_bandahvar,i_bleeding,i_bleeding2" itemleri mevcut değil "sd" functionu yok.
Bandage_system scriptine girin.
16:01:ERROR:(bandage_system.scp,150)Undefined symbol 'i_bandajvar'  (150. satırdaki i_bandajvar yazısını silin)
16:02:ERROR:(bandage_system.scp,258)Undefined symbol 'i_bleeding' (258. satırdaki i_bleeding yazısını silin)
16:02:ERROR:(bandage_system.scp,258)Undefined symbol 'i_bleeding2' (258. satırdaki i_bleeding2 yazısını silin)
16:02:ERROR:(bandage_system.scp,118)Undefined symbol 'i_bleeding' (118.satırdaki i_bleeding yazısını silin)
16:02:ERROR:(bandage_system.scp,118)Undefined symbol 'i_bleeding2' (118. satırdaki i_bleeding2 yazısını silin)
16:02:ERROR:(bandage_system.scp,129)Undefined keyword 'sd' (129.satırda sd yazısını silinn)

On=@Equip
src.newitem i_bandajvar
new.equip
src.events +e_healing
timer 3
Burdaki timerdan kaç saniyede bir atabileceğini ayarla.

Üye Ol veya Giriş Yap

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