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

Админки!

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

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

    Сообщения:
    473
    Спасибы:
    47
    Сборка бота GHost:
    Ghost++ RAKAL Edition
    Дата начала использования бота:
    00.00.2009
    Skype:
    Мой статус
    Нужна система, типа сдавать админку на время! Кто хочет реализовать?!


    Вот тема, LongMan.
  2. fake Старожила

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

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    Даю добро [IMG]
  4. HeD Ньюфаг

    Сообщения:
    50
    Спасибы:
    0
    Сборка бота GHost:
    gh.One 1.7.267+brtGh. 1.7.0.92
    ЫЫЫЫ. Я хренею)
  5. Synth (LM) Пантограф!

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

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

    добавляешь в бд поле, изменяешь запрос в боте и делаеш вместо
    Код:
    vector<string> m_Admins;						// vector of cached admins
    Код:
    vector<pair<string,time_t>> m_Admins;
    если так не будет работать, то еще надо сверху добавить
    typedef pair<string,unsigned int> PairedAdminsList;
    и вместо
    Код:
    vector<pair<string,time_t>> m_Admins;
    поставить
    Код:
    vector<PairedAdminsList> m_Admins;
    а дальше все просто заменить все обращения к функции

    пример:

    Код:
    void CBNET :: AddAdmin( string name,time_t time=0)
    {
    	transform( name.begin( ), name.end( ), name.begin( ), (int(*)(int))tolower );
    	m_Admins.push_back( pair<string,unsigned int>(name,time));
    	m_Accesses.push_back(m_GHost->m_AdminAccess);
    }
    взято с гхост оне изменено под PairedAdminsList

    Код:
    bool CBNET :: IsAdmin( string name )
    {
    	transform( name.begin( ), name.end( ), name.begin( ), (int(*)(int))tolower );
    
    	uint32_t j = 0;
    	for( vector<string> :: iterator i = m_Admins.begin( ); i != m_Admins.end( ); i++ )
    	{
    		if( *i.first == name )
    		{
    			if(*i.second>0 && *i.second<time() )
    {
    RemoveAdmin(*i.first );
    //zapros v bd
    }
    
    			m_LastAccess = m_Accesses[j];
    			return true;
    		}
    		j++;
    	}
    
    	return false;
    }
    

    както в таком духе делаеш, можеш офк делать без пар, а как эт сделанно в гхосте(паралельными векторами), но я бы этого не советовал.
  7. Ziko Гуру

    Сообщения:
    130
    Спасибы:
    2
    Сборка бота GHost:
    Ghost ++17.1
    Дата начала использования бота:
    01.09.2010
    Skype:
    Мой статус
    O_O щас попробуем ;;))
  8. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Во-первых:
    Это иррационально, если сравнивать с другими функциями бота, такими как обновление вектора m_Bans.

    Во-вторых:
    Какой должен быть пайлоад для команды? В секундах указать от начала эпохи Unix?

    И на десерт:
    Я даже не заглядывал в часть парных векторов в ghost++, но знаю что typedef уже стал бояном. Сабж - не прокатит твой вариант в GhostOne. Ты сам компилировал под какого бота, и вообще - компилировал ли?
  9. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    в чем заключается иррациональность?
    офк "рациональние" юзать две вектора....

    в минутах\часах\ днях от сегодняшнего дня
    которые принимаются по определенному формату и добовлются к
    time_t now = time();

    lolwhut????
    define и typedef это разные вещи, учим матчасть или даем пруф
    офк не компилил так как тут только пример, не все добавлено, а всего лишь расписано как это правильно делать.
    да,тут не учитывается, то, что в гхост оне есть еще акесс и оставляется дефолтная реализация гхостоне
    но эт траблы гхост оне , но если там есть акесс админов, то выгоднее создавать adminclass с тремя+ переменными

    Спасибо че.
  10. Synth (LM) Пантограф!

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

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    какая часть тебе не понятна, только не пойму почему мое сообщение так криво оформлено?
  12. ___ROB___ Гуру

    Сообщения:
    256
    Спасибы:
    45
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    1.1.1991
    обиженый считает что оно так лучше будет выглядеть. :rickroll:
  13. fake Старожила

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