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
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.