Page 1 of 1
bot?
Posted: 06 Jul 2010, 12:43
by kook
Re: bot?
Posted: 06 Jul 2010, 12:51
by Crush
What exactly does that tool analyze?
Re: bot?
Posted: 06 Jul 2010, 13:01
by kook
thats what i have no idea about
Re: bot?
Posted: 06 Jul 2010, 13:15
by yourmistakes
obviously, mrwho is a bot. elect me for GM and i will ban him.

Re: bot?
Posted: 06 Jul 2010, 13:47
by Cotillion
virtual void playersUpdated()
{
//debugChatTab->chatLog("upd");
signalBeforeUpdate();
freeWidgets();
mPlayers.clear();
if (actorSpriteManager && config.getValueBool("enableBotCheker", true))
{
std::set<ActorSprite*> beings = actorSpriteManager->getAll();
ActorSprites::iterator i = beings.begin();
for (ActorSprites::const_iterator i = beings.begin(); i != beings.end(); i++)
{
Being *being = dynamic_cast<Being*>(*i);
if (being && being->getType() == Being::PLAYER && being != player_node
&& being->getName() != "")
{
mPlayers.push_back(being);
}
}
}
unsigned int curTime = cur_time;
// set up widgets
for (unsigned int r = 0; r < mPlayers.size(); ++r)
{
std::string name = mPlayers.at(r)->getName();
gcn::Widget *widget = new Label(name);
mWidgets.push_back(widget);
if (mPlayers.at(r)->getAttackTime() != 0)
widget = new Label(toString(curTime - mPlayers.at(r)->getAttackTime()));
else
widget = new Label(toString(curTime - mPlayers.at(r)->getTestTime()) + "?");
mWidgets.push_back(widget);
if (mPlayers.at(r)->getTalkTime() != 0)
widget = new Label(toString(curTime - mPlayers.at(r)->getTalkTime()));
else
widget = new Label(toString(curTime - mPlayers.at(r)->getTestTime()) + "?");
mWidgets.push_back(widget);
if (mPlayers.at(r)->getMoveTime() != 0)
widget = new Label(toString(curTime - mPlayers.at(r)->getMoveTime()));
else
widget = new Label(toString(curTime - mPlayers.at(r)->getTestTime()) + "?");
mWidgets.push_back(widget);
std::string str;
bool talkBot = false;
bool moveBot = false;
bool attackBot = false;
bool otherBot = false;
if (curTime - mPlayers.at(r)->getTestTime() > 2 * 60)
{
int attack = curTime - (mPlayers.at(r)->getAttackTime()
? mPlayers.at(r)->getAttackTime() : mPlayers.at(r)->getTestTime());
int talk = curTime - (mPlayers.at(r)->getTalkTime()
? mPlayers.at(r)->getTalkTime() : mPlayers.at(r)->getTestTime()) - attack;
int move = curTime - (mPlayers.at(r)->getMoveTime()
? mPlayers.at(r)->getMoveTime() : mPlayers.at(r)->getTestTime()) - attack;
int other = curTime - (mPlayers.at(r)->getOtherTime()
? mPlayers.at(r)->getMoveTime() : mPlayers.at(r)->getOtherTime()) - attack;
if (attack < 2 * 60)
attackBot = true;
// attacking but not talking more than 2 minutes
if (talk > 2 * 60 && talk > 2 * 60)
{
talkBot = true;
str += toString((talk) / 60) + " ";
}
// attacking but not moving more than 2 minutes
if (move > 2 * 60 && move > 2 * 60)
{
moveBot = true;
str += toString((move) / 60);
}
// attacking but not other activity more than 2 minutes
if (move > 2 * 60 && other > 2 * 60)
{
otherBot = true;
}
}
if (str.length() > 0)
{
if (attackBot && talkBot && moveBot && otherBot)
{
str = "bot!! " + str;
}
else if (attackBot && talkBot && moveBot)
{
str = "bot! " + str;
}
else if (talkBot && moveBot)
{
str = "bot " + str;
}
else if (talkBot || moveBot)
{
str = "bot? " + str;
}
}
else
{
str = "ok";
}
widget = new Label(str);
mWidgets.push_back(widget);
}
signalAfterUpdate();
}
virtual void updateModelInRow(int row _UNUSED_)
{
}
virtual gcn::Widget *getElementAt(int row, int column) const
{
return mWidgets[WIDGET_AT(row, column)];
}
virtual void freeWidgets()
{
for (std::vector<gcn::Widget *>::const_iterator it = mWidgets.begin();
it != mWidgets.end(); it++)
{
delete *it;
}
mWidgets.clear();
}
protected:
std::vector<Being*> mPlayers;
std::vector<gcn::Widget*> mWidgets;
};
Re: bot?
Posted: 06 Jul 2010, 15:56
by Cotillion
Not my code. Just pulled 4144 source, and posted the logic.
I believe the bot checker first came from QOAL's patch. Might be wrong there.
Re: bot?
Posted: 06 Jul 2010, 16:48
by baseballboy
Re: bot?
Posted: 06 Jul 2010, 16:53
by kook
to remind me im dying from cancer
Re: bot?
Posted: 06 Jul 2010, 16:57
by baseballboy
O_o
Re: bot?
Posted: 06 Jul 2010, 17:04
by kook
actually its not launcher but app switcher
Re: bot?
Posted: 06 Jul 2010, 23:27
by 4144
Crush wrote:What exactly does that tool analyze?
This tool can detect simple bots. Bots what attacking, and not show other activity. But in this screenshort bot not detected.
It's look like joke
