View Single Post
Author Message
koshmel
Member
Join Date: Nov 2008
Old 02-20-2009 , 16:11   [TF2]Explode Force & Rocket speed
Reply With Quote #1

Im writing plugin to control rocket speed and exploding force (without damage).

my code is turn off damage and make fake Rocket Jump
Need change rocket speed.

PHP Code:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <tf2_stocks>
#include <dukehacks>

#define PLUGIN_VERSION "1.0"


new Handle:cvRPower INVALID_HANDLE;
new 
gRPower 40000;


public 
Plugin:myinfo 
{
    
name "Rjump no damage",
    
author "NNM",
    
description "",
    
version PLUGIN_VERSION,
    
url ""
}
public 
OnPluginStart()
{
    
dhAddClientHook(CHK_TakeDamageTakeDamageHook);
    
cvRPower CreateConVar("ow_midair_rpower""40000""power of RJump");
    
HookConVarChange(cvRPowercvChanged);
}

public 
Action:TakeDamageHook(clientattackerinflictorFloat:damage, &Float:multiplierdamagetype)
{
    if (
damagetype DMG_BLAST)
    {
        new 
Float:IOrigin[3];
        new 
Float:COrigin[3];
        new 
Float:FOrigin[3];
        
GetEntPropVector(inflictorProp_Send"m_vecOrigin",IOrigin);
        
GetEntPropVector(clientProp_Send"m_vecOrigin"COrigin);
        
COrigin[2] += 50;
        
SubtractVectors(COriginIOrigin,FOrigin);
        new 
Float:distance=GetVectorLength(FOrigin);
        if(
distance>gRPower || distance==0)    return Plugin_Stop;
        
distance=distance*distance;
        
ScaleVector(FOrigingRPower/distance);
        for(new 
n=0;n<3;n++) 
            if(
FOrigin[n]>800.0
                
FOrigin[n] = 800.0;
        new 
Float:speed[3];
        
GetEntPropVector(clientProp_Data"m_vecVelocity"speed);
        
AddVectors(FOriginspeed,speed);
        
TeleportEntity(clientNULL_VECTORNULL_VECTORspeed);
    }    
    return 
Plugin_Stop;
}

public 
cvChanged(Handle:convar, const String:oldValue[], const String:newValue[])
{
    
gRPower=StringToInt(newValue);    


Last edited by koshmel; 02-20-2009 at 17:05.
koshmel is offline