Показать сообщение отдельно
Непрочитано 17.10.2011, 22:17   #628
Аватар для Csandr
Участник

Lightbulb Re: Ghost++ , GhostOne - Скачать - Установить - Настроить

Цитата:
Сообщение от FirstBLOODiX Посмотреть сообщение
Хух.. 2 дня чтения этих 60 страниц форума, и куча вопросов отпало!! =)
Ну вот все таки некоторые остались:
1) Хост висит на канале, и воспринимает команды от меня(рутадмина) и списка Админов. Всех остольных игнорит в ноль!
2) Может ли кто нибудь помочь или перенаправить с таким вот вопросиком. Стата доты пашет, считайет "птс" и все ок! А как мне синхронизировать эту базу с базой на сайте(дабы каждый мог зайти и позырить его статы на сайте).

и последнее, можно ли зделать так что бы Бот приветствовал всех входящих на канал фразой типа: " Приветствую "ник"! Не скучай, а создавай! (!map !pub .. ) "

по ходу тестинга, возник еще один вопрос, при прописи !owner выдает: " Владельца игры - "ник" " где изменить?) (было бы розмней написать: "Хост игры - .. ", " ВладелЕЦ игры - ..")


1) ХЗ чтот в Исходниках нуно исправлять
2) погугли DotaOpenStats, или
Цитата:
Сообщение от LongMan Посмотреть сообщение
Мануал по установке Dota Open Stats на AppServ

1. Скачиваем последнюю версию Dota Open Stats (дальше DOS).
2. Распаковываем в C:\AppServ\www (или туда, где установлен AppServ).
3. Открываем phpmyadmin (localhost/phpmyadmin), вводим в логин-форму ваши данные, которые вы вводили при установке AppServ - например USERNAME - lol123, PASSWORD - abc123.
4. Нажимаем вкладку SQL.
  • Если вы уже создали базу данных ghost (для своего бота), то выполните только этот шаг:
    • Выполните SQL запрос из файла MySQLSetup.sql, который находится в директории DOS'a/DOC
    Иначе, если вы делаете это в первый раз, делайте следущие шаги:
    • Выполните SQL запрос из файла mysql_create_tables_v2.5one.sql, который лежит в директории Вашего бота GHost.
    • Затем выполните SQL запрос из файла MySQLSetup.sql, который находится в директории DOS'a/DOC
    • В конфиге Вашего бота, поставьте нужные значения в поля:
      Код:
      db_type = mysql
      db_mysql_server = localhost
      db_mysql_database = ghost
      db_mysql_user = ИМЯ_ЮЗЕРА_ОТ_БАЗЫ_ДАННЫХ
      db_mysql_password = ПАРОЛЬ_ДЛЯ_ЮЗЕРА
      db_mysql_port = 3306
    • Теперь ваш бот будет работать на MySQL базе данных.
    Обязательно выполните SQL запрос из файла optimizeMySQL.sql, который находится в директории DOS'a/DOC


5. Открываем файл config.php - редактируем:

Ставим те значения, которые указаны ниже или описанные в комментариях.
  • Цитата:
    $server = 'localhost';
    $username = 'root';
    $password = 'ПАРОЛЬ_ДЛЯ_ЛОГИНА';
    $database = 'ghost';
    $default_style = 'dota';
    $default_language = 'russian'; // Скачать файл русского языка вы можете тут
    $bans_per_page = '50'; // Количество записей выводимых на странице Баны
    $games_per_page = '65'; // Количество записей выводимых на странице Игры
    $heroes_per_page = '30'; // Количество записей выводимых на странице Герои
    $top_players_per_page = '30'; // Количество записей выводимых на странице Топа
    $news_per_page = '5'; // Количество записей выводимых новостей на главной странице
    $search_limit = '50'; // Количество записей выводимых при поиске юзера

    $FastGameWon = '1'; // Показывать самые длинные и короткие победы на страничке статистики игрока.

    $ShowHeroMostUsedItems = '1'; // Показывать самые популярные предметы для героя - требует больше ресурсов процессора.
    $ShowItemsMostUsedByHero = '1'; // А это наоборот - показывать ли героев, у которых чаще всего используется предмет?

    $enableItemsPage = '1'; // Показывать ли страницу всех предметов доты?

    $ShowSentinelScourgeWon = '1'; // Показывать ли суммарную статистику для Сентилов и Скоржей - всего побед, всего крипов итд... На странице Игры.

    $CountryFlags = '1'; // Показывать ли флаги стран игроков?

    $AllTimeStats = '1'; // Показывать ли статистику за все время работы бота?

    $top_stats = '5'; // Количество отображаемых строк в AllTimeStats

    $HideBannedUsersOnTop = '1'; // Скрывать ли забаненных игроков из топа?

    $displayUsersDisconnects = '1'; // Показывать сколько игр игрок вылетел с ошибкой интернета (дисконектом)?

    $replayLocation = './replay'; // Если вы хотите сохранять реплеи, то укажите папку где они у вас находятся. Не указывать C:\Program Files\ итд - папка с реплеями должна быть в папке www, директории AppServ!


    $SmartParsing = '1'; // Создавать ли html файл с чатом игры, дабы не проверять каждый раз реплей-файл, чтобы вытащить от туда чат?

    $max_pagination_link = '10'; // Максимальное число страниц, видимых для перехода.

    $ScoreMethod = '1'; // Выбирите метод подсчета очков.
    // Если 1 метод, то сайт будет учитывать очки юзеров с помощью формулы.
    //Если 2 метод (метод лиги), то будет расчет по формуле:

    $ScoreStart = '1000'; // Начальное количество очков у юзера-новичка
    $ScoreWins = '5'; // Сколько давать очков за победу
    $ScoreLosses = '-3'; // А сколько за поражение?
    $ScoreDisc = '-10.5'; // Сколько вычитать очков за дисконект?

    $scoreFormula = 'ВАША_ФОРМУЛА_ПОДСЧЕТА_ОЧКОВ'; // Работает только если $DBScore = '0';

    $DBScore = '1'; // Берет топовые очки из базы данных, а не расчитывает по формуле.


    $minPlayedRatio = '0.8'; // Числовое отношения время пребывания в игре и длительности игры, чтобы вы стали ливером. Тоесть если вы выйдите из игры больше чем за 20% времени до окончания, то вы ливер

    $minGamesPlayed = '1'; // Сколько нужно сыграть игр, чтобы попасть в топы


    $monthly_stats = '5'; // Сколько показывать строк в месячном топе?

    $UserPointsOnGamePage = '1'; // Показывать ли сколько юзер получил или потерял очков за игру? Учитывает только по формуле.

    $AccuratePointsCalculation = '1'; // Также подсчитывает очки, но уже учитывая totgames (это из формулы), но требует много ресурсов базы.


    $head_admin = 'Рут-Админ бота';
    $bot_name = 'Имя бота';
    $replayTimeOffset = '0';
    $LEAVER = 'LEAVER';

    $UserAchievements = '1'; // Включение наград юзера

    $KillsMedal = '900'; //Убейте 900 героев
    $AssistMedal = '200'; // Помогие убить 200 героев (асисты)
    $WinPercentMedal = '85'; // держите процент побед выше чем 85%
    $KillsPercentMedal = '68'; // держите процент убийств от смертей выше чем 68%
    $GamesMedal = '40'; //сыграйте 40 игр
    $WinsMedal = '60'; //выиграйте 60 игр
    $CreepsMedal = '8000'; //убейте 8000 крипов
    $DeniesMedal = '400'; // добейте 400 крипов
    $TowersMedal = '70'; // уничтожте 70 вышек
    $CouriersMedal = '20'; // убейте 20 курьеров
    $NeutralsMedal = '800'; // убейте 800 нейтралов
    $PlayDurationMedal = '50'; // сыграйте 50 часов


    $cachePages = '1'; // Включает кэш

    $cacheDir = './cache'; // Создайте эту папку, если ее у вас нет

    $cachetime = 60 * 30; // обновлять кэш каждые 60*30=30 минут

    $showUpdate = '1'; // показывать внизу сайта, когда будет следущий апдейт кэша


    $enable_chat = '1'; // включает чат

    $chat_file = 'chat.txt'; // этот файл будет "базой данных" для вашего чата

    $wait_time = 1000 * 5; // сколько времени нужно ждать юзеру, прежде чем снова написать сообщение? 1000*5=5 сек

    $refresh_messages = 1000 * 2;// Обновлять каждые 2 сек чат-строку

    $maxlines = 60; // сколько будет хранится строк в файле?

    $nick_length = 20; // Максимальная длинная ника

    $pageGen = '1';
    $_debug = '0';


На этом настройка закончена. Приятного пользования.
PS: Инструкция не предназначена для нубов.

Csandr: Инструкция по установке взята с сайта w3gh.ru
3) Добавляем в bnet.cpp чтото типо строчки SendAllChat и т.д. и т.п.
4) Открой game_base.cpp и пусти в ПОИСК
Код:
void CBaseGame :: SendWelcomeMessage( CGamePlayer *player )
{
	
	for( vector<string> :: iterator i = m_GHost->m_Welcome.begin( ); i != m_GHost->m_Welcome.end( ); i++ )
	//{
	//	SendChat( player, (*i));
	//}
	
	//SendChat( player, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" );
	if (m_CountryCheck || m_CountryCheck2 || m_ProviderCheck || m_ProviderCheck2)
	{	
		string C1 = m_Countries;
		string C2 = m_Countries2;
		Replace(C1, "??", string());
		Replace(C2, "??", string());
		if (m_CountryCheck)
			SendChat( player, "Allowed Countries = "+C1 );
		if (m_CountryCheck2 && !m_CountryCheck)
			SendChat( player, "Denied Countries = "+C2 );
		if (m_ProviderCheck)
			SendChat( player, "Allowed Providers = "+m_Providers );
		if (m_ProviderCheck2)
			SendChat( player, "Denied Providers = "+m_Providers2 );
	}
	//SendChat( player, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" );
	//SendChat( player, " " );
...
без "..."
И в language.cfg измени lang_0114

З.Ы. Не забудь перекомпликтовать

З.Ы.Ы. Винду переустановил Компилятор не загнал, если что в Скайпе помогу)
__________________
Csandr вне форума Отправить сообщение для Csandr с помощью Skype™ Ответить с цитированием
Сказали спасибо: