// ----------------------------
// FIX.SCP - GENEL BUG FIXLERI
// SON GUNCELLENME TARIHI: 2 Mart 2007 - Akillis
// ----------------------------
[function spell_say]
sayua 0835,6,0,enu <args>
[events fix]
on=@SkillMakeItem
if (<act.type>==t_potion)
if (<src.tag0.keging>==1)
if (<uid.<tag0.kegyap>.morex> >= 250)
src.sysmessage @03c1,6,1 Bu keg tamamen dolmus.
src.tag0.keging=0
src.tag0.kegyap=0
return 1
endif
if !(<src.tag0.makekeg>==<act.baseid>)
src.sysmessage @03c1,6,1 Yapmaya calistiginiz potion sectiginiz potionla es deger degil.
src.tag0.keging=0
src.tag0.kegyap=0
return 1
endif
try uid.<src.tag0.kegyap>.tag.potion=<src.tag0.makekeg>
try uid.<src.tag0.kegyap>.name=a <serv.itemdef.<src.tag0.makekeg>.name> keg
try uid.<src.tag0.kegyap>.morex=<uid.<src.tag0.kegyap>.morex>+1
act.remove
timerf 2,src.makelast
src.makelast
SRC.SOUND=snd_Z_END_LIQUID
src.say ç
src.say ç
src.say ç
src.sysmessage @03c1,6,1,1 Yaptiginiz iksiri ficiya bosalttiniz. Ficida suan : <eval <uid.<src.tag0.kegyap>.morex>> kadar iksir var.
return 1
endif
endif
//if !(<src.canmake <act.baseid>>)
//src.sysmessage @03c1,6,1 Bu eşyayı yapacak malzemeniz yok.
//src.needs <act.baseid>
//return 1
//endif
src.tag0.lastitem=<act.baseid>
//src.needs <act.baseid>
on=@SkillGain
if (<argn3> > 100.0)
//src.sysmessage <argn3>
if (<src.<argn1>> > 99.9) && <src.<argn1>> < <argn3>
if (rand(100)<30)
src.<argn1> += 1
endif
return 1
endif
endif
on=@spellselect
if (<meditation> > 99.8) && (<magery> > 99.8) && (<evaluatingintel> > 99.8)
argn2 -= <eval <serv.spell.<argn1>.manause>/2>
endif
on=@login
pvpidver
on=@dclick
if (<src.uid> == <uid>)
if (<src.flags>&statf_war)
src.flags <src.flags>&~statf_war
src.update
endif
endif
On=@Profile
if (<src.uid> == <uid>) || (0<src.account.plevel> > 2)
src.sysmessage @065,1,1 Hesap: <account>, <eval (<account.totalconnecttime> / 60)>saat
src.sysmessage @065,1,1 Kayit: <account.firstconnectdate>
src.sysmessage @027,1,1 Karakter: <eval (<age> / 86400)> gun once dogmus.
src.sysmessage @027,1,1 Karakter: <eval (<age> / 60)/60> saat once dogmus.
endif
On=@Death
src.dialogclose d_runebook
src.frozen
if (<isevent.e_cpvp_duello>)
f_cpvp_duello_death
endif
if (<isevent.e_cpvp>)
f_cpvp_death
endif
if !(<isevent.e_qchar>)
if (<memoryfindtype.memory_harmedby>) && (<act.isplayer>) && (<act.uid> != <uid>) // && (0<act.npc> == 0)
if !(0<tag.lastpvp> == 0<act.uid>)
if (<fame> > 4999)
tag.famefark= <eval (<fame>-<act.fame>)>
tag.puandegisim=0
if (<fame> > <act.fame>)
tag.puandegisim = <eval (<tag.famefark>/1000)>
endif
tag.puandegisim = <eval (<tag.puandegisim>+5)>
tag.pvppuan=<eval (<tag.pvppuan>-<tag.puandegisim>)>
act.tag.pvppuan=<eval (<act.tag.pvppuan>+<tag.puandegisim>)>
endif
endif
tag.lastpvp=<act.uid>
endif
endif
if (<fame> > 9900) && (<memoryfindtype.memory_harmedby>) && (<act.isplayer>) && (<act.uid> != <uid>)// && (0<act.npc> == 0)
serv.allclients sysmessage @03b2,,1, <sex Lord/Lady> <name>, <act.name> tarafindan <region.name> dolaylarinda olduruldu.
endif
if (<src.hits> == 0)
if !(0<src.findid.i_stuck.more>>0)
if (<src.flags>|04)
src.flags <src.flags>&~04
endif
endif
endif
src.tag.killer <act.uid>
act.fame <eval (<act.fame> + (<fame> / 10 ))>
on=@itemequip
if <act.baseid>==i_torch
act.remove
return 1
endif
On=@ItemDClick
if <act.baseid>==i_torch
act.remove
return 1
endif
if (<act.type>==t_container)
if ((<act.attr>&attr_newbie)||(<act.attr>&attr_static)||(<act.attr>&attr_move_never))
if (<act.topobj.uid>==<src.uid>)
if !(<act.cont>==<src.uid>
if (0<act.cont.layer>==021)
if (<act.cont.cont.uid>==<src.uid>)
serv.allclients stafftrig @21 <src.name> (<src.uid>) kullanicisinda bugli item var. (<act.name>)
endif
endif
endif
endif
endif
endif
if (<targ.topobj.id> == c_pv)
if (<targ.type> == t_container)
targ.open
endif
return 1
endif
On=@GetHit
if (<findtype.t_eq_trade_window>)
findtype.t_eq_trade_window.remove
endif
On=@EnvironChange
if !(<memoryfindtype.memory_guild.link.align>) || (<kills> > 5)
if (<findlayer(2).baseid> == i_shield_chaos) || (<findlayer(2).baseid> == i_shield_order)
findlayer(2).unequip
endif
endif
//////////
// açliktan kimse olmesin
/////////
//if ((<body> == c_man) || (<body> == c_woman)) // yimmeeah
// if !((<findid.i_jailcik>) || (<flags>&statf_stone))
// if (<food> == 2)
// sayua 045f,0,0,0 * acliktan basi doner *
// elseif (<food> == 1)
// sayua 045f,0,0,0 * acliktan olmek uzeredir *
// elseif (<food> == 0)
// sayua 045f,0,0,0 * acliktan olur *
// newitem i_starver
// act.equip
// endif
// endif
//endif
if !((<findlayer(32)> || <findlayer(44)> || <findlayer(47)>)) // active stat-effecting spell?
stchk
if ((<findlayer(10).baseid> == i_platemail_gorget) && (<findlayer(6).baseid> == i_platemail_helm) && (<findlayer(7).baseid> == i_platemail_gloves) && (<findlayer(13).baseid> == i_platemail_chest) && (<findlayer(19).baseid> == i_platemail_arms) && (<findlayer(24).baseid> == i_platemail_leggings))
if (<dex> > 80)
dex 80
endif
elseif ((<findlayer(6).baseid> == i_bone_helmet) && (<findlayer(13).baseid> == i_bone_chest) && (<findlayer(19).baseid> == i_bone_arms) && (<findlayer(7).baseid> == i_bone_gloves) && (<findlayer(4).baseid> == i_bone_leggings))
if (<dex> > 85)
dex 85
endif
endif
if !(<isevent.e_spr>)
var.stats <eval (<str> + <int> + <dex>)> // stat cap fix
if (<eval <var.stats>> > 225)
stchk
endif
endif
endif
On=@SpellCast
if (<src.findid.i_rb_delay> || (<src.findid.i_rb_delay2>)
src.sysmessage @38,,1 Hata: Runebook kullanirken buyu atamazsiniz.
return 1
endif
if (<act.ischar>)
if (<act.flags>&statf_stone) || (<act.region.safe>)
act.action -1
sysmessage @50 Safe zonedaki kisilere buyu atamazsiniz!
return 1
endif
endif
if (<findlayer(1).type> == t_spellbook)
findlayer(2).unequip
elseif !(<findlayer(2).type> == t_weapon_mace_staff)
findlayer(1).unequip
findlayer(2).unequip
endif
if (<flags>&statf_freeze) || (<flags>&statf_stone) // dur bakim nolyo
f_fizzle
return 1
endif
if (<findtype.t_armor.cont.uid> == <uid>)
f_fizzle
skill fail
action -1
return 1
endif
if (<act.ischar>)
if !(<act.flags>&statf_insubstantial) && (0<act.account.plevel> > 0<account.plevel>)
if !(<act.account.plevel>==7)
f_fizzle
return 1
endif
// elseif ((<argn> == 7) || (<argn> == 15)) // no prot. & reac. arm. over armor
// if (<act.findtype.t_armor.cont.uid> == <act.uid>)
// f_fizzle
// return 1
// endif
elseif (<argn> == 59) && !(<act.flags>&statf_dead)
f_fizzle
return 1
endif
endif
if (<act.id> == c_pv)
if !((<argn> == 25) || (<argn> == 26) || (<argn> == 46) || (<argn> == 48) || (<argn> == 49) || (<argn> == 54) || (<argn> == 55) || (<argn> == 57))
f_fizzle
return 1
endif
endif
//if (<argn> == 7)
//if (<act.uid> == <uid>)
//else
//sysmessage @38,,1 Sadece kendinize atabilirsiniz.
//return 1
//endif
//endif
// spell freeze time
if (<argn> == 1) // Clumsy
spell_say Uus Jux
mg1
elseif (<argn> == 2) // Create food
spell_say In Mani Ylem
mg1
elseif (<argn> == 3) // Feeblemind
spell_say Rel Wis
mg1
elif (<argn> == 4) // Heal
spell_say In Mani
if (<src.findid.i_rune_poison>) || (<src.findid.i_rune_poison_field>)
src.sysmessage @50 Poison buyusunun etkisi altindasiniz.
f_fizzle
return 1
endif
if (<src.findid.i_bleeding>) || (<src.findid.i_bleeding2>)
src.sysmessage @50 Kanamaniz varken heal atamazsiniz.
f_fizzle
return 1
endif
if ((<findid.i_spdelay_man>)
findid.i_spdelay_man.timer 1
elseif ((<findid.i_spdelay_woman>)
findid.i_spdelay_woman.timer 1
elseif ((<findid.i_spdelay_unisex>)
findid.i_spdelay_unisex.timer 1
else
sd 1
endif
mg2
elseif (<argn> == 5) // Magic Arrow
spell_say In Por Ylem
mg1
elseif (<argn> == 6) // Night Sight
spell_say In Lor
mg1
elseif (<argn> == 7) // Reactive Armor
if (<act.uid> == <src.uid>)
spell_say Flam Sanct
if (<act.findtype.t_armor.cont.uid> == <act.uid>)
f_fizzle
return 1
endif
if ((<findid.i_spdelay_man>)
findid.i_spdelay_man.timer 1
elseif ((<findid.i_spdelay_woman>)
findid.i_spdelay_woman.timer 1
elseif ((<findid.i_spdelay_unisex>)
findid.i_spdelay_unisex.timer 1
else
sd 1
endif
mg1
else
src.sysmessage @39,,1 Hata: Bu buyuyu sadece kendinize atabilirsiniz.
f_fizzle
return 1
endif
elseif (<argn> == 8) // Weaken
spell_say Des Mani
mg1
elseif (<argn> == 9) // Agility
if (<act.uid> == <src.uid>)
spell_say Ex Uus
mg2
else
src.sysmessage @39,,1 Hata: Bu buyuyu sadece kendinize atabilirsiniz.
f_fizzle
return 1
endif
elseif (<argn> == 10) // Cunning
spell_say Uus Wis
mg2
elseif (<argn> == 11) // Cure
spell_say An Nox
if ((<findid.i_spdelay_man>)
findid.i_spdelay_man.timer 1
elseif ((<findid.i_spdelay_woman>)
findid.i_spdelay_woman.timer 1
elseif ((<findid.i_spdelay_unisex>)
findid.i_spdelay_unisex.timer 1
else
sd 1
endif
if (<findid.i_rune_poison>)
if (<findid.i_rune_poison.morey> > <eval ((<magery> + 400) / 2)>)
if !(rand(8) == 1)
effect 3,0374a,1,15,1
sound snd_spell_poison
f_fizzle
return 1
endif
endif
endif
mg3
elseif (<argn> == 12) // Harm
spell_say An Mani
sd 1
mg2
elseif (<argn> == 13) // Trap
spell_say In Jux
f_fizzle
return 1
elseif (<argn> == 14) // Untrap
spell_say An Jux
f_fizzle
return 1
elseif (<argn> == 15) // Protection
if (<act.findtype.t_armor.cont.uid> == <act.uid>)
f_fizzle
return 1
endif
if (<act.uid> == <src.uid>)
spell_say Uus Sanct
sd 1
mg2
else
src.sysmessage @39,,1 Hata: Bu buyuyu sadece kendinize atabilirsiniz.
f_fizzle
return 1
endif
elseif (<argn> == 16) // Strength
spell_say Uus Mani
sd 1
mg2
elseif (<argn> == 17) // Bless
if (<act.uid> == <src.uid>)
spell_say Rel Sanct
sd 1
mg3
else
src.sysmessage @39,,1 Hata: Bu buyuyu sadece kendinize atabilirsiniz.
f_fizzle
return 1
endif
elseif (<argn> == 18) // Fireball
spell_say Vas Flam
sd 1
mg3
elseif (<argn> == 19) // Lock
spell_say An Por
f_fizzle
return 1
elseif (<argn> == 20) // Poison
if !(<act.uid> == <src.uid>)
if (<act.ischar>)
if (<act.hits> < 1) || (<act.findid.i_rune_summon_creature>) || (<act.findid.i_buyuyemez>) || (<src.region.safe>)
f_fizzle
src.sysmessage @38,,1 Hata: Boyle bir sey yok!
findid.i_poisonlvl.remove
return 1
endif
endif
spell_say In Nox
psg
sd 1
else
f_fizzle
findid.i_poisonlvl.remove
return 1
endif
elseif (<argn> == 21) // Telekinesis
spell_say Ort Por Ylem
sd 1
if (<act.isitem>)
if (<act.cont.isitem>)
if ((<act.cont.type> == t_corpse) || (<act.topobj.id> == c_pv) || (<act.topobj.id> == c_daggerv))
f_fizzle
return 1
endif
endif
else
f_fizzle
return 1
endif
mg3
elseif (<argn> == 22) // Teleport
if (strmatch('<src.region.guarded>','1'))
f_fizzle
sysmessage @39,,1 Hata: Sehir icinde bu buyuyu kullanamazsiniz.
return 1
endif
if (strmatch('<region.events>','r_house_system'))
f_fizzle
return 1
endif
// if (<hits> <= (<str> - 40))
// src.sysmessage @39,,1 Hata: Fazla yaraliyken teleport olmazsiniz.
// f_fizzle
// return 1
// endif
spell_say Rel Por
mg3
elseif (<argn> == 23) // Unlock
spell_say Ex Por
f_fizzle
return 1
elseif (<argn> == 24) // Wall
if (strmatch('<src.region.guarded>','1'))
f_fizzle
sysmessage @39,,1 Hata: Sehir icinde bu buyuyu kullanamazsiniz.
return 1
endif
spell_say In Sanct Ylem
if (<act.topobj.ischar>)
f_fizzle
return 1
endif
sd 1
mg3
findlayer(98).timer 2
elseif (<argn> == 25) // Arch Cure
spell_say Vas An Nox
sd 2
mg4
elseif (<argn> == 26) // Arch Protection
spell_say Vas Uus Sanct
sd 2
mg4
elseif (<argn> == 27) // Curse
spell_say Des Sanct
sd 2
mg4
elseif <argn>==28
if (strmatch('<src.region.guarded>','1'))
f_fizzle
sysmessage @39,,1 Hata: Sehir icinde bu buyuyu kullanamazsiniz.
return 1
endif
spell_say In Flam Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
endif
sd 2
mg4
findlayer(98).timer 3
elseif (<argn> == 29) // Greater Heal
if (<src.findid.i_rune_poison>) || (<src.findid.i_rune_poison_field>)
src.sysmessage @50 Poison buyusunun etkisi altindasiniz.
f_fizzle
return 1
endif
if (<src.findid.i_bleeding>) || (<src.findid.i_bleeding2>)
src.sysmessage @50 Kanamaniz varken heal atamazsiniz.
f_fizzle
return 1
endif
spell_say In Vas Mani
sd 2
mg4
findlayer(98).timer 4
elseif (<argn> == 30) // Lightning
spell_say Por Ort Grav
sd 2
mg4
elseif (<argn> == 31) // Mana Drain
spell_say Ort Rel
f_fizzle
return 1
elseif (<argn> == 32) // Recall
spell_say Kal Ort Por
sd 2
mg4
elseif (<argn> == 33) // Blade Spirits
spell_say In Jux Hur Ylem
sd 2
mg5
elseif (<argn> == 34) // Dispel Field
spell_say An Grav
if (<act.ischar>)
f_fizzle
return 1
endif
sd 2
mg5
elseif (<argn> == 35) // Incognito
spell_say Kal In Ex
sd 2
mg5
elseif (<argn> == 36) // Magic Reflect
if (<act.uid> == <src.uid>)
spell_say In Jux Sanct
sd 2
mg5
else
src.sysmessage @39,,1 Hata: Bu buyuyu sadece kendinize atabilirsiniz.
f_fizzle
return 1
endif
elseif (<argn> == 37) // Mind Blast
spell_say Por Corp Wis
sd 2
mg5
elseif (<argn> == 38) // Paralyze
spell_say An Ex Por
sd 2
mg5
elseif (<argn> == 39) // Poison Field
if (strmatch('<src.region.guarded>','1'))
f_fizzle
sysmessage @39,,1 Hata: Sehir icinde bu buyuyu kullanamazsiniz.
return 1
endif
spell_say In Nox Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
endif
sd 2
mg5
findlayer(98).timer 3
elseif (<argn> == 40) // Summon Creature
if (strmatch('<src.region.guarded>','1'))
f_Fizzle
sysmessage @39,,1 Sehir icinde bu buyuyu kullanamazsiniz.
return 1
endif
spell_say Kal Xen
sd 2
mg5
elseif (<argn> == 41) // Dispel
spell_say An Ort
sd 2
mg6
elseif (<argn> == 42) // Energy Bolt
spell_say Corp Por
sd 2
mg6
elseif (<argn> == 43) // Explosion
spell_say Vas Ort Flam
sd 2
mg6
elseif (<argn> == 44) // Invisibility
if (strmatch('<act.region.events>','r_house_system'))
if (0<act.npc> == 1)
sysmessage @39,,1 Hata: Ev icinde NPC gizleyemezsiniz.
f_fizzle
return 1
endif
endif
spell_say An Lor Xen
sd 2
mg6
elseif (<argn> == 45) // Mark
spell_say Kal Por Ylem
sd 2
mg6
elseif (<argn> == 46) // Mass Curse
spell_say Vas Des Sanct
sd 2
mg6
elseif (<argn> == 47) // Paralyze Field
if (strmatch('<src.region.guarded>','1'))
f_fizzle
sysmessage @39,,1 Hata: Sehir icinde bu buyuyu kullanamazsiniz.
return 1
endif
spell_say In Ex Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
endif
sd 3
mg6
findlayer(98).timer 4
elseif (<argn> == 48) // Reveal
spell_say Wis Quas
sd 2
mg6
elseif (<argn> == 49) // Chain Lightning
if (strmatch('<src.region.guarded>','1'))
f_fizzle
sysmessage @39,,1 Hata: Sehir icinde bu buyuyu kullanamazsiniz.
return 1
endif
spell_say Vas Ort Grav
if (<act.uid> == <uid>)
f_fizzle
return 1
endif
sd 3
mg7
elseif (<argn> == 50) // Energy Field
if (strmatch('<src.region.guarded>','1'))
f_fizzle
sysmessage @39,,1 Hata: Sehir icinde bu buyuyu kullanamazsiniz.
return 1
endif
spell_say In Sanct Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
endif
sd 3
mg7
findlayer(98).timer 4
elseif (<argn> == 51) // Flame strike
spell_say Kal Vas Flam
if ((<findid.i_spdelay_man>)
findid.i_spdelay_man.timer 3
elseif ((<findid.i_spdelay_woman>)
findid.i_spdelay_woman.timer 3
elseif ((<findid.i_spdelay_unisex>)
findid.i_spdelay_unisex.timer 3
else
sd 3
endif
mg7
elseif (<argn> == 52) // Gate Travel
spell_say Vas Rel Por
sd 3
mg7
elseif (<argn> == 53) // Mana Vampire
spell_say Ort Sanct
f_fizzle
return 1
elseif (<argn> == 54) // Mass Dispel
spell_say Vas An Ort
sd 3
mg7
elseif (<argn> == 55) // Meteor Swarm
spell_say Flam Kal Des Ylem
if (<act.uid> == <uid>)
f_fizzle
return 1
endif
sd 3
mg7
elseif (<argn> == 56) // Polymorph
if (0<tag.donus>)
spell_say Vas Ylem Rel
sd 3
mg3
tag.donus
else
skillmenu sm_polymorph
return 1
endif
elseif (<argn> == 57) // Earthquake
if (strmatch('<src.region.guarded>','1'))
f_fizzle
sysmessage @39,,1 Hata: Sehir icinde bu buyuyu kullanamazsiniz.
return 1
endif
spell_say In Vas Por
sd 3
mg8
elseif (<argn> == 58) // Energy Vortex
spell_say Vas Corp Por
if (<region.guarded>)
criminal 1
endif
sd 3
mg8
elseif (<argn> == 59) // Resurrect
if (<act.npc>)
sysmessage @38,,1 Hata: Boyle birsey yok!
f_fizzle
return 1
endif
spell_say An Corp
sd 3
mg8
elseif (<argn> == 60) // Air Elemental
spell_say Kal Vas Xen Hur
if (<region.guarded>)
criminal 1
endif
sd 3
mg8
elseif (<argn> == 61) // Summon Deamon
spell_say Kal Vas Xen Corp
if (<region.guarded>)
criminal 1
endif
sd 3
mg8
elseif (<argn> == 62) // Earth Elemental
spell_say Kal Vas Xen Ylem
if (<region.guarded>)
criminal 1
endif
sd 3
mg8
elseif (<argn> == 63) // Fire Elemental
spell_say Kal Vas Xen Flam
if (<region.guarded>)
criminal 1
endif
sd 3
mg8
elseif (<argn> == 64) // Water Elemental
spell_say Kal Vas Xen An Flam
if (<region.guarded>)
criminal 1
endif
sd 3
mg8
endif
On=@SpellEffect
//if (<MagicResistance> > 29.9) //&& (<magery> < 40.1)
//ARGN3 /= 3
//LOCAL.CARPMA=<eval ((<SRC.EVALUATINGINTEL>*3)/1000)>
//if <dlocal.carpma> <= 0
//local.carpma=2
//endif
//ARGN3 *=<dLocal.carpma>
//ARGN3 += (<ARGN3> * (<SRC.inscription>/100))/100
//ARGN3 += (<ARGN3> * (<SRC.INT>/10)+50)/100
//IF <SERV.SPELL.<ARGN1>.FLAGS>&SPELLFLAG_HARM
//LOCAL.RESIST = <eval ((<MAGICRESISTANCE> - 400) /50)*2>
//IF <dLOCAL.RESIST> < 0
//LOCAL.RESIST 0
//ENDIF
//ARGN3 -= ((<ARGN3> * <dLOCAL.RESIST>)/100)-5
//if (<MagicResistance> < 100.0) && !(<skillLock[26]>) && (<skilltotal> < 800.0))
//if (<magicresistance> < 60.0)
//IF (<EVAL RAND(<magicresistance>)> < 5.0)
//magicresistance += 1
//endif
//endif
//endif
//endif
if (<flags>&statf_dead) // oluye dokunulmaz, ayiptir
if (<argn> == 59)
sfx snd_spell_resurrection
findlayer(22).remove
color <oskin>
update
effect 3,0376a,2,20,1
else
return 1
endif
elseif ((<argn> == 9) || (<argn> == 10) || (<argn> == 16) || (<argn> == 17)) // stat fix
findlayer(32).remove // spell
findlayer(44).remove // potion
elseif ((<argn> == 49) || (<argn> == 55)) // eve disardan chain atsalar bile icerdeki yemez
if !(<src.region.type> == <region.type>)
return 1
endif
elseif (<argn> == 37) // mindblast
if (<src.int> > <int>)
var.mb (<src.int> - <int>)
var.mb <eval (<var.mb> / 2)>
if (<eval <var.mb>> > 40)
var.mb 40
endif
damage <eval (<var.mb> + {-5 5)>
else
damage {10 15}
endif
sfx snd_spell_mind_blast
effect 3,0374a,1,15,1
elseif ((<argn> == 41) || (<argn> == 54)) // dispel & mass dispel
if (<findid.i_morpher>)
if !(<findid.i_pre_morph>)
findid.i_morpher.remove
endif
endif
elseif ((<argn> == 20) || (<argn> == 39)) // poison, poison field
if !(<findid.i_rune_poison>) && (<flags>&statf_poisoned)
flags <flags>&~statf_poisoned
endif
if (<src.poisoning> == 120.0)
findid.i_rune_poison.morey += 50.0
endif
if !(<src.uid> == <uid>)
skill fail
endif
if (<eval (<src.poisoning> + 100)> > <eval <findid.i_rune_poison.morey>>)
findid.i_rune_paralyze.remove
findid.i_rune_paralyze_field.remove
findid.i_rune_poison.remove
if (<distance> > 3) && (<eval (<src.poisoning> + 100)> > 700)
poison (600 + {-100 100})
else
poison (<src.poisoning> + {-100 100})
endif
endif
sfx snd_spell_poison
effect 3,0374a,1,15,1
return 1
elseif ((<argn> == 38) || (<argn> == 47)) // paralyze & paralyze field
if (<findid.i_pouch_trapped>)
effect 3,i_fx_explode,3,25,1
sound snd_spell_explosion
damage 20
if (<findid.i_pouch_trapped.more2> > 1)
findid.i_pouch_trapped.more2 <eval <findid.i_pouch_trapped.more2>-1>
return 1
else
findid.i_pouch_trapped.remove
return 1
endif
endif
elseif (<argn> == 26) // no arch prot. over armor
if (<findtype.t_armor.cont.uid> == <uid>)
return 1
endif
elseif (<argn> == 25) // arch cure
if (<memoryfindtype.memory_town>) && !(<src.memoryfindtype.memory_town>)
return 1
elseif (<memoryfindtype.memory_guild.link.align> > 0) && !(<src.memoryfindtype.memory_guild.link.align>)
return 1
endif
// if (<findid.i_rune_poison>)
// if (<findid.i_rune_poison.morey> > <eval ((<src.magery> + 400) / 2)>)
// if !(rand(8) == 1)
// effect 3,0374a,1,15,1
// sound snd_spell_poison
// return 1
// endif
// endif
// endif
elseif (<argn> == 4) || (<argn> == 29) || (<argn> == 11)
if (<memoryfindtype.memory_town>) && !(<src.memoryfindtype.memory_town>)
src.sysmessage @03b2,,1, Faction uyelerini iyilestiremezsiniz.
return 1
elseif (<memoryfindtype.memory_guild.link.align> > 0) && !(<src.memoryfindtype.memory_guild.link.align>)
src.sysmessage @03b2,,1, Order/Chaos uyelerini iyilestiremezsiniz.
return 1
endif
if (<argn> == 4) || (<argn> == 29)
if (<findid.i_rune_poison>)
effect 3,0374a,1,15,1
sound snd_spell_poison
return 1
endif
endif
endif
On=@SkillStart
//ACTDIFF += 50
if (<action> == id(skill_stealth)) || (<action> == skill_stealth)
if (<hiding> < 80.0)
sysmessage @025 Yetersiz hiding.
skill fail
return 1
elseif (<eval (<ac> * 100)> > <eval (<stealth> + 200)>)
sysmessage @025,1,1 Asiri zirhlisiniz.
skill fail
return 1
elseif (<flags>&statf_onhorse)
sysmessage @025,1,1 Binek uzerindesiniz.
skill fail
return 1
endif
elseif (<action> == id(skill_hiding)) || (<action> == skill_hiding)
if (<eval (<ac> * 10)> > <eval (<hiding> + 200)>)
sysmessage @025,1,1 Asiri zirhlisiniz.
skill fail
return 1
endif
elseif ((<action> == id(skill_herding)) || (<action> == skill_herding))
if (<targ.id> == c_pv)
skill fail
return 1
endif
elseif ((<action> == id(skill_stealing)) || (<action> == skill_stealing)) // stealing fiks
if (<targ.topobj.id> == c_pv)
skill fail
return 1
elseif !(<targ.topobj.ischar>)
sysmessage @0803 Sadece canli varliklardan calabilirsiniz.
skill fail
return 1
elseif !(<targ.isitem>)
sysmessage @0803 Sadece cantalarin icinden calabilirsiniz.
skill fail
return 1
// elseif (<targ.layer> == layer_hand1) || (<targ.layer> == layer_hand2)
// sysmessage @0803 Adamin elinden calamazsiniz.
// skill fail
// return 1
elseif !(<targ.cont.layer> == layer_pack)
sysmessage @0803 Sadece cantalarin iclerinden calabilirsiniz.
skill fail
return 1
// elseif (0<uid.<targ.uid>.cont>)
elseif (<uid.<uid.<targ.uid>.cont.uid>.ischar>)
sysmessage @0803 Sadece cantalarin icinden calabilirsiniz.
skill fail
return 1
//endif
if !(<uid.<uid.<targ.uid>.cont.uid>.type> == t_container)
sysmessage @0803 Sadece cantalarin icinden calabilirsiniz.
skill fail
return 1
endif
elseif (<targ.isitem>)
if (<targ.cont>)
if (<targ.cont.type> == t_eq_trade_window)
src.sysmessage @0803 Bunu calamazsiniz.
return 1
endif
endif
endif
endif
On=@Click
if !(<findid.i_rune_incognito>) && (<memoryfindtype.memory_guild>)
if (strmatch('<tag.gs_title>','')
if (<memoryfindtype.memory_guild.link.align> == 1)
message @03b2,,1, [<memoryfindtype.memory_guild.link.name> , Order]
elseif (<memoryfindtype.memory_guild.link.align> == 2)
message @03b2,,1, [<memoryfindtype.memory_guild.link.name> , Chaos]
else
message @03b2,,1, [<memoryfindtype.memory_guild.link.name>]
endif
else
if (<memoryfindtype.memory_guild.link.align> == 1)
message @0bb2,,1 [Order]
message @03b2,,1, [<tag.gs_title>, <memoryfindtype.memory_guild.link.abbrev>]
elseif (<memoryfindtype.memory_guild.link.align> == 2)
message @0bb2,,1 [Chaos]
message @03b2,,1, [<tag.gs_title>, <memoryfindtype.memory_guild.link.abbrev>]
else
message @03b2,,1, [<tag.gs_title>, <memoryfindtype.memory_guild.link.abbrev>]
endif
endif
endif
On=@ItemSpell
if !((<argn> == 2) || (<argn> == 13) || (<argn> == 14) || (<argn> == 19)|| (<argn> == 21) || (<argn> == 23) || (<argn> == 24) || (<argn> == 28) || (<argn> == 32) || (<argn> == 34) || (<argn> == 39) || (<argn> == 45) || (<argn> == 46) || (<argn> == 47) || (<argn> == 48) || (<argn> == 50) || (<argn> == 54) || (<argn> == 55) || (<argn> == 57)) // no enchant
f_fizzle
return 1
endif
On=@ItemClick
if (<act.layer> == 21) && (<act.cont.ischar>)
act.message Inventory
if (<act.cont>==<uid>)
act.message @0481,,1 [<eval <rescount i_pouch_trapped>> Tp] [<eval <rescount i_bandage>> bandaj]
act.message @0481,,1 [<eval <rescount i_potion_HealGreat>+<rescount i_potion_Heal>> heal] [<eval <rescount i_potion_cureGreat>+<rescount i_potion_cure>> cure]
endif
return 1
else
if ((<act.attr>&attr_newbie) // blessed itemlari belirt
act.message @0845,,1 [newbified]
endif
if (<act.type> == t_container)
//if !(<act.baseid> == i_strong_box)
//if ((<act.attr>&attr_move_never) && !(strmatch('<act.region.tag0.owner>','0')) && (<act.region.type> == <region.type>))
// act.message [sabit]
//endif
if (<act.baseid> == i_bones)
act.message @0 [loot: <act.rescount> esya]
act.message @0 <act.name>
elseif (<act.rescount> > 0)
act.message @0 <act.typedef.name> [<act.rescount>,<eval ((<act.weight> / 10) - <act.typedef.weight>)>]
else
act.message @0 <act.typedef.name>
endif
if !(<act.topobj.id> == c_pv)
return 1
endif
//endif
endif
endif
if ((<act.topobj.uid> == <uid>)
if (<act.type> == t_weapon_xbow)
act.message [bolts: <eval <rescount <act.tdata3>>>]
elseif (<act.type> == t_weapon_bow)
act.message [arrows: <eval <rescount <act.tdata3>>>]
endif
endif
On=@ItemPickUp_Pack
if (<act.topobj.id> == c_pv)
if !(<uid> == <act.topobj.tag.owner>)
return 1
endif
endif
if !(0<act.cont.layer>) && (<findtype.t_eq_trade_window>)
sysmessage @0481,1,1 Geri almak için trade penceresini kapatin.
return 1
endif
if (<act.attr>&attr_move_never) || (<act.attr>==0401a)
return 1
endif
On=@ItemDropOn_Ground
if (<act.attr> == 04008) || (<act.attr> == 04018)
act.attr 0
endif
if !((<weight> + <act.weight>) > <maxweight>)
if ((<action> == id(skill_fishing)) || (<action> == skill_fishing))
if (<act.type> == t_fish) // tutulan baliklari
act.bounce // at cantaya
endif
elseif ((<action> == id(skill_magery)) || (<action> == skill_magery))
if (<act.type> == t_food) // yapilan yemekleri
act.bounce // at cantaya
endif
endif
endif
// end of main fixes
[events gmfix]
On=@Profile
if (<src.uid> == <uid>) || (0<src.account.plevel> > 2)
src.sysmessage @027,1,1 Hesap: <account>, <eval (<account.totalconnecttime> / 60)>saat
src.sysmessage @027,1,1 Kayit: <account.firstconnectdate>
src.sysmessage @027,1,1 Karakter: <eval (<age> / 86400)> gun once dogmus.
src.sysmessage @027,1,1 Karakter: <eval (<age> / 60)/60> saat once dogmus.
endif
on=@click
if (0<privshow>)
findid.i_rune_incognito.remove
karma 0
fame 0
kills 0
flags <flags>&~statf_criminal
if (strmatch('<account>','Akillis')) || (strmatch('<account>','Xantier'))
message @01c3 Scripter of <serv.name>
elif (strmatch('<account>','h_hasan'))
message @01c3 Staff Master
elif (strmatch('<account>','Blackrose'))
message @01c3 Quest Writer
else
message @01c3 Staff of <serv.name>
endif
if (<flags> & statf_insubstantial)
message @<tag.cl> <tag.st> <name> [invis]
else
message @<tag.cl> <tag.st> <name>
endif
return 1
endif
On=@DClick
if (0<privshow>)
title Erador Staff Member
elseif strmatch('<title>','Erador Staff Member'))
title
endif
On=@GetHit
return 1
On=@ItemClick
if (<act.TAG0.GMCREATE> == 1)
act.message @47,,1 [<serv.uid.<act.TAG0.CIKARAN>.name>] [acc: <serv.uid.<act.TAG0.CIKARAN>.account>]
act.message @50,,1 <act.tag0.tarihi>
endif
if !(<isevent.fix>)
if (<act.attr>&attr_newbie) // blessed itemlari belirt
act.message @0 [newbified]
endif
endif
on=@CharClick
if (<act.TAG0.GMCREATE> == 1)
act.message @47,,1 [<serv.uid.<act.TAG0.CIKARAN>.name>] [acc: <serv.uid.<act.TAG0.CIKARAN>.account>]
act.message @50,,1 <act.tag0.tarihi>
endif
On=@Login
allshow 0
On=@ItemPickUp_Pack
if !(<account.plevel> > 5)
if (<act.topobj.id> == c_pv)
if !(<uid> == <act.topobj.tag.owner>)
return 1
endif
elseif (<act.topobj.ischar>) && (<act.topobj.uid> != <uid>)
if !(<act.topobj.npc>)
return 1
endif
endif
endif
On=@ItemDClick
if (<targ.baseid>==i_worldgem_bit)
if !(strmatch('<src.account.name>','Xantier')
file.close
IF !(<FILE.INUSE>)
FILE.MODE.APPEND=1
IF (<FILE.OPEN C:\sphere\STAFFCLICK.TXT>)
FILE.WRITELINE <src.name> adli staff (plevel : <src.account.plevel>) <src.p> koordinatinda , <serv.rtime> tarihinde <serv.chardef.<targ.more1>.name> adli npcnin spawnini <eval (<targ.timer>/60)> dakika kala tikladi. Ayrica bu spawnin uidi : <targ.uid>
file.writeline " "
file.close
endif
endif
endif
if (<targ.topobj.id> == c_pv)
if (<targ.type> == t_container)
targ.open
endif
return 1
endif
On=@SkillStart
if ((<action> == id(skill_stealing)) || (<action> == skill_stealing)) // stealing fiks
if (<targ.topobj.baseid> == c_pv)
skill fail
return 1
endif
endif
[events e_qchar]
On=@Death
hits 5
fame 10000
return 1
On=@GetHit
hits (<hits> + 15)
if (<hits> > <str>)
hits <str>
endif
On=@EnvironChange
if (<npc>)
food 999
endif
[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
[function getuid]
try uid.<args>.bounce=<src>
[EOF]
verdim bu fix işte bakın ıcıne player logini ekleyın yanı ancak ben gm carı ile .events fix yapıpda verebılıyorum yksa olmuyo scriptlerde yapamadım siz ayarlayın burdan
Bu konu Slothere tarafından düzenlendi(2009-09-10 13:51, 15 yıl önce)