Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Spectre7TS написал(а):Лучше на аое парочку скриптов для примера дайте, с проверкой ренджа, количества целей и OID, чтобы не спамить дебаффы овера подряд
const
Range:integer=150; //ренж скила
SpellID:integer=1417; //ид скилла
RangePvP:integer=Range*2; //ренж для проверки флагнутых
BuffID:integer=304; //ид проверяемого бафа
BuffTime:integer=5*60*1000; //время до окончания бафа
Macro:boolean=false; //работают ли макросы на сервере?
function CheckPvP(range:integer):boolean;
//если нету флагнутых в ренже, то можем кастовать
var
i:integer;
obj:tl2live;
begin
result:=true;
for i:=0 to charlist.count-1 do
begin
obj:=charlist(i);
if((not obj.dead) and //таргет живой
(obj.pvp) and //флагнутый
(user.distto(obj)<=range) and //в ренже
(not obj.ismember) and //не сопартиец
((obj.clanid=0) or (obj.clanid<>user.clanid)) and //не соклан
(obj.valid)) //валиден
then result:=false;
if(user.distto(obj)>range) then break;
end;
end;
function SpellReady(ID:integer):boolean;
//проверяем готовность скилла
var skill:tl2skill;
begin
result:=false;
skilllist.byid(id, skill);
if(macro and (skill.endtime<=950)) then result:=true;
if(not macro and (skill.endtime=0)) then result:=true;
end;
function CheckBuff(id:integer; time:integer):boolean;
//проверяем время бафа
var buff:tl2buff;
begin
result:=true;
user.buffs.byid(id, buff);
if(buff.endtime<=time) then result:=false;
end;
function CheckMobs(range:integer):boolean;
//проверка есть ли вокруг мобы
var
i:integer;
mob:tl2live;
begin
result:=false;
for i:=0 to npclist.count-1 do
begin
mob:=npclist(i);
if((not mob.dead) and //моб живой
(user.distto(mob)<=range) and //в ренже
(mob.attackable) and //может быть атакован
(mob.valid)) //валиден
then result:=true;
if(user.distto(mob)>range) then break;
end;
end;
procedure Farm;
begin
while (engine.status=lsonline) do
begin
if(CheckPvP(RangePvP) and
SpellReady(SpellID) and
CheckBuff(BuffID, BuffTime) and
CheckMobs(Range) and
not user.dead) then
begin
if(macro) then engine.duseskill(spellID, false, false)
else engine.useskill(spellID);
delay(user.cast.endtime);
end;
delay(100);
end;
end;
begin
script.newthread(@Farm);
end.