Skip to content

Latest commit

 

History

History
111 lines (105 loc) · 4.81 KB

README.md

File metadata and controls

111 lines (105 loc) · 4.81 KB

GS Grenade Helper

Public repo for GS grenade helper, including files that are streamed live

Location format

{
	"name": ["T Roof", "Scaffolding Box"], // array of from and to, alternatively a single string
	"description": "Jump on the left box for a good one-way", //optionally, a description can be given
	"weapon": "weapon_smokegrenade", // weapon console name
	"position": [691.63653564453, -1130.1051025391, -127.96875], // origin
	"position_visibility": [-44, 0, 0], // offset to origin for world vischeck, defaults to [0, 0, 0]
	"viewangles": [-1.8710323572159, -136.26739501953], // pitch, yaw
	"duck": true, // true = have to be fully ducked, defaults to false
	"tickrate": 128, // number: all tickrates supported, array: the only tickrates supported
	"approach_accurate": true, // full speed movement during approach, auto-checked by default
	"grenade": {
		"strength": 0.5, // required m_flThrowStrength to autothrow, 1=left, 0.5 = right+left, 0 = right
		"fov": 0.3, // have to be in this fov to autothrow
		"jump": true, // jumpthrow at the end of running
		"run": 12, // run duration in seconds/64
		"run_yaw": 0, // offset to viewangles for move yaw
		"run_speed": true, // hold IN_SPEED (shift) during pre-throw run, defaults to false
		"recovery_yaw": 90, // yaw for movement after throw, only rage aimbot mode. Defaults to run_yaw-180
		"delay": 5 // delay before throwing, useful for getting the max height in a jumpthrow. Defaults to 0
	},
	"destroy": { // a breakable world object has to be destroyed before autothrowing / playback
		"start": [392.701141, -1442.725342, 1936.63842], // trace_line starts from here
		"end": [232.03129134004, -1425.9891813532, 1899.5775623479], // trace_line ends here
		"text": "Break the left window" // text to add if trace_line hit something
	},
	"target": [-19.584310531616, -1810.5485839844, -110.97956085205] // grenade / shot will land here
}

movement recordings are saved like this:

{
	"name": ["T Roof", "Scaffolding Box"], // array of from and to, alternatively a single string
	"weapon": "weapon_molotov", // weapon console name
	"position": [691.63653564453, -1130.1051025391, -127.96875], // origin
	"position_visibility": [-44, 0, 0], // offset to origin for world vischeck, defaults to [0, 0, 0]
	"viewangles": [-1.8710323572159, -136.26739501953], // pitch, yaw
	"tickrate": [64, 128], // number: all tickrates supported, array: the only tickrates supported
	"destroy": { // a breakable world object has to be destroyed before autothrowing / playback
		"start": [392.701141, -1442.725342, 1936.63842], // trace_line starts from here
		"end": [232.03129134004, -1425.9891813532, 1899.5775623479], // trace_line ends here
		"text": "Break the left window" // text to add if trace_line hit something
	},
	"movement": {
		"frames": [
			// each frame is encoded as an array. 
			[
				0.1826, // pitch delta, defaults to 0
				0.3512, // yaw delta, defaults to 0
				"WAd" // buttons pressed / released this frame, uppercase = pressed, lowercase = released
				450, // forwardmove, defaults to whatever the buttons would result in
				-450, // sidemove, defaults to whatever the buttons would result in
			],
			// members can be left out from back to front if they are set to their default values
			[
				0.2873,
				0.47
			],
			// if multiple frames would be empty (nothing changed from previous frame), they can be
			// replaced by the number of frames that were left out
			8,
			// the last frame should release all movement keys
			[
				0,
				0,
				"wa"
			]
		]
	}
	"target": [-19.584310531616, -1810.5485839844, -110.97956085205] // you end up here
}

Export / Import format

{
	"name": "sothatwemaybefree.com",
	"description": "Legit grenades from sothatwemaybefree.com", // description, will be shown in menu
	"update_timestamp": 1596507260, // update timestamp, will be shown in menu
	// optional, will overwrite the locally stored url and cause that url to be re-requested
	// use this if you wanna change the URL without breaking everyone's configs
	"url": "https://raw.githubusercontent.com/sapphyrus/helper/master/locations/sothatwemaybefree.json",
	"locations": {
		"de_mirage": [
			// array of locations
		]
	}
}

alternatively, there is a version of this where locations are fetched per-map to reduce bandwidth usage

{
	"name": "sothatwemaybefree.com",
	"description": "Legit grenades from sothatwemaybefree.com", // description, will be shown in menu
	"update_timestamp": 1596507260, // update timestamp, will be shown in menu
	// url where to get the map data from, %map% will be replaced with the map name
	// a map will always be fetched when loading. Content-Type is ignored but status has to be 200 OK
	"url_format": "https://raw.githubusercontent.com/sapphyrus/helper/master/maps/%map%",
	"locations": {
		"de_dust2old": "de_dust2" // this allows you to re-map mapnames
	}
}