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

Mod Сообщение

Тема в разделе 'Кодинг/Собственные решения', создана пользователем D[M]G, 25 май 2012.

  1. D[M]G Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Привет всем. Может кто нить написать мне плиз код на вывод сообщения на канале в приват игроку когда он пишет команду, но текст он должен брать из файла я думаю это не сложно и не долго. ^_^
  2. Guard Старожила

    Сообщения:
    473
    Спасибы:
    47
    Сборка бота GHost:
    Ghost++ RAKAL Edition
    Дата начала использования бота:
    00.00.2009
    Skype:
    Мой статус
    Какой бот? Какая должна быть команда? Какое должно быть название файла?
  3. D[M]G Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Ghostone, команду любую я чутка прям понимаю могу исправить, название тоже любое но например можно List.txt
  4. Guard Старожила

    Сообщения:
    473
    Спасибы:
    47
    Сборка бота GHost:
    Ghost++ RAKAL Edition
    Дата начала использования бота:
    00.00.2009
    Skype:
    Мой статус
    Дубль номер 1. Создай тхт фаил с названием list.txt, будет выводить одну случайную строку.

    Код:
    		//
    		// !LIST
    		//
    
    		if( Command == "list" )
    		{
    		string file = "list.txt";
    		ifstream in;
    		in.open( file.c_str( ) );
    		vector<string> sometext;
    		if( in.fail( ) )
    			CONSOLE_Print( "[GHOST] unable to read file list.txt" );
    		else
    		{
    			string Line;
    
    			while( !in.eof( ) )
    			{
    				getline( in, Line );
    				if( Line.empty( ) )
    					continue;
    				sometext.push_back(Line);
    			}
    		}
    		in.close( );
       
    		string Output;
    		srand((unsigned)time(0));
    		uint32_t point;
    		point = 1 + rand( ) % sometext.size()-1;
    		Output = sometext.at(point);
    
    		QueueChatCommand( Output, User, Whisper );
           }
    Вставить в bnet.cpp после команды !STATS.

    Если будет ошибка, то напиши ее здесь - пофиксим....
  5. D[M]G Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Насколько я знаю такая команда уже есть !Mars выводит одну рандомную строку но мне надо чтобы выводил весь текст
  6. Guard Старожила

    Сообщения:
    473
    Спасибы:
    47
    Сборка бота GHost:
    Ghost++ RAKAL Edition
    Дата начала использования бота:
    00.00.2009
    Skype:
    Мой статус
    А сервер даст возможность вывести сразу больше 3 строк?
  7. Guard Старожила

    Сообщения:
    473
    Спасибы:
    47
    Сборка бота GHost:
    Ghost++ RAKAL Edition
    Дата начала использования бота:
    00.00.2009
    Skype:
    Мой статус
    Код:
           //
           // !LIST
           //
    
           else if( Command == "list" )
           {
              ifstream in;
              in.open( "list.txt" );
    
              if( !in.fail( ) )
              {
                 uint32_t Count = 0;
                 string Line;
    
                 while( !in.eof( ) && Count < 8 )
                 {
                    getline( in, Line );
    
                    if( Line.empty( ) )
                    {
                       if( !in.eof( ) )
                          QueueChatCommand( " ", User, Whisper );
                    }
                    else
                       QueueChatCommand( Line, User, Whisper );
    
                    ++Count;
                 }
    
                 in.close( );
              }
              else
                 CONSOLE_Print( "[GAME: " + m_GameName + "] Failed to open [list.txt]" );
           }
    Дубль Два.
  8. D[M]G Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Код:
    c:\бот для warcraft 3\ghostone\ghost\ms_stdint.h(43) : fatal error C1083: Не удается открыть файл include: limits.h: No such file or directory
    config.cpp
    c:\бот для warcraft 3\ghostone\ghost\ms_stdint.h(43) : fatal error C1083: Не удается открыть файл include: limits.h: No such file or directory
    game_base.cpp
    c:\бот для warcraft 3\ghostone\ghost\ms_stdint.h(43) : fatal error C1083: Не удается открыть файл include: limits.h: No such file or directory
    Хотя я думаю ошибка не в коде но почему то при компиле выдает такие ошибки и ничего не изменяется но не давно я менял он все сделал
    P.S учу язык Java и вот это настораживает else if( Command == "list" )
  9. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    Такая форма записи в GHost++. В GHost One просто if'ы.
  10. D[M]G Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    так если у мя ghostone ток без else?
  11. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    Без, но это так, вообще, ошибку это не справит.
  12. D[M]G Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Понятно а с теми ошибками при компиле помочь не можешь?
    а то я не могу банально название команды изменить
  13. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    А ты какой Boost используешь и в какой VC компилируешь?
  14. D[M]G Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    использую 1.38 буст но ща качаю новый 1.49 и 2008 VC
  15. D[M]G Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    попробовал 1.49 толка не дало мб попробовать VC поновее?
  16. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    Тогда сдаюсь. Тут сразу сказать сложно.

    У тебя хоть чистый бот компилируется?

    Если да, то попробуй:
    • Скачать архив с исходным кодом и "совмести" со своим.

    Если нет:
    • Проверь правильно ли подключены директории с Boost'ом и с Boost-библиотеками.
    • Скачай снова Boost 1.38, скомпилируй библиотеки, подмонтируй в VC и попробуй скомпилировать.


    Для компиляции с Boost >= 1.46 и/или в VC2010-11 нужно модифицировать код бота, поэтому даже нет, и не было смысла прям так, в лоб, пробовать компилировать.
  17. D[M]G Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Тогда сдаюсь. Тут сразу сказать сложно.

    У тебя хоть чистый бот компилируется?

    Если да, то попробуй:
    • Скачать архив с исходным кодом и "совмести" со своим.

    Если нет:
    • Проверь правильно ли подключены директории с Boost'ом и с Boost-библиотеками.
    • Скачай снова Boost 1.38, скомпилируй библиотеки, подмонтируй в VC и попробуй скомпилировать.


    нет даж чистый не компилит но выдает 30 ошибок аж и не мог ли бы ты обьяснить как сделать все если нет?
    потому что делал все по гайду manuals/kak-kompilirovatx-bota-t708.html
  18. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    Скачиваешь Boost 1.38.0.

    Распаковываешь, например, на диск C:\.

    Запускаешь Visual Studio 2008 Command Prompt, начальное окно выглядит что-то вроде:
    Код:
    Setting environment for using Microsoft Visual Studio 2008 x86 tools.
    
    C:\Program Files\Microsoft Visual Studio 9.0\VC>
    Переходишь в директорию с Boost'ом:
    Код:
    C:\Program Files\Microsoft Visual Studio 9.0\VC>cd \boost_1_38_0
    Запускаешь BAT-файл - bootstrap.bat для того, чтобы выполнить построение утилиты bjam:
    Код:
    C:\boost_1_38_0>.\bootstrap
    Посредством утилиты bjam производишь построение необходимых библиотек:
    Код:
    C:\boost_1_38_0>.\bjam --with-date_time --with-filesystem --with-regex --with-system --with-thread
    Дожидаешься окончания построения, закрываешь командную строку VS:
    Код:
    C:\boost_1_38_0>exit


    Открываешь Visual Studio 2008 Express:

    [IMG]

    Пользуясь меню переходишь: Tools → Options → Projects and Solutions → VC++ Directories.

    В выпадающем списке Show directories for: выбираешь Include files.

    Нажимаешь значок папки (New line), тем самым добавляя новую строку. В только что созданной новой строке указываешь путь до директории с Boost - C:\boost_1_38_0.

    [IMG]

    В выпадающем списке Show directories for: выбираешь Library files.

    Нажимаешь значок папки (New line), тем самым добавляя новую строку. В только что созданной новой строке указываешь путь до директории с ранее скомпилированными библиотеками Boost - C:\boost_1_38_0\stage\lib.

    [IMG]

    Нажимаешь кнопку [ OK ].


    Всё, студия готова к работе. Можно открывать solution, задать конфигурацию и компилировать.
  19. D[M]G Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Запускаешь BAT-файл - bootstrap.bat для того, чтобы выполнить построение утилиты bjam:
    у меня нет такого
  20. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    Ну, наверно Boost старый, я его сам ни разу не использовал на Win.




    Ну, тогда так.

    Скачиваешь Boost 1.38.0.

    Распаковываешь, например, на диск C:\.

    Пропускаем этап с компиляцией утилиты bjam.
    Просто [link removed] скачай и распакуй в директорию boost_1_38_0.

    Если охота сделать свою, можешь скачать http://sourceforge.net/projects/boost/f ... am/3.1.18/, распаковать, зайти через консоль VS в директорию и запустить build.bat.



    Запускаешь Visual Studio 2008 Command Prompt, начальное окно выглядит что-то вроде:
    Код:
    Setting environment for using Microsoft Visual Studio 2008 x86 tools.
     
    C:\Program Files\Microsoft Visual Studio 9.0\VC>
    Переходишь в директорию с Boost'ом:
    Код:
    C:\Program Files\Microsoft Visual Studio 9.0\VC>cd \boost_1_38_0
    Посредством утилиты bjam производишь построение необходимых библиотек:
    Код:
    C:\boost_1_38_0>.\bjam stage toolset=msvc-9.0 variant=release,debug threading=multi link=static --with-date_time --with-filesystem --with-regex --with-system --with-thread
    Дожидаешься окончания построения, закрываешь командную строку VS:
    Код:
    C:\boost_1_38_0>exit


    Открываешь Visual Studio 2008 Express:

    [IMG]

    Пользуясь меню переходишь: Tools → Options → Projects and Solutions → VC++ Directories.

    В выпадающем списке Show directories for: выбираешь Include files.

    Нажимаешь значок папки (New line), тем самым добавляя новую строку. В только что созданной новой строке указываешь путь до директории с Boost - C:\boost_1_38_0.

    [IMG]

    В выпадающем списке Show directories for: выбираешь Library files.

    Нажимаешь значок папки (New line), тем самым добавляя новую строку. В только что созданной новой строке указываешь путь до директории с ранее скомпилированными библиотеками Boost - C:\boost_1_38_0\stage\lib.

    [IMG]

    Нажимаешь кнопку [ OK ].


    Всё, студия готова к работе. Можно открывать solution, задать конфигурацию и компилировать.