Убрать/Заменить стандартные возможности игры.

pokypka20

Участник
Сообщения
244
Реакции
31
Подскажите реально ли совсем убрать табличку о победе комманд в конце раунда? интересует orange box находил плагины под v34, но сервер от них не запускается.

Подскажите как изменять стандартные надписи в клиенте игры? Например Балансировка комманд, установка c4 и прочие? Интересует как либо изменить их, либо удалить и в этот момент выдать свою.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
Подскажите реально ли совсем убрать табличку о победе комманд в конце раунда? интересует orange box находил плагины под v34, но сервер от них не запускается.

Подскажите как изменять стандартные надписи в клиенте игры? Например Балансировка комманд, установка c4 и прочие? Интересует как либо изменить их, либо удалить и в этот момент выдать свою.

HookUserMessage
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
PHP:
public OnPluginStart()
{
    HookUserMessage(GetUserMessageId("TextMsg"), Callback, true); // Тут скорее всего HudText или HudMsg
}

public Action:Callback(UserMsg:MsgId, Handle:hBitBuffer, const iPlayers[], iNumPlayers, bool:bReliable, bool:bInit)
{
    // тут проверки и блок
}
 

pokypka20

Участник
Сообщения
244
Реакции
31
PHP:
public OnPluginStart()
{
    HookUserMessage(GetUserMessageId("TextMsg"), Callback, true); // Тут скорее всего HudText или HudMsg
}

public Action:Callback(UserMsg:MsgId, Handle:hBitBuffer, const iPlayers[], iNumPlayers, bool:bReliable, bool:bInit)
{
    // тут проверки и блок
}

Спасибо огромное, в сотый раз извиняюсь.. Покажите пожалуйста как изменить событие любое допустим "Прошло 15 секунд. Вы не можете ничего купить." на "Закончилось время покупки" не обязательно на этом показывать, я просто как пример привёл. И где можно посмореть события игрока стандартные. Не SayText, HudText, а события текста отвечающие за действия в игре.
 

artyrka94

Участник
Сообщения
181
Реакции
38
Спасибо огромное, в сотый раз извиняюсь.. Покажите пожалуйста как изменить событие любое допустим "Прошло 15 секунд. Вы не можете ничего купить." на "Закончилось время покупки" не обязательно на этом показывать, я просто как пример привёл. И где можно посмореть события игрока стандартные. Не SayText, HudText, а события текста отвечающие за действия в игре.

cstrike/resource/cstrike_russian.txt

"Cstrike_TitlesTXT_Cant_buy" "Прошло %s1 с. Теперь вы ничего не можете купить."
 

pokypka20

Участник
Сообщения
244
Реакции
31
R1KO, Спасибо за помощь. У меня всё равно не получается :) Разжуй пожалуйста..
PHP:
public OnPluginStart()
{
	new UserMsg:id = GetUserMessageId("HudMsg");
	
    HookUserMessage(GetUserMessageId("HudMsg"), Callback, true); // Тут скорее всего HudText или HudMsg
}

public Action:Callback(UserMsg:MsgId, Handle:hBitBuffer, const iPlayers[], iNumPlayers, bool:bReliable, bool:bInit)
{
	if(strcmp(sMsg, "Cstrike_TitlesTXT_Hint_you_are_in_targetzone") == 0)
{
	PrintHintText(client, "Тест плагина");
} 
}
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
всё равно не получается
Вам же человек сказал:
открыть файл
cstrike/resource/cstrike_russian.txt
и найти там строчку:
"Cstrike_TitlesTXT_Cant_buy" "Прошло %s1 с. Теперь вы ничего не можете купить."
Содержимое в последних кавычках и меняй, на что хотел.
Если это клиенту передаётся вообще. :-D
 

pokypka20

Участник
Сообщения
244
Реакции
31
Вам же человек сказал:
открыть файл

и найти там строчку:
"Cstrike_TitlesTXT_Cant_buy" "Прошло %s1 с. Теперь вы ничего не можете купить."
Содержимое в последних кавычках и меняй, на что хотел.
Если это клиенту передаётся вообще. :-D

Ну прочитайте вы тему! Зачем мне менять у себя это в клиенте, мне нужно игроку через сервер это заменить заблокировать стандартное и написать своё!
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #12
pokypka20,
PHP:
public OnPluginStart()
{
    new UserMsg:id = GetUserMessageId("HudMsg");
    
    HookUserMessage(GetUserMessageId("HudMsg"), Callback, true); // Тут скорее всего HudText или HudMsg или HintText
}

public Action:Callback(UserMsg:MsgId, Handle:hBitBuffer, const iPlayers[], iNumPlayers, bool:bReliable, bool:bInit)
{
    decl String:message[256];
    BfReadString(bf, message, sizeof(message));
	if(strcmp(message, "Cstrike_TitlesTXT_Hint_you_are_in_targetzone") == 0)
	{
		PrintHintText(client, "Тест плагина");
		return Plugin_Handled;
	} 
}
 
Последнее редактирование:

pokypka20

Участник
Сообщения
244
Реакции
31
Эх как всегда камень в воду, так обрадовался и при компиляции написало ошибок.
PHP:
D:\massage.sp<11> : error 017: undefined symbol "bf"
D:\massage.sp<14> : error 017: undefined symbol "client"
D:\massage.sp<17> : warning 209: function "Callback" should return value

Брал последний код из поста рико.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #15
PHP:
public OnPluginStart()
{
    HookUserMessage(GetUserMessageId("HudMsg"), Callback, true); // Тут скорее всего HudText или HudMsg или HintText
}

public Action:Callback(UserMsg:MsgId, Handle:hBitBuffer, const iPlayers[], iNumPlayers, bool:bReliable, bool:bInit)
{
    decl String:message[256];
    BfReadString(hBitBuffer, message, sizeof(message));
    if(strcmp(message, "Cstrike_TitlesTXT_Hint_you_are_in_targetzone") == 0)
    {
		// клиента то ты еще не получил
		for(new i=0; i < iNumPlayers; i++) PrintHintText(iPlayers[i], "Тест плагина");
        return Plugin_Handled;
    }
	return Plugin_Continue;
}
Я не скидвал готовый код и не проверял код на ошибки. Я писал основную идею.
 

pokypka20

Участник
Сообщения
244
Реакции
31
не работает, у кого то получалось заменить? я перепробовал все msg, text в hookusermassage ничего не изменилось, и сообщение от игрока не скрылось стандартное показывает.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #17
pokypka20, для начала просто пробуй делать вывод сообщение в чат, чтобы видеть получилось ли отловить нужное сообщение
 

pokypka20

Участник
Сообщения
244
Реакции
31
не получается, пробовал уже по разному.
PHP:
public OnPluginStart()
{
    HookUserMessage(GetUserMessageId("HudText"), Callback, true); // Тут скорее всего HudText или HudMsg или HintText
}

public Action:Callback(UserMsg:MsgId, Handle:hBitBuffer, const iPlayers[], iNumPlayers, bool:bReliable, bool:bInit)
{
    decl String:message[256];
    BfReadString(hBitBuffer, message, sizeof(message));
    if(strcmp(message, "Cstrike_Tutor_You_See_Planted_Bomb_T") == 0)
    {
        for(new i=0; i < iNumPlayers; i++) 
		PrintToChatAll("Бомба заложена");
        return Plugin_Handled;
    }
    return Plugin_Continue;
}

Сообщение Бомба заложенна по дефолту выводится по центру экрана, здесь: https://wiki.alliedmods.net/User_messages
я нашол такого, и сообщение стандартное не блокируется.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #19
PHP:
public OnPluginStart()
{
    HookUserMessage(GetUserMessageId("HudText"), Callback, true); // Тут скорее всего HudText или HudMsg или HintText
}

public Action:Callback(UserMsg:MsgId, Handle:hBitBuffer, const iPlayers[], iNumPlayers, bool:bReliable, bool:bInit)
{
    decl String:message[256];
    BfReadString(hBitBuffer, message, sizeof(message));
    PrintToChatAll(message);
    return Plugin_Continue;
}
И смотришь в момент вывода нужного сообщения появилось ли оно в чате. Если нет - пробуй другой тип сообщения
PHP:
HookUserMessage(GetUserMessageId("HudText"), Callback, true); // Тут скорее всего HudText или HudMsg или HintText
 

pokypka20

Участник
Сообщения
244
Реакции
31
Перепробовал можно сказать все варианты, нет реакций. Может это невозможно отловить?
 
Сверху Снизу