[L4d2] Как найти функцию которая отвечает за данный текст?

D

dr lex

Здравствуйте, нужен ваш совет и помощь

Я держу пару серверов и недавно поставил плагин serverhop. Он работает и нареканий к нему нет.
Но меня заинтересовал данный текст, который он создает. Пересмотрел весь плагин но не могу понять что его вызывает. Хотелось бы такой текст использовать в других целях например: информирование для игроков .
20161113123559_1.jpg

Сам плагин
Оффтоп
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Файл: valve_russian.txt
Путь /%GAME%/left4dead2/pak01_dir.vpk
Открывается с помощью GCFScape
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Vit_ amin, ну это уже клиентский файл и сервер этот текст изменить не может, как я понимаю
 

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Может быть и можно не уверен, можно побаловаться с HookUserMessage
А если вариант не катит, то изменить его у себя на сервере и закачать новый на клиент. Так как движок позволяет качать *.txt файлы.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Vit_ amin, и при каждой смене сервера на нормальный этот файл будет заменяться дефолтным
Плюс неизвестно что там за значение sv_pure у разных серверов
--- Добавлено позже ---
@inklesspen, а чуть ниже есть DialogType_AskConnect, который и является этим окошком
 

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Кто сказал, что данный файл будет заменяться, при каждой смене сервера. Данный файл не добавлен StringTables таблицу.
Помойму данный файл не используется sv_pure (конечно, если только его не прописали специально в файл для проверки у клиентов)
 
D

dr lex

Может быть и можно не уверен, можно побаловаться с HookUserMessage
А если вариант не катит, то изменить его у себя на сервере и закачать новый на клиент. Так как движок позволяет качать *.txt файлы.
Интересно, а на примере можно показать?

Проблема в том что после пару тестов понял что:
DialogType_AskConnect не годится, только как переход на другой ip сервера, через f3
DialogType_Msg - походу не поддерживается игрой l4d2 =( как только не пытался сделать и реализовать не получилось.
DialogType_Text и DialogType_Menu создает отдельное окно, что вызвало интерес в будущем реализовать некоторые вещи
20161113160451_1.jpg 20161113161437_1.jpg

Вопрос как ещё можно реализовать текст в верхнем углу или с правой стороны?
 
Последнее редактирование модератором:

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Интересно, а на примере можно показать?

Проблема в том что после пару тестов понял что:
DialogType_AskConnect не годится, только как переход на другой ip сервера, через f3
DialogType_Msg - походу не поддерживается игрой l4d2 =( как только не пытался сделать и реализовать не получилось.
DialogType_Text и DialogType_Menu создает отдельное окно, что вызвало интерес в будущем реализовать некоторые вещи
Посмотреть вложение 19552 Посмотреть вложение 19553

Вопрос как ещё можно реализовать текст в верхнем углу или с правой стороны?
Через консольную команду meta game поищи необходимый UserMessage, и попробуй его заблокировать. А там уже и может вывести свой текст.
P.S. Хотя я уже не уверен, что он есть.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
DialogType_Text и DialogType_Menu создает отдельное окно, что вызвало интерес в будущем реализовать некоторые вещи
чтобы их увидеть требуется нажимать ESC, что не есть хорошо во время боя (и их в запарке скорей всего даже не увидят)
А ещё это меню ещё то гуано: влазит всего 1 короткая строка на каждую из кнопок плюс там ещё какие-то ограничения
Вопрос как ещё можно реализовать текст в верхнем углу или с правой стороны?
Я делаю надпись оранжевым в левом верхнем углу таким образом:
PHP:
void ShowCountdown(char[] text)
{
    KeyValues kv = new KeyValues("Stuff", "title", text);
    kv.SetColor("color", 255, 127, 0, 255);
    kv.SetNum("level", 1);
    kv.SetNum("time", 10);
    for (int i = 1; i <= MaxClients; i++)
    {
        if (!IsClientInGame(i) || IsFakeClient(i)) continue;
        CreateDialog(i, kv, DialogType_Msg);
    }
    delete kv;
}
Правда ты писал, что в L4D2 не пашет.

Но можно, кажется, выводить коротенький текст в одну строку через KeyHintText
PHP:
    new Handle:hBuffer = StartMessageOne("KeyHintText", client);

    BfWriteByte(hBuffer, 1);
    BfWriteString(hBuffer, szText);
    EndMessage();
Выводиться должен вверху экрана
 
Последнее редактирование:
Сверху Снизу