Raised This Month: $535 Target: $400

[tf2] need to grant a condition to capping players

Post New Thread Reply   
Thread Tools Display Modes
Author Message
Junior Member
Join Date: Jul 2022
Old 10-29-2022 , 15:20   [tf2] need to grant a condition to capping players
Reply With Quote #1

i need to grant a condition to capping players, specifically through an sdkhook of the clients thinking. if "sdk of the clients thinking" is a bit too vauge, which i'll admit it probably is, i have a script below for elaborating on what i mean.

PHP Code:
#pragma semicolon 1
#include <sourcemod>

#include <tf2>
#include <sdkhooks>

#pragma newdecls required

public void OnMapStart() {
    for (
int i 1<= MaxClientsi++) {
        if (
IsClientInGame(i)) {

void OnClientPutInServer(int client) {

void OnClientPostThinkPost(int client) {
    if (
INSERT CHECK FOR WHETHER THE CLIENT IS CAPPING HERE) { //the check for whether the client is capping would go here

possibly_yaboi_mark is offline
PC Gamer
Veteran Member
Join Date: Mar 2014
Old 10-29-2022 , 16:37   Re: [tf2] need to grant a condition to capping players
Reply With Quote #2

I have a plugin that rewards players who captured (past tense) a control point. It wouldn't take much to change the hooked captured event to something more to your liking, as long as it lists the person(s) capping, like "teamplay_point_startcapture". Here's a link to Team Fortress 2 Events: https://wiki.alliedmods.net/Team_Fortress_2_Events

This particular plugin rewards every human player who captured the objective with $500 cash (I use money in my server), 5 seconds of a few nice buff conditions, a short visual effect, and a cheer sound heard by the cappers.

Note: I never would have been able to make this plugin without the help of the very talented Bacardi.

PHP Code:
#include <sdktools>

#pragma semicolon 1
#pragma newdecls required

#define PLUGIN_VERSION "1.0"

#define CHEER    "/ambient_mp3/bumper_car_cheer3.mp3"

public Plugin myinfo 
name "[TF2] Who Captured the Point",
author "PC Gamer, with help from Bacardi",
description "Show who captured the control point",
url "www.sourcemod.com"

void OnPluginStart()

void OnMapStart()

void teamplay_point_captured(Event eventchar[] namebool dontBroadcast)
char cappers[32];        // example, event output "cappers" string: \x01\x02\x03
int client_index;

char message[200];


int cappers_count strlen(cappers);
int[] cappers_array = new int[cappers_count]; // store client indexs
for(int x 0cappers_countx++)
client_index view_as<int>(cappers[x]);

Format(messagesizeof(message), "%s, %N"messageclient_index);
cappers_array[x] = client_index;

PrintToServer("%s captured control point"message[2]);
int y 0cappers_county++)
PrintToServer("%N is a Human who capped a control point"cappers_array[y]);

ServerCommand("sm_addcash #%d 500"GetClientUserId(cappers_array[y]));
ServerCommand("sm_addcond #%d 26 5"GetClientUserId(cappers_array[y])); 
ServerCommand("sm_addcond #%d 29 5"GetClientUserId(cappers_array[y]));
ServerCommand("sm_addcond #%d 16 5"GetClientUserId(cappers_array[y]));
ServerCommand("sm_addcond #%d 6 5"GetClientUserId(cappers_array[y]));
PrintToChat(cappers_array[y], "Enjoy Bonuses for capping the control point");
PrintToServer("Gave Capture Bonuses to %N"cappers_array[y]);
EmitSoundToClient(cappers_array[y], CHEER);    

Last edited by PC Gamer; 10-29-2022 at 17:32.
PC Gamer is offline
Junior Member
Join Date: Jul 2022
Old 11-03-2022 , 21:59   Re: [tf2] need to grant a condition to capping players
Reply With Quote #3

thank you!
possibly_yaboi_mark is offline

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -4. The time now is 21:54.

Powered by vBulletin®
Copyright ©2000 - 2023, vBulletin Solutions, Inc.
Theme made by Freecode