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

Быдло кодинг.

Тема в разделе 'Общение', создана пользователем fake, 16 май 2011.

  1. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    а если игру создаст один человек, а другой админ зайдет в игру он сможет юзать команды?И что насчет рут админов? они могут юзать команды?
  2. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    По поводу ff и rmk есть чет? :newcry:
    С автобаном вроде както есть чет.
  3. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    да (те команды, которые указаны в админ ацес...)


    если игра создана рутадмином, то тоже в лобби пишет "нет доступа к команде"(у меня все рут админы добавлены в обычные админы, что бы отображались в админ-топе)

    +(
  4. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Окда? :limon:
  5. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
  6. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    [IMG]
    дефолтный бот 1.7.266, даже ланг дефолтный
  7. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    скачал гхост оне, скопировал конфиги.
    [IMG]
    нет даже реакцыи на команду !access

    Код:
    LOCAL: ALKAR] /w ____ROB____ Создание приватной игры - 222222. Владелец - ____ROB____
    GAME: 222222] player [____ROB____] joined the game
    GAME: 222222] [Lobby] [____ROB____]: !owner
    GAME: 222222] admin [____ROB____] sent command [owner] with payload []
    GAME: 222222] [Lobby] [____ROB____]: !p
    GAME: 222222] admin [____ROB____] sent command [p] with payload []
    GAME: 222222] [Lobby] [____ROB____]: !close 2
    GAME: 222222] admin [____ROB____] sent command [close] with payload [2]
    GAME: 222222] [Lobby] [____ROB____]: !access
    GAME: 222222] admin [____ROB____] sent command [access] with payload []
    тоже самое.



    посмотри пожалуйста у себя вот ети строки(я уверен что значение у них стоит ноль):
    поставил я нолик, всё работает :facepalm:
    [IMG]

    чос...
  8. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    если ты говоришь, что админка не пашет ток у овнеров, то попробуй эти строки удалить
    Код:
    	if( IsOwner( joinPlayer->GetName( ) ) )
    		Player->SetSpoofed( true );
  9. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Ты нашел как делать прямые выборки из базы в коде бота? По-моему, это самое важное ^^
  10. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    :spy:
  11. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
  12. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    угу, всё норм
  13. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    так а в чем кривость гхостовский запросов в бд? или я не так тя понял?
  14. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    1. потестить немогу, но код где-то такой
    в !votekick после
    Код:
    	else if( Matches == 1 )
    			{
    нужно вставить
    Код:
    if(m_Slots[GetSIDFromPID((LastMatch)->GetPID())].GetTeam()!=m_Slots[GetSIDFromPID((player)->GetPID())].GetTeam())
    {
    SendAllChat("igrok ne v tvoi komande!");//<<REDAKTIROVAT TYT
    					return HideCommand;
    }
    !yes
    Код:
    if( Command == "yes" && !m_KickVotePlayer.empty( ) && player->GetName( ) != m_KickVotePlayer && !player->GetKickVote( ) )
    	{
    		CGamePlayer *Victim = GetPlayerFromName( m_KickVotePlayer, true );
    		unsigned char CurentTeam=m_Slots[GetSIDFromPID(Victim->GetPID())].GetTeam();
    		if(CurentTeam!= m_Slots[GetSIDFromPID(player->GetPID())].GetTeam())
    		{
    		SendAllChat("igrok ne v tvoi komande!");//<<REDAKTIROVAT TYT
    		return HideCommand;
    		}
    		player->SetKickVote( true );
    		uint32_t VotesNeeded = 0;
    		uint32_t Votes = 0;
    
    		for( vector<CGamePlayer *> :: iterator i = m_Players.begin( ); i != m_Players.end( ); i++ )
    		{
    			if(m_Slots[GetSIDFromPID((*i)->GetPID())].GetTeam() == CurentTeam)
    			{
    				VotesNeeded++;
    				if( (*i)->GetKickVote( ) )
    					Votes++;
    			}
    		}
    		VotesNeeded=VotesNeeded*m_GHost->m_VoteKickPercentage / 100;
    
    		if( Votes >= VotesNeeded )
    		{
    			
    			if( Victim )
    			{
    				Victim->SetDeleteMe( true );
    				Victim->SetLeftReason( m_GHost->m_Language->WasKickedByVote( ) );
    
    				if( !m_GameLoading && !m_GameLoaded )
    					Victim->SetLeftCode( PLAYERLEAVE_LOBBY );
    				else
    					Victim->SetLeftCode( PLAYERLEAVE_LOST );
    
    				if( !m_GameLoading && !m_GameLoaded )
    					OpenSlot( GetSIDFromPID( Victim->GetPID( ) ), false );
    
    				CONSOLE_Print( "[GAME: " + m_GameName + "] votekick against player [" + m_KickVotePlayer + "] passed with " + UTIL_ToString( Votes ) + "/" + UTIL_ToString( GetNumHumanPlayers( ) ) + " votes" );
    				SendAllChat( m_GHost->m_Language->VoteKickPassed( m_KickVotePlayer ) );
    			}
    			else
    				SendAllChat( m_GHost->m_Language->ErrorVoteKickingPlayer( m_KickVotePlayer ) );
    
    			m_KickVotePlayer.clear( );
    			m_StartedKickVoteTime = 0;
    		}
    		else
    			SendAllChat( m_GHost->m_Language->VoteKickAcceptedNeedMoreVotes( m_KickVotePlayer, User, UTIL_ToString( VotesNeeded - Votes ) ) );
    	}
    2 -
    найди
    Код:
    m_KickVote = false;
    	m_Muted = false;
    и вставь
    Код:
    	m_KickVote = false;
            m_RmkVote = false;
    	m_Muted = false;
    поидее должно работать еще можеш убрать && !player->GetRmkVote( ) из условия !rmk тогда команда будет точно роботать,даже если начальное значение переменной не будет установленно, но каждый раз когда ктото будет писать !rmk бот в общий чат будет слать сообщение
    3 - у тя код с брт:
    http://code.google.com/p/brtghost/source/detail?r=151

    4 - как же та тема в кодинге?


    про антифлуд:
    просто антифлуд без либ и проверки синтаксиса проблематично написать) так, что ждите( тембоее создатель той темы не отписал).
  15. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Спс fake все проверю и протестю.
    Пожже отпишу что к чему.
  16. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    у меня опять вопросы по-поводу SF игроков.

    _____________________________________________________________________________________
    1) Имеется игрок с ником $name$ (он занесён в SF), забанить я его могу
    но когда кто-то создаёт игру, игрок с ником $name$ в неё спокойно заходит.
    пс:
    _____________________________________________________________________________________
    2) Как ты понял у меня на боте SF игроки могут создавать игры.
    Код:
    // !PUB for safelist
                if (( Command == "pub" || Command == "p" ) && IsSafe(User) && m_GHost->m_SafeCanHost)
                {
                   if (m_GHost->m_LastGameName=="" && Payload.empty())
                   {
                      QueueChatCommand("Задайте название игры", User, Whisper);
                      return;
                   }
    
                   string GameName = Payload;
                   if (GameName.empty())
                      GameName = m_GHost->m_LastGameName;               
                   string GameNr = string();
                   uint32_t idx = 0;
                   uint32_t Nr = 0;
    
                   if (Payload.empty())
                   {
                      idx = GameName.length()-1;
                      if (idx>=2)
                      if (GameName.at(idx-2)=='#')
                         idx = idx-1;
                      else
                         if (GameName.at(idx-1)=='#')
                            idx = idx;
                         else
                            idx = 0;
    
                      // idx = 0, no Game Nr found in gamename
                      if (idx == 0)
                      {
                         GameNr = "0";
                         GameName = GameName + " #";
                      }
                      else
                      {
                         GameNr = GameName.substr(idx,GameName.length()-idx);
                         GameName = GameName.substr(0,idx);
                      }
                      stringstream SS;
                      SS << GameNr;
                      SS >> Nr;
                      Nr ++;
                      if (Nr>20)
                         Nr = 1;
                      GameNr = UTIL_ToString(Nr);
                      GameName = GameName + GameNr;
                   }
                   m_GHost->m_QuietRehost = false;
    
                   // adding the game creator as friend
                   bool cf = false;
                   if (m_GHost->m_addcreatorasfriendonhost && !IsFriend(User))
                   {
                      QueueChatCommand( "/f a "+User);
                      cf = true;
                   }
    
                   m_GHost->CreateGame( m_GHost->m_Map, GAME_PUBLIC, false, GameName, User, User, m_Server, Whisper );
                   if (m_GHost->m_addcreatorasfriendonhost && !cf && m_GHost->m_CurrentGame)
                      m_GHost->m_CurrentGame->m_CreatorAsFriend = false;
    
                }
    но если даже игрок из SF листа получит бан и не сможет зайти в игре, то он сможет создать игру с помощью етой команды.
    я хочу что бы ты поставил проверку на наличие игрока в бан-листе в етой команде :palevo:

    ну если ты понял конечно что я написал.
  17. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    фигню мутиш, чесн

    Код:
    bool CBNET :: IsSafe( string name )
    {
    	bool result=false;
    	transform( name.begin( ), name.end( ), name.begin( ), (int(*)(int))tolower );
    
    	for( vector<string> :: iterator i = m_Safe.begin( ); i != m_Safe.end( ); i++ )
    	{
    		if( *i == name )
    		{
    			result = true;
    			break;
    		}
    	}
    return (result && IsBannedName( name )==NULL);
    }
    попробуй замунить проверку на сейф на эту
  18. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Вобщем fake по тому что ты отписал так:
    нече проверить толком неуспел, была запара какаето, при компиле Votekick (ту часть что ты добавить дал)
    после этого все чтоя компилил невступало всилу... он тупо был как до того... я и то и се, пока бок нашол и то стоко время убил...
    щас еще чет пробую, мб еще дето бока.
  19. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    бида, код ошибок сюда если сам решить не мож я же говорил что даже не компилил.
  20. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    1) ужс :spy:

    Добавил ету команду после нон-админ, и дал доступ сф листам.
    Код:
    
    if(( Command == "ar") && IsSafe(User) && m_GHost->m_SafeCanHost)
    
               {
    
                   if(!Whisper)
                   return;
    
                   User = m_GameOwner;
                   string GameName = Payload;
                   if (GameName.empty())
                      GameName = "-AR NA SKILE POCONI";               
                   string GameNr = string();
                   uint32_t idx = 0;
                   uint32_t Nr = 0;
    
                   if (Payload.empty())
                   {
                      idx = GameName.length()-1;
                      if (idx>=2)
                      if (GameName.at(idx-2)=='#')
                         idx = idx-1;
                      else
                         if (GameName.at(idx-1)=='#')
                            idx = idx;
                         else
                            idx = 0;
    
                      // idx = 0, no Game Nr found in gamename
                      if (idx == 0)
                      {
                         GameNr = "0";
                         GameName = GameName + " #";
                      }
                      else
                      {
                         GameNr = GameName.substr(idx,GameName.length()-idx);
                         GameName = GameName.substr(0,idx);
                      }
                      stringstream SS;
                      SS << GameNr;
                      SS >> Nr;
                      Nr ++;
                      if (Nr>20)
                         Nr = 1;
                      GameNr = UTIL_ToString(Nr);
                      int RandomNumber;
                      srand((unsigned)time(0));
                      RandomNumber = (rand()%999)+1;
                      GameName = GameName + UTIL_ToString(RandomNumber);
                   }
                   m_GHost->m_QuietRehost = false;
    
                   // adding the game creator as friend
                   bool cf = false;
                   if (m_GHost->m_addcreatorasfriendonhost && !IsFriend(User))
                   {
                      QueueChatCommand( "/f a "+User);
                      cf = true;
                   }
    
                   m_GHost->CreateGame( m_GHost->m_Map, GAME_PUBLIC, false, GameName, User, User, m_Server, Whisper );
                   if (m_GHost->m_addcreatorasfriendonhost && !cf && m_GHost->m_CurrentGame)
                      m_GHost->m_CurrentGame->m_CreatorAsFriend = false;
    
                }
    
    
    
    ошибка:
    Код:
    1>Компиляция...
    1>bnet.cpp
    1>.\bnet.cpp(6176) : error C2065: m_GameOwner: необъявленный идентификатор
    что не так?



    2) как я понял, команда !hold позволяет забаненому игроку заходить в игру, можно ето изменить? (на 100% не уверен)