1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

несколько вопросов

Тема в разделе 'Кодинг/Собственные решения', создана пользователем p03uTuFF, 3 янв 2011.

Статус темы:
Закрыта.
  1. p03uTuFF Ньюфаг

    Сообщения:
    20
    Спасибы:
    0
    1. можно ли как-то поменять цвет сообщений бота в лобби
    [IMG]
    что бы он писал не белым цветом, а серым как сообщения варкарфта

    2. где в исходниках строчки отвечающие за отправку этих сообщений
    [IMG]
    т.е. я хочу вообще убрать их что бы бот не писал их

    3.
    Код:
    // show game start text
    	// read from gameloaded.txt if available
    
    	if (m_GameLoadedTime!=0 && !m_GameLoadedMessage)
    	if (GetTime()>=m_GameLoadedTime+m_GHost->m_GameLoadedPrintout)
    	{
    		CONSOLE_Print("[GAME: " + m_GameName + "] loading gameloaded.txt");
    		m_GameLoadedMessage = true;
    		ifstream inn;
    		inn.open( "gameloaded.txt" );
    
    		if( !inn.fail( ) )
    		{
    			// don't print more than 8 lines
    
    			uint32_t Count = 0;
    			string Line;
    
    			while( !inn.eof( ) && Count < 8 )
    			{
    				getline( inn, Line );
    
    				if( Line.empty( ) )
    					SendAllChat( " " );
    				else
    					SendAllChat( Line );
    
    				if( inn.eof( ) )
    					break;
    
    				Count++;
    			}
    
    			inn.close( );
    		} else
    			CONSOLE_Print("[GAME: " + m_GameName + "] gameloaded.txt load failed");
    
    	}
    
    как сделать что бы бот не загружал геймлоад.тхт а брал определенную строчку допустим из файла Russian.cfg
  2. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    башенный :facepalm:
  3. p03uTuFF Ньюфаг

    Сообщения:
    20
    Спасибы:
    0
    аргументируй ?
  4. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    для начала выучи как работает варик
    скрины :facepalm:
  5. p03uTuFF Ньюфаг

    Сообщения:
    20
    Спасибы:
    0
    причем здесь скрины, суть вопроса ясна? да. неужели сложно ответить по теме, как это сделать или сказать, что это нереально
  6. Fanat Ranetok Старожила

    Сообщения:
    167
    Спасибы:
    0
    Сборка бота GHost:
    Skynet++ 2.0
    первый скрин ваще сильный
  7. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    если они не причем - нафиг офтопиш в теме?
    первое не возмонжо
    второе легко решается поиском по исходникам( в начале нужно найте эту строку в языке и уже искаить lanx_xxx)
    третее легко если ты сделаеш второе и поймеш как берутся строки с ланга
  8. p03uTuFF Ньюфаг

    Сообщения:
    20
    Спасибы:
    0
    окей со 2м понял спасибо
    вот на счет 3го. в файл language.h добавить строку например
    Код:
    string gameload( string owner );
    в файл language.cpp добавить
    Код:
    string CLanguage :: gameload( string owner )
    {
    	string Out = m_CFG->GetString( "lang_1016", "lang_1016" );
    	Replace( Out, "$owner$", owner );
    	return Out;
    }
    дописать в файл языков строку
    а что в файле game_base.cpp писать подскажи
  9. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    А чем тебя неустроил gameloaded.txt в 1 строку?
  10. p03uTuFF Ньюфаг

    Сообщения:
    20
    Спасибы:
    0
    ну например у меня есть несколько админов на боте, я хочу что бы при старте игры выводило ник овнера игры, ну или еще какую нибудь динамическую надпись
  11. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    это можно сделать и в велкоме...
  12. p03uTuFF Ньюфаг

    Сообщения:
    20
    Спасибы:
    0
    как ? только что попробовал в файл gameload.txt добавить "game is hosted by [$OWNER$]"
    ник овнера так и не показывает. возвращаюсь к вопросу как это сделать в коде? что нужно написать в файле game_base.cpp
  13. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    после
    Код:
    getline( inn, Line );
    Replace( Out, "$owner$", тут_переменная_овнера );
  14. p03uTuFF Ньюфаг

    Сообщения:
    20
    Спасибы:
    0
    добавил все как я писал в 8м посте
    после
    Код:
    getline( inn, Line );
    пишу Replace( Out, "$OWNER$", GameLoadedd( string owner ) );
    на этапе компиляции ошибки
    Код:
    1>Компиляция...
    1>game_base.cpp
    1>d:\games\warcraft iii - frozen throne\botbl\ghostone\ghost\game_base.cpp(1412) : error C2065: Out: необъявленный идентификатор
    1>d:\games\warcraft iii - frozen throne\botbl\ghostone\ghost\game_base.cpp(1412) : error C2275: std::string: недопустимое использование этого типа в качестве выражения
    1>        c:\program files\microsoft visual studio 9.0\vc\include\xstring(2210): см. объявление 'std::string'
    1>d:\games\warcraft iii - frozen throne\botbl\ghostone\ghost\game_base.cpp(1412) : error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "owner"
    1>d:\games\warcraft iii - frozen throne\botbl\ghostone\ghost\game_base.cpp(1412) : error C2059: синтаксическая ошибка: )
    1>d:\games\warcraft iii - frozen throne\botbl\ghostone\ghost\game_base.cpp(1412) : error C3861: GameLoadedd: идентификатор не найден
    т.к. я С++ знаю не очень, даже совсем никак пробовал
    Replace( Out, "$OWNER$", GameLoadedd( ) ); перед этим убрав значения в lahgeage.h/.cpp
    Код:
    1>Компиляция...
    1>game_base.cpp
    1>d:\games\warcraft iii - frozen throne\botbl\ghostone\ghost\game_base.cpp(1412) : error C2065: Out: необъявленный идентификатор
    1>d:\games\warcraft iii - frozen throne\botbl\ghostone\ghost\game_base.cpp(1412) : error C3861: GameLoadedd: идентификатор не найден
    
    пробовал закоментировать все, добавить
    SendAllChat( m_GHost->m_Language->GameLoadedd(string owner ) );
    в варкрафте пишет только это:
    [IMG]
  15. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    Ну тут вместо Out нужно было Line
  16. p03uTuFF Ньюфаг

    Сообщения:
    20
    Спасибы:
    0
    хорошо, а что делать с этим
    Код:
    1>d:\games\warcraft iii - frozen throne\botbl\ghostone\ghost\game_base.cpp(1412) : error C3861: GameLoadedd: идентификатор не найден
  17. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    Код:
    // show game start text
       // read from gameloaded.txt if available
    
       if (m_GameLoadedTime!=0 && !m_GameLoadedMessage)
       if (GetTime()>=m_GameLoadedTime+m_GHost->m_GameLoadedPrintout)
       {
          CONSOLE_Print("[GAME: " + m_GameName + "] loading gameloaded.txt");
          m_GameLoadedMessage = true;
          ifstream inn;
          inn.open( "gameloaded.txt" );
    
          if( !inn.fail( ) )
          {
             // don't print more than 8 lines
    
             uint32_t Count = 0;
             string Line;
    
             while( !inn.eof( ) && Count < 8 )
             {
                getline( inn, Line );
    Replace( Line, "$owner$", m_Owner );// помоему эта переменная
    
                if( Line.empty( ) )
                   SendAllChat( " " );
                else
                   SendAllChat( Line );
    
                if( inn.eof( ) )
                   break;
    
                Count++;
             }
    
             inn.close( );
          } else
             CONSOLE_Print("[GAME: " + m_GameName + "] gameloaded.txt load failed");
    
       }
  18. p03uTuFF Ньюфаг

    Сообщения:
    20
    Спасибы:
    0
    пишет m_Owner: необъявленный идентификатор =(
  19. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    ну замени это на ту переменную которую ты хотел кидать в ланг ( ТВОЙ ДИНАМИЧЕСКИЙ ТЕКСТ)
  20. p03uTuFF Ньюфаг

    Сообщения:
    20
    Спасибы:
    0
    ура, спасибо, все вышло. вот что написал Replace( Line, "$OWNER$", GetOwnerName( ));
Статус темы:
Закрыта.