Emitters aren´t replicated?

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

Doc_EDo

LEFT
Jan 10, 2002
755
0
0
A simple solution to this problem is that you either make your GameObjective always relevant or spawn an invisible actor that is always relevant and make it spawn effects.
 
Last edited:

Evil-Devil

silence
Jun 17, 2002
74
0
0
42
somewhere in Germany
evil-devil.com
The GameObjective is allready bAlwaysRelevant=true And it spawns the emitter.
Might it be enough to set the properties of my emitter which i spawn in my GameObjective class to another remoterole?

Or any other ideas?
I just need an touchable gameobjective, best would be a static mesh. But all the code i´ve found yet in UT2K3 the statics were imported as lightwave mesh. And don´t know if it is possible to use meshes i´ve created in UED to assign to my gameobjective. So it would be for example like an xDomPoint
 

Doc_EDo

LEFT
Jan 10, 2002
755
0
0
This is what I have on one of my classes that spawn effects on-line

RemoteRole=ROLE_SimulatedProxy
bAlwaysRelevant=true
 

punk129

!!!!!!!!!!!11111111111
Jan 18, 2003
172
0
0
Germany
www.punk129.com
StaticMesh as Gameobjectiv?

I've an Objective wich must be Destroyed, in it I have this code:

Code:
class GoalSpecial extends DestroyableObjective
	placeable;


var GRGoalObject dummy;

replication
{
	reliable if (Role == ROLE_Authority)
		dummy;
}


simulated function PostBeginPlay()
{
	Super.PostBeginPlay();

    if (Level.NetMode != NM_Client)
    {
        	dummy = Spawn(class'GRGoalSpecial',self,,Location-PrePivot,Rotation);

        dummy.Goal = self;
		ResetAll();
    }
}

simulated function ResetAll ()
{
	bDisabled = False;
	dummy.SoundPitch = 64;
	dummy.Reset();
}


DefaultProperties
{
     DefenderTeamIndex=1
     DestructionMessage="Terrorists destroyed the bomb"
}

GRGoalSpecial:

Code:
class GRGoalSpecial extends Decoration
	abstract;

var GRGoal Goal;

replication
{
	reliable if (Role == ROLE_Authority)
		Goal;
}
simulated singular function Touch (Actor Other)
{
	//....
} 

function TakeDamage (int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, class<DamageType> damageType)
{
	Goal.TakeDamage( Damage, InstigatedBy, HitLocation, Momentum, DamageType );
}
 

Evil-Devil

silence
Jun 17, 2002
74
0
0
42
somewhere in Germany
evil-devil.com
Michaeel, i´ve read your post seriously, but no one is perfect ;) Cause there was a native in the declation, i mentioned i can´t be switched to another remote role.

Thanx to all answers yet, i´ll look forward to use one of them. :)
 

Zarkazm

<img src="http://forums.beyondunreal.com/images/sm
Jan 29, 2002
4,683
0
0
Agony
Instead of changing the emitter's remote role, wouldn't it make sense to just spawn it on every client?
 

Mychaeel

New Member
If you have the proper notification on every client anyway, sure.

On the other hand, if you have to communicate the event that spawns the emitter separately to every client first, that'd somewhat defeat the purpose of spawning it client-side in the first place, so you could just as well just spawn it server-side and leave it up to the engine to send it to all clients. That might even be more efficient than devising an UnrealScript-level mechanism to specifically communicate that event to all clients.
 

Zarkazm

<img src="http://forums.beyondunreal.com/images/sm
Jan 29, 2002
4,683
0
0
Agony
Of course. I was kinda assuming the game objective spawns the emitter when it's created and then the emitter remains permanently active. I fear I don't feel comfortable with replication yet. I have read the theory, but I think only with practical experiments will I get the hang of it.
What I wonder about is how much sense it makes to try moving effects and other not globally relevant (whatever I mean with that) elements to the client to reduce server load.