|
Veteran Member
Join Date: Jan 2010
Location: mom's basement
|
09-29-2015
, 10:31
Re: [CS:GO] Stop player footsteps
|
#27
|
here one example.
command, toggle:
sm_test <target>
Try sm_test @me
or sm_test name
or sm_test #userid
or sm_test @aim
test
PHP Code:
#include <sdktools>
bool IsPlayerNinja[MAXPLAYERS + 1]; ConVar sv_footsteps;
public OnPluginStart() { LoadTranslations("common.phrases"); sv_footsteps = FindConVar("sv_footsteps");
RegConsoleCmd("sm_test", test);
AddNormalSoundHook(FootstepCheck);
for(int i = 1; i <= MaxClients; i++) { if(IsClientInGame(i) && !IsFakeClient(i)) OnClientPutInServer(i); } }
public Action test(int client, int args) { char arg[MAX_NAME_LENGTH]; GetCmdArg(1, arg, sizeof(arg)); int target = FindTarget(client, arg, false, false);
if(target != -1) { IsPlayerNinja[target] = IsPlayerNinja[target] ? false:true; ReplyToCommand(client, "%N is %s", target, IsPlayerNinja[target] ? "Ninja!":"not Ninja."); }
return Plugin_Handled; }
public void OnClientPutInServer(client) { if(!IsFakeClient(client)) SendConVarValue(client, sv_footsteps, "0"); }
public Action:FootstepCheck(clients[64], &numClients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags) { // Player if (0 < entity <= MaxClients) { if(StrContains(sample, "physics") != -1 || StrContains(sample, "footsteps") != -1) { // Player not ninja, play footsteps if(!IsPlayerNinja[entity]) { numClients = 0;
for(int i = 1; i <= MaxClients; i++) { if(IsClientInGame(i) && !IsFakeClient(i)) { clients[numClients++] = i; } }
EmitSound(clients, numClients, sample, entity); //return Plugin_Changed; } return Plugin_Stop; } } return Plugin_Continue; }
__________________
Do not Private Message @me
Last edited by Bacardi; 10-04-2015 at 05:46.
Reason: wrong, need emit!
|
|
|
|