Retired - 03-04-2017 02:10 GMT -
Merhabalar ,
Ben bandaj yırtma olasılığını ayarlamak istiyorum bunu nasıl düzenleyebilirim?
Merhabalar ,
Ben bandaj yırtma olasılığını ayarlamak istiyorum bunu nasıl düzenleyebilirim?
Epihaltes - 03-04-2017 10:04 GMT -
Bandaj scp
triggeri altında orada bulursun
Bandaj scp
Kod:
@Gethit
triggeri altında orada bulursun
Retired - 03-04-2017 13:28 GMT -
Sistem komple bu şekilde
Yumrukla bandaj yırtma oranı baya düşük
Sistem komple bu şekilde
Yumrukla bandaj yırtma oranı baya düşük
Kod:
[ITEMDEF 0e21]
DEFNAME=i_bandage
RESOURCES=i_cloth
TYPE=T_BANDAGE
WEIGHT=0
DUPELIST=0ee9
CATEGORY=Items by Professions
SUBSECTION=Healer
DESCRIPTION=clean bandages
On=@DClick
IF (<topobj.uid> != <src.uid>)
src.sysmessage @38,,1 Bandajlar çantanızda olmalıdır.
return 1
elseif (<src.findid.i_mem_healing_2.timer> > 0) || (<src.findid.i_mem_healing_2.more2> > 0)
src.sysmessage @38,,1 Bandajları şuanda kullanamazsınız.
return 1
elseif !(<src.findid.i_mem_healing_2>)
src.newitem i_mem_healing_2
src.act.equip
src.findid.i_mem_healing_2.dclick
return 1
else
src.findid.i_mem_healing_2.dclick
return 1
endif
return 1
[itemdef i_mem_healing_2]
ID=i_memory
TYPE=t_eq_script
NAME=healing mem
On=@Create
attr attr_decay|attr_newbie
On=@Equip
//src.events +e_healing
//timer 2
On=@UnEquip
cont.events -e_healing
on=@dclick
if (<timer>>0)
src.sysmessage @38,,1 Bandajları şuanda kullanamazsınız.
return 1
else
target Tedavi etmek istediginiz kisiyi secin.
return 1
endif
On=@Targon_Char
src.skill fail
if !(<src.restest 1 i_bandage>)
src.sysmessage @38,,1 Bandajınız kalmamış.
morex 0
morey 0
more2 0
timer -1
src.events -e_healing
return 1
ELSEIF !(<src.targ.canseelos>)
src.sysmessage @38,,1 Hedefe ulaşamıyorsunuz
return 1
elseif (<src.hits> < 1)
src.sysmessage @1952,1,1,1 Oluyken Bandaj Kullanilmaz.
return 1
elseif (<src.targ.distance> > 3)
src.sysmessage @38,,1 Hedefe ulaşamıyorsunuz
morex 0
morey 0
more2 0
timer -1
src.events -e_healing
return 1
elseif (<src.targ.flags>&statf_dead)
if ((<src.healing> < 80.0) || (<src.anatomy> < 80.0))
src.sysmessage @38,,1 Ölüleri diriltebilecek kadar yeteneğe sahip değilsiniz.
elseif ((<src.targ.isevent.e_house>) && (<src.targ.hits> == 0))
src.sysmessage @038,,1 Resleyeceğiniz kişi evde.
return 1
elseif (<src.targ.uid> == <src.uid>)
src.sysmessage @38,,1 Kendinizi diriltemezsiniz.
elseif !(<src.restest 5 i_bandage>)
src.sysmessage @38,,1 Diriltme işlemi icin 5 bandaja ihtiyacınız var.
elseif (<src.targ.isneartype t_door 1>) || (<src.targ.isneartype t_door_locked 1>)
src.sysmessage @38,,1 Dirilteceğiniz kişi kapıya çok yakın.
src.skill fail
return 1
/// elseif (<src.targ.region.flags> == 010d2)
/// src.sysmessage @38,,1 Gemide diriltme işlemi yapamazsınız.
/// return 1
else
if (<src.uid>)
if (<src.targ.kills> > 7)
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
if (<src.findid.i_spdelay_man>)
src.findid.i_spdelay_man.timer 2
elseif (<src.findid.i_spdelay_woman>)
src.findid.i_spdelay_woman.timer 2
elseif (<src.findid.i_spdelay_unisex>)
src.findid.i_spdelay_unisex.timer 2
else
src.sd 2
endif
src.face
src.anim 17
src.consume 5 i_bandage
src.targ.spelleffect 59 100.0
src.targ.sayua 075a,6,6,0 * <src.name> sayesinde hayata doner *
src.checkhealing_2 2
src.checkanatomy_2 2
src.newitem i_resledinbekle
src.act.equip
endif
endif
return 1
elseif (<src.targ.memoryfindtype.memory_guild.link.align> > 0) && !(<src.memoryfindtype.memory_guild.link.align>)
src.sysmessage @38,,1 Order/Chaos üyelerini iyileştiremezsiniz.
return 1
elseif !((<src.targ.hits> < <src.targ.str>) || (<src.targ.findid.i_rune_poison>) || (<src.targ.findid.i_bleeding2>))
if !(<src.targ.uid> == <src.uid>)
src.sysmessage @38,,1 <src.targ.name> tedaviye ihtiyaç duymuyor.
else
src.sysmessage @38,,1 Tedaviye gereksiniminiz yok.
endif
return 1
elseif (<src.targ.findid.i_rune_poison>)
if ((<src.healing> < 60.0) || (<src.anatomy> < 60.0))
src.sysmessage @38,,1 Zehiri tedavi edecek kadar yetenekli değilsiniz.
return 1
else
morey <eval <eval (<src.healing> / 45)> + <eval (<src.anatomy> / 50)> + {3 10}> // kac heal veriyo?
endif
elseif (<src.targ.findid.i_bleeding2>) // Bleeding
if ((<src.healing> < 60.0) || (<src.anatomy> < 60.0)) // Bleeding
src.sysmessage @38,,1 Yarayı tedavi edecek kadar yetenekli değilsiniz. // Bleeding
return 1 // Bleeding
else
morey <eval <eval (<src.healing> / 45)> + <eval (<src.anatomy> / 50)> + {3 10}> // kac heal veriyo?
endif
else
morey <eval <eval (<src.healing> / 45)> + <eval (<src.anatomy> / 50)> + {3 10}> // kac heal veriyo?
endif
if (<src.findid.i_spdelay_man>)
src.findid.i_spdelay_man.timer 2
elseif (<src.findid.i_spdelay_woman>)
src.findid.i_spdelay_woman.timer 2
elseif (<src.findid.i_spdelay_unisex>)
src.findid.i_spdelay_unisex.timer 2
else
src.sd 2
endif
src.anim 17
timer 3
more2 1
src.events +e_healing
src.newitem i_bandajvar
src.new.equip
if !(<src.targ.uid> == <src.uid>) // heal other
morex 1
link <src.targ.uid>
src.face
endif
return 1
On=@Timer
if (<morey>)
if (<morex>) // others
if !(<link.hits> < <link.str>) && !(<link.findid.i_rune_poison>) && !(<link.findid.i_bleeding2>)
cont.sysmessage @38,,1 <link.name> tedaviye ihtiyaç duymuyor.
morex 0
morey 0
more2 0
timer -1
cont.events -e_healing
return 1
elseif (<link.hits> < 1)
cont.sysmessage @38,,1 <link.name> tedavi esnasında hayatını kaybetti.
morex 0
morey 0
more2 0
timer -1
cont.events -e_healing
return 1
elseif (<link.findid.i_rune_poison>)
if (<cont.healing> < 60.0) || (<cont.anatomy> < 60.0)
cont.sysmessage @38,,1 Zehiri tedavi edecek kadar yetenekli değilsiniz.
morex 0
morey 0
more2 0
timer -1
cont.events -e_healing
return 1
endif
elseif (<link.findid.i_bleeding2>)
if (<cont.healing> < 60.0) || (<cont.anatomy> < 60.0)
cont.sysmessage @38,,1 Yarayi tedavi edecek kadar yetenekli değilsiniz.
morex 0
morey 0
more2 0
timer -1
cont.events -e_healing
return 1
endif
elseif !(<cont.restest 1 i_bandage>)
cont.sysmessage @38,,1 Bandajınız kalmamış.
morex 0
morey 0
more2 0
timer -1
cont.events -e_healing
return 1
endif
cont.consume 1 i_bandage
//cont.events -e_healing
if (<link.findid.i_rune_poison>) // cure other
if !(rand(5) == 1)
link.findid.i_rune_poison.morey 0
link.findid.i_rune_poison.timer 0
link.hits (<link.hits> + <eval <morey> / 2>) // cure yapinca yari heal verir
if (<link.hits> > <link.str>)
link.hits <link.str>
endif
link.effect 3,0376a,2,10,1
if (<link.kills> > 5)
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_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 zehiri iyilestiremez *
endif
elseif (<link.findid.i_bleeding2>) // bleeding
if !(rand(5) == 1)
link.findid.i_bleeding2.timer 0
link.findid.i_bleeding.more 1
link.findid.i_bleeding.timer 1
link.hits (<link.hits> + <eval <morey> / 2>) // cure yapinca yari heal verir
if (<link.hits> > <link.str>)
link.hits <link.str>
endif
link.effect 3,0376a,2,10,1
if (<link.kills> > 7)
cont.criminal 1
cont.sayua 075a,6,6,0 * <link.name> isimli katilin yarasini tedavi eder *
elseif (<link.flags>&statf_criminal)
cont.criminal 1
cont.sayua 075a,6,6,0 * <link.name> isimli suclunun yarasini tedavi eder *
else
link.sayua 075a,6,6,0 * <cont.name> tarafindan yarasi iyilestirilir *
if (<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 iyilestiremez *
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 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 *
if (<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
if (<link.istevent.e_horses>)
cont.checkveterinary_2
endif
cont.checkhealing_2 1
cont.checkanatomy_2 1
if (<cont.dex> < 35)
timer 2
else
timer 2
endif
else
if !(<cont.hits> < <cont.str>) && !(<cont.findid.i_rune_poison>) && !(<cont.findid.i_bleeding2>)
cont.sysmessage @38,,1 Tedaviye ihtiyaç duymuyorsunuz.
morex 0
morey 0
more2 0
timer -1
cont.events -e_healing
return 1
elseif (<cont.hits> < 1)
morex 0
morey 0
more2 0
timer -1
cont.events -e_healing
return 1
elseif (<cont.findid.i_rune_poison>)
if (<cont.healing> < 60.0) || (<cont.anatomy> < 60.0)
cont.sysmessage @38,,1 Zehiri tedavi edecek kadar yetenekli değilsiniz.
morex 0
morey 0
more2 0
timer -1
cont.events -e_healing
return 1
endif
elseif (<cont.findid.i_bleeding2>)
if (<cont.healing> < 60.0) || (<cont.anatomy> < 60.0)
cont.sysmessage @38,,1 Yarayı tedavi edecek kadar yetenekli değilsiniz.
morex 0
morey 0
more2 0
timer -1
cont.events -e_healing
return 1
endif
elseif !(<cont.restest 1 i_bandage>)
cont.sysmessage @38,,1 Bandajınız kalmamış.
morex 0
morey 0
more2 0
timer -1
cont.events -e_healing
return 1
endif
cont.consume 1 i_bandage
//cont.events -e_healing
if (<cont.findid.i_rune_poison>) // cure self
if !(rand(5) == 1)
cont.findid.i_rune_poison.morey 0
cont.findid.i_rune_poison.timer 0
cont.findid.i_rune_poison.remove
cont.effect 3,0376a,2,10,1
cont.sayua 075a,6,6,0 * zehir etkisini iyilestirir *
//cont.sayua 075a,6,6,0 * kendini tedavi eder *
//// cont.hits (<cont.hits> + <eval <morey> / 2>)
if (<cont.hits> > <cont.str>)
cont.hits <cont.str>
endif
else
cont.sayua 075a,6,6,0 * zehiri iyilestiremez *
endif
elseif (<cont.findid.i_bleeding2>) // bleed cure
if !(rand(5) == 1)
cont.findid.i_bleeding2.timer 0
cont.findid.i_bleeding.more 1
cont.findid.i_bleeding.timer 1
cont.sayua 075a,6,6,0 * yarayi iyilestirir *
//cont.sayua 075a,6,6,0 * kendini tedavi eder *
cont.hits (<cont.hits> + <eval <morey> / 2>)
if (<cont.hits> > <cont.str>)
cont.hits <cont.str>
endif
else
cont.sayua 075a,6,6,0 * yarayi iyilestiremez *
endif
else // heal self
cont.hits (<cont.hits> + <morey>)
cont.effect 3,0376a,2,10,1
cont.sayu [+<morey> Health]
cont.olumlu * Kendini Tedavi Eder *
if (<cont.hits> > <cont.str>)
cont.hits <cont.str>
endif
endif
cont.checkhealing_2 1
cont.checkanatomy_2 1
if (<cont.dex> < 35)
timer 14
else
timer 8
endif
endif
morex 0 // bandaji bastii icin birah degerleri
morey 0
cont.events -e_healing
return 1
else
more2 0
endif
morex 0
morey 0
cont.events -e_healing
return 1
[events e_healing]
on=@spellcast
return 1
On=@GetHit
if (rand(4) == 1)
findid.i_mem_healing_2.morex 0
findid.i_mem_healing_2.morey 0
findid.i_mem_healing_2.timer 0
findid.i_bandajvar.remove
events -e_healing
sayua 075a,6,6,0 * Bandajlari yirtilir *
endif
On=@Death
findid.i_mem_healing_2.morex 0
findid.i_mem_healing_2.morey 0
findid.i_mem_healing_2.timer 2
events -e_healing
On=@Logout
findid.i_mem_healing_2.remove
[function checkhealing_2]
if (<args> == 1) && (<healing> >= 80.0) && (rand(2) == 1)
return 0
endif
if ((<skilllock[17]> == 0) && (<skilltotal> < 800.0))
if (<healing> < 30.0)
/// if (rand(2) == 1)
healing (<healing> + 1)
/// endif
elseif (<healing> >= 30.0) && (<healing> < 50.0)
if (rand(2) == 1)
healing (<healing> + 1)
endif
elseif (<healing> >= 50.0) && (<healing> < 75.0)
if (rand(2) == 1)
healing (<healing> + 1)
endif
elseif (<healing> >= 75.0) && (<healing> < 100.0)
if (rand(2) == 1)
healing (<healing> + 1)
endif
endif
endif
[function checkveterinary_2]
if ((<skilllock[39]> == 0) && (<skilltotal> < 800.0))
if (<veterinary> < 30.0)
if (rand(2) == 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_2]
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(2) == 1)
anatomy (<anatomy> + 1)
endif
elseif (<anatomy> < 50.0)
if (rand(2) == 1)
anatomy (<anatomy> + 1)
endif
elseif (<anatomy> < 75.0)
if (rand(2) == 1)
anatomy (<anatomy> + 1)
endif
elseif (<anatomy> < 100.0)
if (rand(2) == 1)
anatomy (<anatomy> + 1)
endif
endif
endif
[function checkanimallore_2]
if ((<skilllock[2]> == 0) && (<skilltotal> < 800.0))
if (<animallore> < 30.0)
/// if (rand(2) == 1)
animallore (<animallore> + 1)
/// endif
elseif (<animallore> < 50.0)
if (rand(2) == 1)
animallore (<animallore> + 1)
endif
elseif (<animallore> < 60.0)
if (rand(2) == 2)
animallore (<animallore> + 1)
endif
elseif (<animallore> < 75.0)
if (rand(2) == 1)
animallore (<animallore> + 1)
endif
elseif (<animallore> < 87.0)
if (rand(2) == 1)
animallore (<animallore> + 1)
endif
elseif (<animallore> < 100.0)
if (rand(2) == 1)
animallore (<animallore> + 1)
endif
endif
endif
Turkgamer - 03-04-2017 15:05 GMT -
epihaltes söylemiş zaten bu kısımdaki sana vurulduğunda aktif duruma geliyor.(yumruk,silah,büyü fark etmez)
if (rand(4) == 1) /// bu oranı artırarak istediğini elde edebilirsin.
epihaltes söylemiş zaten bu kısımdaki sana vurulduğunda aktif duruma geliyor.(yumruk,silah,büyü fark etmez)
if (rand(4) == 1) /// bu oranı artırarak istediğini elde edebilirsin.
Kod:
On=@GetHit
if (rand(4) == 1)
findid.i_mem_healing_2.morex 0
findid.i_mem_healing_2.morey 0
findid.i_mem_healing_2.timer 0
findid.i_bandajvar.remove
events -e_healing
sayua 075a,6,6,0 * Bandajlari yirtilir *
endif
Retired - 03-04-2017 15:45 GMT -
Anladım teşekkür ediyorum arkadaşlar
Anladım teşekkür ediyorum arkadaşlar
Mac-Fusion - 07-04-2017 17:38 GMT -
4te1 olasılık yerine yüzdelik mantık kullanılırsa daha anlaşılır ve sağlıklı sonuçlar alınabilir.
%75 lik oran için;
Olasılık ve ihtimaller hakkında pek bilgim yok ama düşününce bu daha mantıklı ve anlaşılır geliyor bana
4te1 olasılık yerine yüzdelik mantık kullanılırsa daha anlaşılır ve sağlıklı sonuçlar alınabilir.
%75 lik oran için;
Kod:
if (rand(100) > 75)
Olasılık ve ihtimaller hakkında pek bilgim yok ama düşününce bu daha mantıklı ve anlaşılır geliyor bana
stylez - 09-04-2017 00:52 GMT -
bunu daha farklı ayarlayamazmıyız mesela çıplak bir oyuncuyu impor ile kovalıyorsun impor seri bir büyü oldugu için yırtmak çok basit oluyor yani damege olarak bu sistem gelişse daha güzel olacak düşünce olarak söylüyorum
bunu daha farklı ayarlayamazmıyız mesela çıplak bir oyuncuyu impor ile kovalıyorsun impor seri bir büyü oldugu için yırtmak çok basit oluyor yani damege olarak bu sistem gelişse daha güzel olacak düşünce olarak söylüyorum
Turkgamer - 09-04-2017 10:32 GMT -
(&04) ile büyüyü ayırabilir farklı bi olasılık ekleyebiliriz. ya da damage böyle oranla ayırabiliriz
(
Kod:
ON=@gethit
if (rand(100) > 50) && (<argn1> >= 1) && (<argn1> <= 10)