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

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

Скрипт на заказ


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

#1
Connectionn

Connectionn
  • 2
    0
    Не выбрано
    • Гремлин
    • Пользователь

Всем привет!

Ребят нужен скрипт на фарм.

Идея такова, при смерти на споте, ресаться в городе - выключить бота - ребафнуться у 2-ух НПС и улететь на спот (к примеру, Равнины Славы и добежать до нужного места. Далее по мере получения уровня была возможность поменять локацию).

 

Играю на Essence, НПС телепорта не строчный, поэтому в коде невозможно указать строчку куда лететь. Подсказали что можно перемешаться таким скриптом, и методом тыка подобрать нужный телепорт, что я и сделал. 

 

var
  i:integer;
begin
  i:=117;
  //for i:=0 to 255 do
  begin
  engine.teleport(i);
  delay(500);
  print(i);
  end;
end.
 
Вообще в идеале чтобы после ребафа, персонаж нажимал на панели, к примеру, F12. Дабы избежать проблем с телепортом. На эту кнопку забиндил быстрый телепорт сразу на точку фарма.
 
За вознаграждение, кто то может написать подобный скрипт? Более подробно что требуется, можно обсудить в личке\скайп(amsterdam.smile)\или вк (https://vk.com/twomillion)
 

  • 0

#2
Fearless

Fearless
  • 16
    15
    Смеюсь
    • Lvl 12
    • Пользователь

Запускаешь скрипт https://yadi.sk/d/Th_yKHoLW-JPeQ - делаешь телепорт и получаешь ID.

Юзаешь его через Engine.Teleport(ID);

 

По скрипту (ОБЫЧНЫЙ ПРИМЕР!):

// Это запускаешь в потоке (Script.NewThread(@Dead);)
procedure Dead;
begin
  while delay(100) do begin
    if User.Dead then begin
      delay(2500+Random(500));
      Engine.GoHome;
    end;
  end;
end;

function BuffNeed(ToS:integer):boolean;
var
	buff,buff1: TL2Effect;
begin
  result:=false;
  if ToS=1 then begin
    if (not User.Buffs.ById(51374, buff)) then  Result:=true;
  end else if ToS=2 then begin
    if (not User.Buffs.ById(51389, buff)) or (not User.Buffs.ById(51392, buff1)) then begin
      Result:=true;
    end;
  end;
end;


//Чекаешь когда ты в городе:
if (Engine.GetZoneType = ztPeace) then begin

//Чекаешь наличие баффов #1:
if BuffNeed(1) then begin
Подходишь к нему и юзаешь что то типо:
while BuffNeed(1) do begin
  if User.target.id<>34071 then Engine.SetTarget(34071);
  if User.Target.id=34071 then begin
	Engine.Attack;
	Engine.BypassToServer('menu_select?ask=-181023&reply=1');
  end;
  delay(100);
end;	

//Чекаешь наличие баффов #2:
if BuffNeed(2) then begin
//Подходишь к нему и юзаешь что то типо:
while BuffNeed(2) do begin
  if User.target.id<>34072 then Engine.SetTarget(34072);
  if User.Target.id=34072 then begin
	Engine.Attack;
	if (not User.Buffs.ById(51389, buff)) then Engine.BypassToServer('menu_select?ask=-181023&reply=4');
	if (not User.Buffs.ById(51392, buff)) then Engine.BypassToServer('menu_select?ask=-181023&reply=5');
  end;
  delay(100);
end;

//Потом улетаешь как хочешь. (NPC) - (Engine.Teleport)
while (Engine.GetZoneType = ztPeace) do begin
	Юзаешь тут телепорт.
	
end;

//бежишь к споту или танцуешь.

Желательно еще проверку если умер раза 2. А то пока будешь бегать уровня 2 сольёшь. GL.


  • 1

#3
Connectionn

Connectionn
  • 2
    0
    Не выбрано
    • Гремлин
    • Пользователь

Fearless, Спасибо, но я в этом не особо силен, в любом случае отписали только вы. Буду разбираться!)


  • 0


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

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

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