Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
var
execKey: integer;
skillKey: integer;
function validCharTarget(obj: TL2Live; minDist, maxDist: Integer): boolean;
begin
Result := not obj.dead and (obj.clanId <> user.clanId) and (obj.allyId <> user.allyId)
and (user.DistTo(obj) > minDist) and (user.DistTo(obj) < maxDist)
and obj.valid and (obj.PVP or obj.PK) and not obj.isMember;
end;
function validNpcTarget(obj: TL2Live; minDist, maxDist: Integer): boolean;
begin
Result := not obj.dead and (user.DistTo(obj) > minDist) and (user.DistTo(obj) < maxDist)
and obj.valid and obj.Attackable;
end;
function getValidTarget: TL2Live;
var
i: integer;
begin
for i:=CharList.Count-1 downto 0 do
begin
if (validCharTarget(charList.items(i), minDist, maxDist)) then
begin
Result := charList.items(i);
exit;
end;
end;
for i:=NpcList.Count-1 downto 0 do
begin
if (validNpcTarget(npcList.items(i), minDist, maxDist)) then
begin
Result := npcList.items(i);
exit;
end;
end;
end;
procedure keyThread;
var
KeyCode, param: integer;
Action: TL2Action;
currTarget: TL2Live;
begin
while Engine.Status = lsOnline do
begin
Action:= Engine.WaitAction([laKey], KeyCode, param);
if Action = laKey then
begin
if (KeyCode = execKey) and (User.Cast.EndTime = 0) then
begin
currTarget := getValidTarget;
if Assigned(currTarget) then
begin
if (user.target <> currTarget) then
Engine.SetTarget(getValidTarget);
Engine.UseKey(skillKey, true, false);
delay(50);
delay(user.cast.endtime);
end;
end;
end;
end;
end;