51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			SourcePawn
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			SourcePawn
		
	
	
	
	
	
#pragma semicolon 1
 | 
						|
#pragma newdecls required
 | 
						|
#include <sourcemod>
 | 
						|
 | 
						|
public Plugin myinfo =
 | 
						|
{
 | 
						|
	name = "JumpBoost",
 | 
						|
	author = "BotoX",
 | 
						|
	description = "",
 | 
						|
	version = "1.0",
 | 
						|
	url = ""
 | 
						|
};
 | 
						|
 | 
						|
ConVar g_CVar_sm_jumpboost;
 | 
						|
int g_ivecAbsVelocity;
 | 
						|
 | 
						|
public void OnPluginStart()
 | 
						|
{
 | 
						|
	HookEvent("player_jump", OnPlayerJump, EventHookMode_Post);
 | 
						|
 | 
						|
	g_CVar_sm_jumpboost = CreateConVar("sm_jumpboost", "1.05", "Jump boost.", 0, true, 0.0, true, 10.0);
 | 
						|
 | 
						|
	AutoExecConfig(true, "plugin.JumpBoost");
 | 
						|
}
 | 
						|
 | 
						|
public void OnMapStart()
 | 
						|
{
 | 
						|
	g_ivecAbsVelocity = FindDataMapInfo(0, "m_vecAbsVelocity");
 | 
						|
}
 | 
						|
 | 
						|
public void OnPlayerJump(Event event, const char[] name, bool dontBroadcast)
 | 
						|
{
 | 
						|
	int userid = GetEventInt(event, "userid");
 | 
						|
	if(g_CVar_sm_jumpboost.FloatValue != 1.0)
 | 
						|
		RequestFrame(OnPlayerJumpPost, userid);
 | 
						|
}
 | 
						|
 | 
						|
public void OnPlayerJumpPost(int userid)
 | 
						|
{
 | 
						|
	int client = GetClientOfUserId(userid);
 | 
						|
	if(!client)
 | 
						|
		return;
 | 
						|
 | 
						|
	float vecAbsVelocity[3];
 | 
						|
	GetEntDataVector(client, g_ivecAbsVelocity, vecAbsVelocity);
 | 
						|
 | 
						|
	vecAbsVelocity[2] *= g_CVar_sm_jumpboost.FloatValue;
 | 
						|
 | 
						|
	SetEntDataVector(client, g_ivecAbsVelocity, vecAbsVelocity);
 | 
						|
}
 |