- Ошибка
-
Ошибок при компиляции нет,топ авард работает,но не выдает флаги.
- ОС
- Linux
- Amx Mod X
-
AMX Mod X 1.9.0.5263 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Oct 27 2019 16:23:31
Built from: https://github.com/alliedmodders/amxmodx/commit/15a14a0
Build ID: 5263:15a14a0
Core mode: JIT+ASM32
- Билд
-
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.7.0.692-dev
Build date: 18:58:01 Sep 21 2019 (1988)
Build from: https://github.com/dreamstalker/rehlds/commit/e7232be
- ReGamedll
-
ReGameDLL version: 5.13.0.434-dev
Build date: 09:36:38 Dec 26 2019
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/7983a9d
- Версия Metamod
-
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
- Список метамодулей
-
Reunion RUN - reunion_mm_i386.so v0.1.0.92 ini Start Never
[ 2] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC3 ini ANY ANY
[ 3] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5263 ini Start ANY
[ 4] ReSemiclip RUN - resemiclip_mm_i386.so v2.3.9 ini Chlvl ANY
[ 5] Rechecker RUN - rechecker_mm_i386.so v2.5 ini Chlvl ANY
[ 6] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 7] ReSRDetector RUN - resrdetector_mm_i386.so v0.1.0 ini Chlvl ANY
[ 8] Ultimate Unprecacher RUN - unprecacher_i386.so vBeta 2.5 ini Chlvl Chlvl
[ 9] WHBlocker RUN - whblocker_mm_i386.so v1.5.696 ini Chlvl ANY
[10] MySQL RUN - mysql_amxx_i386.so v1.9.0.5263 pl3 ANY ANY
[11] SQLite RUN - sqlite_amxx_i386.so v1.9.0.5263 pl3 ANY ANY
[12] Fun RUN - fun_amxx_i386.so v1.9.0.5263 pl3 ANY ANY
[13] Engine RUN - engine_amxx_i386.so v1.9.0.5263 pl3 ANY ANY
[14] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5263 pl3 ANY ANY
[15] GeoIP RUN - geoip_amxx_i386.so v1.9.0.5263 pl3 ANY ANY
[16] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5263 pl3 ANY ANY
[17] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5263 pl3 ANY ANY
[18] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl3 ANY Never
[19] VTC AMXX API RUN - VtcApi_amxx_i386.so v2017 RC pl3 ANY ANY
[20] ReAPI RUN - reapi_amxx_i386.so v5.12.0.192-dev pl3 ANY Never
[21] CSX RUN - csx_amxx_i386.so v1.9.0.5263 pl3 ANY ANY
- Список плагинов
-
[ 1] AMXBans: Core Gm 1.6 Larte Team amxbans_core.am running
[ 2] AMXBans: Main Gm 1.6 Larte Team amxbans_main.am running
[ 3] Admin Gag 1.0 fomeN amx_admingag.am running
[ 4] Admin Commands 1.8.3 AMXX Dev Team admincmd.amxx running
[ 5] Amxmodmenu 1.0 cshost menufront.amxx running
[ 6] Commands Menu 1.8.3 AMXX Dev Team cmdmenu.amxx running
[ 7] Players Menu 1.7 neugomon plmenu.amxx running
[ 8] Maps Menu 1.4.1 neugomon mapsmenu.amxx running
[ 9] Plugin Menu 1.8.3 AMXX Dev Team pluginmenu.amxx running
[ 10] Admin Chat 1.9.0.5263 AMXX Dev Team adminchat.amxx running
[ 11] Autoresponder/Advertis 0.5 MaximusBrood ad_manager.amxx running
[ 12] Admin Votes 1.8.3 AMXX Dev Team adminvote.amxx running
[ 13] TimeLeft 1.8.3 AMXX Dev Team timeleft.amxx running
[ 14] AES: StatsX 0.5.9 [REA serfreeman1337/s aes_statsx_cstr running
[ 15] CSStatsX SQL 0.7.4 serfreeman1337 csstatsx_sql.am running
[ 16] Stats Configuration 1.8.2 AMXX Dev Team statscfg.amxx running
[ 17] Restrict Weapons 1.9.0.5217 AMXX Dev Team restmenu.amxx running
[ 18] StatsX 1.9.0.5217 AMXX Dev Team statsx.amxx running
[ 19] CS Misc. Stats 1.9.0.5217 AMXX Dev Team miscstats.amxx running
[ 20] Damager 2.0 Prayer damager.amxx running
[ 21] FullSpawns 1.0 Eg@r4$il{ FullSpawns.amxx running
[ 22] Lite Kill Assist 1.17 neygomon lite_kill_assis running
[ 23] VoteGag 1.0 sNk votegag.amxx running
[ 24] [182] Demo Recorder RB 18.02.08 SKAJIbnEJIb demorecorder_rb running
[ 25] [183] SlayLosers RBS 19.09.02 SKAJIbnEJIb & d3 slaylosers_rbs. running
[ 26] GunGame AMMO 2.2 Prayer gg_ammo.amxx running
[ 27] [182] Parachute RBS 17.12.12 KRoT@L/JTP10181 parachute_rbs.a running
[ 28] Access 1.0 Mandar1n access.amxx running
[ 29] Mode 2x2 2.5re s1lent mod2x2.amxx running
[ 30] mute menu 1.0 cheap_suit mutemenu.amxx running
[ 31] VOTEBAN_BY_SLIMSHADY 3.0 SLIMSHADY_MOD voteban_by_slim running
[ 32] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a running
[ 33] AFK Control 1.4.1 [Rnd neygomon afk_control.amx running
[ 34] Reset_Score 1.0 FBR resetscore.amxx running
[ 35] Lite Translit 3.0 theRoone (remake lite_translit_p running
[ 36] AntiFlash FINAL 5.0 Leo_[BH] antiflash5_non_ running
[ 37] Instant AutoTeamBalanc 1.2.0 ConnorMcLeod autoteambalance running
[ 38] AWP Limit 1.0 theRoone awp.amxx running
[ 39] Top Awards 0.11h Safety1st top_awards.amxx running
[ 40] Admin Spectator ESP 1.3 KoST esp.amxx running
[ 41] COLORS MENU 1.2 DUKKHAZ0R color.amxx running
[ 42] Nice Killer 1.6 Got Milk? / HoHo nice_killer.amx running
[ 43] WeaponState Remember 0.0.4 Vaqtincha weaponstate_rem running
[ 44] GameName Changer 1.0 neugomon gamename_change running
[ 45] [190] VIP RBS 19.12.09 SKAJIbnEJIb vip_rbs.amxx running
[ 46] [ReAMX] Ultimate Weapo 19.11.29 SKAJIbnEJIb ultimate_weapon running
[ 47] C4 Timer 1.1 SAMURAI & Remod: c4_timer.amxx running
[ 48] Advanced Experience Sy 0.5.9 [REA serfreeman1337/s aes_main.amxx running
[ 49] AES: CStrike Addon 0.5.9 [REA serfreeman1337/s aes_exp_cstrike running
[ 50] AES: Informer 0.5.9 [REA serfreeman1337/s aes_informer.am running
[ 51] AES: Admin Tools 0.5.9 [REA serfreeman1337/s aes_exp_editor. running
[ 52] AMXBans: Screens Gm 1.6 Larte Team amxbans_ssban.a running
[ 53] Map Manager: Core 3.0.5 Mistrick map_manager_cor running
[ 54] Map Manager: Scheduler 0.1.3 Mistrick map_manager_sch running
[ 55] Map Manager: Rtv 0.1.1 Mistrick map_manager_rtv running
[ 56] Map Manager: Nominatio 0.1.2 Mistrick map_manager_nom running
[ 57] Map Manager: BlockList 0.0.3 Mistrick map_manager_blo running
[ 58] Map Manager: Online so 0.0.2 Mistrick map_manager_onl running
[ 59] Map Manager: Effects 0.0.8 Mistrick map_manager_eff running
[ 60] Map Manager: Informer 0.0.5 Mistrick map_manager_inf running
60 plugins, 60 running
- Автор плагина
- Safety1st
- Версия плагина
- 1.02
- Исходный код
-
/*
* Rock to Ban
* Every player are able to rock the vote to ban somebody.
*
* Last update:
* 12/05/2012
*
Credits:
* Alka for his 'Vote Ban' plugin http://forums.alliedmods.net/showthread.php?t=96586
* I got the idea and took part of his code
*
* This file is provided as is (no warranties).
*
*/
#include <amxmodx>
#define PLUGIN "Rock to Ban"
#define VERSION "1.02"
#define AUTHOR "Safety1st"
// customizable parameters
#define MAX_PLAYERS 32
#define IMMUNITY_FLAG ( ADMIN_IMMUNITY | ADMIN_BAN ) /* flags 'a' & 'd', separate by '|' */
new gszPrefix[] = "[VOTEBAN]" // set prefix for all chat messages; for example ">"
const VOTEBAN_NEED = 6 // how many players are required to enable voteban function
// end of customizable parameters
new giVotedPlayers[MAX_PLAYERS + 1] // player's voteban targets
new giVotes[MAX_PLAYERS + 1] // count of votes for ban that player
new giVoted[MAX_PLAYERS + 1] // count of votes for ban by that player
// macro; %1 - variable being modified, %2 - player id
#define CheckFlag(%1,%2) ( %1 & ( 1 << (%2-1) ) )
#define AddFlag(%1,%2) ( %1 |= ( 1 << (%2-1) ) )
#define RemoveFlag(%1,%2) ( %1 &= ~( 1 << (%2-1) ) )
enum _:Labels {
CVAR_PERCENT = 0,
CVAR_BANTYPE,
CVAR_BANTIME,
CVAR_LIMIT,
CVAR_REASON,
CVAR_LOG
}
new pCvar[Labels]
enum _:Types {
AUTO = 0,
STEAMID,
IP,
AMXBAN,
AMXBANS5,
SUPERBAN
}
enum _:LogRecords {
UNVOTE = 0,
VOTE
}
new gszLogRecords[LogRecords][] = {
"Player '%s' has canceled vote for banning '%s'",
"Player '%s' has been voted for banning by '%s'"
}
public plugin_init() {
register_plugin( PLUGIN, VERSION, AUTHOR )
register_dictionary( "rock2ban.txt" )
register_cvar( "rock2ban", VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED )
register_saycmd( "voteban", "VoteBanMenu" )
pCvar[CVAR_PERCENT] = register_cvar( "voteban_percent", "10" )
pCvar[CVAR_BANTYPE] = register_cvar( "voteban_type", "3" )
pCvar[CVAR_BANTIME] = register_cvar( "voteban_time", "720" )
pCvar[CVAR_LIMIT] = register_cvar( "voteban_limit", "2" )
pCvar[CVAR_REASON] = register_cvar( "voteban_reason", " 3a6aHeH /voteban'om Ha %time% MuH.! Pa36aH TyT:vk.com/kztoplay" )
pCvar[CVAR_LOG] = register_cvar( "voteban_log", "1" )
}
register_saycmd( saycommand[], function[] ) {
new szTemp[64]
formatex( szTemp, charsmax(szTemp), "say %s", saycommand )
register_clcmd( szTemp, function )
formatex( szTemp, charsmax(szTemp), "say_team %s", saycommand )
register_clcmd( szTemp, function )
formatex( szTemp, charsmax(szTemp), "say /%s", saycommand )
register_clcmd( szTemp, function )
formatex( szTemp, charsmax(szTemp), "say .%s", saycommand )
register_clcmd( szTemp, function )
formatex( szTemp, charsmax(szTemp), "say_team /%s", saycommand )
register_clcmd( szTemp, function )
formatex( szTemp, charsmax(szTemp), "say_team .%s", saycommand )
register_clcmd( szTemp, function )
}
public client_disconnected(id) {
static iPlayers[32], iPlayersNum, i, iPlayer
// check whether there were votes for ban by that player
if ( giVoted[id] ) {
get_players( iPlayers, iPlayersNum, "ch" ) // skip bots and HLTV
for ( i = 0; i < iPlayersNum; i++ ) {
iPlayer = iPlayers[i]
if ( CheckFlag( giVotedPlayers[id], iPlayer ) )
giVotes[iPlayer]--
}
giVotedPlayers[id] = 0
giVoted[id] = 0
}
// check whether there were votes for ban that player
if ( giVotes[id] ) {
get_players( iPlayers, iPlayersNum, "ch" ) // skip bots and HLTV
for ( i = 0; i < iPlayersNum; i++ ) {
iPlayer = iPlayers[i]
if ( CheckFlag( giVotedPlayers[iPlayer], id ) ) {
RemoveFlag( giVotedPlayers[iPlayer], id )
giVotes[id]--
giVoted[iPlayer]--
}
if ( !giVotes[id] )
break
}
giVotes[id] = 0 // just in case
}
}
public VoteBanMenu(id) {
static iPlayers[32], iPlayersNum, i, iPlayer
get_players( iPlayers, iPlayersNum, "ch" ) // skip bots and HLTV
if ( iPlayersNum < VOTEBAN_NEED ) {
ColorPrint( id, "^4%s %L", gszPrefix, id, "VOTEBAN_NEEDX", VOTEBAN_NEED )
return PLUGIN_HANDLED
}
// create and show menu
new szTempString[64], szName[32], szInfo[3]
formatex( szTempString, charsmax(szTempString), "%L\y:", id, "VOTEBAN_MENU" )
new iMenu = menu_create( szTempString, "MenuHandle", .ml = 1 )
new iCallback = menu_makecallback( "CallbackMenu" )
menu_setprop( iMenu, MPROP_NUMBER_COLOR, "\r" )
menu_setprop( iMenu, MPROP_EXIT, MEXIT_ALL )
formatex( szTempString, charsmax(szTempString), "%L", id, "VOTEBAN_EXIT" )
menu_setprop( iMenu, MPROP_EXITNAME, szTempString )
formatex( szTempString, charsmax(szTempString), "%L", id, "VOTEBAN_NEXT" )
menu_setprop( iMenu, MPROP_NEXTNAME, szTempString )
formatex( szTempString, charsmax(szTempString), "%L", id, "VOTEBAN_BACK" )
menu_setprop( iMenu, MPROP_BACKNAME, szTempString )
new iPercent
for ( i = 0; i < iPlayersNum; i++ ) {
iPlayer = iPlayers[i]
get_user_name( iPlayer, szName, 31 )
if ( get_user_flags(iPlayer) & IMMUNITY_FLAG ) {
// don't set info[] if player has immunity
menu_additem( iMenu, szName, "", .callback = iCallback )
}
else {
iPercent = get_percent( giVotes[iPlayer], iPlayersNum )
if ( giVotes[iPlayer] && CheckFlag( giVotedPlayers[id], iPlayer ) )
formatex( szTempString, charsmax(szTempString), "%s \d(\r%d%%\d) \y%L", szName, iPercent, id, "VOTEBAN_VOTED" )
else
formatex( szTempString, charsmax(szTempString), "%s \d(\r%d%%\d)", szName, iPercent )
num_to_str( iPlayer, szInfo, charsmax(szInfo) )
menu_additem( iMenu, szTempString, szInfo, .callback = iCallback )
}
}
menu_display( id, iMenu )
return PLUGIN_CONTINUE
}
public CallbackMenu( id, menu, item ) {
new access, info[3], callback, szTempString[64]
menu_item_getinfo( menu, item, access, info, charsmax(info), szTempString, charsmax(szTempString), callback )
if ( !info[0] )
// player has immunity
return ITEM_DISABLED
if ( str_to_num(info) == id )
return ITEM_DISABLED
return ITEM_ENABLED
}
public MenuHandle( id, menu, item ) {
if ( item == MENU_EXIT ) {
menu_destroy(menu)
return PLUGIN_HANDLED
}
new access, info[3], callback
menu_item_getinfo( menu, item, access, info, charsmax(info), .callback = callback )
menu_destroy(menu)
new iTarget = str_to_num(info)
if ( !is_user_connected(iTarget) ) {
VoteBanMenu(id)
return PLUGIN_HANDLED
}
if ( CheckFlag( giVotedPlayers[id], iTarget ) ) {
RemoveFlag( giVotedPlayers[id], iTarget )
giVoted[id]--
giVotes[iTarget]--
new szName[32], szTargetName[32]
get_user_name( id, szName, 31 )
get_user_name( iTarget, szTargetName, 31 )
MsgToLog( gszLogRecords[UNVOTE], szName, szTargetName )
ColorPrint( 0, "^4%s %L", gszPrefix, LANG_SERVER, "VOTEBAN_UNVOTE", szName, szTargetName )
client_print( id, print_center, "%L", id, "VOTEBAN_CLEAR" )
return PLUGIN_HANDLED
}
new iLimit = get_pcvar_num( pCvar[CVAR_LIMIT] )
if ( giVoted[id] >= iLimit ) {
// don't let vote too much ;)
client_print( id, print_center, "%L", id, "VOTEBAN_LIMIT", iLimit )
return PLUGIN_HANDLED
}
client_print( id, print_center, "%L", id, "VOTEBAN_SET" )
giVoted[id]++
giVotes[iTarget]++
AddFlag( giVotedPlayers[id], iTarget )
CheckVotes( iTarget, id )
return PLUGIN_HANDLED
}
CheckVotes( target, voter ) {
new szName[32], szTargetName[32]
get_user_name( voter, szName, 31 )
get_user_name( target, szTargetName, 31 )
MsgToLog( gszLogRecords[VOTE], szTargetName, szName )
ColorPrint( 0, "^4%s %L", gszPrefix, LANG_SERVER, "VOTEBAN_VOTE", szName, szTargetName )
new iPlayers[32], iPlayersNum
get_players( iPlayers, iPlayersNum, "ch" ) // skip bots and HLTV
if ( get_percent( giVotes[target], iPlayersNum ) < get_pcvar_num( pCvar[CVAR_PERCENT] ) )
return
new iUserid = get_user_userid(target)
new iType = get_pcvar_num( pCvar[CVAR_BANTYPE] )
new iBanTime = get_pcvar_num( pCvar[CVAR_BANTIME] )
new szAuthid[32], szReason[256]
get_pcvar_string( pCvar[CVAR_REASON], szReason, charsmax(szReason) )
switch ( iType ) {
case AMXBAN, AMXBANS5, SUPERBAN : {
// clear unused template
replace( szReason, charsmax(szReason), "%time%", " " )
}
default : {
static szHostname[64]
if ( !szHostname[0] )
get_cvar_string( "hostname", szHostname, 63 )
get_user_authid( target, szAuthid, charsmax(szAuthid) )
log_amx( "Ban: ^"%s<0><><>^" ban and kick ^"%s<%d><%s><>^" (minutes ^"%d^") (reason ^"Voteban^")", szHostname, szTargetName, iUserid, szAuthid, iBanTime )
ColorPrint( 0, "^4%s %L", gszPrefix, LANG_SERVER, "VOTEBAN_BAN", szTargetName, iBanTime )
// set actual ban time in the reason
if ( containi( szReason, "%time%" ) != -1 ) {
new szBanTime[4]
num_to_str( iBanTime, szBanTime, 3 )
replace( szReason, charsmax(szReason), "%time%", szBanTime )
}
}
}
if ( !iType ) { // AUTO
/* AMXX base plugin 'plmenu.amxx', code by MistaGee
IF AUTHID STEAM_ID_LAN OR VALVE_ID_LAN OR HLTV, BAN PER IP TO DON'T BAN EVERYONE */
if ( equal( "STEAM_ID_LAN", szAuthid ) || equal( "VALVE_ID_LAN", szAuthid ) || equal( "HLTV", szAuthid ) )
iType = IP
else
iType = STEAMID
}
switch ( iType ) {
case STEAMID :
server_cmd( "kick #%d %s;wait;wait;wait;banid %d %s", iUserid, szReason, iBanTime, szAuthid )
case IP : {
new szIp[32]
get_user_ip( target, szIp, charsmax(szIp), 1 /* without_port */ )
server_cmd( "kick #%d %s;wait;wait;wait;addip %d %s", iUserid, szReason, iBanTime, szIp )
}
case AMXBAN :
server_cmd( "amx_ban #%d %d ^"%s^"", iUserid, iBanTime, szReason )
case AMXBANS5 :
server_cmd( "amx_ban %d #%d ^"%s^"", iBanTime, iUserid, szReason )
case SUPERBAN :
server_cmd( "amx_superban #%d %d ^"%s^"", iUserid, iBanTime, szReason )
}
}
get_percent( value, tvalue ) {
return floatround( floatmul( float(value) / float(tvalue) , 100.0 ) )
}
MsgToLog( szRawMessage[], any:... ) {
if ( !get_pcvar_num( pCvar[CVAR_LOG] ) )
return
static szLogFile[192] = "", szTime[32], fp
if ( !szLogFile[0] ) {
new szLogsDir[64], szDate[16]
get_time ( "%Y%m", szDate, charsmax(szDate) )
get_localinfo( "amxx_logs", szLogsDir, 63 )
formatex( szLogFile, charsmax(szLogFile), "%s/voteban_%s.log", szLogsDir, szDate )
}
new szMessage[192]
vformat( szMessage, charsmax( szMessage ), szRawMessage, 2 )
get_time( "%m/%d/%Y - %H:%M:%S", szTime, 31 )
fp = fopen( szLogFile, "a" )
fprintf( fp, "L %s: %s^n", szTime, szMessage )
fclose(fp)
}
ColorPrint( iReceiver, const szRawMessage[ ], any:... ) {
static iMsgSayText = 0
if( !iMsgSayText )
iMsgSayText = get_user_msgid( "SayText" )
new szMessage[192], iPlayers[32], iPlayersNum = 1, iPlayer
vformat( szMessage, charsmax(szMessage), szRawMessage, 3 )
replace_all( szMessage, charsmax(szMessage), "!n", "^1" )
replace_all( szMessage, charsmax(szMessage), "!t", "^3" )
replace_all( szMessage, charsmax(szMessage), "!g", "^4" )
if ( szMessage[0] != '^1' || szMessage[0] != '^3' || szMessage[0] != '^4' )
format( szMessage, charsmax(szMessage), "^1%s", szMessage ) // we must set initial default color if it is not provided explicitly
if ( iReceiver )
iPlayers[0] = iReceiver
else {
get_players( iPlayers, iPlayersNum, "ch" ) // skip bots and HLTV
if ( !iPlayersNum )
return // don't print useless message
}
for ( new i = 0 ; i < iPlayersNum ; i++ ) {
iPlayer = iPlayers[i]
message_begin( MSG_ONE_UNRELIABLE, iMsgSayText, _, iPlayer )
write_byte(iPlayer) // use target player as sender to see colors at all (and his own team color for ^3)
write_string(szMessage)
message_end()
}
}
Плагины csstatsx_sql, aes_statsx_cstrike ,statsx и другие плагины ранга и звания у меня немного изменные,если это имеет значение.
В этой теме было размещено решение! Перейти к решению.