Full Version : Automatic Resurrection with XMLDeathAction?
xmlspawner >>XMLSpawner - Attachments >>Automatic Resurrection with XMLDeathAction?
<< Prev | Next >>
Lichtblitz- 10-23-2007
Hi everyone.
As a Quest reward I wish to attach a temporary XMLDeathAction to a player.
This XMLDeathAction is supposed to resurrect the character a short moment after he died.
How can I use the RESURRECT keyword on the Mobile?
ArteGordon- 10-23-2007
you will need to do it like this
RESURRECT,1
where it will resurrect players within range of the killer. This is because RESURRECT is a standalone keyword that operates on the triggering mob, and for xmldeathaction the triggering mob is the killer.
I will look into modifying this in an upcoming release so that you can apply RESURRECT to any player.
Lichtblitz- 10-23-2007
Thanks for the answer.
So far so good, the problem is, that when I attach an xmldeathaction to a mobile with RESURRECT,10 for example and that mobile gets killed, neither itself nor any nearby mobile will be resurrected.
The attachment won't even delete itself on death so I think there is still an error somewhere. I simply can't figure out where it is.
ArteGordon- 10-24-2007
you put the attachment on a player, then killed the player and they werent resurrected?
I just tried it and it worked.
One thing to check is that you are a player when you kill them. Just using the [kill command for example wont work - it doesnt register as a normal kill.
As for deleting itself, you are right, it does not autodelete.
You can change that with this mod around line 105 in XmlDeathAction.cs

QUOTE
public override void OnKilled(Mobile killed, Mobile killer) { base.OnKilled(killed, killer); if (killed == null) return; // now check for any conditions as well
// check for any condition that must be met for this entry to be processed
if (Condition != null)
{
string status_str;
if (!BaseXmlSpawner.CheckPropertyString(null, killed, Condition, killer, out status_str))
{
return;
}
}
ExecuteDeathActions(killed.Corpse, killer, Action);
// delete the attachment when finished
Delete();
}