Да только в этом блоке
delphi Код:
charid[o]:=idchar;
charname[o]:=namechar;
clanchar[o]:=ReadD(310 + (length(namechar) * 2 + 2) + (length(titlechar) * 2 + 2));
charx[o]:=ReadD(2);
chary[o]:=ReadD(6);
charz[o]:=ReadD(10);
profa[o]:=ReadD(30 + (length(namechar) * 2 + 2));
chardead[o]:=ReadC(333 + (length(namechar) * 2 + 2) + (length(titlechar) * 2 + 2));
уже задействованы 8 таких массивов. Причем работает так: приходит char info ("if fromserver and (connectname=name) and (pck[1]=#$31) then") - и значит начнем цикл в 1,5к (!!!) повторений. Это при приходе КАЖДОГО чаринфо пакета...а сколько их там бегает постоянно туда-сюда? То же самое при удалении объекта случается...Фактически выходит что почти в любой момент времени у тебя будет крутиться один из таких вот 1,5к циклов. Можно немного жизнь облегчить используя переменную для хранения "потолкового" значения "о", и использовать вместо "for o:=1 to 1500 do" какойнть "for o:=1 to max do", но это все равно не лучший выход по-моему
ЗЫ: кстати: а чего скрипт вообще должен делать? Судя по блоку объявлений переменных - хантер-бот какой-то получается, для охоты на варов.
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Последний раз редактировалось Breadfan, 28.08.2010 в 21:13.
|