SheeZe
Новичок
- Сообщения
- 8
- Реакции
- 0
Доброго форумчане, скриптеры и все кто это читает)
Столкнулся с такой проблемой, после установки плагина
В консоль сервера сыпятся имена игроков, без дополнительной информации, поковырявшись в коде, ничего не нашёл о выводе информации.
Сам плагин работает исправно, ошибок нет.
Подскажите как убрать вывод информации в консоль сервера?
Столкнулся с такой проблемой, после установки плагина
killachievement_1.5.amxxВ консоль сервера сыпятся имена игроков, без дополнительной информации, поковырявшись в коде, ничего не нашёл о выводе информации.
Сам плагин работает исправно, ошибок нет.
Подскажите как убрать вывод информации в консоль сервера?
Код:
#include <amxmodx>
#include <fakemeta>
#include <reapi>
#include <xs>
new const VERSION[] = "1.5";
#define add_ex(%0,%1) (add(%0,charsmax(%0),%1))
enum _:XYZ {
Float:X,Float:Y,Float:Z
};
enum flash_state {
FLASH_NONE = 0,
FLASH_TIME,
FLASH_HOLD
};
new const g_szToggleCmd[] = "akill";
new const g_iPrintType[] = "%all%"
#define NO_ZOOM
#define ON_GROUND
#define ONE_SHOT
#define WALL_SHOT
#define LOW_HEALTH
#define DUBLE_KILL
#define ACE
#define GRENADE_KILL
#define FLASH_KILL
new const g_szMessage[] = "^4%id%^1 убил ^4%victim% ";
#if defined ACE
new const g_szMessageAce[] = "^4%id% ^1Совершил ^3убийство всех";
#endif
#if defined NO_ZOOM
new const g_szNoZoom[] = "^3[^2Без прицела^3] ";
#endif
#if defined ON_GROUND
new const g_szOnGround[] = "^3[^2В прыжке^3] ";
#endif
#if defined ONE_SHOT
new const g_szOneShot[] = "^3[^2Одной пулей^3] ";
#endif
#if defined WALL_SHOT
new const g_szWallShot[] = "^3[^2Прострелом^3] ";
#endif
#if defined LOW_HEALTH
new const g_szLowHealth[] = "^3[^2На одном дыхании^3] ";
const g_iLowHealtNum = 10;
#endif
#if defined DUBLE_KILL
new const g_szDubleKill[] = "^3[^2Двоих одной пулей [^3%victim%^4]^3] ";
#endif
#if defined GRENADE_KILL
new const g_szGrenadeKill[] = "^3[^2Совершил ^3%grenade_kill% ^2убийств с грены^3] ";
const g_iGrenadeKillNum = 2;
#endif
#if defined FLASH_KILL
new const g_szFlashKill[] = "^3[^2Под слепой^3] ";
#endif
new
bool:p_bToggleMessage[33],
#if defined ACE
p_iKillsAccount[33],
#endif
#if defined GRENADE_KILL
p_iGrenadeKillAccount[33];
#endif
public plugin_init() {
register_plugin("KillAchievement",VERSION,"b0t.");
UTIL_RegisterAllChats(g_szToggleCmd,"TogglePrintMessage__Func");
RegisterHookChain(RG_CBasePlayer_Killed,"RG_CBasePlayerKilled_Post", .post = true);
#if defined ACE
RegisterHookChain(RG_RoundEnd,"RG_RoundEnd_Post", .post = true);
#endif
}
public TogglePrintMessage__Func(const id) {
p_bToggleMessage[id] ^= true;
client_print_color(id,print_team_default,"^4*^1Вы ^4%s ^1информацию про ^3^"^4особые убийства^3^"",p_bToggleMessage[id] ? "отключили" : "включили");
}
public RG_CBasePlayerKilled_Post(const pVictim,const pAttacker) {
if(!is_user_connected(pVictim) || !is_user_connected(pAttacker) || pVictim == pAttacker)
return HC_CONTINUE;
if(get_member(pVictim,m_bKilledByGrenade)) {
#if defined GRENADE_KILL
p_iGrenadeKillAccount[pAttacker]++;
#else
return HC_CONTINUE;
#endif
}
#if defined ACE
p_iKillsAccount[pAttacker]++;
#endif
new szMessage[256],szPrintMessage[256];
formatex(szMessage,charsmax(szMessage),"%s",g_szMessage);
new iWeapon = get_member(pAttacker,m_pActiveItem);
if(is_nullent(iWeapon))
return HC_CONTINUE;
new iWeaponID = get_member(iWeapon,m_iId);
#if defined NO_ZOOM
if(iWeaponID == CSW_AWP || iWeaponID == CSW_SCOUT || iWeaponID == CSW_G3SG1 || iWeaponID == CSW_SG550) {
if(get_member(pAttacker,m_iClientFOV) < 90)
add_ex(szPrintMessage,g_szNoZoom);
}
#endif
#if defined ON_GROUND
if(!(get_entvar(pAttacker,var_flags) & FL_ONGROUND))
add_ex(szPrintMessage,g_szOnGround);
#endif
#if defined ONE_SHOT
if(iWeaponID != CSW_AWP && get_member(pVictim,m_lastDamageAmount) >= 100)
add_ex(szPrintMessage,g_szOneShot);
#endif
#if defined WALL_SHOT
if(!UTIL_IsWallShot(pAttacker,pVictim) && !get_member(pVictim,m_bKilledByGrenade))
add_ex(szPrintMessage,g_szWallShot);
#endif
#if defined LOW_HEALTH
if(Float:get_entvar(pAttacker,var_health) <= g_iLowHealtNum)
add_ex(szPrintMessage,g_szLowHealth);
#endif
#if defined DUBLE_KILL
if(get_gametime() - Float:get_member(pAttacker,m_flLastAttackedTeammate) < 0.25)
add_ex(szPrintMessage,g_szDubleKill);
set_member(pAttacker,m_flLastAttackedTeammate,get_gametime());
#endif
#if defined GRENADE_KILL
if(p_iGrenadeKillAccount[pAttacker] >= g_iGrenadeKillNum) {
add_ex(szPrintMessage,g_szGrenadeKill);
replace_all(szPrintMessage,charsmax(szPrintMessage),"%grenade_kill%",fmt("%i",g_iGrenadeKillNum));
}
#endif
#if defined FLASH_KILL
if(getFlashState(pAttacker) == FLASH_HOLD)
add_ex(szPrintMessage,g_szFlashKill);
#endif
if(szPrintMessage[0]) {
strcat(szMessage,szPrintMessage,charsmax(szMessage));
UTIL_AddName(szMessage,charsmax(szMessage),pAttacker,pVictim);
Func__PrintMessage(pAttacker,szMessage);
}
return HC_CONTINUE;
}
public RG_RoundEnd_Post() {
for(new id=1;id<=MaxClients;id++) {
if(!is_user_connected(id))
continue;
if(p_iKillsAccount[id] == get_member_game(get_member(id,m_iTeam) == TEAM_CT ? m_iNumTerrorist : m_iNumCT)) {
new szAceMessage[256];
formatex(szAceMessage,charsmax(szAceMessage),"%s",g_szMessageAce);
UTIL_AddName(szAceMessage,charsmax(szAceMessage),id,id);
Func__PrintMessage(id,szAceMessage);
}
}
arrayset(p_iKillsAccount[0],0,sizeof(p_iKillsAccount));
}
public Func__PrintMessage(const id,const szMessage[]) {
if(equal(g_iPrintType,"%id%") && !p_bToggleMessage[id]) {
client_print_color(id,print_team_default,szMessage);
return PLUGIN_HANDLED;
}
for(new _id=1;_id<=MaxClients;_id++) {
if(!is_user_connected(_id))
continue;
if(p_bToggleMessage[_id])
continue;
server_print("%n",_id);
if(equal(g_iPrintType,"%team%")) {
if(get_member(_id,m_iTeam) != get_member(id,m_iTeam))
continue;
}
if(equal(g_iPrintType,"%team_enemy%")) {
if(get_member(_id,m_iTeam) == get_member(id,m_iTeam))
continue;
}
client_print_color(_id,print_team_default,szMessage);
}
#if defined GRENADE_KILL
p_iGrenadeKillAccount[id] = 0;
#endif
return PLUGIN_HANDLED;
}
stock bool:UTIL_IsWallShot(const pAttacker,const pVictim) {
new Float:fStart[XYZ],Float:fDest[XYZ];
get_entvar(pAttacker,var_origin,fStart);
get_entvar(pAttacker,var_view_ofs,fDest);
xs_vec_add(fStart,fDest,fStart);
get_entvar(pVictim,var_origin,fDest);
engfunc(EngFunc_TraceLine,fStart,fDest,1,pAttacker,0);
new Float:fFraction;
get_tr2(0,TR_flFraction,fFraction);
return (fFraction == 1.0 || get_tr2(0, TR_pHit) == pVictim);
}
stock UTIL_RegisterAllChats(const szCmd[],const szFunc[]) {
new szData[256];
formatex(szData,charsmax(szData),"say /%s",szCmd);
register_clcmd(szData,szFunc);
formatex(szData,charsmax(szData),"say_team /%s",szCmd);
register_clcmd(szData,szFunc);
formatex(szData,charsmax(szData),"%s",szCmd);
register_clcmd(szData,szFunc);
}
stock UTIL_AddName(szMessage[],const iMaxLine,const pAttacker,const pVictim) {
new szNameID[MAX_NAME_LENGTH],szNameVICTIM[MAX_NAME_LENGTH];
get_entvar(pAttacker,var_netname,szNameID,charsmax(szNameID));
get_entvar(pVictim,var_netname,szNameVICTIM,charsmax(szNameVICTIM));
replace_all(szMessage,iMaxLine,"%id%",szNameID);
replace_all(szMessage,iMaxLine,"%victim%",szNameVICTIM);
}
stock flash_state:getFlashState(const id) {
new Float:flStartTime = Float:get_member(id, m_blindStartTime);
new Float:flGameTime = get_gametime();
if (flStartTime + Float:get_member(id, m_blindHoldTime) >= flGameTime)
{
return FLASH_HOLD;
}
if (flStartTime + Float:get_member(id, m_blindFadeTime) >= flGameTime)
{
return FLASH_TIME;
}
return FLASH_NONE;
}
