Existing user? Sign in
Sign up
Games
Servers
Useful
User
Pass
2FA
[Rezolvat] Problema buguire amx_gag
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Resources
Author
Message
3317
alecsoviki
[Playcs Romania]
Status: Offline
(since 13-11-2020 16:19)
Joined: 26 Apr 2011
Posts: 6986
,
Topics: 236
Location:
Pe zona.
Reputation:
1528.8
Votes
: 272
Posted: 11-08-2011, 09:59:37
| Translate post to:
... (
Click for more languages
)
Am o problema cu orice plugin de gag il pun pe server pana nu adaug debug la plugin imi apar mai multe errori si restarturi la server.. Uneori playerii care intra pe server au gag din prima fara sa le dea nimeni alteori se restarteaza serverul si acum am lasat debug dupa plugin si apare erroarea :
Code:
L 08/10/2011 - 17:12:23: Start of error session.
L 08/10/2011 - 17:12:23: Info (map "de_nuke_rarea") (file "addons/amxmodx/logs/error_20110810.log")
L 08/10/2011 - 17:12:23: String formatted incorrectly - parameter 8 (total 7)
L 08/10/2011 - 17:12:23: [AMXX] Displaying debug trace (plugin "amx_gag.amxx")
L 08/10/2011 - 17:12:23: [AMXX] Run time error 25: parameter error
L 08/10/2011 - 17:12:23: [AMXX] [0] amx_gag.sma::CmdGagPlayer (line 295)
L 08/10/2011 - 17:12:33: String formatted incorrectly - parameter 8 (total 7)
L 08/10/2011 - 17:12:33: [AMXX] Displaying debug trace (plugin "amx_gag.amxx")
L 08/10/2011 - 17:12:33: [AMXX] Run time error 25: parameter error
L 08/10/2011 - 17:12:33: [AMXX] [0] amx_gag.sma::CmdGagPlayer (line 295)
L 08/10/2011 - 18:54:57: Start of error session.
L 08/10/2011 - 18:54:57: Info (map "de_dust2x2") (file "addons/amxmodx/logs/error_20110810.log")
L 08/10/2011 - 18:54:57: String formatted incorrectly - parameter 8 (total 7)
L 08/10/2011 - 18:54:57: [AMXX] Displaying debug trace (plugin "amx_gag.amxx")
L 08/10/2011 - 18:54:57: [AMXX] Run time error 25: parameter error
L 08/10/2011 - 18:54:57: [AMXX] [0] amx_gag.sma::CmdGagPlayer (line 295)
L 08/10/2011 - 18:55:13: String formatted incorrectly - parameter 8 (total 7)
L 08/10/2011 - 18:55:13: [AMXX] Displaying debug trace (plugin "amx_gag.amxx")
L 08/10/2011 - 18:55:13: [AMXX] Run time error 25: parameter error
L 08/10/2011 - 18:55:13: [AMXX] [0] amx_gag.sma::CmdGagPlayer (line 295)
L 08/10/2011 - 21:28:58: Start of error session.
L 08/10/2011 - 21:28:58: Info (map "de_dust4") (file "addons/amxmodx/logs/error_20110810.log")
L 08/10/2011 - 21:28:58: String formatted incorrectly - parameter 8 (total 7)
L 08/10/2011 - 21:28:58: [AMXX] Displaying debug trace (plugin "amx_gag.amxx")
L 08/10/2011 - 21:28:58: [AMXX] Run time error 25: parameter error
L 08/10/2011 - 21:28:58: [AMXX] [0] amx_gag.sma::CmdGagPlayer (line 295)
Ce este de facut ? am incercat vreo 2 pluginuri de gag si la fel patesc pe server cu orice plugin.
Sursa plugin
aici
0
0
Back to top
Che Alexz0r*
[Mentally Stable]
Status: Offline
(since 28-10-2011 04:26)
Joined: 30 Sep 2011
Posts: 14
,
Topics: 2
Location:
Romania
Reputation:
49.9
Votes
: 2
Posted: 05-10-2011, 17:53:37
| Translate post to:
... (
Click for more languages
)
Revin eu cu edit pana diseara pentru a te ajuta cu problema acesta
@edit poftim problema cu care te lupti ( Numai,ca contine reclame.! )
Code:
/* Admin Gag Command
About:
This plugin allows you to gag players from using say_team,say or voicecomm. It also echos admin acctions
based on amx_show_activity. The plugin can also block gagged clients from changing their nick.
Admins with immunity will not be executed on, unless their executing on themself
Usage:
amx_gag <nick/userid> <flags (a/b/c)> <time in seconds> // lets you control what you want to gag
amx_gag <nick/userid> <time in seconds> // Will automaticly add the abc flag.
amx_gag <nick/userid> // Will add abc flags, and 600 secounds gag.
amx_gag <nick/userid> <flags>
amx_ungag <nick/userid> // Will remove all "gags"
Modules required:
Engine
FAQ)
Q) Can i mute voicecomm?
A) Yes, that should be on by defualt. But you can make sure "#define VoiceCommMute 1"
Q) Is there any way i can disable the engine module and still run the plugin?
A) yes, "#define VoiceCommMute 0".
Plugin forum thread: http://www.amxmodx.org/forums/viewtopic.php?t=463
Credits:
Ops in #AMXmod @ Quakenet for alot of help ( + AssKicker & CheesyPeteza )
This plugin is heavly based on the work of tcquest78 in his gag plugin http://djeyl.net/forum/index.php?showtopic=4962
Code for Namechange block code was taken from Olo`s one_name plugin.
Changelog:
1.8.3 ( 23.02.2005 )
- Fixed: Voicecomm not being muted via callfunc interface ( Like Admin Aimmenu )
1.8.2 ( 22.09.2004 )
- Fixed: Default gag reason not being shown.
1.8.1 ( 21.09.2004 )
- Fixed: Players voicecomm not being reset properbly with sv_alltalk 1
1.8.0 ( 10.09.2004 )
- Added: func_AddGag() to allow third party plugins to gag a client( Like my admin Aimmenu)
- Added: func_RemoveGag() to remove a gag via a third party plugin
1.7.5 ( 06.07.2004 )
- Changed: #define MaxPlayers to be 32 instead of 33 (Should save a few byte of mem )
1.7.4 ( 06.07.2004 )
- Changed: Once amx_gag/amx_ungag is used admins will no longer see "command not found" in console anymore ( Thx to Downtown1)
- Added: #define for MaxPlayers
1.7.3 ( 06.07.2004 )
- Fixed: Fixed possible issue with steamids being to long (Would just be text cut on in logs/text)
1.7.2 ( 03.07.2004 )
- Fixed: Spelling Errors ( Thx to Mr. Satan )
1.7.1 ( 20.06.2004 )
- Added: Plugin now logs the gag reason
1.7.0 ( 20.06.2004 )
- Changed: Plugin has gotten a rewrite/cleanup
- Changed: Plugin is now properbly format
- Added: Ability to play a to gagged clients when their trying to talk ( Idea by Girthesniper )
- Added: Ability to show the reason for the gag.
- Fixed: Error where the command line would not read out more then 3 bytes of eatch var.
1.6.2 ( 28.05.2004 )
- Hack: UnGagPlayer echoing that unconnected clients had been ungagged when time ran out
1.6.1 ( 25.05.2004 )
- Changed: task is now registered with the same id as player index
- Added: a define to change the default gag time
1.6.0
- Changed: Name change blocking enabled by default.
- Added: Plugin now logs amx_ungag actions
- Added: amx_ungag now echos target nick even if #userid was used
- Added: amx_gag <nick/userid> <seconds or minuts> ( amx_gag EKS 120 / amx_gag EKS 2m )
1.5.0
- Added: Ability to block namechange on clients that are gagged ( Disabled by default, just change #define BlockNameChange )
1.4.3
- No update to the plugin, just added comments to help new admins.
1.4.2
- Fixed oversight that would allow none admins to use the plugin
1.4.1 ( 01.03.2004 )
- Now user log_amx style loggin
- Now use AMXX engine to mute/unmute voicecomm
1.4.0 ( 01.03.2004 )
- Now only umutes voicecomm if player was muted by this plugin
- Now echos what what the admin has muted.
- To mute voicecomm you either need D2Tools or vexd. You can change what module to use in the define section.( look for: VoiceCommMute )
- You can set #define VoiceCommMute to 0, and you dont need any extra modules anymore. But loose the ability to mute voicecomm.
1.3.1 ( 17.02.2004 )
- Fixed muting voicecomm not working ( Info needed extracted from this plugin: http://djeyl.net/forum/index.php?showtopic=16533 | Proerrenrg )
1.3.0 ( 17.02.2004 )
- Now print nick and authid when a player disconnects
- Now only one place in the code that can ungag a player ( ungag )
- Added admin log
- Fixed not gag flags not working
- Changed plugin file name to: amx_gag.XXX
- Minor code cleanup. More comments, Code cleaner & UnGagPlayer should be "faster"
1.2.1 ( 06.02.2004 )
- Fixed support for #userid again
- Now use console_print to echo when player is not gagged ( in amx_ungag )
1.2
- Now supports muting voicecomm ( the flag c )
- REQUIRES Vexd module, use 1.1 if you dont want to run this module
1.1
- Now supports amx_gag <nick> <time> ( Adds ab as flag if no other flag is entered.)
- Now supports amx_gag <nick/auth>
- Fixed echoing with amx_show_activity 1 not showing the secounds
1.0 (Changes are from the orginal plugin to this one)
- Now echos admin acctions based on amx_show_activity
- Now echos when a player is ungagged by admin
- Now echos when a player is ungagged becuse the "time" has run out.
- Now echos when a gagged player disconnects
- Admins with immunity flag can do actions on themself.
- If you try to ungag a player thats not gagged, you get a "error" message
- Changed the "your gagged" message so its simpler to spot in Steam.
- Somehow the compiled file is smaller then with the orignal
*/
#define VoiceCommMute 1 // 0 = Disabled ( no extra module required ) | 1 = Voicecomm muteing enabled. ( requires engine module)
#define BlockNameChange 1 // 0 = Disabled | 1 = Block namechange on gagged clients
#define LogAdminActions 1 // 0 = Disabled | 1 = Admin actions will be logged
#define DefaultGagTime 600.0 // The std gag time if no other time was entered. ( this is 10 min ), Remember the value MUST contain a .0
#define PlaySound 1 // 0 = Disabled | 1 = Play a sound to gagged clients when their trying to talk
#define GagReason 1 // 0 = Disabled | 1 = Gagged clients can see why there where gagged when they try to talk
#define MaxPlayers 32
#define AllowOtherPlugin2Interface 1
#include <amxmodx>
#include <amxmisc>
#include <engine>
new g_GagPlayers[MaxPlayers+1] // Used to check if a player is gagged
#if GagReason == 1
new gs_GagReason[MaxPlayers+1][48]
#endif
public plugin_init()
{
register_plugin("Admin Gag","1.8.3","Baross")
register_clcmd("say","block_gagged")
register_clcmd("say_team","block_gagged")
register_concmd("amx_gag","CMD_GagPlayer",ADMIN_KICK,"<nick or #userid> <a|b|c> <time>")
register_concmd("amx_ungag","CMD_UnGagPlayer",ADMIN_KICK,"<nick or #userid>")
}
public block_gagged(id){ // This function is what check the say / team_say messages & block them if the client is blocked.
if(!g_GagPlayers[id]) return PLUGIN_CONTINUE // Is true if the client is NOT blocked.
new cmd[5]
read_argv(0,cmd,4)
if ( cmd[3] == '_' )
{
if (g_GagPlayers[id] & 2){
#if GagReason == 1
client_print(id,print_chat,"* Ai primit gag din urmatorul motiv: %s",gs_GagReason[id])
#else
client_print(id,print_chat,"* Ai primit gag")
#endif
#if PlaySound == 1
client_cmd(id,"spk barney/youtalkmuch")
#endif
return PLUGIN_HANDLED
}
}
else if (g_GagPlayers[id] & 1) {
#if GagReason == 1
client_print(id,print_chat,"* Ai primit gag din urmatorul motiv: %s",gs_GagReason[id])
#else
client_print(id,print_chat,"* Ai primit gag")
#endif
#if PlaySound == 1
client_cmd(id,"spk barney/youtalkmuch")
#endif
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public CMD_GagPlayer(id,level,cid)
{
if(!cmd_access (id,level,cid,1)) return PLUGIN_HANDLED
new arg[32],VictimID
read_argv(1,arg,31) // Arg contains Targets nick or Userid
VictimID = cmd_target(id,arg,8) // This code here tryes to find out the player index. Either from a nick or #userid
if ((get_user_flags(VictimID) & ADMIN_IMMUNITY) && VictimID != id || !cmd_access (id,level,cid,2) ) { return PLUGIN_HANDLED; } // This code is kind of "long", its job is to. Stop actions against admins with immunity, Stop actions action if the user lacks access, or is a bot/hltv
new s_Flags[4],VictimName[32],AdminName[32],flags,ShowFlags[32],CountFlags,s_GagTime[8],Float:f_GagTime
read_argv(2,arg,31)
if (!arg[0]) // This means amx_gag <nick / userid> and no other flag or time was used.
{
f_GagTime = DefaultGagTime
format(s_Flags,7,"abc")
}
else
{
if(contain(arg,"m")!=-1 && contain(arg,"!")==-1) // This means the time was entered in minuts and not seconds
{
copyc(s_GagTime,7,arg, 'm')
f_GagTime = floatstr(s_GagTime) * 60
}
else if(isdigit(arg[0])&& contain(arg,"!")==-1) // The value was entered in seconds
{
format(s_GagTime,7,arg)
f_GagTime = floatstr(s_GagTime)
}
read_argv(3,arg,8)
if (!arg[0]) // No flag has been entered
format(s_Flags,7,"abc")
else if(contain(arg,"!")==-1) // This means that arg did NOT contain the ! symbot
format(s_Flags,7,arg)
else if(contain(arg,"!")!=-1) // This means that arg did DOES contain the ! symbot
format(s_Flags,7,"abc")
if (f_GagTime == 0.0)
{
read_argv(2,arg,8)
if(contain(arg,"!")!=-1)
format(s_Flags,3,"abc") // Flag was entered.
else
format(s_Flags,3,arg) // Flag was entered.
f_GagTime = DefaultGagTime
}
#if GagReason == 1
new GagReasonFound=0
for(new i=2;i<=4;i++)
{
read_argv(i,arg,31)
if(contain(arg,"!")!=-1)
{
read_args(arg,31)
new tmp[32]
copyc(tmp,32,arg,33)
copy(gs_GagReason[VictimID],47,arg[strlen(tmp)+1])
GagReasonFound = 1
}
}
if(GagReasonFound == 0) // If no reason was entered, add the std reason.
format(gs_GagReason[VictimID],47,"Ai primit gag pentru ca nu ai respectat regulile")
#endif
}
flags = read_flags(s_Flags) // Converts the string flags ( a,b or c ) into a int
g_GagPlayers[VictimID] = flags
#if VoiceCommMute == 1
if(flags & 4) // This code checks if the c flag was used ( reprisented by the number 4 ), If pressent it mutes his voicecomm.
set_speak(VictimID, SPEAK_MUTED)
#endif
new TaskParm[1] // For some reason set_task requires a array. So i make a array :)
TaskParm[0] = VictimID
set_task( f_GagTime,"task_UnGagPlayer",VictimID,TaskParm,1)
CountFlags = 0
if (flags & 1)
{
format(ShowFlags,31,"say")
CountFlags++
}
if (flags & 2)
{
if(CountFlags)
format(ShowFlags,31,"%s / say_team",ShowFlags)
if(!CountFlags)
format(ShowFlags,31,"say_team")
}
#if VoiceCommMute != 0
if(flags & 4)
{
if(CountFlags)
format(ShowFlags,31,"%s / voicecomm",ShowFlags)
if(!CountFlags)
format(ShowFlags,31,"voicecomm")
}
#endif
get_user_name(id,AdminName,31)
get_user_name(VictimID,VictimName,31)
switch(get_cvar_num("amx_show_activity"))
{
#if GagReason == 1
case 2: client_print(0,print_chat,"ADMIN %s: Ia dat gag lu' %s Pentru %0.0f Minute: %s ( %s )",AdminName,VictimName,(f_GagTime / 60),gs_GagReason[VictimID],ShowFlags) // debug added
case 1: client_print(0,print_chat,"ADMIN: Ia dat gag lu' %s Pentru %0.0f Minute: %s ( %s )",VictimName,(f_GagTime / 60),gs_GagReason[VictimID],ShowFlags)
#else
case 2: client_print(0,print_chat,"ADMIN %s: Ia dat gag lu' %s Pentru %0.0f Minute ( %s )",AdminName,VictimName,(f_GagTime / 60),ShowFlags) // debug added
case 1: client_print(0,print_chat,"ADMIN: Ia dat gag lu %s Pentru %0.0f Minute ( %s )",VictimName,(f_GagTime / 60),ShowFlags)
#endif
}
#if LogAdminActions == 1
new parm[5] /*0 = Victim id | 1 = Admin id | 2 = Used to control if its a gag or Ungag | 3 = The gag flags | 4 = Length of the gag */
parm[0] = VictimID
parm[1] = id
parm[2] = 0
parm[3] = flags
parm[4] = floatround(Float:f_GagTime)
LogAdminAction(parm)
#endif
return PLUGIN_HANDLED
}
public CMD_UnGagPlayer(id,level,cid) /// Removed gagged player ( done via console command )
{
new arg[32],VictimID
read_argv(1,arg,31) // Arg contains Targets nick
VictimID = cmd_target(id,arg,8) // This code here tryes to find out the player index. Either from a nick or #userid
if ((get_user_flags(VictimID) & ADMIN_IMMUNITY) && VictimID != id || !cmd_access (id,level,cid,2) ) { return PLUGIN_HANDLED; } // This code is kind of "long", its job is to. Stop actions against admins with immunity, Stop actions action if the user lacks access, or is a bot/hltv
new AdminName[32],VictimName[32]
get_user_name(id,AdminName,31) // Gets Admin name
get_user_name(VictimID,VictimName,31)
if(!g_GagPlayers[VictimID]) // Checks if player has gagged flag
{
console_print(id,"%s Nu are gag si nu ii poti scoate gagu.",arg)
return PLUGIN_HANDLED
}
switch(get_cvar_num("amx_show_activity"))
{
case 2: client_print(0,print_chat,"ADMIN %s: Ia scos gagul lu' %s",AdminName,VictimName)
case 1: client_print(0,print_chat,"ADMIN: Ia scos gagul lu' %s",VictimName)
}
#if LogAdminActions == 1
new parm[3] /*0 = Victim id | 1 = Admin id | 2 = Used to control if its a gag or Ungag | 3 = The gag flags | 4 = Length of the gag */
parm[0] = VictimID
parm[1] = id
parm[2] = 1
LogAdminAction(parm)
#endif
remove_task(VictimID) // Removes the set_task set to ungag the player
UnGagPlayer(VictimID) // This is the function that does the actual removal of the gag info
return PLUGIN_HANDLED
}
public client_disconnect(id)
{
if(g_GagPlayers[id]) // Checks if disconnected player is gagged, and removes flags from his id.
{
new Nick[32],Authid[35]
get_user_name(id,Nick,31)
get_user_authid(id,Authid,34)
client_print(0,print_chat,"[Justic3hns] Playerul cu gag s-a deconectat ( %s <%s> )",Nick,Authid)
remove_task(id) // Removes the set_task set to ungag the player
UnGagPlayer(id) // This is the function that does the actual removal of the gag info
}
}
#if BlockNameChange == 1
public client_infochanged(id)
{
if(g_GagPlayers[id])
{
new newname[32], oldname[32]
get_user_info(id, "name", newname,31)
get_user_name(id,oldname,31)
if (!equal(oldname,newname))
{
client_print(id,print_chat,"* Playerii cu gag nu isi pot schimba numele")
set_user_info(id,"name",oldname)
}
}
}
#endif
public task_UnGagPlayer(TaskParm[]) // This function is called when the task expires
{
new VictimName[32]
get_user_name(TaskParm[0],VictimName,31)
client_print(0,print_chat,"ADMIN: %s Nu mai are gag",VictimName)
UnGagPlayer(TaskParm[0])
}
#if LogAdminActions == 1
stock LogAdminAction(parm[]) // This code is what logs the admin actions.
{
new VictimName[32],AdminName[32],AdminAuth[35],VictimAuth[35]
get_user_name(parm[1],AdminName,31)
get_user_name(parm[0],VictimName,31)
get_user_authid(parm[1],AdminAuth,34)
get_user_authid(parm[0],VictimAuth,34)
#if GagReason == 1
if(parm[2] == 0)
log_amx("Gag: ^"%s<%s>^" Ai primit gag %s <%s> for %d ( %d ) Motiv: %s",AdminName,AdminAuth,VictimName,VictimAuth,parm[4],parm[3],gs_GagReason[parm[0]])
#else
if(parm[2] == 0)
log_amx("Gag: ^"%s<%s>^" Ai primit gag %s <%s> for %d ( %d )",AdminName,AdminAuth,VictimName,VictimAuth,parm[4],parm[3])
#endif
if(parm[2] == 1)
log_amx("UnGag: ^"%s<%s>^" Ti-a scos gagul %s<%s>",AdminName,AdminAuth,VictimName,VictimAuth)
}
#endif
stock UnGagPlayer(id) // This code is what removes the gag.
{
#if VoiceCommMute == 1
if(g_GagPlayers[id] & 4) // Unmutes the player if he had voicecomm muted.
{
if(get_cvar_num("sv_alltalk") == 1)
set_speak(id, SPEAK_ALL)
else
set_speak(id, SPEAK_NORMAL)
}
#endif
g_GagPlayers[id] = 0
#if GagReason == 1
setc(gs_GagReason[id],31,0)
#endif
}
#if AllowOtherPlugin2Interface == 1
public func_AddGag(id)
{
g_GagPlayers[id] = 7
new TaskParm[1] // For some reason set_task requires a array. So i make a array :)
TaskParm[0] = id
#if VoiceCommMute == 1
set_speak(id, SPEAK_MUTED)
#endif
set_task( DefaultGagTime,"task_UnGagPlayer",id,TaskParm,1)
}
public func_RemoveGag(id)
{
remove_task(id) // Removes the set_task set to ungag the player
UnGagPlayer(id)
}
#endif
Daca apare o problema/sau o erroare la acest plugin Vino cu edit multumesc si sper ca ti-am fost de ajutor
http://www.freakz.ro
0
0
Back to top
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Resources
The time now is 01-02-2025, 14:03:42
Copyright info
Based on phpBB
ro
/
com
B
Login
I forgot my password
World of Warcraft
Login for more...
Download WoW 7.3.5
Misc
eSports
Achievements
Buy reputation with votes
Reputation trades
Forum rules
Ban list
Members list
User guide (FAQ)
World of Warcraft
View details