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

Panorama TimeLeft 1.1.1

Нет прав для скачивания
Сообщения
84
Реакции
2
@Yura7181,
PHP:
public Plugin myinfo =
{
    name = "Panorama timeLeft",
    description = "Отображение времени до конца карты",
    author = "Phoenix (˙·٠●Феникс●٠·˙)",
    version = "1.0.0",
    url = "zizt.ru hlmod.ru"
};

bool g_bPanorama[MAXPLAYERS + 1];


public void ClientConVar(QueryCookie hCookie, int iClient, ConVarQueryResult hResult, const char[] sCvarName, const char[] sCvarValue)
{
   if(hResult == ConVarQuery_Okay) g_bPanorama[iClient] = true; // Использует
}

public void OnClientDisconnect(int iClient)
{
    g_bPanorama[iClient] = false;
}

public void OnClientPutInServer(int iClient)
{
   QueryClientConVar(iClient, "@panorama_debug_overlay_opacity", ClientConVar);
}

public void OnMapStart()
{
    CreateTimer(1.0, Timer_UPDATE, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}

public Action Timer_UPDATE(Handle timer)
{
    int timeleft;
    char sBuf[255];
    GetMapTimeLeft(timeleft);
    if(timeleft > 0) FormatEx(sBuf, sizeof sBuf, "До конца карты - %d:%02d", timeleft / 60, timeleft % 60);
    else sBuf = "Последний раунд";

    SetHudTextParams(-1.0, 0.99, 1.5, 0, 255, 255, 0);
    for(int iClient = 1; iClient <= MaxClients; iClient++)
    {
        if(g_bPanorama[iClient] && ( GetClientButtons(iClient) & IN_SCORE) )
        {         
            Format(sBuf,sizeof sBuf, "%s\n%d Spectators",sBuf,SpecTimer(iClient));
            ShowHudText(iClient, 4, sBuf);
        }
    }
    return Plugin_Continue;
}
stock int SpecTimer(int client)
{
    int target = 0;

    if ( !IsPlayerAlive( client ) )
    {
        int newtarget = GetClientObserverTarget( client );
      
        if ( 0 < newtarget && newtarget <= MaxClients
        &&    IsClientInGame( newtarget )
        &&  IsPlayerAlive( newtarget )
        &&  GetClientObserverMode( client ) != 6)
        {
            target = newtarget;
        }
    }
    else
    {
        target = client;
    }


    if ( !target ) return 0;

    int num;

    for ( int i = 1; i <= MaxClients; i++ )
    {
        if ( i == target ) continue;
      
        if ( !IsClientInGame( i ) ) continue;
      
        if ( IsFakeClient( i ) ) continue;
      
        if ( IsPlayerAlive( i ) ) continue;
      
      
        if ( GetClientObserverTarget( i ) == target && GetClientObserverMode( client ) != 6 )
            ++num;
    }
    return num;
}
stock int GetClientObserverMode( int client )
{
    return GetEntProp( client, Prop_Send, "m_iObserverMode" );
}

stock int GetClientObserverTarget( int client )
{
    return GetEntPropEnt( client, Prop_Send, "m_hObserverTarget" );
}
Здравствуй можете сделать что бы при табе работал этот плагин ? без спектров и наблюдателей
 
Сообщения
909
Реакции
383
@Stepan1, Если вы имели введу просто дополнить проверкой на таб обычный плагин, то должно быть так

PHP:
public Plugin myinfo =
{
    name = "Panorama timeLeft",
    description = "Отображение времени до конца карты",
    author = "Phoenix (˙·٠●Феникс●٠·˙)",
    version = "1.0.0",
    url = "zizt.ru hlmod.ru"
};

public void OnMapStart()
{
    CreateTimer(1.0, Timer_UPDATE, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}

public Action Timer_UPDATE(Handle timer)
{
    int timeleft;
    char sBuf[255];
    GetMapTimeLeft(timeleft);
    if(timeleft > 0) FormatEx(sBuf, sizeof sBuf, "До конца карты - %d:%02d", timeleft / 60, timeleft % 60);
    else sBuf = "Последний раунд";
    SetHudTextParams(-1.0, 0.99, 1.5, 0, 255, 255, 0);
    for(int iClient = 1; iClient <= MaxClients; iClient++)
    {
        if( IsClientInGame(iClient) && GetClientButtons(iClient) & IN_SCORE )
        {         
            ShowHudText(iClient, 4, sBuf);
        }
    }
    return Plugin_Continue;
}
 
Последнее редактирование:
Сообщения
84
Реакции
2
@Stepan1, Если вы имели введу просто дополнить проверкой на таб обычный плагин, то должно быть так

PHP:
public Plugin myinfo =
{
    name = "Panorama timeLeft",
    description = "Отображение времени до конца карты",
    author = "Phoenix (˙·٠●Феникс●٠·˙)",
    version = "1.0.0",
    url = "zizt.ru hlmod.ru"
};

public void OnMapStart()
{
    CreateTimer(1.0, Timer_UPDATE, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}

public Action Timer_UPDATE(Handle timer)
{
    int timeleft;
    char sBuf[255];
    GetMapTimeLeft(timeleft);
    if(timeleft > 0) FormatEx(sBuf, sizeof sBuf, "До конца карты - %d:%02d", timeleft / 60, timeleft % 60);
    else sBuf = "Последний раунд";
    SetHudTextParams(-1.0, 0.99, 1.5, 0, 255, 255, 0);
    for(int iClient = 1; iClient <= MaxClients; iClient++)
    {
        if( GetClientButtons(iClient) & IN_SCORE )
        {         
            ShowHudText(iClient, 4, sBuf);
        }
    }
    return Plugin_Continue;
}
Можно узнать как сделать синий цвет ?
 
Сообщения
157
Реакции
6
А как сделать чтобы показывало справа по центру, а то снизу баннер стоит, загораживает время до конца карты? А ещё убрать наблюдателей. Просто оставить время до конца карты по центру справа.
 
Сообщения
909
Реакции
383
@Mr. Just, Справа, насколько я знаю, до сих пор нереально, его просто там не будет видно, плагин изначально идет без "наблюдателей", просто экспериментируйте с координатами.
 
Сообщения
157
Реакции
6
@Mr. Just, Справа, насколько я знаю, до сих пор нереально, его просто там не будет видно, плагин изначально идет без "наблюдателей", просто экспериментируйте с координатами.
Ну слева хотя бы тогда и чтобы по ТАБу только показывалось :)
 
Последнее редактирование:
Сообщения
84
Реакции
2
@Stepan1, Если вы имели введу просто дополнить проверкой на таб обычный плагин, то должно быть так

PHP:
public Plugin myinfo =
{
    name = "Panorama timeLeft",
    description = "Отображение времени до конца карты",
    author = "Phoenix (˙·٠●Феникс●٠·˙)",
    version = "1.0.0",
    url = "zizt.ru hlmod.ru"
};

public void OnMapStart()
{
    CreateTimer(1.0, Timer_UPDATE, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}

public Action Timer_UPDATE(Handle timer)
{
    int timeleft;
    char sBuf[255];
    GetMapTimeLeft(timeleft);
    if(timeleft > 0) FormatEx(sBuf, sizeof sBuf, "До конца карты - %d:%02d", timeleft / 60, timeleft % 60);
    else sBuf = "Последний раунд";
    SetHudTextParams(-1.0, 0.99, 1.5, 0, 255, 255, 0);
    for(int iClient = 1; iClient <= MaxClients; iClient++)
    {
        if( GetClientButtons(iClient) & IN_SCORE )
        {         
            ShowHudText(iClient, 4, sBuf);
        }
    }
    return Plugin_Continue;
}
L 02/05/2019 - 23:39:43: [SM] Exception reported: Entity 4 (4) is invalid
L 02/05/2019 - 23:39:43: [SM] Blaming: timeleft_panorama.smx
L 02/05/2019 - 23:39:43: [SM] Call stack trace:
L 02/05/2019 - 23:39:43: [SM] [0] GetEntProp
L 02/05/2019 - 23:39:43: [SM] [1] Line 593, C:\Users\StrAnn1k\OneDrive\Документы\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\include\entity_prop_stocks.inc::GetClientButtons
L 02/05/2019 - 23:39:43: [SM] [2] Line 25, C:\Users\StrAnn1k\OneDrive\Документы\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\timeleft_panorama.sp::Timer_UPDATE
L 02/05/2019 - 23:39:44: [SM] Exception reported: Entity 4 (4) is invalid
 

September

В отпуске
Модератор
Сообщения
3,224
Реакции
1,046
L 02/05/2019 - 23:39:43: [SM] Exception reported: Entity 4 (4) is invalid
L 02/05/2019 - 23:39:43: [SM] Blaming: timeleft_panorama.smx
L 02/05/2019 - 23:39:43: [SM] Call stack trace:
L 02/05/2019 - 23:39:43: [SM] [0] GetEntProp
L 02/05/2019 - 23:39:43: [SM] [1] Line 593, C:\Users\StrAnn1k\OneDrive\Документы\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\include\entity_prop_stocks.inc::GetClientButtons
L 02/05/2019 - 23:39:43: [SM] [2] Line 25, C:\Users\StrAnn1k\OneDrive\Документы\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\timeleft_panorama.sp::Timer_UPDATE
L 02/05/2019 - 23:39:44: [SM] Exception reported: Entity 4 (4) is invalid
не поправил?
 
Сообщения
167
Реакции
17
@Stepan1, Если вы имели введу просто дополнить проверкой на таб обычный плагин, то должно быть так

PHP:
public Plugin myinfo =
{
    name = "Panorama timeLeft",
    description = "Отображение времени до конца карты",
    author = "Phoenix (˙·٠●Феникс●٠·˙)",
    version = "1.0.0",
    url = "zizt.ru hlmod.ru"
};

public void OnMapStart()
{
    CreateTimer(1.0, Timer_UPDATE, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}

public Action Timer_UPDATE(Handle timer)
{
    int timeleft;
    char sBuf[255];
    GetMapTimeLeft(timeleft);
    if(timeleft > 0) FormatEx(sBuf, sizeof sBuf, "До конца карты - %d:%02d", timeleft / 60, timeleft % 60);
    else sBuf = "Последний раунд";
    SetHudTextParams(-1.0, 0.99, 1.5, 0, 255, 255, 0);
    for(int iClient = 1; iClient <= MaxClients; iClient++)
    {
        if( IsClientInGame(iClient) && GetClientButtons(iClient) & IN_SCORE )
        {       
            ShowHudText(iClient, 4, sBuf);
        }
    }
    return Plugin_Continue;
}
Спасибо, мил человек.

timeleft_pano.gif
 

komashchenko

Идиот
Сообщения
800
Реакции
1,536
Пользователь komashchenko обновил ресурс Panorama TimeLeft новой записью:

Отображение времени слева по нажатию TAB

Отображает время до конца карты и следующею карту слева по центру только когда игрок держит кнопку TAB

Посмотреть вложение 39757
Узнать больше об этом обновлении...
 
Сообщения
44
Реакции
0
@komashchenko Здравствуйте, у вас написан путь -куда нужно кидать файл panorama_timeleft.sp -> spcomp -> addons/sourcemod/plugins/
Что значит spcomp?
 
Сообщения
44
Реакции
0
@komashchenko а sp файл в scripting оставлять? Или просто сам скомпилированый smx в plugins закинуть?
 
Сообщения
308
Реакции
31
@komashchenko, можешь убрать с плагина показ след-карты
я просто стандарт голосование использую
и ошибку выдает
L 03/05/2019 - 17:25:44: [SM] Unable to load plugin "panorama_timeleft.smx": Could not find required plugin "mapchooser"
L 03/05/2019 - 17:28:28: Error log file session closed.
 
Сверху