SphereCommunity
Animate Dead Spell - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Help (/Forum-Script-Help)
+--- Thread: Animate Dead Spell (/Thread-Animate-Dead-Spell)



Animate Dead Spell - Van Glan Bloom - 11-03-2014 02:56 AM

Hi guys,

I have used the necro skill in recent times, but there have been some problems when I use the spell animate dead and the mob is revive, he does not respond to commands who gave you summon.

I have this :

Code:
[Spell 101]
DEFNAME=s_animate_dead
NAME=Animate Dead
SOUND=snd_spell_resurrection
RUNES=
CAST_TIME=1.5
RESOURCES=i_reag_blood_spawn, i_reag_obsidian
RUNE_ITEM=i_rune_resurrection
SCROLL_ITEM=i_scroll_animate_dead
FLAGS=spellflag_summon
EFFECT_ID=0
EFFECT=0
DURATION=0
MANAUSE=23
SKILLREQ=
INTERRUPT=100.0,1.0

ON=@Effect
src.say @09c1 Et Jussit Mortuis

ON=@Success
if <src.restest i_animate_dead>
  src.consume i_animate_dead
  return 1
endif
serv.newitem i_animate_dead
new.equip <src>

[ITEMDEF 02260]
DEFNAME=i_scroll_animate_dead
TYPE=t_scroll
WEIGHT=1
RESOURCES=i_scroll_blank, i_reag_blood_spawn, i_reag_obsidian
SKILLMAKE=INSCRIPTION 50.0, NECROMANCY 40.0

ON=@CREATE
ATTR=ATTR_MAGIC
MOREX=s_animate_dead

Code:
[ITEMDEF i_animate_dead]
ID=i_memory
TYPE=t_eq_script
NAME=Animate Dead

ON=@Equip
TARGET Which corpse would you like to animate
TIMER=15

ON=@Timer
remove
return 1

ON=@TargOn_Ground
remove
return 1

ON=@TargOn_Char
remove
return 1

ON=@TargOn_Item
local.casterability=(<eval ((<cont.MAGERY>/100)*30)+((<cont.spiritspeak>/100)*70)>*180)
  if (<local.casterability> > <cont.targ.tag0.corpsefame>)
    local.casterability=<cont.targ.tag.corpsefame>
  endif
if !(<cont.targ.baseid>==i_corpse)
  cont.sysmessage @09c1 That isn't a corpse
  remove
  return 1
elseif ((<cont.targ.amount>==400) || (<cont.targ.amount>==401))
  cont.sysmessage @09c1 The spirit of that corpse is still around
  remove
  return 1
else
  serv.newitem=i_fx_smoke
  new.attr=attr_static|attr_decay
  new.timer=1
  new.p=<cont.targ.p>
    if (<local.casterability> > 1000)
      serv.newnpc c_skeletal_dragon
    elseif (<local.casterability> > 800)
      serv.newnpc c_m_liche_lord
    elseif (<local.casterability> > 600)
      serv.newnpc c_flesh_golem
    elseif (<local.casterability> > 400)
      serv.newnpc c_mummy
    elseif (<local.casterability> > 200)
      serv.newnpc c_liche
    elseif (<local.casterability> > 150)
      serv.newnpc c_m_skeleton_knight
    elseif (<local.casterability> > 100)
      serv.newnpc c_m_skeleton_mage
    elseif (<local.casterability> > 50)
      serv.newnpc c_patchwork_skeleton
    else
      serv.newnpc c_mound_maggots
    endif
   local.npc=<new.uid>
   new.p=<cont.targ.p>
   new.flags |= statf_conjured
   new.maxhits=(<eval <local.casterability>/50>)
   new.hits=<new.maxhits>
   new.karma=-2500
   new.fame=0
   new.events +e_animate_dead
  serv.newitem i_animate_checker
   new.timer=1
   new.cont=<local.npc>
  cont.targ.remove
remove
return 1
endif

[ITEMDEF i_animate_checker]
ID=i_memory
TYPE=t_eq_script
NAME=Animate Checker

ON=@Timer
cont.hits -= 1
cont.maxhits -= 1
  if (<cont.hits> < 0)
    cont.hits=0
    cont.remove
  endif
timer=120  // 2 minutos
return 1

[events e_animate_dead]
ON=@NPCLookAtChar
if !((<src.body>==c_man) || (<src.body>==c_woman) || (<src.isplayer>) || (<src.body>==c_zombie_m))
  attack
  return 1
endif

On=@Click
Message @0035 [Summon]

ON=@Death
src.remove

Some one can help me?!


RE: Animate Dead Spell - azmanomer - 11-03-2014 04:32 AM

you dont set owner maybe new.owner=<cont.uid> ?


RE: Animate Dead Spell - Van Glan Bloom - 11-04-2014 11:38 PM

if I add new.owner=<cont.uid> to the script, the sphere gives an error.

Code:
'
13:31:ERROR:(teste - animate_dead.scp,97)Invalid container 00
13:36:ERROR:(teste - animate_dead,98)Undefined keyword 'owner'

The lines where give the errors :

Code:
new.cont=<local.npc>
new.owner=<cont.uid>



RE: Animate Dead Spell - XuN - 11-05-2014 12:46 AM

Owner is Read Only, you cannot use it to write, you can use something like this instead:

Code:
new.MakeMyPet

[function MakeMyPet]
serv.newitem=i_memory
new.color=memory_ipet
new.link=<src>
new.cont=<uid>



RE: Animate Dead Spell - Van Glan Bloom - 11-28-2014 08:46 AM

I've tried various ways and even already got to change almost all the script, but always keep the same problem = (
Some one can help me pls?