13.07.2010, 18:16
Quote:
степаха, прасти меня, я невнимательно читал твой код (((: но мой все равно быстрее
-- посморел, подумал, пишу -- кста, я невнимателно читал, т.к. там ваще ни хрена непонятно, особенно, при дисконекте игрока -- еще посморел -- возможно, в твоем коде не учитывается ситуация, когда у игрока, который быстро реконектнулся изменился ид -- важное замечание -- в твоем и моем случае можно было бы использовать динамические массивы property вместо статичных массивов, которые всегда висят в памяти. переделаю-ка я свой код (: на проперти массив.. |
построчно пояснить?
PHP Code:
public OnPlayerDisconnect(playerid, reason)
{
for(new i,s = gettime();i<sizeof(LastIP),i++)//думаю понятно, пробегаемся по массиву где храняться IP адреса
{
if(s-LastTime[i] > RTIME)//если встречаем запись у которой время больше 5 секунд обнуляем значения адреса и времени
{
LastIP[i] = "";
LastTime[i] = 0;
}
if(strlen(LastIP[i]))continue;//если находим ненулевую строку пропускаем её, в случае если предыдущая проверка обнулила строку запись проиведется в неё
GetPlayerIp(playerid, LastIP[i], 20 );//узнаем IP вышедшего игрока
LastTime[i] = gettime();//записываем время выхода
break;//обрываем дальнейшую проверку
}
return 1;
}
нука нука...