Сменить gamename

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
3,349
Реакции
1,474
Помог
124 раз(а)
На ReHLDS есть способы сменить название игры без плагинов? Я помню, на дпрото была такая возможность.

Если нет, то как лучше всего менять плагином?
Код:
#define gamename Название
.
.
public plugin_init()
    register_forward(FM_GetGameDescription, "CsGameName")
.
.
public CsGameName()
{
    new gamename[32]
    forward_return(FMV_STRING, gamename)
    return FMRES_SUPERCEDE
}
Так нормально будет?
 
Сообщения
2,288
Реакции
1,737
Помог
31 раз(а)
sbelov020,
Код:
#include <amxmodx>
#include <fakemeta>

#define GAMENAME "имя игры"

public plugin_init()
    register_forward(FM_GetGameDescription, "fwdGetGameDescription");
    
public fwdGetGameDescription()
{
    forward_return(FMV_STRING, GAMENAME);
    return FMRES_SUPERCEDE;
}
 
Сообщения
25
Реакции
57
Помог
1 раз(а)
sbelov020, а зачем пытаться придумывать велосипед?

Читаем FAQ Reunion и находим ссылку:
Game Name Changer. Fakemeta

Версия для Reapi:
Game Name Changer. Reapi

Всё просто. Достаточно лишь поискать. =)
А и да. Вопрос "есть способы сменить название игры без плагинов?..." риторический.
 
Сообщения
87
Реакции
54
Помог
1 раз(а)
Сообщения
2,831
Реакции
1,666
Помог
75 раз(а)
Код:
#include <amxmodx>

#define ENABLE_REAPI

#if defined ENABLE_REAPI
      #include <reapi>
#else
      #include <fakemeta>
#endif

public plugin_init()
{
register_plugin("Change Game Name", "1.2", "GoldSrc Team");
register_cvar("amx_gamename", "ИМЯ_ИГРЫ");
#if !defined ENABLE_REAPI
     register_forward(FM_GetGameDescription, "Fm_SetGameName");
#endif
}

#if defined ENABLE_REAPI

public plugin_cfg()
{
new GameName[32];
get_cvar_string("amx_gamename", GameName, charsmax(GameName));
set_member_game(m_GameDesc, GameName);
}

#else

public Fm_SetGameName()
{
static GameName[32];
get_cvar_string("amx_gamename", GameName, charsmax(GameName));
forward_return(FMV_STRING, GameName);
return FMRES_SUPERCEDE;
}

#endif
 
Последнее редактирование:
Сообщения
3,349
Реакции
1,474
Помог
124 раз(а)
Pokemoshka, DashaKarma, Алексеич, не вижу принципиальных отличий от того, что я написал, кроме квара
я точно так же зарегистрировал форвард и вернул его значение
Алексеич, ну и кроме реапи
 
Сообщения
2,716
Реакции
2,996
Помог
59 раз(а)
На ReHLDS есть способы сменить название игры без плагинов?
Своего рода модули для Metamod - так же являются плагинами :dntknw:.
Простейший путь смены имени игры описан выше, с использованием ReAPI (set_member_game(m_GameDesc, "My server is cool");.

Код от Pokemoshka с использованием Fakemeta не советую использовать. Нагрузки особо не будет, однако, не зачем использовать хук (который вызывается при каждом запросе клиентом "информации" о сервере),
1538921082072.png в коде предложенном Алексеич так вообще печаль в хуке для GoldSrc с его тугой работой с строками и перебором строки при использовании get_cvar_string()
Код:
public Fm_SetGameName()
{
    static GameName[32];
    get_cvar_string("amx_gamename", GameName, charsmax(GameName)); // Туго достали значение CVar'а
    forward_return(FMV_STRING, GameName); // Туго установили значение CVar'a
    return FMRES_SUPERCEDE;
}
хоть на AMXX 1.8.3 и сделали хороший доступ к всем "переменным" (в которых не наблюдается m_GameDesc, так как переменная была добавлена в ReGameDLL) - чтобы по хорошему использовать эти возможности прийдётся редактировать gamedata-файлы.

Следовательно, пока не "добавили" доступ из самого AMXX к этой переменной, рекомендуется использовать ReAPI - по причине лучшего метода установки. (меняем единожды на запуске карты)
 
Последнее редактирование:
Сообщения
1,419
Реакции
2,509
Помог
59 раз(а)
xramer, из-за плагина что стоит на сервере.
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
wopox1337, спасибо за разъяснение объяснения
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу