
				    LAMEBOT

				       by

				    lamerPRO


Lamebot is advanced tool that will enhance your quakeworld skills. It consists
of 5 parts: aimbot, speedbot, wallhack, radar and dodgebot. Aimbot will auto-aim
for you, speedbot allows you to run faster or hang in the air. Wallhack will
allow you to see other players through walls, radar displays positions of other
players on a 2D map in the upper left corner. Dodgebot analyzes paths of rockets
and moves you away if it finds rocket flying at you.

Lamebot is controlled with these variables.

aimbot_enable - value 1 enables aimbot. value 0 disables it.

aimbot_weapons - integer value from 0 to 255. Bit mask of weapons, that the
		aimbot will aim.
			1 - axe
			2 - shotgun
			4 - super shotgun
			8 - nailgun
			16 - super nailgun
			32 - grenade launcher
			64 - rocket launcher
			128 - thunderbolt
		For example aimbot_weapons 191 causes that the bot will aim all
		weapons except rocket launcher.

aimbot_panic - control aimbot auto-shot
		0 - shots only when you push shot button
		1 - shots automatically when it sees target within maxangle (see
			below)
		2 - shots automatically on any target and ignores maxangle
			(note: aimbot_panic 2 gives _VERY_ good results :-)

aimbot_love, aimbot_hate - string variables. Lists of players that the bot will
		or won't shoot. It works this way:
			- when both lists are empty, the bot shoots all players
			- when aimbot_love string is nonempty and aimbot_hate is
			  empty, the bot shoots all players except players
			  specified in aimbot_love list
			- when aimbot_love is empty and aimbot_hate nonempty,
			  the bot shoots only players in aimbot_hate list
			- when both aimbot_love and aimbot_hate strings are
			  nonempty, the bot doesn't shoot players in aimbot_love
			  list, shoots all other players, and shoots players in
			  aimbot_hate list with higher preference
		These variables are comma-separated lists of players. Set them
		with commands like this
			aimbot_hate "lamer,looser,d?bill"
			aimbot_love "my_love"
		Clear them with aimbot_love "" or aimbot_hate "" command.

		How player names are matched against lists:
			An item in list can specify only part of a name.
			Compare is case-insensitive
			Colored characters with bit 7 set are converted to
				normal characters before compare.
			'?' is a wildcard for any character (use when player has
				special characters in name).
		For example, the above example aimbot_hate "lamer,looser,d?bill"
		will match players "lamer", "LaMeR", "LamerPRO", "***lOOseR***",
		"debill", "d.bill".

		Because matching players is quite compicated task, list of
		players is refreshed only every 32 frames. When you change some
		of these variables, the changes take effect after 32 frames.
		Because of this, do not change values of these variables in
		scripts.

aimbot_maxangle - the maximum angle the bot will turn when aimimg. The bot won't
		aim players out of this angle.

aimbot_maxangle_near, aimbot_near_threshold - when the enemy is near, you
		usually want to increase aim maxangle, becase it is much harder
		to aim at enemy by hand.
		- when the distance of enemy is less than aimbot_near_threshold,
		  the bot uses aimbot_maxangle_near instead of aimbot_maxangle
		  when deciding if it should aim of not.
		- when the distance of enemy is less than
		  2*aimbot_near_threshold, the bot uses (aimbot_maxangle_near +
		  aimbot_maxangle) / 2 when deciding if it should aim.

aimbot_zshift - z coordinate where the bot will aim. If the value is high, the
		bot will aim at head, if the value is low, the bot will aim at
		feet. If you set the value too high or too low, the bot will
		miss. This value is valid for all weapons except rocket
		launcher and grenade launcher. The bot can only aim grenade
		launcher left and right, it never aims it up and down.

aimbot_zshift_rocket - same as aimbot_zshift, but for rocket launcher, when
		aiming at players that stand on the ground. (in typical
		situations you want to aim at player's feet when they stay on
		the ground)

aimbot_zshift_rocket_fly - for aiming with rocket launcher at players that are
		not on the ground (in a jump or swimming in water).

aimbot_zshift_min, aimbot_zshift_max - when the bot cannot aim directly
		according to aimbot_zshift because a wall blocks shot
		trajectory, it will try other z coordinates in
		aimbot_zshift_min, aimbot_zshift_max range. This is useful when
		aiming at partialy visible players.

aimbot_shot_slowdown - slows down a player with a "speedbot" trick for one frame
		when shooting. Useful for more precise shoting when running.
		Some servers have speedbot protection and kick players using it
		- if you play at such server, you must set it higher.
		values:	-1 - turn it off
			0 - send one zero time frame. Some servers dislike it
			> 0 - time in milliseconds that the shooting frame
			  lasts. Smaller number means more precise shooting. If
			  you get kicked for speedbot cheating, try higher
			  values or disable it with -1.

aimbot_predict, aimbot_predict_pixels, aimbot_predict_traceshift - these
		variables control motion prediction of players. Don't mess with
		them unles you know what you are doing.

speedbot - allows to change your speed. Default value is 1 - normal speed. If
		you set it to 2, you will have double speed, etc. If you set it
		to 0, you won't be able to move. If you set it to 0 while you
		are in a flight, you will hang in air and you won't fall down.
		It is for example useful to do a rocket jump and set this value
		to 0 in the middle of the jump - you will hang in air at place
		where no one expects you.
		Some servers do not like speedbot and kick players that set this
		value to something different than 1.

wallhack - enables you to see other players through the walls. wallhack 0
		disables wallhack. wallhack 1 enables wallhack for all players.
		wallhack 2 enables wallhack for all players, weapons, armors and
		power-ups.

radar - displays positions of other players on a 2D map in upper left corner.
		Unlike wallhack, radar can display positions of players that are
		behing you too.

radar_rotate - when set to 1, radar will rotate when you turn. When 0, radar
		will be always in fixed position and arrow in the center will
		show your direction.

radar_size - size of radar on screen in pixels.

radar_scale - size of area that the radar will display. The higher value means
		that the radar will display more, but the resolution will be
		smaller.

fake_snapshot - quakeworld allows server admins to take remote screenshots of
		clients. When admin types "snap <player>" command on server
		console, the server will ask the client to do screenshot. The
		client does screenshot and sends it to the server. The server
		stores the screenshot to a file.
		If this variable is set to 1 and you are using wallhack or radar
		and server requests a screenshot, the client will disable
		wallhack and radar, create special screenshot, send that
		screenshot to the server and reenable wallhack and radar again.

dodgebot_enable - enable dodgebot. Dodgebot will analyze paths of rockets and
		will move you to minimize your damage. Of course - it works only
		with good ping, the person shooting at you must be far enough
		and there must be place to escape.
		Predicting player move in all directions and analyzing damage
		consumes quite a lot of CPU - if you have machine worse than
		Pentium 200, it would be maybe better to turn dodgebot off.
		Dodgebot consumes extra CPU only when it finds that you are in
		danger.

dodgebot_jump - when set to 1, dodgebot will sometimes jump. When set to 0,
		dodgebot won't jump. When jump is enabled, dodgebot will consume
		twice CPU power.

dodgebot_time - how many milliseconds the bot should predict when it is trying
		to determine if you are in danger. Decreasing it will save CPU,
		but not too much. dodgebot_time_threshold sucks CPU much more.

dodgebot_speed - combine speedbot and dodgebot. When you are in danger, dodgebot
		will multiply your speed by this factor. Some servers do not
		like speedbots and kick players using them.

dodgebot_time_threshold - how many milliseconds the bot should predict when you
		are in danger and the bot is calculating in which direction to
		move. Smaller value gives worse results but saves CPU power.

dodgebot_frame, dodgebot_steps, dodgebot_extrasteps, dodgebot_xsize,
dodgebot_zdownsize, dodgebot_zupsize, dodgebot_near_threshold - internal
		variables. Do not change unless you know what you are doing. If
		you change them the bot will most probably not work.

Detecting the bot:

If you want to make sure if someone is using Lamebot, type chat message
"lamerPRO is cool dude!". All players that are using Lamebot and have it enabled
will respond with "I am a big LAMER" message and list of enabled features. The
feature is listed if it was enabled in last 5 minutes. After 5 minutes of having
not any Lamebot features enabled, the bot will not respond.


