Held in The Teleport

 

When you use a teleporter and you respawn at the pod, you cant move for a little movement. I looked into the code and a comment said something like "hold the player for a moment" or something. I tried to minimize this value, but still, you are held at the spawning-position for a little while. Is it possible to completely remove this and be able to run away from the spawn-point immediately? Hope I'm clear enough on this, thank you!

 

look in p_client.c down at this function

void respawn (edict_t *self)

{

if (deathmatch->value || coop->value)

{

// spectator's don't leave bodies

if (self->movetype != MOVETYPE_NOCLIP)

CopyToBodyQue (self);

self->svflags &= ~SVF_NOCLIENT;

PutClientInServer (self);

 

// add a teleportation effect

self->s.event = EV_PLAYER_TELEPORT;

 

// hold in place briefly

self->client->ps.pmove.pm_flags = PMF_time_TELEPORT;

self->client->ps.pmove.pm_time = 14;

 

self->client->respawn_time = level.time;

 

return;

}

 

// restart the entire server

gi.AddCommandString ("menu_loadgame\n");

}

 

See where it says: // hold in place briefly

self->client->ps.pmove.pm_flags = PMF_time_TELEPORT;

self->client->ps.pmove.pm_time = 14;

you can either make 14 to a 0, or just delete the entire statement(i suggest the 0 though)