bende

// ----------------------------
// MAGERY.SCP - MAGERY VE FREEZETIME SISTEMI 
// SON GUNCELLENME TARIHI: 31 Mart 2002 - Bronx
// ----------------------------
VERSION=0.55

//------------------
// freezetime - eq items
//------------------

[itemdef i_magerylvl]
name=magery gain
id=i_memory
type=t_eq_script
weight=0
layer=layer_special

On=@Create
attr attr_invis|attr_decay

On=@Equip
timer 6
	
On=@Timer
if (<cont.int> < 60)
	if (rand(15) == 1)
		cont.int (<cont.int> + 1)
	endif
elseif (<cont.int> < 100)
	if (rand(25) == 1)
		cont.int (<cont.int> + 1)
	endif
endif

// Level 1
if (<more1> == 1)
	if (rand(3) == 1)
		cont.magery (<cont.magery> + 1)
	endif
// Level 2
elseif (<more1> == 2)
	if (rand(5) == 1)
		cont.magery (<cont.magery> + 1)
	endif
// Level 3
elseif (<more1> == 3)
	if (rand(10) == 1)
		cont.magery (<cont.magery> + 1)
	endif
// Level 4
elseif (<more1> == 4)
	if (rand(15) == 1)
		cont.magery (<cont.magery> + 1)
	endif
// Level 5
elseif (<more1> == 5)
	if (rand(20) == 1)
		cont.magery (<cont.magery> + 1)
	endif
// Level 6
elseif (<more1> == 6)
	if (rand(25) == 1)
		cont.magery (<cont.magery> + 1)
	endif
	
// Level 7
elseif (<more1> == 7)
	if (rand(30) == 1)
		cont.magery (<cont.magery> + 1)
	endif
// Level 8
elseif (<more1> == 8)
	if (rand(35) == 1)
		cont.magery (<cont.magery> + 1)
	endif
endif
attr attr_decay
remove
return 1

[itemdef i_evallvl]
name=eval intel gain
id=i_memory
type=t_eq_script
weight=0
layer=layer_special

On=@Create
attr attr_invis|attr_decay

On=@Equip
timer 6
	
On=@Timer
// Level 1
if (<more1> == 1)
	if (rand(2) == 1)
		cont.evaluatingintel (<cont.evaluatingintel> + 1)
	endif
// Level 2
elseif (<more1> == 2)
	if (rand(3) == 1)
		cont.evaluatingintel (<cont.evaluatingintel> + 1)
	endif
// Level 3
elseif (<more1> == 3)
	if (rand(5) == 1)
		cont.evaluatingintel (<cont.evaluatingintel> + 1)
	endif
// Level 4
elseif (<more1> == 4)
	if (rand(10) == 1)
		cont.evaluatingintel (<cont.evaluatingintel> + 1)
	endif
// Level 5
elseif (<more1> == 5)
	if (rand(15) == 1)
		cont.evaluatingintel (<cont.evaluatingintel> + 1)
	endif
// Level 6
elseif (<more1> == 6)
	if (rand(20) == 1)
		cont.evaluatingintel (<cont.evaluatingintel> + 1)
	endif
// Level 7
elseif (<more1> == 7)
	if (rand(25) == 1)
		cont.evaluatingintel (<cont.evaluatingintel> + 1)
	endif
// Level 8
elseif (<more1> == 8)
	if (rand(30) == 1)
		cont.evaluatingintel (<cont.evaluatingintel> + 1)
	endif
endif
attr attr_decay
remove
return 1

[itemdef i_poisonlvl]
name=poison gain
id=i_memory
type=t_eq_script
weight=0
layer=layer_special

On=@Create
attr attr_invis|attr_decay

On=@Equip
timer 3
	
On=@Timer
if (<more1> == 1)
	cont.poisoning (<cont.poisoning> + 1)
elseif (<more1> == 2)
	cont.poisoning (<cont.poisoning> + 2)
elseif (<more1> == 3)
	cont.poisoning (<cont.poisoning> + 3)
elseif (<more1> == 4)
	cont.poisoning (<cont.poisoning> + 4)
elseif (<more1> == 5)
	cont.poisoning (<cont.poisoning> + 5)
elseif (<more1> == 6)
	cont.poisoning (<cont.poisoning> + 6)
elseif (<more1> == 7)
	cont.poisoning (<cont.poisoning> + 7)
elseif (<more1> == 8)
	cont.poisoning (<cont.poisoning> + 8)
endif
attr attr_decay
remove
return 1

[itemdef i_spdelay_woman] // bunnar adamda kaliodu (timer -1) fixlendi uzulmeyin
name=magery delay (woman)
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
src.body c_woman_nomove
if (<more1>)
	timer <more1>
endif

On=@UnEquip
if !(<cont.flags>&statf_dead)
	cont.body c_woman
	cont.obody c_woman
endif

On=@Timer
remove
return 1
		
[itemdef i_spdelay_man]
name=magery delay (man)
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
src.body c_man_nomove
if (<more1>)
	timer <more1>
endif

On=@UnEquip
if !(<cont.flags>&statf_dead)
	cont.body c_man
	cont.obody c_man
endif

On=@Timer
remove
return 1

[itemdef i_spdelay_man_brnx]
name=magery delay (brnx_man)
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
src.body c_man_brnx_nomove
if (<more1>)
	timer <more1>
endif

On=@UnEquip
if !(<cont.flags>&statf_dead)
	cont.body c_man_brnx
	cont.obody c_man_brnx
endif

On=@Timer
remove
return 1

[itemdef i_spdelay_unisex] // unicornlarla seks anlaminda
name=magery delay (unisex)
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
cont.flags <cont.flags>|04 // paralarim lan adami uniseksmi$
if (<more1>)
	timer <more1>
endif

On=@UnEquip
if !(<cont.flags>&statf_dead)
	cont.flags <cont.flags>&~04
endif

On=@Timer
remove
return 1

//------------------
// freeze body's
//------------------

[chardef c_man_nomove] 
id c_man 
can mt_usehands // newly added
foodtype 15 t_food, t_fruit

On=@GetHit 
body c_man
obody c_man

[chardef c_man_brnx_nomove] 
id c_man 
can mt_usehands // newly added
foodtype 15 t_food, t_fruit

On=@GetHit
body c_man_brnx
obody c_man_brnx

[chardef c_woman_nomove] 
id c_woman 
can mt_usehands|mt_female
foodtype 15 t_food, t_fruit

On=@GetHit 
body c_woman
obody c_woman

//------------------
// freezetime control functionz
//------------------

[function sd]
if !((<findid.i_spdelay_man>) || (<findid.i_spdelay_woman>) || (<findid.i_spdelay_unisex>))
	if (strmatch('<account.name>','Blaxoul'))
		var.m <act.uid>
		newitem i_spdelay_man_brnx
		act.more1 <args>
		act.equip
		act <var.m>
	elseif (<body> == c_man)
		var.m <act.uid>
		newitem i_spdelay_man
		act.more1 <args>
		act.equip
		act <var.m>
	elseif (<body> == c_woman)
		var.m <act.uid>
		newitem i_spdelay_woman
		act.more1 <args>
		act.equip
		act <var.m>
	else
		var.m <act.uid>
		newitem i_spdelay_unisex
		act.more1 <args>
		act.equip
		act <var.m>
	endif
endif

//------------------
// magery control functionz
//------------------

// Level 1
[function mg1]
if (<magery> < 30.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 700.0))
	findid.i_magerylvl.remove
	var.m2 <act.uid>	
	newitem i_magerylvl
	act.more1 1
	act.equip
	act <var.m2>
endif

if (<evaluatingintel> < 30.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 700.0))
	findid.i_evallvl.remove
	var.m2 <act.uid>	
	newitem i_evallvl
	act.more1 1
	act.equip
	act <var.m2>
endif

// Level 2
[function mg2]
if (<magery> < 40.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 700.0))
	findid.i_magerylvl.remove
	var.m2 <act.uid>	
	newitem i_magerylvl
	act.more1 2
	act.equip
	act <var.m2>
endif

if (<evaluatingintel> < 40.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 700.0))
	findid.i_evallvl.remove
	var.m2 <act.uid>	
	newitem i_evallvl
	act.more1 2
	act.equip
	act <var.m2>
endif

// Level 3
[function mg3]
if (<magery> < 50.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 700.0))
	findid.i_magerylvl.remove
	var.m2 <act.uid>	
	newitem i_magerylvl
	act.more1 3
	act.equip
	act <var.m2>
endif

if (<evaluatingintel> < 50.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 700.0))
	findid.i_evallvl.remove
	var.m2 <act.uid>	
	newitem i_evallvl
	act.more1 3
	act.equip
	act <var.m2>
endif

// Level 4
[function mg4]
if (<magery> < 60.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 700.0))
	findid.i_magerylvl.remove
	var.m2 <act.uid>	
	newitem i_magerylvl
	act.more1 4
	act.equip
	act <var.m2>
endif

if (<evaluatingintel> < 60.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 700.0))
	findid.i_evallvl.remove
	var.m2 <act.uid>	
	newitem i_evallvl
	act.more1 4
	act.equip
	act <var.m2>
endif

// Level 5
[function mg5]
if (<magery> < 70.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 700.0))
	findid.i_magerylvl.remove
	var.m2 <act.uid>	
	newitem i_magerylvl
	act.more1 5
	act.equip
	act <var.m2>
endif

if (<evaluatingintel> < 70.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 700.0))
	findid.i_evallvl.remove
	var.m2 <act.uid>	
	newitem i_evallvl
	act.more1 5
	act.equip
	act <var.m2>
endif

// Level 6
[function mg6]
if (<magery> < 80.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 700.0))
	findid.i_magerylvl.remove
	var.m2 <act.uid>	
	newitem i_magerylvl
	act.more1 6
	act.equip
	act <var.m2>
endif

if (<evaluatingintel> < 80.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 700.0))
	findid.i_evallvl.remove
	var.m2 <act.uid>	
	newitem i_evallvl
	act.more1 6
	act.equip
	act <var.m2>
endif

// Level 7
[function mg7]
if (<magery> < 90.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 700.0))
	findid.i_magerylvl.remove
	var.m2 <act.uid>	
	newitem i_magerylvl
	act.more1 7
	act.equip
	act <var.m2>
endif

if (<evaluatingintel> < 90.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 700.0))
	findid.i_evallvl.remove
	var.m2 <act.uid>	
	newitem i_evallvl
	act.more1 7
	act.equip
	act <var.m2>
endif

// Level 8
[function mg8]
if (<magery> < 100.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 700.0))
	findid.i_magerylvl.remove
	var.m2 <act.uid>	
	newitem i_magerylvl
	act.more1 8
	act.equip
	act <var.m2>
endif

if (<evaluatingintel> < 100.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 700.0))
	findid.i_evallvl.remove
	var.m2 <act.uid>	
	newitem i_evallvl
	act.more1 8
	act.equip
	act <var.m2>
endif

//------------------
// poison functionz
//------------------

[function psg]
if (<magery> < 50.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 700.0))
	findid.i_magerylvl.remove
	var.m2 <act.uid>	
	newitem i_magerylvl
	act.more1 3
	act.equip
	act <var.m2>
endif

if (<evaluatingintel> < 50.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 700.0))
	findid.i_evallvl.remove
	var.m2 <act.uid>	
	newitem i_evallvl
	act.more1 3
	act.equip
	act <var.m2>
endif


if (<poisoning> < 100.0) && ((<skilllock[30]> == 0) && (<skilltotal> < 700.0))
	findid.i_poisonlvl.remove
	var.m2 <act.uid>	
	newitem i_poisonlvl

	if (<src.poisoning> < 30.0)
		if (rand(5) == 1)
			act.more1 8
		endif
	elseif (<src.poisoning> > 29.9) && (<src.poisoning> < 40.0)
		if (rand(15) == 1)
			act.more1 4
		endif
	elseif (<src.poisoning> > 39.9) && (<src.poisoning> < 50.0)
		if (rand(20) == 1)
			act.more1 3
		endif
	elseif (<src.poisoning> > 49.9) && (<src.poisoning> < 60.0)
		if (rand(21) == 1)
			act.more1 2
		endif
	elseif (<src.poisoning> > 59.9) && (<src.poisoning> < 70.0)
		if (rand(22) == 1)
			act.more1 1
		endif
	elseif (<src.poisoning> > 69.9) && (<src.poisoning> < 80.0)
		if (rand(25) == 1)
			act.more1 1
		endif
	elseif (<src.poisoning> > 79.9) && (<src.poisoning> < 90.0)
		if (rand(40) == 1)
			act.more1 1
		endif
	elseif (<src.poisoning> > 89.9)
		if (rand(60) == 1)
			act.more1 1
		endif
	else
		act.more1 9
	endif
	act.equip
	act <var.m2>
endif


//------------------
// breakspell functionz
//------------------

// Circle 1
[function breakspell1]
f_fizzle

// Circle 2
[function breakspell2]
f_fizzle
if (<src.mana> > 20)
	src.mana (<src.mana> - {8 10})
else
	src.mana 0
endif

// Circle 3
[function breakspell3]
f_fizzle
if (<src.mana> > 25)
	src.mana (<src.mana> - {10 15})
else
	src.mana 0
endif

// Circle 4
[function breakspell4]
f_fizzle
if (<src.mana> > 30)
	src.mana (<src.mana> - {15 20})
else
	src.mana 0
endif

// Circle 5
[function breakspell5]
f_fizzle
if (<src.mana> > 35)
	src.mana (<src.mana> - {20 25})
else
	src.mana 0
endif

// Circle 6
[function breakspell6]
f_fizzle
if (<src.mana> > 40)
	src.mana (<src.mana> - {25 30})
else
	src.mana 0
endif

// Circle 7
[function breakspell7]
f_fizzle
if (<src.mana> > 45)
	src.mana (<src.mana> - {30 35})
else
	src.mana 0
endif

// Circle 8
[function breakspell8]
f_fizzle
if (<src.mana> > 50)
	src.mana (<src.mana> - {35 40})
else
	src.mana 0
endif

//------------------
// spell: explosion
//------------------

[itemdef i_spelleffect_explosion]
name=[explosion spelleffect]
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
cont.sayu explosion
timer 2

On=@Timer
cont.effect 3,i_fx_explode,6,15,1
cont.sfx snd_spell_explosion

if (<cont.hitpoints> > 32)
	cont.hits=(<cont.hits> - {25 30})
	cont.damage 1
else
	cont.hits=0
endif

attr attr_decay
remove
return 1

//------------------
// spell: polymorph
//------------------

[function plym]
if (<findid.i_pre_morph>)
	findid.i_pre_morph.remove
	f_fizzle
endif

if !(<findid.i_morpher>)
	newitem i_pre_morph
	act.more <args>
	act.equip
	newitem i_morpher
	act.more <body>
	act.equip
else
	findid.i_morpher.timer {285 320}
	newitem i_pre_morph
	act.more <args>
	act.equip
endif

[itemdef i_pre_morph]
name=[casting polymorph]
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
timer 4
cont.spell_say Vas Ylem Rel
cont.anim 17
cont.sd 3
cont.events +e_breakpoly

On=@UnEquip
cont.events -e_breakpoly
cont.consume 1 i_reag_spider_silk
cont.consume 1 i_reag_blood_moss
cont.consume 1 i_reag_mandrake_root
cont.consume 1 i_reag_sulfur_ash

On=@Timer
attr attr_decay
if (<cont.mana> < 40)
	cont.f_fizzle
else
	cont.mana (<cont.mana> - 40)
	cont.sfx snd_spell_polymorph
	cont.body <more>
	cont.update
endif
remove
return 1

[itemdef i_morpher]
name=Polymorph
id=i_rune_polymorph
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
timer {285 320}
cont.events +e_poly

On=@UnEquip
cont.events -e_poly
cont.body <more>
cont.update

On=@Timer
attr attr_decay
remove
return 1

[events e_poly]
On=@Death
findid.i_morpher.remove

[events e_breakpoly]
On=@SpellCast
findid.i_pre_morph.remove
findid.i_morpher.remove
f_fizzle

On=@GetHit
findid.i_pre_morph.remove
findid.i_morpher.remove
f_fizzle

On=@Hit
findid.i_pre_morph.remove
findid.i_morpher.remove
f_fizzle

On=@Death
findid.i_pre_morph.remove
findid.i_morpher.remove

On=@SkillStart
findid.i_pre_morph.remove
findid.i_morpher.remove
f_fizzle

[EOF]

arkadaşlar elinde fix scp olan biri atabilirmi bana bug var çok fazla ondan atmıyor 100lerce eror var undefinied symbol falan geliyor :(
bunu ekle işte


// ----------------------------
// MAGERY.SCP - MAGERY VE FREEZETIME SISTEMi
//
// ----------------------------


//------------------
// freezetime - eq items
//------------------

[function f_fizzle] // fizzle func.
effect 3,i_fx_smoke_small,3,40,1
sound 92
if (<mana> > 8)
mana (<mana> - &&#35123;5 8})
else
mana 1
endif
if (<findid.i_magerylvl>)
findid.i_magerylvl.remove
endif
if (<findid.i_evallvl>)
findid.i_evallvl.remove
endif
if (<findid.i_poisonlvl>)
findid.i_poisonlvl.remove
endif
if (<findid.i_spdelay_man>)
findid.i_spdelay_man.remove
elseif (<findid.i_spdelay_woman>)
findid.i_spdelay_woman.remove
endif



[itemdef i_magerylvl]
name=magery gain
id=i_memory
type=t_eq_script
weight=0
layer=layer_special

On=@Create
attr attr_invis|attr_decay

On=@Equip
timer 6

On=@Timer
if (<cont.int> < 60)
if (rand(15) == 1)
cont.int (<cont.int> + 1)
endif
elseif (<cont.int> < 100)
if (rand(25) == 1)
cont.int (<cont.int> + 1)
endif
endif

// Level 1
if (<more1> == 1)
if (rand(1) == 1) //3
cont.magery (<cont.magery> + 1)
endif
// Level 2
elseif (<more1> == 2)
if (rand(2) == 1) //8
cont.magery (<cont.magery> + 1)
endif
// Level 3
elseif (<more1> == 3)
if (rand(2) == 1) //10
cont.magery (<cont.magery> + 1)
endif
// Level 4
elseif (<more1> == 4)
if (rand(2) == 1) //15
cont.magery (<cont.magery> + 1)
endif
// Level 5
elseif (<more1> == 5)
if (rand(2) == 1) //20
cont.magery (<cont.magery> + 1)
endif
// Level 6
elseif (<more1> == 6)
if (rand(2) == 1) //25
cont.magery (<cont.magery> + 1)
endif

// Level 7
elseif (<more1> == 7)
if (rand(2) == 1) //30
cont.magery (<cont.magery> + 1)
endif
// Level 8
elseif (<more1> == 8)
if (rand(4) == 1) //35
cont.magery (<cont.magery> + 1)
endif
endif
attr attr_decay
remove
return 1

[itemdef i_evallvl]
name=eval intel gain
id=i_memory
type=t_eq_script
weight=0
layer=layer_special

On=@Create
attr attr_invis|attr_decay

On=@Equip
timer 6

On=@Timer
// Level 1
if (<more1> == 1)
if (rand(2) == 1)
cont.evaluatingintel (<cont.evaluatingintel> + 1)
endif
// Level 2
elseif (<more1> == 2)
if (rand(3) == 1) //3
cont.evaluatingintel (<cont.evaluatingintel> + 1)
endif
// Level 3
elseif (<more1> == 3)
if (rand(3) == 1) //8
cont.evaluatingintel (<cont.evaluatingintel> + 1)
endif
// Level 4
elseif (<more1> == 4)
if (rand(3) == 1) //10
cont.evaluatingintel (<cont.evaluatingintel> + 1)
endif
// Level 5
elseif (<more1> == 5)
if (rand(3) == 1) //15
cont.evaluatingintel (<cont.evaluatingintel> + 1)
endif
// Level 6
elseif (<more1> == 6)
if (rand(3) == 1) //20
cont.evaluatingintel (<cont.evaluatingintel> + 1)
endif
// Level 7
elseif (<more1> == 7)
if (rand(15) == 1) //25
cont.evaluatingintel (<cont.evaluatingintel> + 1)
endif
// Level 8
elseif (<more1> == 8)
if (rand(16) == 1) //30
cont.evaluatingintel (<cont.evaluatingintel> + 1)
endif
endif
attr attr_decay
remove
return 1

[itemdef i_poisonlvl]
name=poison gain
id=i_memory
type=t_eq_script
weight=0
layer=layer_special

On=@Create
attr attr_invis|attr_decay

On=@Equip
timer 3

On=@Timer

cont.poisoning (<cont.poisoning> + 1)

attr attr_decay
remove
return 1

[comment poi]
if (<more1> == 1)

elseif (<more1> == 2)
cont.poisoning (<cont.poisoning> + 1)
elseif (<more1> == 3)
cont.poisoning (<cont.poisoning> + 3)
elseif (<more1> == 4)
cont.poisoning (<cont.poisoning> + 4)
elseif (<more1> == 5)
cont.poisoning (<cont.poisoning> + 5)
elseif (<more1> == 6)
cont.poisoning (<cont.poisoning> + 6)
elseif (<more1> == 7)
cont.poisoning (<cont.poisoning> + 7)
elseif (<more1> == 8)
cont.poisoning (<cont.poisoning> + 8)
endif

[itemdef i_spdelay_woman]
name=magery delay (woman)
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
src.body c_woman_nomove
if (<more1>)
timer <more1>
endif

On=@UnEquip
if !(<cont.flags>&statf_dead)
cont.body c_woman
cont.obody c_woman
endif

On=@Timer
remove
return 1

[itemdef i_spdelay_poly]
name=magery delay poly
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
cont.flags <cont.flags>|04
if (<more1>)
timer <more1>
endif

On=@UnEquip
if !(<cont.flags>&statf_dead)
cont.flags <cont.flags>&~04
endif

On=@Timer
remove
return 1

[itemdef i_spdelay_man]
name=magery delay (man)
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
src.body c_man_nomove
if (<more1>)
timer <more1>
endif

On=@UnEquip
if !(<cont.flags>&statf_dead)
cont.body c_man
cont.obody c_man
endif

On=@Timer
remove
return 1

//------------------
// freeze body&&#35039;s
//------------------

[chardef c_man_nomove]
id c_man
can mt_usehands // newly added
foodtype 15 t_food, t_fruit

On=@GetHit
body c_man
obody c_man

[chardef c_woman_nomove]
id c_woman
can mt_usehands|mt_female
foodtype 15 t_food, t_fruit

On=@GetHit
body c_woman
obody c_woman

//------------------
// freezetime control functionz
//------------------

[function sd]

//if ((<findid.i_spdelay_man>) || (<findid.i_spdelay_woman>))
//skill fail
findid.i_spdelay_man.remove
findid.i_spdelay_woman.remove
//else
if (<body> == c_man)
var.m <act.uid>
newitem i_spdelay_man
act.more1 <args>
act.equip
act <var.m>
elseif (<body> == c_woman)
var.m <act.uid>
newitem i_spdelay_woman
act.more1 <args>
act.equip
act <var.m>
else
var.m <act.uid>
newitem i_spdelay_poly
act.more1 <args>
act.equip
act <var.m>
endif
//endif

//------------------
// magery control functionz
//------------------

// Level 1
[function mg1]
if (<magery> < 30.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 800.0))
findid.i_magerylvl.remove
var.m2 <act.uid>
newitem i_magerylvl
act.more1 1
act.equip
act <var.m2>
endif

if (<evaluatingintel> < 30.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 800.0))
findid.i_evallvl.remove
var.m2 <act.uid>
newitem i_evallvl
act.more1 1
act.equip
act <var.m2>
endif

// Level 2
[function mg2]
if (<magery> < 40.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 800.0))
findid.i_magerylvl.remove
var.m2 <act.uid>
newitem i_magerylvl
act.more1 2
act.equip
act <var.m2>
endif

if (<evaluatingintel> < 40.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 800.0))
findid.i_evallvl.remove
var.m2 <act.uid>
newitem i_evallvl
act.more1 2
act.equip
act <var.m2>
endif

// Level 3
[function mg3]
if (<magery> < 50.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 800.0))
findid.i_magerylvl.remove
var.m2 <act.uid>
newitem i_magerylvl
act.more1 3
act.equip
act <var.m2>
endif

if (<evaluatingintel> < 50.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 800.0))
findid.i_evallvl.remove
var.m2 <act.uid>
newitem i_evallvl
act.more1 3
act.equip
act <var.m2>
endif

// Level 4
[function mg4]
if (<magery> < 60.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 800.0))
findid.i_magerylvl.remove
var.m2 <act.uid>
newitem i_magerylvl
act.more1 4
act.equip
act <var.m2>
endif

if (<evaluatingintel> < 60.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 800.0))
findid.i_evallvl.remove
var.m2 <act.uid>
newitem i_evallvl
act.more1 4
act.equip
act <var.m2>
endif

// Level 5
[function mg5]
if (<magery> < 70.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 800.0))
findid.i_magerylvl.remove
var.m2 <act.uid>
newitem i_magerylvl
act.more1 5
act.equip
act <var.m2>
endif

if (<evaluatingintel> < 70.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 800.0))
findid.i_evallvl.remove
var.m2 <act.uid>
newitem i_evallvl
act.more1 5
act.equip
act <var.m2>
endif

// Level 6
[function mg6]
if (<magery> < 80.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 800.0))
findid.i_magerylvl.remove
var.m2 <act.uid>
newitem i_magerylvl
act.more1 6
act.equip
act <var.m2>
endif

if (<evaluatingintel> < 80.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 800.0))
findid.i_evallvl.remove
var.m2 <act.uid>
newitem i_evallvl
act.more1 6
act.equip
act <var.m2>
endif

// Level 7
[function mg7]
if (<magery> < 90.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 800.0))
findid.i_magerylvl.remove
var.m2 <act.uid>
newitem i_magerylvl
act.more1 7
act.equip
act <var.m2>
endif

if (<evaluatingintel> < 90.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 800.0))
findid.i_evallvl.remove
var.m2 <act.uid>
newitem i_evallvl
act.more1 7
act.equip
act <var.m2>
endif

// Level 8
[function mg8]
if (<magery> < 100.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 800.0))
findid.i_magerylvl.remove
var.m2 <act.uid>
newitem i_magerylvl
act.more1 8
act.equip
act <var.m2>
endif

if (<evaluatingintel> < 100.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 800.0))
findid.i_evallvl.remove
var.m2 <act.uid>
newitem i_evallvl
act.more1 8
act.equip
act <var.m2>
endif

//------------------
// poison functionz
//------------------

[function psg]
if (<src.magery> < 50.0) && ((<skilllock[25]> == 0) && (<skilltotal> < 700.0))
findid.i_magerylvl.remove
var.m2 <act.uid>
newitem i_magerylvl
act.more1 3
act.equip
act <var.m2>
endif

if (<src.evaluatingintel> < 50.0) && ((<skilllock[16]> == 0) && (<skilltotal> < 700.0))
findid.i_evallvl.remove
var.m2 <act.uid>
newitem i_evallvl
act.more1 3
act.equip
act <var.m2>
endif


if (<src.poisoning> < 100.0) && ((<skilllock[30]> == 0) && (<skilltotal> < 700.0))
findid.i_poisonlvl.remove
var.m2 <act.uid>
newitem i_poisonlvl

if (<src.poisoning> < 30.0)
if (rand(2) == 1)
act.more1 2
endif
elseif (<src.poisoning> > 29.9) && (<src.poisoning> < 40.0)
if (rand(2) == 1)
act.more1 2
endif
elseif (<src.poisoning> > 39.9) && (<src.poisoning> < 50.0)
if (rand(2) == 1)
act.more1 2
endif
elseif (<src.poisoning> > 49.9) && (<src.poisoning> < 60.0)
if (rand(2) == 1)
act.more1 2
endif
elseif (<src.poisoning> > 59.9) && (<src.poisoning> < 70.0)
if (rand(2) == 1)
act.more1 1
endif
elseif (<src.poisoning> > 69.9) && (<src.poisoning> < 80.0)
if (rand(2) == 1)
act.more1 1
endif
elseif (<src.poisoning> > 79.9) && (<src.poisoning> < 90.0)
if (rand(2) == 1)
act.more1 1
endif
elseif (<src.poisoning> > 89.9)
if (rand(2) == 1)
act.more1 1
endif
else
act.more1 9
endif
act.equip
act <var.m2>
endif

//------------------
// breakspell functionz
//------------------

// Circle 1
[function breakspell1]
f_fizzle

// Circle 2
[function breakspell2]
f_fizzle
if (<src.mana> > 20)
src.mana (<src.mana> - &&#35123;8 10})
else
src.mana 0
endif

// Circle 3
[function breakspell3]
f_fizzle
if (<src.mana> > 25)
src.mana (<mana> - &&#35123;10 15})
else
src.mana 0
endif

// Circle 4
[function breakspell4]
f_fizzle
if (<src.mana> > 30)
src.mana (<src.mana> - &&#35123;15 20})
else
src.mana 0
endif

// Circle 5
[function breakspell5]
f_fizzle
if (<src.mana> > 35)
src.mana (<src.mana> - &&#35123;20 25})
else
src.mana 0
endif

// Circle 6
[function breakspell6]
f_fizzle
if (<src.mana> > 40)
src.mana (<src.mana> - &&#35123;25 30})
else
src.mana 0
endif

// Circle 7
[function breakspell7]
f_fizzle
if (<src.mana> > 45)
src.mana (<src.mana> - &&#35123;30 35})
else
src.mana 0
endif

// Circle 8
[function breakspell8]
f_fizzle
if (<src.mana> > 50)
src.mana (<src.mana> - &&#35123;35 40})
else
src.mana 0
endif

//------------------
// spell: explosion
//------------------

[itemdef i_spelleffect_explosion]
name=[explosion spelleffect]
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
cont.sayu explosion
timer 2

On=@Timer
cont.effect 3,i_fx_explode,6,15,1
cont.sfx snd_spell_explosion

if (<cont.hitpoints> > 32)
cont.hits=(<cont.hits> - &&#35123;25 30})
cont.damage 1
else
cont.hits=0
endif

attr attr_decay
remove
return 1

//------------------
// spell: polymorph
//------------------

[function plym]
if (<findid.i_pre_morph>)
findid.i_pre_morph.remove
f_fizzle
endif

if !(<findid.i_morpher>)
newitem i_pre_morph
act.more <args>
act.equip
newitem i_morpher
act.more <body>
act.equip
else
findid.i_morpher.timer &&#35123;285 320}
newitem i_pre_morph
act.more <args>
act.equip
endif

[itemdef i_pre_morph]
name=[casting polymorph]
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
timer 4
cont.spell_say Vas Ylem Rel
cont.anim 17
cont.sd 3
cont.events +e_breakpoly

On=@UnEquip
cont.events -e_breakpoly
cont.consume 1 i_reag_spider_silk
cont.consume 1 i_reag_blood_moss
cont.consume 1 i_reag_mandrake_root
cont.consume 1 i_reag_sulfur_ash

On=@Timer
attr attr_decay
if (<cont.mana> < 40)
cont.f_fizzle
else
cont.mana (<cont.mana> - 40)
cont.sfx snd_spell_polymorph
cont.body <more>
cont.update
endif
remove
return 1

[itemdef i_morpher]
name=Polymorph
id=i_rune_polymorph
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
timer &&#35123;285 320}
cont.events +e_poly

On=@UnEquip
cont.events -e_poly
cont.body <more>
cont.update

On=@Timer
attr attr_decay
remove
return 1

[events e_poly]
On=@Death
findid.i_morpher.remove

[events e_breakpoly]
On=@SpellCast
findid.i_pre_morph.remove
findid.i_morpher.remove
f_fizzle

On=@GetHit
findid.i_pre_morph.remove
findid.i_morpher.remove
f_fizzle

On=@Hit
findid.i_pre_morph.remove
findid.i_morpher.remove
f_fizzle

On=@Death
findid.i_pre_morph.remove
findid.i_morpher.remove

On=@SkillStart
findid.i_pre_morph.remove
findid.i_morpher.remove
f_fizzle

[itemdef i_spdelay_unisex] // unicornlarla seks anlaminda
name=magery delay (unisex)
id=i_gold
type=t_eq_script
weight=0
layer=layer_special

On=@Equip
cont.flags <cont.flags>|04 // paralarim lan adami uniseksmi&&#35036;
if (<more1>)
timer <more1>
endif

On=@UnEquip
if !(<cont.flags>&statf_dead)
cont.flags <cont.flags>&~04
endif

On=@Timer
remove
return 1

[EOF]



Sonra fix.scp bu bölümü ;

if (<argn> == 1)// Clumsy
spell_say Uus Jux
mg1
elseif (<argn> == 2)
spell_say In Mani Ylem // Create food
foodverici
        mg1
elseif (<argn> == 3) // Feeblemind
spell_say Rel Wis
mg1
elseif (<argn> == 4) // Heal
spell_say In Mani
sd 1
if (<src.findid.i_bleeding> || (<src.findid.i_bleeding2>)
sysmessage @066d,,1 Yaranızı iyileştirmelisiniz.
f_fizzle
return 1
return 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.serial>==<targ.serial>)
spell_say Flam Sanct
sd 1
mg1
else
skill fail
sysmessage @066d,,1 Bu büyüyü sadece kendinizde kullanabilirsiniz.
return 1
endif
elseif (<argn> == 8) // Weaken
spell_say Des Mani
mg1
elseif (<argn> == 9) // Agility
spell_say Ex Uus
mg2
elseif (<argn> == 10) // Cunning
spell_say Uus Wis
mg2
elseif (<argn> == 11) // Cure
spell_say An Nox
sd 1
if (<act.findid.i_rune_poison>)
if (<act.findid.i_rune_poison.morey> > <eval ((<magery> + 400) / 2)>)
if !(rand(8) == 1)
act.effect 3,0374a,1,15,1
act.sound snd_spell_poison
f_fizzle
return 1
endif
endif
endif
mg2
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.serial>==<targ.serial>)
spell_say Uus Sanct
sd 1
mg2
else
skill fail
sysmessage @066d,,1 Bu büyüyü sadece kendinizde kullanabilirsiniz.
return 1
endif
elseif (<argn> == 16) // Strength
spell_say Uus Mani
sd 1
mg2
elseif (<argn> == 17) // Bless
        if (<act.serial>==<targ.serial>)
spell_say Rel Sanct
sd 1
mg3
else
skill fail
sysmessage @066d,,1 Bu büyüyü sadece kendinizde kullanabilirsiniz.
return 1
endif
elseif (<argn> == 18)
IF (<SRC.ACT.ISCHAR>)
IF !(<src.ACT.ISEVENT.e_evabonus>)
src.ACT.EVENTS +e_evabonus
endif
endif // 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.serial>==<targ.serial>)
spell_say In Nox
psg
sd 1
else
skill fail
sysmessage @066d,,1 Bu büyüyü kendinize atamazsınız.
return 1
endif
elseif (<argn> == 21) // Telekinesis
spell_say Ort Por Ylem
src.sysmessage @066d,,1 Bu büyünün kullanımı kapatılmıştır.
f_fizzle
return 1
elseif (<argn> == 22) // Teleport
spell_say Rel Por
        if (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg3
sd 2
elseif (<argn> == 23) // Unlock
spell_say Ex Por
f_fizzle
return 1
elseif (<argn> == 24) // Wall
spell_say In Sanct Ylem
if (<act.topobj.ischar>)
f_fizzle
return 1
elseif (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg3
sd 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) // Fire Field
spell_say In Flam Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
elseif (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg4
sd 2
elseif (<argn> == 29) // Greater Heal
spell_say In Vas Mani
sd 2
if (<src.findid.i_bleeding> || (<src.findid.i_bleeding2>
sysmessage @066d,,1 Yaranizi iyilestirmelisiniz.
f_fizzle
return 1
return 1
endif
mg4
elseif (<argn> == 30)
IF (<SRC.ACT.ISCHAR>)
IF !(<src.ACT.ISEVENT.e_evabonus>)
src.ACT.EVENTS +e_evabonus
endif
endif // 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
if (0<src.tag.ticaret>==01)
if !(0<src.tag.ticaretk>==0<uid>
src.sysmessage @066d,,1 Ticaret yaparken bunu kullanamazsınız.
f_fizzle
return 1
endif
endif
elseif (<argn> == 33) // Blade Spirits
spell_say In Jux Hur Ylem
if (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg5
sd 2
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
f_fizzle
return 1
elseif (<argn> == 36) // Magic Reflect
spell_say In Jux Sanct
sd 2
mg5
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
spell_say In Nox Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
elseif (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
sd 2
mg5
elseif (<argn> == 40) // Summon Creature
spell_say Kal Xen
if (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg5
sd 2
elseif (<argn> == 41) // Dispel
spell_say An Ort
sd 2
mg6
elseif (<argn> == 42)
IF (<SRC.ACT.ISCHAR>)
IF !(<src.ACT.ISEVENT.e_evabonus>)
src.ACT.EVENTS +e_evabonus
endif
endif // 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
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
spell_say In Ex Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
elseif (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg6
sd 2
elseif (<argn> == 48) // Reveal
spell_say Wis Quas
sd 2
mg6
elseif (<argn> == 49) // Chain Lightning
spell_say Vas Ort Grav
if (<act.uid> == <uid>)
f_fizzle
return 1
endif
sd 3
mg7
if (<src.region.guarded> == 1)
f_fizzle
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
return 1
endif
elseif (<argn> == 50) // Energy Field
spell_say In Sanct Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
elseif (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg7
sd 2
elseif (<argn> == 51)
src.events +e_evabonus // Flame strike
spell_say Kal Vas Flam
sd 3
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 (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg7
sd 3
elseif (<argn> == 56) // Polymorph
spell_say Vas Ylem Rel
sd 7
mg3
elseif (<argn> == 57) // Earthquake
spell_say In Vas Por
if (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg8
sd 4
elseif (<argn> == 58) // Energy Vortex
spell_say Vas Corp Por
if (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg8
sd 3
elseif (<argn> == 59) // Resurrect
spell_say An Corp
sd 3
mg8
elseif (<argn> == 60) // Air Elemental
spell_say Kal Vas Xen Hur
if (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg8
sd 3
elseif (<argn> == 61) // Summon Deamon
spell_say Kal Vas Xen Corp
if (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg8
sd 3
elseif (<argn> == 62) // Earth Elemental
spell_say Kal Vas Xen Ylem
if (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg8
sd 3
elseif (<argn> == 63) // Fire Elemental
spell_say Kal Vas Xen Flam
if (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg8
sd 3
elseif (<argn> == 64) // Water Elemental
spell_say Kal Vas Xen An Flam
if (<src.region.guarded> == 1)
src.sysmessage @066d,,1 Bu büyüyü korunaklı bir şehirde yapamazsınız.
f_fizzle
return 1
endif
mg8
sd 3
endif
en iyisi 56b kullan bug yok hata yok :) basın agırmaz
55r versiyonda işliyormu işlesede nerden bulacam?
beyler özür dilerim aptallık bende not defteri değilde wordde kopyalamışım :D:D tam fix.scp ini verebilirmisiniz



Üye Ol veya Giriş Yap

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