void IdlePluginImpl::idle(int seconds) { int status = ChatClient::channel()->status().value(); int diff = seconds - m_autoAway; // Уведомления могут приходить не каждую секунду. if ((diff >= 0 && diff <= 1) && status != Status::AutoAway) { away(); } else if (seconds == 0 && status == Status::AutoAway) away(false); }
// Return euclidean distance to farthest escorted hostage. // Return -1 if no hostage is following us. float CCSBot::GetRangeToFarthestEscortedHostage() const { FarthestHostage away(this); g_pHostages->ForEachHostage(away); return away.m_farRange; }
void Player::ladderChange(bool n) { if (!isLoggedIn()) return;//INV BEHAV if (state()[LadderEnabled] == n) { return; } state().setFlag(LadderEnabled, n); relay().notifyOptionsChange(id(), away(), n); }
void Tree::Stvol(const Point* begin, const Point* end, const int& color) { if(begin->Range(end) < size/6.2) // !!! { Divis(begin, end, color); setcolor(color); return; } Point middle(begin, end, 1-Fi); Point* p1 = new Point(begin, begin->Range(end)/55, begin->AngleX(end)+M_PI_2); Point* p2 = new Point(begin, begin->Range(end)/55, begin->AngleX(end)-M_PI_2); if(middle.Range(&sun) > center.Range(&sun)) { setcolor(color1); setfillstyle(1, color1); } else { setcolor(color2); setfillstyle(1, color2); } int* mass = new int[6]; mass[0] = p1->GetX(); mass[1] = p1->GetY(); mass[2] = p2->GetX(); mass[3] = p2->GetY(); mass[4] = end->GetX(); mass[5] = end->GetY(); fillpoly(3, mass); delete[] mass; delete p2; delete p1; Stvol(&middle, end, color); int krnd = (RND() < 0.5) ? -1 : 1; // ranznos vetki 1 double* temp1 = new double((begin->Range(end) < size/16) ? 0 : (1/Fi)*random(16*(int)(begin->Range(end)/size))/begin->Range(end)); middle.Position(begin, end, 1 - Fi + krnd * *temp1); delete temp1; // zadanie vetki 1 double angle = M_PI_2*(random(80)+10)/100 + M_PI_2; Point away(&middle, middle.Range(end), angle); Stvol(&middle, &away, color); // ranznos vetki 2 double* temp2 = new double((begin->Range(end) < size/16) ? 0 : (1/Fi)*random(16*(int)(begin->Range(end)/size))/begin->Range(end)); middle.Position(begin, end, 1 - Fi - krnd * *temp2); delete temp2; // zadanie vetki 1 angle = M_PI_2*(random(80)+10)/100 - M_PI_2; away.Position(&middle, middle.Range(end), -angle); Stvol(&middle, &away, color); }
static int back_hook(int argc, char *argv[]) { away(0); return 0; }
static int away_hook(int argc, char *argv[]) { away(1); return 0; }