Иконка ресурса

[VIP] Quick Defuse 1.2

Vagabond

Участник
Сообщения
43
Реакции
1
@Vagabond, Попробуй (Запусти плагин и измени значение в файле cfg/vip/Vip_QuickDefuse, либо перекомпиль, изменив кол-во)
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <vip_core>

#pragma newdecls required

public Plugin myinfo =
{
    name = "[VIP] Quick Defuse",
    author = "R1KO",
    version = "1.2"
};

#define MENU_INFO     1     // Отображать ли информацию в меню

static const char g_sFeature[] = "QuickDefuse";

int m_flDefuseCountDown;
int m_iProgressBarDuration;

bool g_bAllowUse;

ConVar g_hPlayers;

public void OnPluginStart()
{
    #if MENU_INFO 1
    LoadTranslations("vip_modules.phrases");
    #endif

    g_hPlayers = CreateConVar("sm_quick_defuse_players","0", "Количество игроков, при которых разрешается использование функции плагина", _, true, 0.0, true, 64.0);
  
    m_flDefuseCountDown = FindSendPropInfo("CPlantedC4", "m_flDefuseCountDown");
    m_iProgressBarDuration = FindSendPropInfo("CCSPlayer", "m_iProgressBarDuration");
  
    HookEvent("round_start",Event_RoundStart);
    HookEvent("bomb_begindefuse", Event_BeginDefuse);

    if(VIP_IsVIPLoaded())
    {
        VIP_OnVIPLoaded();
    }
  
    AutoExecConfig(true,"Vip_QuickDefuse","vip");
}

public void VIP_OnVIPLoaded()
{
    #if MENU_INFO 1
    VIP_RegisterFeature(g_sFeature, INT, _, _, OnItemDisplay);
    #else
    VIP_RegisterFeature(g_sFeature, INT);
    #endif
}

public void OnPluginEnd()
{
    if(CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "VIP_UnregisterFeature") == FeatureStatus_Available)
    {
        VIP_UnregisterFeature(g_sFeature);
    }
}
public Action Event_RoundStart(Event hEvent, char[] szEvName, bool bDontBroadcast)
{
    int count;
    for(int x = 1; x <= MaxClients;x++)
        if(IsClientInGame(x))
            count++;

    g_bAllowUse = count >= g_hPlayers.IntValue; // Интересно, побьют ли меня за такое
}
public void Event_BeginDefuse(Event hEvent, const char[] sEvName, bool bDontBroadcast)
{
    int iClient = GetClientOfUserId(hEvent.GetInt("userid"));

    if (g_bAllowUse && VIP_IsClientVIP(iClient) && VIP_IsClientFeatureUse(iClient, g_sFeature))
    {
        RequestFrame(OnRequestFrame, iClient);
    }
}

public void OnRequestFrame(any iClient)
{
    if(IsClientInGame(iClient))
    {
        int iBombEntity = FindEntityByClassname(-1, "planted_c4");
        if (iBombEntity > 0)
        {
            int iValue = VIP_GetClientFeatureInt(iClient, g_sFeature);
            float fGameTime = GetGameTime();
            float fCountDown = GetEntDataFloat(iBombEntity, m_flDefuseCountDown) - fGameTime;
            fCountDown -= fCountDown/100.0*float(iValue);
            SetEntDataFloat(iBombEntity, m_flDefuseCountDown, fGameTime+fCountDown, true);
            SetEntData(iClient, m_iProgressBarDuration, RoundToCeil(fCountDown));
        }
    }
}

#if MENU_INFO 1
public bool OnItemDisplay(int iClient, const char[] sFeatureName, char[] sDisplay, int iMaxLen)
{
    if(VIP_IsClientFeatureUse(iClient, g_sFeature))
    {
        FormatEx(sDisplay, iMaxLen, "%T [+%d %%]", g_sFeature, iClient, VIP_GetClientFeatureInt(iClient, g_sFeature));

        return true;
    }

    return false;
}
#endif
Пробовал твой плаг, не заработало, попробовал перекомпилить код, итог вот такая ошибка
error 180: function return tupe differs from prototype. expected 'int', but got 'void'
При чем в оригинале тоже такая же ошибка не знаю как перекомпилить...
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #22
@Vagabond, inc файлы обнови (от вип 3.0) возьми
 

_RomaN_

Участник
Сообщения
26
Реакции
5
Как исправить эту ошибку Unable to load plugin "vip/VIP_QuickDefuse_1.2.smx": Native "Event.GetInt" was not found
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #24
@_RomaN_, вероятно требуется см 1.7 или выше
 

Alpha Centauri

Участник
Сообщения
60
Реакции
1
А есть Quick Plant или типа того, что-то не найду похожего модуля. Быстрая установка бомбы. Для VIP естественно.

Оп, сорян. Нашел уже)))
Если кто еще тупит как я
[VIP] Fastplant
 

vitek37politov

Участник
Сообщения
49
Реакции
1
11/21/2015 - 12:09:21: [vip/VIP_Quick_Defuse_1.0.0.smx] Find offset: "CPlantedC4::m_flDefuseCountDown" == 1180 , как это исправить?
 

mrdiega

Участник
Сообщения
328
Реакции
47
Для разных вип групп можно разные значения "QuickDefuse" указывать?
 
Сверху Снизу