Eliminare comanda.

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
Freezy.
Membru, skill +1
Membru, skill +1
Posts: 385
Joined: 21 Feb 2016, 14:12
Detinator Steam: Da
Detinator server CS: SUD.LEAGUECS.RO
SteamID: /id/fzind/
Fond eXtream: 0
Location: Constanţa
Has thanked: 2 times
Contact:

06 Apr 2018, 18:02

Poate să facă cineva pluginul ăsta să ruleze automat, să nu mai scriu eu /fith sau alte prostii în chat, să dezactiveze automat sunetele și mesajele în chat.
https://forums.alliedmods.net/showthrea ... 1?p=466271
sud.leaguecs.ro # 32/32 non stop. - 5.254.20.19:27015
sudmix.leaguecs.ro # mix our familly - 5.254.20.7:27015 - DE
sudmix2.leaguecs.ro # mix our familly - 109.163.232.164:27015 - RO
leaguecs românia - forum sud: https://bit.ly/3fm6bJK

----------------------------------------------------------
servere găzduite de gphosting.ro
RoyalServer 2
User avatar
DevilBoy.eXe
Super moderator
Super moderator
Posts: 1678
Joined: 05 Jun 2016, 23:04
Detinator Steam: Da
Detinator server CS: GO.WARED.RO
SteamID: DevilBoy_eXe
Reputatie: Super Moderator
Fond eXtream: 0
Location: beyond the time
Discord: zeux.
Has thanked: 15 times
Been thanked: 71 times
Contact:

06 Apr 2018, 18:08

* CVARS:
* -amx_snilentnades 1|0 (1 = enabled | 0 = disabled)
* -amx_sn_mode 0|1|2 (0 = S:OFF M:OFF | 1 = S:OFF M:ON | 2 = S:ON M:OFF)

Ai incercat astea?
User avatar
Freezy.
Membru, skill +1
Membru, skill +1
Posts: 385
Joined: 21 Feb 2016, 14:12
Detinator Steam: Da
Detinator server CS: SUD.LEAGUECS.RO
SteamID: /id/fzind/
Fond eXtream: 0
Location: Constanţa
Has thanked: 2 times
Contact:

06 Apr 2018, 18:54

Cum ar trebui să le pun, nu prea m-am prins...
Eu aș vrea ca nimeni să nu mai acceseze comanda, gen să fie eliminată, să nu se întâmple nimic când scrii /fith, ci să dispară direct sunetu și mesajele.
sud.leaguecs.ro # 32/32 non stop. - 5.254.20.19:27015
sudmix.leaguecs.ro # mix our familly - 5.254.20.7:27015 - DE
sudmix2.leaguecs.ro # mix our familly - 109.163.232.164:27015 - RO
leaguecs românia - forum sud: https://bit.ly/3fm6bJK

----------------------------------------------------------
servere găzduite de gphosting.ro
User avatar
DevilBoy.eXe
Super moderator
Super moderator
Posts: 1678
Joined: 05 Jun 2016, 23:04
Detinator Steam: Da
Detinator server CS: GO.WARED.RO
SteamID: DevilBoy_eXe
Reputatie: Super Moderator
Fond eXtream: 0
Location: beyond the time
Discord: zeux.
Has thanked: 15 times
Been thanked: 71 times
Contact:

06 Apr 2018, 19:36

| Afiseaza codul
/**********************************************************************************
* Author: regalis ([email protected])
*
*	Version: 1.0
*
*
*	Description:
*		This plugin removes the message "Fire in the hole" and the sound "Fire in the hole" for every nade.
*		Every player can for himself choose if he want to hear/read the Nade-Sounds/Messages by simple client-commands
*		Thats all :)
*
*
*	CVARS:
*		-amx_snilentnades	1|0 (1 = enabled | 0 = disabled)
*		-amx_sn_mode 0|1|2 (0 = S:OFF M:OFF | 1 = S:OFF M:ON | 2 = S:ON M:OFF)
*
*
*	Console-Commands available for admins:
*		-amx_sntoggle - Toggles Silent-Nades ON|OFF
*		-amx_snmode - Toggles between the 3 Silent-Nades Modes (S:ON M:OFF | S:OFF M:ON | S:OFF M:OFF)
*
*
*	Commands available for each player:
*		say "/fithmsg" to toggle Nade-messages ON/OFF
*		say "/fithsnd" to toggle Nade-sounds ON/OFF
*		say "/fith" for an info message on how to enable/disable the sounds/messages
*
*
*	Changelog:
*		V0.1.0 
*			@Release
*
*		V0.2.0 
*			+Added CS:CZ support, requested and suggested by mogel and Ryu2877
*
*		V0.2.5
*			+Added Client commands so that everyone can choose for himself if want to hear/read the Nade-sounds/messages
*			+Added a welcome-message with the client command to get help
*			+Added a help-message which displays info on how to enable/disable the sounds/messages
*
*		V0.3.0
*			+Added Admin commands to disable/enable the whole plugin
*			+Added Admin commands to toggle between 3 modes:
*					1. Sound: ON / Messages: OFF
*					2. Sound: OFF / Messages: ON
*					3. Sound: OFF / Messages: OFF
*
*
*		V0.3.5
*			+Added ShowSyncHudMsg() support
*			+Added set_user_info() support for saving settings even after roundstart|reconnect
*
*		V1.0
*			!Optimized code a little
*			@Got approved and therefore changed Version to 1.0
*
*
* Known Bugs:
*			-NONE-
*
*
*	TODO:
*			+Add a procedure to save the player preferences so they will not be cleared on changelevel or reconnect.
*
*
*	Credits:
*		Angelina for the initial idea to make this plugin!
*		mogel and Ryu2877 for giving me the hint to adjust the argument number to 6 for CS:CZ support
*		VEN for the idea that everyone should be able to enable/disable the Messages/Sounds for himself
*		"Message Logging 1.17" by Damaged Soul VERY usefull!!! *omg*
*		http://wiki.alliedmods.net/Main_Page
*		http://www.amxmodx.org/doc/
*
***********************************************************************************/

/*
Also a hint.
You can use set_user_info() to store personal client configuration into UserInfo buffer.
This will allow to keep configuration for every specific client until his actual disconnect.
Buffer will not be cleared on changelevel or reconnect. 
Note that better set a short key name and key value to not clutter up UserInfo buffer.

For example this is how i'd do that.
key name: "_fith", key value: "3". 3 is ((1<<0) | (1<<1)) - so this mean that audio and text is disabled.
If you familiar with bitwise operations you'll get what i mean and how to deal with it.
If not then you can do it in similar manner but without bitwise operations.
And also maybe make amx_silentnades CVar functionality in the same manner to provide more flexibility.
If you don't like digits you can use for example "ab" letters/flags. 
But again it will be converted into bitwise-like form if you going to use read_flags().

If you interested in learning more about bitwise operations you can visit this page
http://wiki.amxmodx.org/index.php/Pawn
It's cover Pawn scripting basics.


Let's say that you have a CVar: my_cvar "ab"
You get CVar value and then do: 

new flags = read_flags(cvar_value)

And then:

if (flags & (1<<0)) // check for "a" flag, (1<<0) == 1 and corresponds to "a" 
 // do something
if (flags & (1<<1)) // check for "b" flag, (1<<1) == 2 and corresponds to "b"   
 // do something


*/

#include <amxmodx>
#include <amxmisc>

#define MAXPLAYERS 32
#define Version "1.0"

new bool:g_player_FITH[MAXPLAYERS+1][2];
new g_sn_enabled;
new g_sn_mode;
new g_MsgSync;


public plugin_init()
{
	register_plugin("silentnades", Version, "regalis");

	register_message(get_user_msgid("TextMsg"), "block_FITH_message");
	register_message(get_user_msgid("SendAudio"), "block_FITH_audio");

	register_cvar("silentnades_version", Version, FCVAR_SERVER|FCVAR_SPONLY);
	g_sn_enabled = register_cvar("amx_silentnades", "1");
	g_sn_mode = register_cvar("amx_sn_mode", "0");
	register_concmd("amx_sntoggle", "toggle_sn", ADMIN_CVAR, "amx_sn_toggle - Toggle Silent-Nades ON/OFF");
	register_concmd("amx_snmode", "toggle_mode", ADMIN_CVAR, "amx_sn_mode - Toggle between modes RADIO/CHAT/BOTH");
	g_MsgSync = CreateHudSyncObj();
}


public toggle_mode(id,lvl,cid)
{
	if(!cmd_access(id, lvl, cid, 1)) return PLUGIN_HANDLED;
	new snmode = get_pcvar_num(g_sn_mode);	
	switch(snmode)
	{
		case 0:
		{
			set_pcvar_num(g_sn_mode, 1);
			set_fith_mode(false, true);
			console_print(id, "Silent-Nades:  SOUND-MESSAGES: -Disabled- / CHAT-MESSAGES: -Enabled-");
			log_message("[AMXX] Silent-Nades:  SOUND-MESSAGES: -Disabled- / CHAT-MESSAGES: -Enabled-");
		}
		case 1:
		{
			set_pcvar_num(g_sn_mode, 2);
			set_fith_mode(true, false);
			console_print(id, "Silent-Nades:  SOUND-MESSAGES: -Enabled- / CHAT-MESSAGES: -Disabled-");
			log_message("[AMXX] Silent-Nades:  SOUND-MESSAGES: -Enabled- / CHAT-MESSAGES: -Disabled-");
		}
		case 2:
		{
			set_pcvar_num(g_sn_mode, 0);
			set_fith_mode(false, false);
			console_print(id, "Silent-Nades:  SOUND-MESSAGES: -Disabled- / CHAT-MESSAGES: -Disabled-");
			log_message("[AMXX] Silent-Nades:  SOUND-MESSAGES: -Disabled- / CHAT-MESSAGES: -Disabled-");	
		}
	}
	return PLUGIN_HANDLED;
}


public toggle_sn(id,lvl,cid)
{
	if(!cmd_access(id, lvl, cid, 1)) return PLUGIN_HANDLED;
	if(!get_pcvar_num(g_sn_enabled))
	{
		set_pcvar_num(g_sn_enabled, 1);
		set_fith_mode(false, false);
		console_print(id, "Silent-Nades:  The Messages are now -Disabled-");
		log_message("[AMXX] Silent-Nades:  The Messages are now -Disabled-");
	}
	else 
	{
		set_pcvar_num(g_sn_enabled, 0);
		set_fith_mode(true, true);
		console_print(id, "Silent-Nades:  The Messages are now -Enabled-");
		log_message("[AMXX] Silent-Nades:  The Messages are now -Enabled-");
	}
	return PLUGIN_HANDLED;
}


set_fith_mode(bool:snd, bool:msg)
{
	new playercount, Players[MAXPLAYERS];
	get_players(Players, playercount);
	for(new i=0;i<playercount;i++)
	{		
		g_player_FITH[0] = msg;
		g_player_FITH[1] = snd;
	}	
}


public client_putinserver(id)
{
	if(!get_pcvar_num(g_sn_enabled)) return PLUGIN_HANDLED;
	set_task(10.0,"welcome",id);
	return PLUGIN_HANDLED;
}


public welcome(id)
{
	set_hudmessage(192, 192, 192, -1.0, 0.45, 2, 0.02, 10.0, 0.01, 0.1);
	switch(get_pcvar_num(g_sn_mode))
	{
		case 1:{
			ShowSyncHudMsg(id, g_MsgSync, "Welcome! Nade-Sounds are disabled! Type /fith for info!");
		}
		case 2:{
			ShowSyncHudMsg(id, g_MsgSync, "Welcome! Nade-Messages are disabled! Type /fith for info!");
		}
		default:{
			ShowSyncHudMsg(id, g_MsgSync, "Welcome! Nade-Sounds AND Messages are disabled! Type /fith for info!");
		}
	}
	return PLUGIN_HANDLED;
}

public client_message(id)
{
	if(!get_pcvar_num(g_sn_enabled)) return PLUGIN_HANDLED;
	set_hudmessage(20, 20, 200, -1.0, 0.0, 0, 0.0, 5.0, 0.0, 0.0);
	if(get_pcvar_num(g_sn_mode) == 1)
	{
		ShowSyncHudMsg(id, g_MsgSync, "Sorry, server has disabled this option only /fithsnd will work!");
	}
	else
	{
		if(!g_player_FITH[id][0])
		{
			g_player_FITH[id][0] = true;
		}
		else
		{
			g_player_FITH[id][0] = false;
		}
		ShowSyncHudMsg(id, g_MsgSync, "NADE-Messages: %s", (g_player_FITH[id][0] ? "ON" : "OFF"));
	}
	return PLUGIN_HANDLED;
}


public client_sound(id)
{
	if(!get_pcvar_num(g_sn_enabled)) return PLUGIN_HANDLED;
	set_hudmessage(20, 20, 200, -1.0, 0.0, 0, 0.0, 5.0, 0.0, 0.0);
	if(get_pcvar_num(g_sn_mode) == 2)
	{
		ShowSyncHudMsg(id, g_MsgSync, "Sorry, server has disabled this option only /fithmsg will work!");
	}
	else
	{
		if (!get_pcvar_num(g_sn_enabled)) return PLUGIN_HANDLED;
		if(!g_player_FITH[id][1])
		{
			g_player_FITH[id][1] = true;
		}
		else
		{
			g_player_FITH[id][1] = false;
		}
		ShowSyncHudMsg(id, g_MsgSync, "NADE-Sound: %s", (g_player_FITH[id][1] ? "ON" : "OFF"));
	}
	return PLUGIN_HANDLED;
}


/*
MessageBegin (TextMsg "77") (Destination "One<1>") (Args "5") (Entity "1") (Classname "player") (Netname "~regalis~") (Origin "0.000000 0.000000 0.000000")
Arg 1 (Byte "5")
Arg 2 (String "1")
Arg 3 (String "#Game_radio")
Arg 4 (String "~regalis~")
Arg 5 (String "#Fire_in_the_hole")
MessageEnd (TextMsg "77")
*/
public block_FITH_message(msg_id, msg_dest, entity)
{
	if(!get_pcvar_num(g_sn_enabled)) return PLUGIN_CONTINUE;
	if(get_pcvar_num(g_sn_mode) == 1) return PLUGIN_CONTINUE;
	if(get_msg_args() == 5)
	{
		if(get_msg_argtype(5) == ARG_STRING)
		{
			new value5[64];
			get_msg_arg_string(5 ,value5 ,63);
			if(equal(value5, "#Fire_in_the_hole"))
			{
				if(!g_player_FITH[entity][0]) return PLUGIN_HANDLED;
			}
		}
	}
	else if(get_msg_args() == 6)
	{
		if(get_msg_argtype(6) == ARG_STRING)
		{
			new value6[64];
			get_msg_arg_string(6 ,value6 ,63);
			if(equal(value6 ,"#Fire_in_the_hole"))
			{
				if(!g_player_FITH[entity][0]) return PLUGIN_HANDLED;
			}
		}
	}
	return PLUGIN_CONTINUE;
}


/*
MessageBegin (SendAudio "100") (Destination "One<1>") (Args "3") (Entity "1") (Classname "player") (Netname "~regalis~") (Origin "0.000000 0.000000 0.000000")
Arg 1 (Byte "1")
Arg 2 (String "%!MRAD_FIREINHOLE")
Arg 3 (Short "100")
MessageEnd (SendAudio "100")
*/
public block_FITH_audio(msg_id, msg_dest, entity)
{
	if(!get_pcvar_num(g_sn_enabled)) return PLUGIN_CONTINUE;
	if(get_pcvar_num(g_sn_mode) == 2) return PLUGIN_CONTINUE;
	if(get_msg_args() == 3)
	{
		if(get_msg_argtype(2) == ARG_STRING)
		{
			new value2[64];
			get_msg_arg_string(2 ,value2 ,63);
			if(equal(value2 ,"%!MRAD_FIREINHOLE"))
			{
				if(!g_player_FITH[entity][1]) return PLUGIN_HANDLED;
			}
		}
	}
	return PLUGIN_CONTINUE;
}
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 11 guests