Преработка на АФК плъгина

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
d3ath2435
Извън линия
Рекламатор
Рекламатор
Мнения: 545
Регистриран на: 04 Фев 2017, 19:59
Се отблагодари: 64 пъти
Получена благодарност: 127 пъти
Обратна връзка:

Преработка на АФК плъгина

Мнение от d3ath2435 » 06 Мар 2017, 17:29

Не знам какво става когато напиша /afk екрана става черен и щом сваля играта и вляза примерно за малко в интернет, след като вляза в играта отново вече го няма черния екран и могат да ме бият и по средата стои съобщението за командата /back

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <WPMGPrintChatColor>

new bool:g_blIsUserAfk[33];
new g_iMsgFade, g_iMaxPlayers;

new const g_szThinkingEntity[] = "afk_freezer_ent";

public plugin_init()
{
    register_plugin("AFK freezer", "1.0", "TheRedShoko @ AMXX-BG.info");
    
    register_clcmd("say /afk", "CommandGoAfk");
    register_clcmd("say /back", "CommandGetBack");
    
    g_iMsgFade = get_user_msgid("ScreenFade");
    g_iMaxPlayers = get_maxplayers();
    
    new iEnt = create_entity("info_target");
    
    if (iEnt)
    {
        register_think(g_szThinkingEntity, "FwAfkThinking");
        
        entity_set_string(iEnt, EV_SZ_classname, g_szThinkingEntity);
        entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.1);
    }
}

public FwAfkThinking(iEnt)
{
    if (!is_valid_ent(iEnt))
    {
        return;
    }
    
    static i;
    
    for (i = 1; i <= g_iMaxPlayers; i++)
    {
        if (!is_user_connected(i) || !is_user_alive(i) || !g_blIsUserAfk[i]) continue;
        
        client_print(i, print_center, "You are afk, type /back to get in game!");
    }
    
    entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 10.0);
}

public CommandGoAfk(id)
{
    if (g_blIsUserAfk[id])
    {
        return PLUGIN_HANDLED;
    }
    
    g_blIsUserAfk[id] = true;
    
    entity_set_int(id, EV_INT_flags, entity_get_int(id, EV_INT_flags) | FL_FROZEN);
    entity_set_float(id, EV_FL_takedamage, DAMAGE_NO);
    ShowFade(id, 255);
    client_print(id, print_center, "You are afk, type /back to get in game!");
    set_rendering(id, kRenderFxGlowShell, 255, 255, 255);
    
    return PLUGIN_HANDLED;
}

public CommandGetBack(id)
{
    if (!g_blIsUserAfk[id])
    {
        return PLUGIN_HANDLED;
    }
    
    g_blIsUserAfk[id] = false;
    
    PrintChatColor(id, PRINT_COLOR_PLAYERTEAM, "!g[AfkFreezer]!y You are no longer afk!");
    
    client_print(id, print_center, "");
    ShowFade(id, 0);
    entity_set_float(id, EV_FL_takedamage, DAMAGE_AIM);
    entity_set_int(id, EV_INT_flags, entity_get_int(id, EV_INT_flags) & ~FL_FROZEN);
    set_rendering(id);
    
    return PLUGIN_HANDLED;
}

ShowFade(index, alpha)
{
    message_begin(MSG_ONE, g_iMsgFade, _, index)
    write_short(1<<1);
    write_short(1<<1);
    write_short(alpha == 0 ? 0x0000 : 0x0004);
    write_byte(0);
    write_byte(0);
    write_byte(0);
    write_byte(alpha); 
    message_end();
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1026{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/


Последно издигане d3ath2435 от 06 Мар 2017, 17:29

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: Google [Bot] и 13 госта