эм) это врятли, делаю все как и ты в своем скрипте, чуть-чуть изменив. Но когда завтсавляю его выдавать пакет с панелькой, пх читает этот пакет как Die а при наведеии на него вообще содержимое не показывает.
procedure scanpaneli;
beginfor i:=1to20do//после выполнения этого цикла i будет равен 20if ConnectName=NamesArray[i] thenbegin
paneli[i]:=pck;
break; //<-fix. вот этого тут явно нехватало.end;
end;
beginif FromServer and(pck[1]=#$45)then scanpaneli;
if [условие] thenbegin
buf:=paneli[i]; //ты уверен что при I = 20 ты обратишься к нужной ячейке ? не.. скорей всего ты обратишся в ячейке по которой лежит пустая строка. символом окончания строки - #0 вот откуда у тебя пакет die (id=#0) береццо
SendToClientEx(Name);
end;
end.
Последний раз редактировалось alexteam, 09.07.2010 в 23:31.
Function GetArrayIndexByName(name:string):integer;
begin
result := 1;
while(result <= 20)and(name <> NamesArray[result])doinc(result);
if result > 20then result := 0;
end;
Function GetArrayIndexByOBjId(ObjId:integer):integer;
begin
result := 1;
while(result <= 20)and(ObjId <> IDNamesArray[result])doinc(result);
if result > 20then result := 0;
end;
var
Index : integer;
beginif FromServer and(pck[1]=#$45)then scanpaneli;
if [условие] thenbegin
index := GetArrayIndexByName('имя когото'); //получаем индекс элемента с указаным именем юзаем ее или GetArrayIndexByOBjId я хз как там у тя по кодуif index > 0then//индекс равен нулю если имя не найденоbegin
buf:=paneli[index];
SendToClientEx(Name);
end;
end;
end.
на будущее:
уместность использования GetArrayIndexByName в том или ином месте определяеццо кодом в целом.
т.к. кода я не вижу - вариант использования оставлю таким.
делай поменьше циклов в коде скрипта. лучше в самом начале получить и запихнуть результат функции в переменную потратив аж целых 4 байта в памяти чем каждый раз теребить одну и туже функцию с циклом внутри тратя уйму времени процессора и создавая лишние задержки при обработке пакета.
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 09.07.2010 в 23:51.