Как отключить HUD всем игрокам на сервере cs go

Someone

Участник
Сообщения
1,933
Реакции
1,653
/groups/sourcemod/upload_tmp/textnbBpJh.sp(9) : error 076: syntax error in the expression, or invalid function call
/groups/sourcemod/upload_tmp/textnbBpJh.sp(17) : warning 203: symbol is never used: "FrameSpawn"

1 Error.
Может ты не будешь компилировать через компилятор на сайте SM ?
 

Ju4qa

Участник
Сообщения
280
Реакции
63
Может ты не будешь компилировать через компилятор на сайте SM ?
сори. я даун
Сообщения автоматически склеены:

Может ты не будешь компилировать через компилятор на сайте SM ?
из всего пропал только прицел
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
сори. я даун
Сообщения автоматически склеены:


из всего пропал только прицел


Поиграйся со значениями. Надеюсь, что объяснять не придется.

C++:
#define        HIDEHUD_WEAPONSELECTION        ( 1<<0 )    // Hide ammo count & weapon selection
#define        HIDEHUD_FLASHLIGHT            ( 1<<1 )
#define       HIDEHUD_ALL                    ( 1<<2 )
#define     HIDEHUD_HEALTH                ( 1<<3 )    // Hide health & armor / suit battery
#define     HIDEHUD_PLAYERDEAD            ( 1<<4 )    // Hide when local player's dead
#define     HIDEHUD_NEEDSUIT            ( 1<<5 )    // Hide when the local player doesn't have the HEV suit
#define     HIDEHUD_MISCSTATUS            ( 1<<6 )    // Hide miscellaneous status elements (trains, pickup history, death notices, etc)
#define        HIDEHUD_CHAT                ( 1<<7 )    // Hide all communication elements (saytext, voice icon, etc)
#define        HIDEHUD_CROSSHAIR            ( 1<<8 )    // Hide crosshairs
#define        HIDEHUD_VEHICLE_CROSSHAIR    ( 1<<9 )    // Hide vehicle crosshair
#define     HIDEHUD_INVEHICLE            ( 1<<10 )
#define     HIDEHUD_BONUS_PROGRESS        ( 1<<11 )    // Hide bonus progress display (for bonus map challenges)

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_PlayerSpawn);
}

public void Event_PlayerSpawn(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    int iClient = GetClientOfUserId(hEvent.GetInt("userid"));
    if(!IsClientSourceTV(iClient))    RequestFrame(FrameSpawn, iClient);
}

void FrameSpawn(int iClient)
{
    static int iHUD;
    if(!iHUD)    iHUD = FindSendPropInfo("CCSPlayer", "m_iHideHUD");
    SetEntData(iClient, iHUD, GetEntData(iClient, iHud)|HIDEHUD_WEAPONSELECTION|HIDEHUD_HEALTH|HIDEHUD_CROSSHAIR|HIDEHUD_CHAT);
}
 

Ju4qa

Участник
Сообщения
280
Реакции
63
Поиграйся со значениями. Надеюсь, что объяснять не придется.

C++:
#define        HIDEHUD_WEAPONSELECTION        ( 1<<0 )    // Hide ammo count & weapon selection
#define        HIDEHUD_FLASHLIGHT            ( 1<<1 )
#define       HIDEHUD_ALL                    ( 1<<2 )
#define     HIDEHUD_HEALTH                ( 1<<3 )    // Hide health & armor / suit battery
#define     HIDEHUD_PLAYERDEAD            ( 1<<4 )    // Hide when local player's dead
#define     HIDEHUD_NEEDSUIT            ( 1<<5 )    // Hide when the local player doesn't have the HEV suit
#define     HIDEHUD_MISCSTATUS            ( 1<<6 )    // Hide miscellaneous status elements (trains, pickup history, death notices, etc)
#define        HIDEHUD_CHAT                ( 1<<7 )    // Hide all communication elements (saytext, voice icon, etc)
#define        HIDEHUD_CROSSHAIR            ( 1<<8 )    // Hide crosshairs
#define        HIDEHUD_VEHICLE_CROSSHAIR    ( 1<<9 )    // Hide vehicle crosshair
#define     HIDEHUD_INVEHICLE            ( 1<<10 )
#define     HIDEHUD_BONUS_PROGRESS        ( 1<<11 )    // Hide bonus progress display (for bonus map challenges)

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_PlayerSpawn);
}

public void Event_PlayerSpawn(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    int iClient = GetClientOfUserId(hEvent.GetInt("userid"));
    if(!IsClientSourceTV(iClient))    RequestFrame(FrameSpawn, iClient);
}

void FrameSpawn(int iClient)
{
    static int iHUD;
    if(!iHUD)    iHUD = FindSendPropInfo("CCSPlayer", "m_iHideHUD");
    SetEntData(iClient, iHUD, GetEntData(iClient, iHud)|HIDEHUD_WEAPONSELECTION|HIDEHUD_HEALTH|HIDEHUD_CROSSHAIR|HIDEHUD_CHAT);
}
Понял. Вопрос только один. Там от 0 до 10 макс разброс чисел?

И есть ли возможность кормить сервер переменными через консоль, чтобы не компилировать кучу раз?
 
Последнее редактирование:

Someone

Участник
Сообщения
1,933
Реакции
1,653
Понял. Вопрос только один. Там от 0 до 10 макс разброс чисел?

И есть ли возможность кормить сервер переменными через консоль, чтобы не компилировать кучу раз?
Сделай сам, раз так неймется в ресурсы плагинов накидать.
 

Ju4qa

Участник
Сообщения
280
Реакции
63
Сделай сам, раз так неймется в ресурсы плагинов накидать.
ну а вдруг кому-то пригодилось бы. я же указывал что сделал не я и всех кто помогал я указал
Сообщения автоматически склеены:

Поиграйся со значениями. Надеюсь, что объяснять не придется.

C++:
#define        HIDEHUD_WEAPONSELECTION        ( 1<<0 )    // Hide ammo count & weapon selection
#define        HIDEHUD_FLASHLIGHT            ( 1<<1 )
#define       HIDEHUD_ALL                    ( 1<<2 )
#define     HIDEHUD_HEALTH                ( 1<<3 )    // Hide health & armor / suit battery
#define     HIDEHUD_PLAYERDEAD            ( 1<<4 )    // Hide when local player's dead
#define     HIDEHUD_NEEDSUIT            ( 1<<5 )    // Hide when the local player doesn't have the HEV suit
#define     HIDEHUD_MISCSTATUS            ( 1<<6 )    // Hide miscellaneous status elements (trains, pickup history, death notices, etc)
#define        HIDEHUD_CHAT                ( 1<<7 )    // Hide all communication elements (saytext, voice icon, etc)
#define        HIDEHUD_CROSSHAIR            ( 1<<8 )    // Hide crosshairs
#define        HIDEHUD_VEHICLE_CROSSHAIR    ( 1<<9 )    // Hide vehicle crosshair
#define     HIDEHUD_INVEHICLE            ( 1<<10 )
#define     HIDEHUD_BONUS_PROGRESS        ( 1<<11 )    // Hide bonus progress display (for bonus map challenges)

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_PlayerSpawn);
}

public void Event_PlayerSpawn(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    int iClient = GetClientOfUserId(hEvent.GetInt("userid"));
    if(!IsClientSourceTV(iClient))    RequestFrame(FrameSpawn, iClient);
}

void FrameSpawn(int iClient)
{
    static int iHUD;
    if(!iHUD)    iHUD = FindSendPropInfo("CCSPlayer", "m_iHideHUD");
    SetEntData(iClient, iHUD, GetEntData(iClient, iHud)|HIDEHUD_WEAPONSELECTION|HIDEHUD_HEALTH|HIDEHUD_CROSSHAIR|HIDEHUD_CHAT);
}
error 076: syntax error in the expression, or invalid function call
warning 203: symbol is never used: "FrameSpawn"
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,558
Реакции
5,051

Grey83

не пишу плагины с весны 2022
Сообщения
8,558
Реакции
5,051
И есть ли возможность кормить сервер переменными через консоль, чтобы не компилировать кучу раз?
играйся:
C++:
/*
#define HIDEHUD_WEAPONSELECTION        (1<<0)    //    1        Hide ammo count & weapon selection
#define HIDEHUD_FLASHLIGHT            (1<<1)    //    2
#define HIDEHUD_ALL                    (1<<2)    //    4
#define HIDEHUD_HEALTH                (1<<3)    //    8        Hide health & armor / suit battery
#define HIDEHUD_PLAYERDEAD            (1<<4)    //    16        Hide when local player's dead
#define HIDEHUD_NEEDSUIT            (1<<5)    //    32        Hide when the local player doesn't have the HEV suit
#define HIDEHUD_MISCSTATUS            (1<<6)    //    64        Hide miscellaneous status elements (trains, pickup history, death notices, etc)
#define HIDEHUD_CHAT                (1<<7)    //    128        Hide all communication elements (saytext, voice icon, etc)
#define HIDEHUD_CROSSHAIR            (1<<8)    //    256        Hide crosshairs
#define HIDEHUD_VEHICLE_CROSSHAIR    (1<<9)    //    512        Hide vehicle crosshair
#define HIDEHUD_INVEHICLE            (1<<10)    //    1024
#define HIDEHUD_BONUS_PROGRESS        (1<<11)    //    2048    Hide bonus progress display (for bonus map challenges)
*/
int iMode;

public void OnPluginStart()
{
    ConVar cvar;
    (cvar = CreateConVar("sm_hidehud", "0", _, _, true, _, true, 4095.0)).AddChangeHook(CVarChanged);
    iMode = cvar.IntValue;

    HookEvent("player_spawn", Event_PlayerSpawn);
}

public void CVarChanged(ConVar cvar, const char[] oldValue, const char[] newValue)
{
    iMode = cvar.IntValue;
}

public void Event_PlayerSpawn(Event event, const char[] sName, bool bDontBroadcast)
{
    RequestFrame(RequestFrame_Callback, event.GetInt("userid"));
}

public void RequestFrame_Callback(any client)
{
    static int m_iHideHUD;
    if((client = GetClientOfUserId(client)) && !IsClientSourceTV(client))
    {
        if(!m_iHideHUD) m_iHideHUD = FindDataMapInfo(client, "m_iHideHUD");
        if(m_iHideHUD == -1) SetFailState("Can't find offset 'm_iHideHUD'!");
        SetEntData(client, m_iHideHUD, GetEntData(client, m_iHideHUD)|iMode);
    }
}
Сообщения автоматически склеены:

ничего не понял
то сообщение было не для тебя
 

Ju4qa

Участник
Сообщения
280
Реакции
63
играйся:
C++:
/*
#define HIDEHUD_WEAPONSELECTION        (1<<0)    //    1        Hide ammo count & weapon selection
#define HIDEHUD_FLASHLIGHT            (1<<1)    //    2
#define HIDEHUD_ALL                    (1<<2)    //    4
#define HIDEHUD_HEALTH                (1<<3)    //    8        Hide health & armor / suit battery
#define HIDEHUD_PLAYERDEAD            (1<<4)    //    16        Hide when local player's dead
#define HIDEHUD_NEEDSUIT            (1<<5)    //    32        Hide when the local player doesn't have the HEV suit
#define HIDEHUD_MISCSTATUS            (1<<6)    //    64        Hide miscellaneous status elements (trains, pickup history, death notices, etc)
#define HIDEHUD_CHAT                (1<<7)    //    128        Hide all communication elements (saytext, voice icon, etc)
#define HIDEHUD_CROSSHAIR            (1<<8)    //    256        Hide crosshairs
#define HIDEHUD_VEHICLE_CROSSHAIR    (1<<9)    //    512        Hide vehicle crosshair
#define HIDEHUD_INVEHICLE            (1<<10)    //    1024
#define HIDEHUD_BONUS_PROGRESS        (1<<11)    //    2048    Hide bonus progress display (for bonus map challenges)
*/
int iMode;

public void OnPluginStart()
{
    ConVar cvar;
    (cvar = CreateConVar("sm_hidehud", "0", _, _, true, _, true, 4095.0)).AddChangeHook(CVarChanged);
    iMode = cvar.IntValue;

    HookEvent("player_spawn", Event_PlayerSpawn);
}

public void CVarChanged(ConVar cvar, const char[] oldValue, const char[] newValue)
{
    iMode = cvar.IntValue;
}

public void Event_PlayerSpawn(Event event, const char[] sName, bool bDontBroadcast)
{
    RequestFrame(RequestFrame_Callback, event.GetInt("userid"));
}

public void RequestFrame_Callback(any client)
{
    static int m_iHideHUD;
    if((client = GetClientOfUserId(client)) && !IsClientSourceTV(client))
    {
        if(!m_iHideHUD) m_iHideHUD = FindDataMapInfo(client, "m_iHideHUD");
        if(m_iHideHUD == -1) SetFailState("Can't find offset 'm_iHideHUD'!");
        SetEntData(client, m_iHideHUD, GetEntData(client, m_iHideHUD)|iMode);
    }
}
Сообщения автоматически склеены:

то сообщение было не для тебя
оно то скомпилировалось, но работать не стало. пробовал менять значения. нифига(
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,558
Реакции
5,051
Менял значения перед спавном?
Худ в этом коде меняется только после спавна

Чтобы менялось на лету попробуй этот код:
C++:
public void OnPluginStart()
{
    RegConsoleCmd("sm_hidehud", Cmd_HideHUD);
}

public Action Cmd_HideHUD(int client, int args)
{
    if(!client)
        return Plugin_Handled;

    static int m_iHideHUD, iMode;
    if(!m_iHideHUD) m_iHideHUD = FindDataMapInfo(client, "m_iHideHUD");
    if(m_iHideHUD == -1) SetFailState("Can't find offset 'm_iHideHUD'!");

    if(args)
    {
        static char buffer[8];
        GetCmdArg(1, buffer, 8);
        iMode = StringToInt(buffer);
        SetEntData(client, m_iHideHUD, iMode);
    }
    else iMode = GetEntData(client, m_iHideHUD)
    PrintToChat(client, "Your HUD mode is: %i", iMode);
    return Plugin_Handled;
}
Команда sm_hidehud без параметра сообщит тебе о текущем режиме, а с параметром - сменит режим и сообщит о новом
 

Ju4qa

Участник
Сообщения
280
Реакции
63
Менял значения перед спавном?
Худ в этом коде меняется только после спавна
Чтобы менялось на лету попробуй этот код:
C++:
public void OnPluginStart()
{
    RegConsoleCmd("sm_hidehud", Cmd_HideHUD);
}

public Action Cmd_HideHUD(int client, int args)
{
    if(!client)
        return Plugin_Handled;

    static int m_iHideHUD, iMode;
    if(!m_iHideHUD) m_iHideHUD = FindDataMapInfo(client, "m_iHideHUD");
    if(m_iHideHUD == -1) SetFailState("Can't find offset 'm_iHideHUD'!");

    if(args)
    {
        static char buffer[8];
        GetCmdArg(1, buffer, 8);
        if('0' <= buffer[0] <= '9')
        iMode = StringToInt(buffer);
        SetEntData(client, m_iHideHUD, iMode);
    }
    else iMode = GetEntData(client, m_iHideHUD)
    PrintToChat(client, "Your HUD mode is: %i", iMode);
    return Plugin_Handled;
}
я менял значения, компилировал, заливал на сервер и перезапускал его
Сообщения автоматически склеены:

Менял значения перед спавном?
Худ в этом коде меняется только после спавна

Чтобы менялось на лету попробуй этот код:
C++:
public void OnPluginStart()
{
    RegConsoleCmd("sm_hidehud", Cmd_HideHUD);
}

public Action Cmd_HideHUD(int client, int args)
{
    if(!client)
        return Plugin_Handled;

    static int m_iHideHUD, iMode;
    if(!m_iHideHUD) m_iHideHUD = FindDataMapInfo(client, "m_iHideHUD");
    if(m_iHideHUD == -1) SetFailState("Can't find offset 'm_iHideHUD'!");

    if(args)
    {
        static char buffer[8];
        GetCmdArg(1, buffer, 8);
        iMode = StringToInt(buffer);
        SetEntData(client, m_iHideHUD, iMode);
    }
    else iMode = GetEntData(client, m_iHideHUD)
    PrintToChat(client, "Your HUD mode is: %i", iMode);
    return Plugin_Handled;
}
Команда sm_hidehud без параметра сообщит тебе о текущем режиме, а с параметром - сменит режим и сообщит о новом
тоже не работает
 
Последнее редактирование:

Someone

Участник
Сообщения
1,933
Реакции
1,653

Grey83

не пишу плагины с весны 2022
Сообщения
8,558
Реакции
5,051
ну если оффсеты в датамапах и нетпропах совпадают, то хорошо
 
Сверху Снизу