public Action PlayTimeTimer(Handle timer)
{
for(int i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i))
{
int team = GetClientTeam(i);
if(team == 2)
{
++g_iPlayTimeT[i];
}
else if(team == 3)
{
++g_iPlayTimeCT[i];
}
else
{
++g_iPlayTimeSpec[i];
}
}
}
}
Изначально так и было, итого 8 режимов в одном плагине, но это дает нам больше кода, больше логики и потенциальные баги при различных модах, в которых я не шарю, поэтому fl0wer правильно подсказал, лучше в лоб, только вместо синка выбрал таймер.Я подсказал реализацию на хуках вместо таймера.
спасибо, это будет куда правильней думаю.Вот ещё (тут сурсмод, но не суть), на таймере, если прибавлять секунду для текущей команды, то не нужно будет кэширование и сравнение старой с новой командой
В смысле? Ты про погрешность до 1 секунды?у тя таск не точный
Набегающая.В смысле? Ты про погрешность до 1 секунды?
switch( iTeam )
{
case TEAM_CT: { код }
case TEAM_TERRORIST: { код }
case TEAM_SPECTATOR: { код }
case TEAM_UNASSIGNED: { код }
}
if( iTeam == TEAM_CT ) { }
else if ( iTeam == TEAM_TERRORIST ) { }
else if ( iTeam == TEAM_SPECTATOR ) { }
else ( iTeam == TEAM_UNASSIGNED ) { }
Хоть бы раз кто нибудь показал это утверждение...что switch при декомпиляции плагина выражается как простой if else,
в чем смысл хранить ненужную инфу?На текущий момент хочу перевести абсолютно все на работу с базой данных, банлист, мутлист, холостые, для будущей истории хранить статистику kick, slay, slap, warn и т.д., иначе говоря хранить всю активность админов и все наказание игроков.
что бы былов чем смысл хранить ненужную инфу?
А если работать с одной базой в разных плагинах? (личного опыта с бд для этих коесов ваших нет)Делать для каждого плагина свою базу данных
Достаточно просто указатель развернутого соединения в другие плагины передавать. Пример: fb+aes.Сделай единый плагин работы с базой и прокинь апи, для форса данными в других плагинах, set/get