PDA

Просмотр полной версии : [Вопрос] Проблема



Sanek
23.05.2014, 22:15
Здравствуйте уважаемые форумчане вот у меня возникла проблема с AFKProcessor.Когда я ее удаляю у меня начинает странно дрыгаться перс тиканье начинается.


forward AFKProcessor();


public Fresh()
{
AFKProcessor();


SetTimer("Fresh",1000,1);
//GG = SetTimer("AFKProcessor", 1000,1);



public AFKProcessor()
{
foreach(new x:Player)
{
if(PlayerEx[x][ChekEx] < PlayerEx[x][TickEx])
{
if(PlayerEx[x][AFKEx] == true)
{
PlayerEx[x][VarEx] = 0;
PlayerEx[x][AFKEx] = false;
}
}
if(PlayerEx[x][AFKEx] == true)
{
PlayerEx[x][VarEx]++;
}
if(PlayerEx[x][VarEx] > 1)
{
new stringF[50];
format(stringF,sizeof(stringF),"[AFK %s]",Convert(PlayerEx[x][VarEx]));
SetPlayerChatBubble(x, stringF, COLOR_ORANGE, 30.0, 1200);
}
}
return true;
}

Ребят помогите пожалуйста из-за чего может быть такая проблема.
А если не удаляешь AFKProcessor то у меня игроки всегда афк стоят если даже не стоят.

underwoker
23.05.2014, 22:25
Здравствуйте уважаемые форумчане вот у меня возникла проблема с AFKProcessor.Когда я ее удаляю у меня начинает странно дрыгаться перс тиканье начинается.


forward AFKProcessor();


public Fresh()
{
AFKProcessor();


SetTimer("Fresh",1000,1);
//GG = SetTimer("AFKProcessor", 1000,1);



public AFKProcessor()
{
foreach(new x:Player)
{
if(PlayerEx[x][ChekEx] < PlayerEx[x][TickEx])
{
if(PlayerEx[x][AFKEx] == true)
{
PlayerEx[x][VarEx] = 0;
PlayerEx[x][AFKEx] = false;
}
}
if(PlayerEx[x][AFKEx] == true)
{
PlayerEx[x][VarEx]++;
}
if(PlayerEx[x][VarEx] > 1)
{
new stringF[50];
format(stringF,sizeof(stringF),"[AFK %s]",Convert(PlayerEx[x][VarEx]));
SetPlayerChatBubble(x, stringF, COLOR_ORANGE, 30.0, 1200);
}
}
return true;
}

Ребят помогите пожалуйста из-за чего может быть такая проблема.
А если не удаляешь AFKProcessor то у меня игроки всегда афк стоят если даже не стоят.
Дрыг тикание? Опять же, отвечу за себя - я не ванга и мне нужно видео.

Sanek
23.05.2014, 22:39
Вот видео если нужно.
http://youtu.be/hkW0mhHOhTg
Там видно даже когда прыгаешь тик срабатывает.

Sanek
23.05.2014, 23:28
Ребят.

L0ndl3m
23.05.2014, 23:30
В вашем коде нет ничего такого, чтобы вызывало это, что у Вас ещё в паблике Fresh?

Sanek
24.05.2014, 00:21
//CheckArmour();
CheckHealth();
AFKProcessor();
//CheckCheaters();
new string[300];
new hour, minute, second;
gettime(hour, minute, second);
new tmphour;
new tmpminute;
new tmpsecond;
if(war > 0)
{
war -=1;
}
gettime(tmphour, tmpminute, tmpsecond);
FixHour(tmphour);
tmphour = shifthour;
if ((tmphour > ghour) || (tmphour == 0 && ghour == 23))
{
format(string, sizeof(string), "Сейчас %d:00",tmphour);
BroadCast(COLOR_WHITE,string);
ghour = tmphour;
PayDay();
foreach(new i:Player)
{
PlayerInfo[i][pPayDay]+=1;
}
if (realtime)
{
SetWorldTime(tmphour);
}
}
И много другого.

- - - Добавлено - - -

А вообще из-за чего могут происходить такой тик?

underwoker
24.05.2014, 01:53
И так, похоже выход из положения такой, ищите по всему моду вот это слово

ClearAnimations
И смотрите где они расположены, если в одном из таймеров ежесекундных, то удаляйте.
Тик происходит при очистке анимаций, выше лежащей функцией. Почитать о ней можете в Вики.

Sanek
24.05.2014, 13:09
Нашел вот такое:

if(newkeys == 16)
{
if(IsAFoods(playerid))
{
ClearAnimations(playerid, 1);
return true;
}
}

А остальное все относится к работе грузчик.

underwoker
24.05.2014, 15:56
Нашел вот такое:

if(newkeys == 16)
{
if(IsAFoods(playerid))
{
ClearAnimations(playerid, 1);
return true;
}
}

А остальное все относится к работе грузчик.
Теперь узнайте что это за кнопка(16), и что такое IsAFoods?

Gressie
25.05.2014, 02:47
OnPlayerUpdate скинь.

Sanek
25.05.2014, 14:26
Да там все норм.

Salvacore
25.05.2014, 14:58
Да там все норм.
Тут есть люди которые побольше тебя знают, кидай всё что просят)

Sanek
25.05.2014, 14:59
Delete тему,решил проблему сам.

- - - Добавлено - - -


Тут есть люди которые побольше тебя знают, кидай всё что просят)
Да я знаю что они побольше меня знают,ну я уже решил проблема :-) спасибо всем за помощь.

Salvacore
25.05.2014, 15:10
Closed.