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

[help] новая переменная

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

  1. DhL Ньюфаг

    Сообщения:
    36
    Спасибы:
    0
    game_base.cpp(~4800):

    Код:
    if (m.substr(0,3) == "-ar" && GetTime()<m_GameLoadedTime+15)
    {
    	if (blueplayer)
    	{
    		CONSOLE_Print( "[GAME: " + m_GameName + "] -ar detected");
    		m_DetectedGameMode = "ar";
    	}
    }
    Проблема:
    Нужно передать значение m_DetectedGameMode в game.cpp:
    Код:
    void CGame :: SaveGameData( )
    {
    	CONSOLE_Print( "[GAME: " + m_GameName + "] saving game data to database" );
    	m_CallableGameAdd = m_GHost->m_DB->[b]ThreadedGameAdd[/b]( m_GHost->m_BNETs.size( ) == 1 ? m_GHost->m_BNETs[0]->GetServer( ) : string( ), m_DBGame->GetMap( ), m_GameName, m_OwnerName, m_GameTicks / 1000, m_GameStateS, m_CreatorName, m_CreatorServer, m_DetectedGameMode );
    }
    Ну потом, в последствии, вызвать в функции:

    Код:
    uint32_t MySQLGameAdd( void *conn, string *error, uint32_t botid, string server, string map, string gamename, string ownername, uint32_t duration, uint32_t gamestate, string creatorname, string creatorserver, string detectedgamemode )
    {
    	uint32_t RowID = 0;
    	string EscServer = MySQLEscapeString( conn, server );
    	string EscMap = MySQLEscapeString( conn, map );
    	string EscGameName = MySQLEscapeString( conn, gamename );
    	string EscOwnerName = MySQLEscapeString( conn, ownername );
    	string EscCreatorName = MySQLEscapeString( conn, creatorname );
    	string EscCreatorServer = MySQLEscapeString( conn, creatorserver );
    	string Query = "INSERT INTO games ( botid, server, map, datetime, gamename, ownername, duration, gamestate, creatorname, creatorserver, gamemode ) VALUES ( " + UTIL_ToString( botid ) +", '" + EscServer + "', '" + EscMap + "', NOW( ), '" + EscGameName + "', '" + EscOwnerName + "', " + UTIL_ToString( duration ) + ", " + UTIL_ToString( gamestate ) + ", '" + EscCreatorName + "', '" + EscCreatorServer + "', '" + detectedgamemode + "' )";
    
    	if( mysql_real_query( (MYSQL *)conn, Query.c_str( ), Query.size( ) ) != 0 )
    		*error = mysql_error( (MYSQL *)conn );
    	else
    		RowID = (uint32_t)mysql_insert_id( (MYSQL *)conn );
    
    	return RowID;
    }
    и занести в базу :)

    Хелп плз =)
  2. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Бессмысленно:

    Я нажму паузу, подожду 15 сек и введу -ar - а условие не сработает.

    Тажа бойда с -nsar или -nrar
  3. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    мод можно в statsdota.cpp узнать


    источнки плейдота 6.64

    Код:
                                            if( KeyString.size( ) >= 4 && KeyString.substr( 0, 4 ) == "Mode" ) 
                                                            {
                                                                         string GameMode = KeyString.substr(4);
                                                                         m_Game->SetGameMode(GameMode);//эта строка офк не будет пахать
                                                            }
    типа такого
  4. DhL Ньюфаг

    Сообщения:
    36
    Спасибы:
    0
    ммм, интересно :)

    А где взял инфу?
    Код:
    Roshan Death: "Roshan",0/1
    Aegis Received: "AegisOn", PlayerID
    Aegis Dropped: "AegisOff", PlayerID
    
        Game Mode: "Mode"+String,HostPlayerID
    
    
    Hero Levelup: "Level"+Level,PlayerID
    Rune Store: "RuneStore"+RuneID, PlayerID. RuneID=1/2/3/4/5
    Rune Use: "RuneUse"+RuneID, PlayerID. RuneID=1/2/3/4/5 (Haste/Regen/DD/Illusion/Invis)
    Не подскажешь как Set(Get)GameMode() добавить?:)
  5. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    инфа доступна в гугле и в ченжлогах доты

    добавить также как и все функции которые начинаются на Set Get
  6. DhL Ньюфаг

    Сообщения:
    36
    Спасибы:
    0
    Спасибо, большое :) прекрасно работает :avtoradolf: