A chance comment on another UT forum (about an unrelated topic) prompted me to copy the defaultproperties from the pawn class to the defaultproperties list of my actor (of course, many of these are pawn class specific, so I pruned those properties immediately). Then I started a new dedicated server. And SetLocation worked. By a process of elimination, the key defaultproperty is:
Code: Select all
bIsPawn=True
Here's a pared down/simplified version of the relevant part of my class (that I'm using to move the actor):
Code: Select all
event trigger(actor other, pawn eventInstigator)
{
local mover MV;
local myCustomActor MCA;
local vector V;
if (other.isA('mover'))
{
MV = mover(other);
switch (MV.tag)
{
case 'mvMyMover':
disable('trigger');
foreach allActors(class'myCustomActor', MCA)
{
V = MCA.location;
V.z = Z.z - 100;
MCA.setLocation(V);
...
enable('trigger');
break;
}
}
Code: Select all
bStatic=false
bNoDelete=true
bAlwaysRelevant=true
bAlwaysTick=true
remoteRole=ROLE_SimulatedProxy
drawType=DT_Mesh
skin=Texture'HeroStatueEx.Skins.HeroSkin'
mesh=LodMesh'Botpack.SelectionMale2'
bCollideWhenPlacing=true
collisionRadius=16.000000
collisionHeight=32.000000