Перейти к содержимому

Фотография
- - - - -

Прошу оказать помощь с скриптом на лимиты дестра


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1
Sent

Sent
  • 13
    0
    Все круто
    • Lvl 10
    • Пользователь

Добрый день уважаемые знатоки.

 

Подпилил скрипт пользователя вашего форума под ником BottleHunter. 

//summon BottleHunter

появилась проблема, я не могу зациклить скрипт. Т.е происходит выполнение скрипта, а далее скрипт перестаёт работать (хоть и находится в запущенном состоянии).

Мне нужно, чтобы после убийсва тира, с делеем 65-70 сек. бот бежал вновь по заданным направлениям, заводил тира в точку, и ожидал запуска лимитов.

 

Но этого не происходит. Помогает перезапуск скрипта. Прошу оказать помощь.

Спасибо. 

function HasBuff(id:Integer):Boolean;
var i:Integer;
    b: TL2Buff;
begin
  Result := False;
  for i:=0 to User.Buffs.Count-1 do
  begin
    b := User.Buffs.Items(i);
    if (b.Id = id) then
    begin
      Result := True;
      break;
    end;
  end;
end;
function skillCoolTime(ID: integer): integer;
var
   skill: TL2Skill;
begin
   if Skilllist.byID(id, skill) then
      Result := skill.Endtime   
end;
var
item: TL2Item;
obj:TL2Effect;
var otk:Longint;
s:string;
begin
	Engine.FaceControl(0, False);
	while 1<>2 do begin //бесконечный цикл
engine.MOVETO(28349,-17410,-2558);
engine.MOVETO(29670,-17646,-2168);
	while true do begin
		delay(300);
		if not HasBuff(176) then begin //нет бафа френзи
				if User.HP < 30 then begin // [хп меньше 30 проц]
					if inventory.user.byid(4761, item) and not (Item.Equipped) then begin //[4761] id дестроножика с са рск хаст [если дестроножик не одет]
						Delay(200);
						Engine.UseItem(4761); //[4761] id дестроножика [одеваем дестроножик]
						Delay(100);
						Engine.UseSkill(420); //[176] - id скилла френзи [юзаем френзи]
						Delay(100);
						Engine.UseSkill(176); //[420] - id скилла зиалота [юзаем зиалот]
						Delay(100);  						 					 
		        Engine.UseSkill(94); //[121] - id скилла батл рор [юзаем батл рор]
						Delay(100);
						Engine.UseSkill(121); //[94] - id скилла рейдж [юзаем рейдж]
							if inventory.user.byid(8797, item) and not (Item.Equipped) then begin //[6372]  id хд без са [она как раз и не одета]
								Delay(500);
								Engine.UseItem(8797); //[6372]  id хд без са [одеваем основную пушку]
                delay(300);
Engine.FaceControl(0, True); //активируем бота бота
						    delay(70000);
Engine.FaceControl(0, false);
delay(1000);
								
							end;
					end;
				end;
				if User.HP > 30 then begin
					if inventory.user.byid(7715, item) and not (Item.Equipped) then begin
						Delay(500);
						Engine.UseItem(7715); //одеваем пушку на конверс (блант) тем самым сливая 40% хп
						Delay(500);
					 
						end;
					end;
				end;
		end;
	end;

end. 

Сообщение отредактировал Sent: 04 Январь 2020 - 09:08

  • 0

#2
pups

pups

два вара зачем-то, в которых из четырёх переменных используется только одна.
бесконечный цикл внутри бесконечного цикла, из которого нет выхода.
куда-то не туда ты его подпилил)
форматируй код в одном стиле и будет проще найти ошибку, попробуй еще раз сам взглянуть

Спойлер (+/-)


Сообщение отредактировал pups: 04 Январь 2020 - 12:54

  • 0

#3
Sent

Sent
  • 13
    0
    Все круто
    • Lvl 10
    • Пользователь

pups, Вроде бы убрал лишнее. Но ничего не изменилось.

var
item: TL2Item;
obj: TL2Effect;
begin
Engine.FaceControl(0, false);

while 1<>2 do begin //бесконечный цикл
engine.MOVETO(28349,-17410,-2558);
engine.MOVETO(29670,-17646,-2168);

 while true do begin

if User.HP < 30 then begin // [хп меньше 30 проц]
if Inventory.User.ByID(4761, item)
and (not Item.Equipped) then begin //[4761] id дестроножика с са рск хаст [если дестроножик не одет]
Delay(200);
Engine.UseItem(4761); //[4761] id дестроножика [одеваем дестроножик]
Delay(100);
Engine.UseSkill(176); //[176] - id скилла френзи [юзаем френзи]
Delay(100);
Engine.UseSkill(420); //[420] - id скилла зиалота [юзаем зиалот]
Delay(100);                        
Engine.UseSkill(121); //[121] - id скилла батл рор [юзаем батл рор]
Delay(100);
Engine.UseSkill(94); //[94] - id скилла рейдж [юзаем рейдж]
if Inventory.User.ByID(8797, item)
and (not Item.Equipped) then begin //[6372]  id хд без са [она как раз и не одета]
Delay(500);
Engine.UseItem(8797); //[6372]  id хд без са [одеваем основную пушку]
Delay(300);
Engine.FaceControl(0, true); //активируем бота бота
Delay(70000);
Engine.FaceControl(0, false);
Delay(1000);
end;
end;
end;
if User.HP > 30 then begin
if Inventory.User.ByID(7715, item) and (not Item.Equipped) then begin
Delay(500);
Engine.UseItem(7715); //одеваем пушку на конверс (блант) тем самым сливая 40% хп
Delay(500);
end;
end;
end;
end.

по прежнему бот делает все действия 1 раз. Когда убираю "while true do begin", перестаёт юзать лимиты. 


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Rawr.pro - Сделано с для игроков.