I'm new to ServUO. I'm just getting set up. Anyway, many years ago, when I was staff on a "Sphere?" shard, there was a command to possess mobs. It was an invaluable tool for live quests and events. Is there a command on ServUO that allows a staff member to possess mobs? I've searched and I can't find any such command. Thanks for your help.
 
Dian... that you?

I think i remember what you mean... you want to be able to control them like with a remote control or like actually be in the body of the mobile?
 
I remember being able to do that back on the old Lonewolf emulator from almost 20 years ago. You can get pretty close here by just setting your own body value to the mob you want to be. You can also dig up the [say command which lets you make any mobile (and most objects) say anything you want them to.
 
something similar to this?
 
This will do it. Only thing of real note is after you take possession you will need to give yourself regs to be able to cast spells. It would also be fairly easy to have it put a bag with regs in it when you take possession.
 

Attachments

  • Control.zip
    4.9 KB · Views: 43
Falkor who are you. Lol you could never possess a mob on lone wolf. Trust me I have every release of that emu and source code since day it came out. I was there when the first started lw.

Pol had it still does cause pol is still around.
 
Lord Binary did write a possess command for Wolfpack 12.6< but was never stable enough to be used as a feature..
It was removed early in Lonewolf..
I maintained it in Shard.. heres a snippet of code from it..

p.s. I wouldnt be running Lonewolf unless you are not very fond of your PC..

if(Player==PossessTarg) // RETURN
{
/*
pPos->npc = 0;
pc_currchar->npc = 1;
pc_currchar->account = -1;
currchar = DEREF_P_CHAR(pPos);
Network->startchar( s );
sysmessage( s, "Welcome back to your old body." );
*/

}
else // POSSESS
{
if(!PossessTarg->npc) return;

P_NPC Npc = MakeNpcRef(PossessTarg);
if(Npc && Npc->shop) return;

PossessTarg->npc=0;
// PossessTarg->account = Player->Account();
PossessTarg->SetAccount(Player->Account());

unsigned char tmp = PossessTarg->getPriv();
PossessTarg->setPriv(Player->getPriv());

unsigned char tmp1 = PossessTarg->GetPriv2();
PossessTarg->SetPriv2(Player->GetPriv2());

// unsigned char tmp2 = PossessTarg->commandLevel;
// PossessTarg->commandLevel = Player->commandLevel;

unsigned char tmp3 = PossessTarg->getPriv3();
PossessTarg->setPriv3(Player->getPriv3());


P_PLAYER NpcVictim = MakePlayerRef(PossessTarg);

// NpcVictim->setSlot(Player->getSlot());
setcurrchar(Player->getSlot(), NpcVictim->GetIndex());
// NpcVictim->SetOnline();

SendPacket->SendCharacterStartup(Player);

char tempt[64];
sprintf((char*)tempt, "You have possessed %s's body!", PossessTarg->name);
Player->Msg(tempt);
}
 
Last edited:
I have only the faintest recollection of Lonewolf after almost 20 years. That was half a lifetime ago! It was a good introduction to emulators, especially considering the game itself was only a few years old at the time. I never ran a real shard with it; only had 2-3 players who were having as much fun as I was in our own "private" UO world.
 
It's entirely possible when Lonewolf split from Wolfpack, you were able to try the 'possess' command, if I recall the possessed NPC ended up a permanent member of your accounts character list.. and things got whacky from there..

Here is the Lonewolf code after some point in time when it was disabled..

void cCommands: Possess(int s)
{
sysmessage(s, "wiping wordfile, hold on...");
sysmessage(s, "just kidding");
sysmessage(s, "command currently disabled");
}
 
Back