Preventing client velocity/angles input

Discuss programming in the QuakeC language.
r00k
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Re: Preventing client velocity/angles input

Post by r00k »

I was thinking of how water movement is slowed down for the player movement
U could increase the drag extremely and the would move extremely slow
I'll have to look again how I do it in freeze tag but when frozen u can look around
Seven
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: Preventing client velocity/angles input

Post by Seven »

frag.machine wrote:My 0.02$:
...
IMHO the simplest way to go would be in the "web" missile touch function. Something like this:

Code: Select all

(...)
if (other.classname == "player")
{
  (...)
  other.pausetime = time + 3; // player is ensnared for this time in seconds
}


Note that the player still can turn around and shoot, but can't walk, run or jump.
Hello frag.machine,
Your 2 cents are worth 2k dollars :)
That is why I love this forum so much.
Everything turns out so "easy", with all your support and guidance.

Thank you very much. That seems indeed to be the best way to handle the "web"-thing.

ceriux wrote:awesome model did you make it?
Hello ceriux,
As I wrote in the post:
I would never be able to create such a beauty :)
It is Psionics work (his name is quite well known in the modeling /animating 'scene').
He made many tutorials and supports how to create and animate models.
The download link is no. 5.) in the thread about free models:
http://forums.inside3d.com/viewtopic.php?f=13&t=5074
Chip
Posts: 575
Joined: Wed Jan 21, 2009 9:12 am
Location: Dublin, Ireland
Contact:

Re: Preventing client velocity/angles input

Post by Chip »

@Seven, Quake Requiem mod has a nice weapon called FreezeBomb. It does exactly what you need. Freezes you in place and displays yellow floating particles.

- freezebomb

"Freezes anything it touches. Shoots out little freezers, with a glowing blue proximity. If you get hit, or touch the yellow, you'll get frozen! While frozen, opponents cannot move but can still shoot at half the normal speed. With this weapon you can run through lava without getting burnt."

http://www.reqoning.com/q1req/
QuakeWiki
getButterfly - WordPress Support Services
Roo Holidays

Fear not the dark, but what the dark hides.
Seven
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: Preventing client velocity/angles input

Post by Seven »

Thank you for your tip, Chip.

Unfortunately no source is included, but this mod has some nice little extra features/ideas wich are very interesting. :)

Regarding the freezebomb:
The mod I am working on is a DP-only mod, so I will use "pointparticles" for the floating particles.
The idea to slow down the firing-speed while "frozen" is also a good one.

Thank you very much for pointing me to this and all the new ideas.
Seven
Chip
Posts: 575
Joined: Wed Jan 21, 2009 9:12 am
Location: Dublin, Ireland
Contact:

Re: Preventing client velocity/angles input

Post by Chip »

I used to play that mod for hours on end like 10 years ago with some friends.

Too bad the source is not there, I read that they released the QW source, but I couldn't find it anywhere online.
QuakeWiki
getButterfly - WordPress Support Services
Roo Holidays

Fear not the dark, but what the dark hides.
r00k
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Re: Preventing client velocity/angles input

Post by r00k »

Here's what I use for FreezeTag

Code: Select all

void (entity e) freeze_player =
{
	local entity oself;
	local string tmp;
	
	if ((e.deathtype == "teledeath")||(e.watertype == CONTENT_LAVA))
	{
		oself = self;
		self = e;
	 	respawn();
	 	self = oself;
		return;
	}

	e.solid 		= SOLID_SLIDEBOX;
	e.movetype 		= MOVETYPE_BOUNCE;
	e.takedamage 	= DAMAGE_AIM;
	e.effects 		= 0;	
	e.health		= 1;
	e.weaponmodel 	= string_null;
	e.items			= 0;
	e.weapon 		= 0;
	e.view_ofs 		= '0 0 22';
	e.flags 		= e.flags - (e.flags & FL_ONGROUND);

	e.effects = e.effects | EF_FROZEN; //non-glowing polygon shell around the player (Qrack)
	
	//ProQuake players complain they cant see when people are frozen, so make their shirts white.
	setcolor (e, 0,(self.team2)); 
	
	tmp = ftos(e.team2);	
	stuffcmd(e,";color 0 ");
	stuffcmd(e,tmp);
	stuffcmd(e,";\n");					

	sound (e, CHAN_BODY, "fish/bite.wav", 1, ATTN_NORM);

	stuffcmd (e, "v_cshift 50 50 100 50\n");// Blue/white screen overlay

	e.frozen 		= TRUE;
	e.touch			= Frozen_Touch;
	e.think 		= Thaw_Player;
	e.nextthink 	= time + sys_ticrate;
	e.velocity 		= '0 0 0';
}
U can ignore the proquake stuff...
then in player prethink i just return out before watermove()
Thawing just does a respawn, but u can change the movetype and u should be able to walk again...
Post Reply