Day of Defeat Plugins Community
This site is an archive — everything is readable and downloadable, nothing can be posted. Admin
Archive › Old Forum Threads › Help › Scripting Help › DoD Push
3 posts, 2 people · 817 views Thread Rating: ★★★★★
closedDoD Push
Started by Tank on 11-04-2009, 01:19 PM
Tank
started this thread
Posts: 581
Threads: 59
Joined: Jan 2007
11-04-2009, 01:19 PM #1

Hey guys,nnI've been fiddling around with this plugin for a while and I can't get it working.The plugin has the command bound to the use key. The problem with that is that the moment you prime a nade and you continue pressing the use key (for priming on the run) you push everyone out of the way. nnOk, you at least have a clear path for your running but Im not that kind of admin. nnCan someone show me what Im doing wrong here. I'll post original then my attempt. It gives an compiler error about the id never recognised, I thought you could name id to anything you like. Like in the function underneath its called pusher and pushed. The idea behind the plugin is to allow the user to bind a key. So say: bind x clcmd_playerpushnnI tried to adjust Zors but once turned on, i could not turn it off.nn

// reworked by diamond-opticn#include <amxmodx>n#include <amxmisc>n#include <fakemeta>nn#define VERSION "1.0"nn//Admin Leveln#define PUSH_ADMIN	ADMIN_CVARn#define IMMUNE_ADMIN	ADMIN_IMMUNITYnnn//PCVARsnnew p_push, p_immunity, p_admins, p_forcenn//Soundsnnew mysound[] = "weapons/knife_slash1.wav"nnpublic plugin_init()n{n	register_plugin("DoD Player Push 2",VERSION,"AMXX DoD Team")n	n	register_cvar("dod_playerpush2_stats",VERSION,FCVAR_SERVER|FCVAR_SPONLY)n	n	p_push = register_cvar("dod_playerpush2","1")n	p_immunity = register_cvar("dod_playerpush2_immunity","0")n	p_admins = register_cvar("dod_playerpush2_admins","0")n	p_force = register_cvar("dod_playerpush2_force", "15")n	n	register_forward(FM_Touch, "player_touched")n}nnpublic plugin_precache()n{n	precache_sound(mysound)n}nnpublic player_touched(pusher,pushed) n{n	if(get_pcvar_num(p_push) && is_user_connected(pusher) && pev_valid(pusher) && is_user_connected(pushed) && pev_valid(pushed))n		{n		if((get_pcvar_num(p_admins) && !access(pusher,PUSH_ADMIN)) || (get_pcvar_num(p_immunity) && access(pushed,IMMUNE_ADMIN)))n			return PLUGIN_CONTINUEn		n		new classname[32], classname2[32]n		pev(pusher,pev_classname, classname, 31)n		pev(pushed,pev_classname, classname2, 31)n				n		if((equali(classname,"player") && equali(classname2,"player")) && pev(pusher,pev_button) & IN_USE)n			{		n			new Float:a[2][3]n			pev(pusher,pev_origin,a[0])n			pev(pushed,pev_origin,a[1])n			n			new force = get_pcvar_num(p_force)n			n			// *** need to rework speed method to incorporate force cvarn			//new Float:Vel[3], speedn			//pev(pusher,pev_velocity, Vel)n			//speed = floatround(vector_length(Vel))n			n			for(new b = 0; b <= 2; b++) n				{n				a[1][b] -= a[0][b]n				a[1][b] *= forcen				}n	n			set_pev(pushed,pev_velocity,a[1])n			n			new Float:random_punch[3]n			n			for(new i = 0; i < 3; i++) n				random_punch[i] = random_float(1.0,float(force))n			n			set_pev(pushed,pev_punchangle,random_punch)n			n			// *** taking away health, needs to be upgraded incase it kills the playern			//set_user_health(pushed, (get_user_health(pushed) - 5))n			n			emit_sound(pushed,CHAN_VOICE,mysound,VOL_NORM,ATTN_NORM,0,PITCH_NORM)n			}n		}n	n	return PLUGIN_CONTINUEn}nn}
nnMy version:nn
n// reworked by diamond-opticn#include <amxmodx>n#include <amxmisc>n#include <fakemeta>nn#define VERSION "1.0"nn//Admin Leveln#define PUSH_ADMIN	ADMIN_CVARn#define IMMUNE_ADMIN	ADMIN_IMMUNITYnn// Arraysnnew pushpush[33]nn//PCVARsnnew p_push, p_immunity, p_admins, p_forcenn//Soundsnnew mysound[] = "weapons/knife_slash1.wav"nnpublic plugin_init()n{n	register_plugin("DoD Player Push 2",VERSION,"AMXX DoD Team")n	n	register_cvar("dod_playerpush2_stats",VERSION,FCVAR_SERVER|FCVAR_SPONLY)n	n	p_push = register_cvar("dod_playerpush2","1")n	p_immunity = register_cvar("dod_playerpush2_immunity","0")n	p_admins = register_cvar("dod_playerpush2_admins","0")n	p_force = register_cvar("dod_playerpush2_force", "15")n	n	register_concmd("+playerpush","clcmd_playerpush")n	register_concmd("-playerpush","clcmd_playerpush")n	n	register_forward(FM_Touch, "player_touched")n}nnpublic plugin_precache()n{n	precache_sound(mysound)n}nn//===========================================================n// Catch if the player is pushing or releasing the buttonn//===========================================================npublic clcmd_playerpush(id) n{n	new cmd[16]n	read_argv(0,cmd,15)n	n	if( equal(cmd,"+",1))n	{n		pushpush[id] = 1n		client_cmd(id,"+playerpush")n	}n	else if( equal(cmd,"-",1))n	{n		pushpush[id] = 0n		client_cmd(id,"-playerpush")n	}n	return PLUGIN_HANDLED;n}nnpublic player_touched(pusher,pushed) n{n	if(get_pcvar_num(p_push) && is_user_connected(pusher) && pev_valid(pusher) && is_user_connected(pushed) && pev_valid(pushed))n		{n		if((get_pcvar_num(p_admins) && !access(pusher,PUSH_ADMIN)) || (get_pcvar_num(p_immunity) && access(pushed,IMMUNE_ADMIN)))n			return PLUGIN_CONTINUEn		n		new classname[32], classname2[32]n		pev(pusher,pev_classname, classname, 31)n		pev(pushed,pev_classname, classname2, 31)n				n		if((equali(classname,"player") && equali(classname2,"player")) && pev(pusher,pev_button) & pushpush[id] == 1) //<<----n			{		n			new Float:a[2][3]n			pev(pusher,pev_origin,a[0])n			pev(pushed,pev_origin,a[1])n			n			new force = get_pcvar_num(p_force)n			n			// *** need to rework speed method to incorporate force cvarn			//new Float:Vel[3], speedn			//pev(pusher,pev_velocity, Vel)n			//speed = floatround(vector_length(Vel))n			n			for(new b = 0; b <= 2; b++) n				{n				a[1][b] -= a[0][b]n				a[1][b] *= forcen				}n	n			set_pev(pushed,pev_velocity,a[1])n			n			new Float:random_punch[3]n			n			for(new i = 0; i < 3; i++) n				random_punch[i] = random_float(1.0,float(force))n			n			set_pev(pushed,pev_punchangle,random_punch)n			n			// *** taking away health, needs to be upgraded incase it kills the playern			//set_user_health(pushed, (get_user_health(pushed) - 5))n			n			emit_sound(pushed,CHAN_VOICE,mysound,VOL_NORM,ATTN_NORM,0,PITCH_NORM)n			}n		}n	return PLUGIN_CONTINUEn}n
Dr.G
posted here
Posts: 776
Threads: 75
Joined: Nov 2007
11-04-2009, 01:36 PM #2

Thought we fixed this 8-9 months ago :P - Check how Vet did in this http://forums.alliedmods.net/showthread.php?p=566790

Tank
started this thread
Posts: 581
Threads: 59
Joined: Jan 2007
11-04-2009, 01:44 PM #3

Thats the thing, i adjusted Zors dod_push but i dont know how to turn the effect off, it catches when the player is touched, but how do i check if the player is not being touched (outsiders of dodplugins would think im talking about something competely different).nnWhen you and h0_noman tried to help me, 8 or 9 months ago Ive been trying and testing for a week together with a few of my admins, they can all occur Ive never been able to turn it off.nnWith the plugin you provided + he turns pov up, - he turns it normal. Just like this:nn

n#include <amxmodx>n#include <engine>nn#define PLUGIN "New Plug-In"n#define VERSION "1.0"n#define AUTHOR "author"nnnew something[33]nnpublic plugin_init() n{n	register_plugin(PLUGIN, VERSION, AUTHOR)nn	register_concmd("+something", "start_something") n	register_concmd("-something", "stop_something") n}nnpublic start_something(id)n{n	client_print(id, 3, "something is on (+)" )n	return PLUGIN_HANDLEDn}nnpublic stop_something(id)n{n	client_print(id, 3, "something is off (-)" )n	return PLUGIN_HANDLEDn}n
Archive › Old Forum Threads › Help › Scripting Help › DoD Push
DoD Plugins Archive · Repository · Old Forum Threads · Maps · Admin · built 14 Sep 2026 00:34 UTC