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

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

Сделать простой скрипт


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

#1
GodOne

GodOne
  • 3
    0
    Не выбрано
    • Lvl 1
    • Пользователь

Сделать скрипт на обмен волос по квесту в Варке/Кетре - по сути простой кликер на одну строчку. В скриптах абсолютный ноль, поэтому извиняюсь заранее, если такой простой вопрос вас заставит напрячься)


  • 0

#2
dsp68rus

dsp68rus
  • 44
    4
    Кривляюсь
    • Lvl 24
    • Пользователь

Есть очень старый скрипт от ИТ. Ндао подойти к НПЦ и запустить скрипт, волосы сдаются по 100 штук. Не могу сказать как будет работать с твоим сервером. Возможно придётся подставить другие ID и пункты диалогов. Можно его использовать как пример. Процедура sendbypass; нужна была из-за особенностей работы конкретного сервера. Скорее всего на других серверах не понадобится (или будет работать не правильно) так что её можно убрать.


uses SysUtils;
// если рабоатет без этой посылки то можно просто удали тело функции и её вызов дальше в тексте
procedure sendbypass;
var
  a : string;
begin
a:=Engine.DlgText;
//  Print(a);
  Delete(a,1,Pos('action="',a)+17);
  Delete(a,Pos('"',a),length(a));
  Engine.BypassToServer(a);
//  Print(a);
end;


function CheckItemCount (id: Integer) : Integer;
var i: integer;
begin
  result:= 0;                                          
  for i:= 0 to Inventory.User.Count-1 do begin         // пробегаемся по инвентарю юзера
    if (Inventory.User.Items(i).ID = id) then          // если id совпали, то
      Inc(result, Inventory.User.Items(i).Count);      // увеличиваем результат на кол-во предметов в стаке
  end; 
end;


begin
   engine.SetTarget(31370);   // НПЦ Кадун Зу Кетра проверить через боот его ID
   delay(200);
   engine.dlgOpen();           
   delay(200);
   engine.dlgsel(1);          // выбрали первую строчку - квест
   delay(200);
   sendbypass;                // скорее всего это не понадобится
   engine.dlgsel(1);          // первая строка - война с фавнами варка  
   delay(200);
   sendbypass;                // скорее всего это не понадобится. кривой серв без этого не работало.

   Engine.BypassToServer('Quest 606_WarWithVarkaSilenos 31370-04.htm');   // этл строка сдать квестовый итемы
   delay(200);

   Engine.BypassToServer('Quest 606_WarWithVarkaSilenos 31370-07.htm');   // это строка продолжить квест
   delay(100);

   while CheckItemCount(7233) > 99 do   begin     // пока волос в игнвентаре больше 100 сдавать
     // и теперь жать кнопку пока не будут сданы все волосы                       
     Engine.BypassToServer('Quest 606_WarWithVarkaSilenos 31370-07.htm');    // сука. текст диалога меняется а байпас нет. 
     delay(100);
   end;

end.

Сообщение отредактировал dsp68rus: 22 Май 2020 - 20:41

  • 2

#3
GodOne

GodOne
  • 3
    0
    Не выбрано
    • Lvl 1
    • Пользователь

dsp68rus, не, не хочет работать. Пытался исправить через скриптрекордер и тд, но знаний не хватает.


  • 0

#4
dsp68rus

dsp68rus
  • 44
    4
    Кривляюсь
    • Lvl 24
    • Пользователь

Какой сервер напиши в ЛС. Я посмотрю что там можно сделать.


  • 0


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

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

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