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

Тема в разделе "Программирование / Скриптинг", создана пользователем pokypka20, 15 июл 2014.

  1. pokypka20

    pokypka20

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

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

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    HookUserMessage
     
    pokypka20 нравится это.
  3. pokypka20

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Пример пожалуйста, я писал уже что не умею составлять код.
     
  4. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    PHP:
    public OnPluginStart()
    {
        
    HookUserMessage(GetUserMessageId("TextMsg"), Callbacktrue); // Тут скорее всего HudText или HudMsg
    }

    public 
    Action:Callback(UserMsg:MsgIdHandle:hBitBuffer, const iPlayers[], iNumPlayersbool:bReliablebool:bInit)
    {
        
    // тут проверки и блок
    }
     
    pokypka20 нравится это.
  5. pokypka20

    pokypka20

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

    artyrka94

    Сообщения:
    182
    Симпатии:
    36
    cstrike/resource/cstrike_russian.txt

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

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Вы точно форумом не ошиблись??
     
  8. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    pokypka20 и hellgu нравится это.
  9. pokypka20

    pokypka20

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

    public 
    Action:Callback(UserMsg:MsgIdHandle:hBitBuffer, const iPlayers[], iNumPlayersbool:bReliablebool:bInit)
    {
        if(
    strcmp(sMsg"Cstrike_TitlesTXT_Hint_you_are_in_targetzone") == 0)
    {
        
    PrintHintText(client"Тест плагина");

    }
     
  10. AlmazON

    AlmazON деревянный © yand3xmail

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

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Ну прочитайте вы тему! Зачем мне менять у себя это в клиенте, мне нужно игроку через сервер это заменить заблокировать стандартное и написать своё!
     
  12. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    pokypka20,
    PHP:
    public OnPluginStart()
    {
        new 
    UserMsg:id GetUserMessageId("HudMsg");
        
        
    HookUserMessage(GetUserMessageId("HudMsg"), Callbacktrue); // Тут скорее всего HudText или HudMsg или HintText
    }

    public 
    Action:Callback(UserMsg:MsgIdHandle:hBitBuffer, const iPlayers[], iNumPlayersbool:bReliablebool:bInit)
    {
        
    decl String:message[256];
        
    BfReadString(bfmessagesizeof(message));
        if(
    strcmp(message"Cstrike_TitlesTXT_Hint_you_are_in_targetzone") == 0)
        {
            
    PrintHintText(client"Тест плагина");
            return 
    Plugin_Handled;
        } 
    }
     
    Последнее редактирование: 22 июл 2014
    pokypka20 нравится это.
  13. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
    На сервере такой файл тоже есть. Но вряд ли такие прямые изменения отразятся на клиенте.
     
  14. pokypka20

    pokypka20

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

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    PHP:
    public OnPluginStart()
    {
        
    HookUserMessage(GetUserMessageId("HudMsg"), Callbacktrue); // Тут скорее всего HudText или HudMsg или HintText
    }

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

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    не работает, у кого то получалось заменить? я перепробовал все msg, text в hookusermassage ничего не изменилось, и сообщение от игрока не скрылось стандартное показывает.
     
  17. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    pokypka20, для начала просто пробуй делать вывод сообщение в чат, чтобы видеть получилось ли отловить нужное сообщение
     
  18. pokypka20

    pokypka20

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

    public 
    Action:Callback(UserMsg:MsgIdHandle:hBitBuffer, const iPlayers[], iNumPlayersbool:bReliablebool:bInit)
    {
        
    decl String:message[256];
        
    BfReadString(hBitBuffermessagesizeof(message));
        if(
    strcmp(message"Cstrike_Tutor_You_See_Planted_Bomb_T") == 0)
        {
            for(new 
    i=0iNumPlayersi++) 
            
    PrintToChatAll("Бомба заложена");
            return 
    Plugin_Handled;
        }
        return 
    Plugin_Continue;
    Сообщение Бомба заложенна по дефолту выводится по центру экрана, здесь: https://wiki.alliedmods.net/User_messages
    я нашол такого, и сообщение стандартное не блокируется.
     
  19. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    PHP:
    public OnPluginStart()
    {
        
    HookUserMessage(GetUserMessageId("HudText"), Callbacktrue); // Тут скорее всего HudText или HudMsg или HintText
    }

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

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Перепробовал можно сказать все варианты, нет реакций. Может это невозможно отловить?