Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Помощь с введением массива)

Рег
20 Ноя 2015
Сообщения
94
Реакции
0
const
CLEANSE_ID = 1409;
range=600;
var
skill: TL2Skill;
i: Integer;
Buffs: TBuffList;
targ:TL2Live;

begin


while Engine.Status = lsOnline do
begin
if ((Engine.GetSkillList.byid(1409, skill)) and (Skill.EndTime < 950)) then
begin
for i:=0 to Party.Chars.Count - 1 do
begin
targ := Party.Chars.Items(i);
begin
if ((targ.Buffs.ById (456, buffs) or (targ.Buffs.ById (123, buffs) ) and
((targ.Name='qbs') or (targ.Name='asd')) and
(User.DistTo(targ) < range)
then
begin
Engine.SetTarget(targ);
delay(10);
Engine.Usekey($keeeeeey);
end;
end;
end;
end;
end;
end.


Всем привет) Помогите пожалуйста ввести массивы с дебафом дабы привести строчку
Код:
if ((targ.Buffs.ById (456, buffs) or (targ.Buffs.ById (123, buffs) )
к виду

Код:
if (targ.Buffs.ById (?, buffs)

Гуглил, пробовал, ничего не помогло(
Было бы замечательно, если вы показали на моем же примере)
 
Спасибо большое) length - 1 эт что значит?)
И обязательна ли эта строка
for i:= 0 to high(BuffList) do
 
Ребят, спасибо большое за ответы)
Еще вопрос такой, если я объединяю скрипт с другими скриптами, к примеру

uses SysUtils,Classes;
procdeure 1;
.....
end;

procedure2;
....
end;

procedure cleanse;
const...
var
BuffList: array of integer = [522, 627];
....
end;

begin
scriptnewthread(@cleanse);
...
end.
ругается на строку с массивом

что делать?
 
; не хватает.
что за глупые вопросы.
 
эт я пример неудачно написал. ";" стоит.
Просто скрипт вида
begin
var
BuffList: array of integer = [522, 627];
...
end.

работает без проблем.



а в скрипте вида

uses SysUtils,Classes;
procdeure 1;
.....
end;

procedure2;
....
end;

procedure cleanse;
const...
var
BuffList: array of integer = [522, 627];
....
end;

begin
scriptnewthread(@cleanse);
...
end.
ругается на строчку массива
 
не обратил внимание, что массив глобальный.
литл хинт - описание ошибок компиляции/выполнения пишутся в логе.
Код:
procedure cleanse;
var
  BuffList: array of integer;
begin
  BuffList:= [522, 627];
  ..
end;
 
const
range=600;
var
skill: TL2Skill;
i: Integer;
Buffs: TBuffList;
targbc, targ:TL2Live;
BuffList: array of integer;
begin
bufflist:= [522, 627];
begin
while Engine.Status = lsOnline do
begin
if ((Engine.GetSkillList.byid(1409, skill)) and (Skill.EndTime < 950))then
begin
for i:=0 to Party.Chars.Count -1 do
begin
targ := Party.Chars.Items(i);
begin
for i:=0 to high(Bufflist) do
begin
If (targ.Buffs.ById(BuffList, buffs)) and
((targ.name='') or (targ.name='')) and
then
begin
Engine.SetTarget(targ);
delay(10);
Engine.Usekey($32);
delay(100);
end;


end;
end;
end;
end;
end;
end;
end.



ребят, хелп) клинсит рандомно 1го из членов группы, что делать?
 
const
range=600;
var
skill: TL2Skill;
i: Integer;
Buffs: TBuffList;
targbc,targ: TL2Live;
BuffList: array of integer;
begin
bufflist:= [522, 627];
begin
while Engine.Status = lsOnline do
begin
if ((Engine.GetSkillList.byid(1409, skill)) and (Skill.EndTime < 950)) then
begin
for i:= 0 to Party.Chars.Count -1 do
begin
targ:= Party.Chars.Items(i);
begin
for i:= 0 to high(Bufflist) do
begin
If targ.Buffs.ById(BuffList, buffs) and
((targ.name='Ник1') or (targ.name='НикN'))
then
begin
Engine.SetTarget(targ);
delay(10);
Engine.Usekey($32);
delay(100);
end;
end;
end;
end;
end;
end;
end;
end.

надеюсь, я тебя правильно понял на счет форматирования)
 
эт чтоб можно было использовать массив)
 
const
range=600;
var
skill: TL2Skill;
i: Integer;
Buffs: TBuffList;
targbc,targ: TL2Live;
BuffList: array of integer;
begin
bufflist:= [522, 627];
begin
while Engine.Status = lsOnline do
begin
if ((Engine.GetSkillList.byid(1409, skill)) and (Skill.EndTime < 950)) then
begin
for i:= 0 to Party.Chars.Count -1 do //ТЫ окрыл цикл
begin //Запустил
targ:= Party.Chars.Items(i); //Засетил
begin //Зачем тут бегин и почему? . Р.С. Может я дурак?
for i:= 0 to high(Bufflist) do
begin
If targ.Buffs.ById(BuffList, buffs) and
((targ.name='Ник1') or (targ.name='НикN'))
then
begin
Engine.SetTarget(targ);
delay(10);
Engine.Usekey($32);
delay(100);
end;
end;
end;
end;
end;
end;
end;
end.
Читай коментайрий
 
Назад
Сверху