merhabalar heal potion ve bandaj bastıgı hp'yi sabitlemek için ayarını nerden ve ayarlayabiliriz
Kod:
[ITEMDEF i_potion_HealGreat]
NAME=greater heal potion
ID=i_bottle_empty
TYPE=T_POTION
//TDATA1=i_bottle_empty
RESOURCES=i_reag_ginseng 7, i_bottle_EMPTY
SKILLMAKE=ALCHEMY 55.1
WEIGHT=0
ON=@Create
MORE1=s_greater_heal
MORE2=80.0
color=4044
on=@click
message @0790,,1 [<amount>] <name>
return 1
On=@DropOn_Char
IF (STRMATCH(c_m_golem*, <ARGO.BASEID>))
SRC.SYSMESSAGE @,,1 Golemleri potion ile iyilestiremezsiniz.
RETURN 1
ENDIF
on=@dclick
if (<src.findid.i_rune_poison>)
src.sysmessage @0790,,1 Zehirli iken bunu kullanamazsiniz
return 1
endif
if (<src.findid.i_bleeding>)
src.sysmessage @0790,,1 Yaraliyken bunu kullanamazsiniz
return 1
endif
if (<src.findid.i_bleeding2>)
src.sysmessage @0790,,1 Yaraliyken bunu kullanamazsiniz
return 1
endif
if !((<src.hits> < <src.str>)
src.sysmessage @0481,,1 Tedaviye ihtiyaç duymuyorsunuz
return 1
endif
if (<src.findid.i_rune_poison>))
src.sysmessage @0790,,1 Zehirli iken heal potion içemezsiniz.
return 1
endif
[ITEMDEF 0e21]
DEFNAME=i_bandage
RESOURCES=i_cloth
TYPE=T_BANDAGE
WEIGHT=0.0
DUPELIST=0ee9
CATEGORY=Items by Professions
SUBSECTION=Healer
DESCRIPTION=clean bandages
On=@DClick
if (<src.isevent.e_topukcuyuz>)
src.sysmessage @0481 Yasak
return 1
endif
if !(<topobj.uid> == <src.uid>)
src.sysmessage @0481 Bandajlar cantanizda olmali.
return 1
elif ((<src.findid.i_spdelay_man>) || (<src.findid.i_spdelay_woman>) || (<src.findid.i_spdelay_unisex>))
src.sysmessage @0481 Bandajlari Su anda kullanamazsiniz.
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 @0481 Bandajlari Su anda kullanamazsiniz.
return 1
else
return 0
endif
On=@Targon_Char
src.skill fail
if (<src.targ.isevent.e_topukcuyuz>)
src.sysmessage @0481 Yasakk
return 1
endif
if !(<src.restest 1 i_bandage>)
src.sysmessage @0481 Bandajiniz yok.
return 1
elseif (<src.hits> < 1)
src.sysmessage @1100,0,5 Kendinizi resleyemezsiniz.
return 1
elseif (<src.targ.distance> > 3)
src.sysmessage @0481 Hedefe ulasamiyorsunuz.
return 1
elseif !(<src.targ.canseelos>)
src.sysmessage @0481 Hedefe ulasamiyorsunuz.
return 1
elseif (<src.targ.npc> == 10) ||(<src.targ.npc> == 11) || (<src.targ.npc> == 12) || (<src.targ.npc> == 13)
src.sysmessage @0481 Bunu Bandajla iyilestiremezsiniz.
return 1
elseif (<src.targ.npc> == 1)
if (<src.targ.id> == c_m_wyvern)
src.sysmessage @0481 Bunlari bandajla iyilestiremezsiniz.
elseif !((<src.targ.hits> < <src.targ.str>) || (<src.targ.findid.i_rune_poison>))
src.sysmessage @0481 <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 @0481 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.newitem i_beklebiraz
src.act.equip
src.sd 1
src.anim 17
src.newitem i_mem_healing
src.act.morey <eval <var.nx3>>
src.act.morex 3
src.act.link <src.targ.uid>
src.act.equip
src.face
return 1
elseif (<src.targ.flags>&statf_dead)
if ((<src.healing> < 80.0) || (<src.anatomy> < 80.0))
src.sysmessage @0481 Henuz oluleri diriltecek kudrete sahip degilsiniz.
elseif !(<src.restest 5 i_bandage>)
src.sysmessage @0481 Diriltme islemi icin 5 bandaja ihtiyaciniz var.
elseif (<src.isevent.e_house>) || (<src.targ.isevent.e_house>)
src.sysmessage @0481 Bu bolgede resleyemezsiniz.
else
if (<src.targ.kills> > 6)
src.criminal 1
src.sayua 075a,6,6,0 * <src.targ.name> isimli katili diriltir *
elseif (<src.targ.flags>&statf_criminal)
src.criminal 1
src.sayua 075a,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 075a,6,6,0 * <src.name> sayesinde hayata doner *
src.targ.nightsight 1
src.checkhealing 2
src.checkanatomy 2
endif
return 1
elseif (<src.targ.memoryfindtype.memory_town>) && !(<src.memoryfindtype.memory_town>)
src.sysmessage @0481 Faction uyelerini iyilestiremezsiniz.
return 1
elseif (<src.targ.memoryfindtype.memory_guild.link.align> > 0) && !(<src.memoryfindtype.memory_guild.link.align>)
src.sysmessage @0481 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 @0481 <src.targ.name> tedaviye ihtiyac duymuyor.
else
src.sysmessage @0481 Tedaviye ihtiyaciniz yok.
endif
return 1
elseif (<src.targ.findid.i_rune_poison>)
if ((<src.healing> < 60.0) || (<src.anatomy> < 60.0))
src.sysmessage @0481 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 @0481 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.newitem i_beklebiraz
src.act.equip
src.sd 1
src.anim 17
src.newitem i_mem_healing
src.act.morey <eval <var.nx3>>
if !(<src.targ.uid> == <src.uid>) // heal other
src.act.morex 1
src.act.link <src.targ.uid>
src.face
endif
src.act.equip
return 1
[itemdef i_beklebiraz]
name bekle biraz
ID=i_memory
TYPE=t_eq_script
On=@Create
attr attr_decay|attr_newbie
on=@equip
timer 2
on=@timer
remove
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 @0481 <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 @0481 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 @0481 Yarayi tedavi edecek kadar yetenekli degilsiniz.
remove
return 1
endif
elseif !(<cont.restest 1 i_bandage>)
cont.sysmessage @0481 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.sayua 075a,6,6,0 * iyilestirilir *
link.healverlandallamaitkrocan3
else
cont.sayua 075a,6,6,0 * <link.name> zehirini 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.sayua 075a,6,6,0 * yarasi iyilestirilir *
link.healverlandallamaitkrocan3
else
cont.sayua 075a,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.sayua 075a,6,6,0 * 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 @0481 <link.name> tedaviye ihtiyac duymuyor.
remove
return 1
elseif (<link.hits> < 1)
cont.sysmessage @0481 <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 @0481 Zehiri tedavi edecek kadar yetenekli degilsiniz.
remove
return 1
endif
elseif !(<cont.restest 1 i_bandage>)
cont.sysmessage @0481 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> > 6)
cont.criminal 1
cont.sayua 075a,6,6,0 * <link.name> isimli katili iyilestirir *
elseif (<link.flags>&statf_criminal)
cont.criminal 1
cont.sayua 075a,6,6,0 * <link.name> isimli sucluyu iyilestirir *
else
link.sayua 075a,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 075a,6,6,0 * <link.name> zehirini iyilestiremez *
endif
elseif (<link.findid.i_bleeding>)///////////////////////////Bleeding
if !(rand(5) == 1)
link.findid.i_bleeding.remove
link.effect 3,0376a,2,10,1
if (<link.kills> > 6)
cont.criminal 1
cont.sayua 075a,6,6,0 * <link.name> yarasini iyilestirir.*
elseif (<link.flags>&statf_criminal)
cont.criminal 1
cont.sayua 075a,6,6,0 * <link.name> isimli suclunun yarasini iyilestirir. *
else
link.sayua 075a,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 075a,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> > 6)
cont.criminal 1
cont.sayua 075a,6,6,0 * <link.name> isimli katili tedavi eder *
elseif (<link.flags>&statf_criminal)
cont.criminal 1
cont.sayua 075a,6,6,0 * <link.name> isimli sucluyu tedavi eder *
else
link.sayua 075a,6,6,0 * <cont.name> tarafindan tedavi edilir *
cont.healverlandallamaitkrocan
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 @0481 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 @0481 Zehiri tedavi edecek kadar yetenekli degilsiniz.
remove
return 1
endif
elseif !(<cont.restest 1 i_bandage>)
cont.sysmessage @0481 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 075a,6,6,0 * Zehiri Iyilestirir *
else
cont.sayua 075a,6,6,0 * Zehri IyileStiremez *
endif
elseif (<cont.findid.i_bleeding>) // bleed remove
if !(rand(5) == 1)
cont.findid.i_bleeding.remove
cont.effect 3,0376a,2,10,1
cont.sayua 075a,6,6,0 * Yarayi Tedavi Eder *
else
cont.sayua 075a,6,6,0 * Yarayi Tedavi Edemez *
endif
else // heal self
cont.hits (<cont.hits> + <morey>)
cont.effect 3,0376a,2,10,1
cont.message @07a1,,1 [+<morey>]
cont.sayua 0795,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
return 1 // sonradan ekledim
[events e_healing]
ON=@spellcast
if (<findid.i_beklebiraz>)
src.sysmessage @0481 <findid.i_beklebiraz.timer> saniye sonra atabilirsiniz.
return 1
On=@GetHit
if (rand(3) == 1)
sayua 075a,6,6,0 * Bandajlari Yirtilir *
findid.i_mem_healing.remove
endif
On=@Death
findid.i_mem_healing.remove
On=@Logout
findid.i_mem_healing.remove
[function checkhealing]
healverlandallamaitkrocan
[function checkveterinary]
healverlandallamaitkrocan3
[function checkanatomy]
healverlandallamaitkrocan2
[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(4) == 1)
animallore (<animallore> + 1)
endif
elseif (<animallore> < 100.0)
if (rand(5) == 1)
animallore (<animallore> + 1)
endif
endif
endif
[function healverlandallamaitkrocan]
if (<skilltotal> < 800.0)
if (<skilllock[17]> == 0)
if (<healing> < 100.0)
healing +=1
return 1
endif
endif
endif
[function healverlandallamaitkrocan2]
if (<skilltotal> < 800.0)
if (<skilllock[1]> == 0)
if (<anatomy> < 100.0)
anatomy +=1
return 1
endif
endif
endif
[function healverlandallamaitkrocan3]
if (<skilltotal> < 800.0)
if (<skilllock[39]> == 0)
if (<veterinary> < 100.0)
veterinary +=1
return 1
endif
endif
endif