Всем привет, подскажите почему при подключении этого инклуда ( http://pastebin.com/8BsUA00F ) при онлайне мод начинает лагать/глючить, инклуд мне очень нужен( подскажите что с ним не так..
Вид для печати
Всем привет, подскажите почему при подключении этого инклуда ( http://pastebin.com/8BsUA00F ) при онлайне мод начинает лагать/глючить, инклуд мне очень нужен( подскажите что с ним не так..
Для начала не думаю что проблема в инклуде,хотя там цикл в цикле что не есть гуд =\
Нет, проблема именно в инклуде, при его подключении начинает лагать(..
Цикл в цикле ничего плохого не сделает. Многие системы без подобного способа не реализовать. Просто нужно умело управляться с ними.
По поводу инклюда. Стоит его оптимизировать просто. Ну, например, PlayerToPoint совершенно не нужна. Или циклы сделаны криво. Да много всяких мелочей, которые увеличат быстродействие.
А по поводу лагов - подключите инклюд к пустому моду и посмотрите что будет. Вряд ли инклюд виной лагов. Скорее всего ваш мод просто уже настолько загажен, что хостин не справляется с нагрузкой
а могут быть лаги из за того что в стоке AddAutoGate создается таймер?
Попробуй вшить инклуд в мод.
Skype: pwn.pro помогу.
Вшил, ничего не изменилось, при авторизации зависает диалог авторизации/регистрации и часто кикает ackslimit
Без инклуда все прекрасно работает и без лагов..(
Может у тебя в моде второй PlayerToPoint?
Нет, нету
- - - Добавлено - - -
Кажется я понял что не так, можете помочь сделать чтобы ворота открывались не по таймеру, а по клавише?
Подскажите правильно ли я сделал ворота по клавише?
PHP код:
if(newkeys == 65536)
{
for(new ID = 0; ID < MAX_GATES; ID++)
{
if(Gate[ID][Created] == 1)
{
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(GateEnter(i,ID))
{
SomeoneNearGate[ID] = 1;
}
else
{
if(SomeoneNearGate[ID] == 0)
{
MoveObject(Gate[ID][GateObject],Gate[ID][closeX],Gate[ID][closeY],Gate[ID][closeZ],5);
}
}
}
}
if(SomeoneNearGate[ID] == 1)
{
MoveObject(Gate[ID][GateObject],Gate[ID][openX],Gate[ID][openY],Gate[ID][openZ],5);
}
SomeoneNearGate[ID] = 0;
SetTimerEx("GateClose", 4000, false, "d", 4);
}
}
}
PHP код:
forward GateClose();
public GateClose()
{
for(new ID = 0; ID < MAX_GATES; ID++)
{
if(SomeoneNearGate[ID] == 0)
{
MoveObject(Gate[ID][GateObject],Gate[ID][closeX],Gate[ID][closeY],Gate[ID][closeZ],5);
}
}
}