Raised This Month: $344 Target: $400
 86%   Almost there!

[CS 1.6] Assists [TAB - Kills/Deaths/Assists]


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
ertgrlars
New Member
Join Date: Jun 2021
Old 07-18-2022 , 04:05   [CS 1.6] Assists [TAB - Kills/Deaths/Assists]
Reply With Quote #1

Can you edit the https://forums.alliedmods.net/showth...ghlight=assist code with reapi?

Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <dhudmessage>

const TASK_ARGUMENTS = 100

new g_maxplayers, g_connected[33], g_offset[33][2], g_argping[33][3]
new assists[33]

new bool:plugin = true
new rs

new damage2[33][33] //damage[Attacker][Victim]
public plugin_init()
{
	register_plugin("Assists", "2.1", "RuleBreaker")
	g_maxplayers = get_maxplayers()
	register_clcmd("say /rs", "resetscore")
	register_clcmd("say /resetscore", "resetscore")
	register_clcmd("amx_assists", "plugin_assists", ADMIN_RCON)
	register_event("TextMsg", "Event_Restart", "a", "2&#Game_C", "2&#Game_w")
	rs = register_cvar("assists_rs", "0")
	register_forward(FM_UpdateClientData, "fw_UpdateClientData")
	// Calculate weird argument values regularly in case we are faking ping fluctuations or a multiple of the real ping
	set_task(2.0, "calculate_arguments", TASK_ARGUMENTS, _, _, "b")
	
	RegisterHam(Ham_TakeDamage, "player", "fw_takedamage") 
	RegisterHam(Ham_Killed, "player", "Ham_Killed_player")
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)  
	set_task(1.0, "deletedmg")

}
public Event_Restart() {
	new i=0
	do {
		assists[i]=0
		i+=1
	} while(i<33)
}
public plugin_assists(id) {
	if(plugin) {
		plugin=false
		client_print(id, print_console, "[AMXX] Plugin Assists is turned off!")
		return PLUGIN_HANDLED
	}
	else if (!plugin) {
		plugin = true
		client_print(id, print_console, "[AMXX] Plugin Assists is turned on!")
		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}
public Ham_Killed_player(iVictim, iAttacker, shouldgib) {
	new i=0
	do {
		if(i!=iAttacker) {
			if(damage2[i][iVictim]>30) {
				assist(i, iVictim)
			}
		}
		i+=1
	} while (i<33)
	
}
public assist(attacker, victim) {
	damage2[attacker][victim]=0
	assists[attacker]+=1
	set_hudmessage(0, 255, 0, 0.79, 0.24, 0, 6.0, 12.0)
	show_hudmessage(attacker, "+Assist")
}
public fwHamPlayerSpawnPost(iPlayer) {
	new i=0
	do {
		damage2[iPlayer][i]=0
		i+=1
	} while(i<33)
}
public fw_takedamage(victim, inflictor, attacker, Float:damage, bits) {
      damage2[attacker][victim]+=damage
}  
public deletedmg(id) {
	new i1 = 0
	do {
		new i2=0
		do {
			if(damage2[i1][i2]>0) {
				damage2[i1][i2]-=1
			}
			i2+=1
		} while (i2<33)
		i1+=1
	} while (i1<33)
	set_task(1.0, "deletedmg")
}
public resetscore(id) {
	if(get_pcvar_num(rs)) {
		assists[id]=0
	}
	return PLUGIN_CONTINUE
}
public client_putinserver(id)
{
	g_connected[id] = true
	assists[id]+=0
}

public client_disconnect(id)
{
	g_connected[id] = false
	assists[id]=0
	new i=0
	do {
		damage2[id][i]=0
		i+=1
	} while(i<33)
}

public fw_UpdateClientData(id)
{
	if(plugin) {
	// Scoreboard key being pressed?
	if (!(pev(id, pev_button) & IN_SCORE) && !(pev(id, pev_oldbuttons) & IN_SCORE))
		return;
	
	// Send fake player's pings
	static player, sending
	sending = 0
	for (player = 1; player <= g_maxplayers; player++)
	{
		// Player not in game?
		if (!g_connected[player])
			 continue;
		
		// Send message with the weird arguments
		switch (sending)
		{
			case 0:
			{
				// Start a new message
				message_begin(MSG_ONE_UNRELIABLE, SVC_PINGS, _, id)
				write_byte((g_offset[player][0] * 64) + (1 + 2 * (player - 1)))
				write_short(g_argping[player][0])
				sending++
			}
			case 1:
			{
				// Append additional data
				write_byte((g_offset[player][1] * 128) + (2 + 4 * (player - 1)))
				write_short(g_argping[player][1])
				sending++
			}
			case 2:
			{
				// Append additional data and end message
				write_byte((4 + 8 * (player - 1)))
				write_short(g_argping[player][2])
				write_byte(0)
				message_end()
				sending = 0
			}
		}
	}
	
	// End message if not yet sent
	if (sending)
	{
		write_byte(0)
		message_end()
	}
	}
}


// Calculate weird argument values based on target ping
public calculate_arguments()
{
	static player, ping
	for (player = 1; player <= g_maxplayers; player++)
	{
		ping = assists[player]
		
		// First argument's ping
		for (g_offset[player][0] = 0; g_offset[player][0] < 4; g_offset[player][0]++)
		{
			if ((ping - g_offset[player][0]) % 4 == 0)
			{
				g_argping[player][0] = (ping - g_offset[player][0]) / 4
				break;
			}
		}
		// Second argument's ping
		for (g_offset[player][1] = 0; g_offset[player][1] < 2; g_offset[player][1]++)
		{
			if ((ping - g_offset[player][1]) % 2 == 0)
			{
				g_argping[player][1] = (ping - g_offset[player][1]) / 2
				break;
			}
		}
		// Third argument's ping
		g_argping[player][2] = ping
	}
}
ertgrlars is offline
SoulWeaver16
Senior Member
Join Date: May 2021
Location: Uruguay
Old 08-10-2022 , 17:24   Re: [CS 1.6] Assists [TAB - Kills/Deaths/Assists]
Reply With Quote #2

What language do you need it? You are in the subforum to ask for translations, not to edit code.
__________________
Plugins:
SoulWeaver16 is offline
ertgrlars
New Member
Join Date: Jun 2021
Old 08-13-2022 , 11:13   Re: [CS 1.6] Assists [TAB - Kills/Deaths/Assists]
Reply With Quote #3

Quote:
Originally Posted by SoulWeaver16 View Post
What language do you need it? You are in the subforum to ask for translations, not to edit code.
I want it edited because the code is wrong
ertgrlars is offline
Snake.
Senior Member
Join Date: Jul 2017
Old 08-17-2022 , 08:30   Re: [CS 1.6] Assists [TAB - Kills/Deaths/Assists]
Reply With Quote #4

You need to ask this on the Suggestion/Request sub-forum, not in here
Snake. is offline
Send a message via Skype™ to Snake.
Reply


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 07:49.


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