Jump to content


Toggle shoutbox Chat Open the Shoutbox in a popup

Прямая связь с администрацией по скайпу: gods.dragon
@  Costesti : (10 June 2025 - 22:26) Артём закрой сервер толку от него ноль так как лаги бешеные ничего не сделать
@  Costesti : (10 June 2025 - 21:03) бля это у меня сервер только логает или у всех?
@  papasha : (10 June 2025 - 15:13) @Costesti da kanesna vvodit, uze dohuja obnov vishlo za 7 let poslednix!!
@  Costesti : (09 June 2025 - 18:34) Артём ты там нововведения водишь?
@  Costesti : (09 June 2025 - 18:31) Сервер работает?
@  Costesti : (31 May 2025 - 23:46) Шан комп меняй уже игру не тянет
@  Costesti : (31 May 2025 - 20:02) мда никому не нужен этот сервер
@  fr33 : (29 May 2025 - 14:07) shenahnan gnom
@  fr33 : (29 May 2025 - 14:07) gm zb!!!1 lagi ept
@  Costesti : (28 May 2025 - 22:43) и это опять и за сейвы
@  Costesti : (28 May 2025 - 22:43) Народ да у кого там номер Шана пускай чинит сервер
@  Costesti : (27 May 2025 - 21:38) Вопрос Крафтить молоко можно?
@  fr33 : (26 May 2025 - 17:33) gm blad chini lag
@  Costesti : (23 May 2025 - 22:37) Бешеные лаги
@  Costesti : (17 May 2025 - 22:54) Опять лаги на Сервере
@  fr33 : (12 May 2025 - 15:21) ble daite mne gm i zdelaju pvp vam
@  Mokasin : (12 May 2025 - 09:04) Puišiem nav garlaicīgi xDDD
@  Egoons : (10 May 2025 - 18:48) lanc 2025 gads jau, ara silts atkal. tas taa, infai
@  beatiful : (10 May 2025 - 10:14) griga pidar
@  fr33 : (08 May 2025 - 17:53) griga eta samij zoskj dalbaeb etam server

Ystema

Member Since 05 Jan 2021
Offline Last Active Jun 08 2021 14:52
-----

Topics I've Started

Fishing Scrypt - Orion Client

12 January 2021 - 20:01

Всем удачной ловли!

 

Создаем в Orion асисте в разделе Script файл или добавляем в уже существующий.

корректируйте под себя.

можно добавить несколько функций дополнительных

 

//Чем будем ловить (серийник объекта), если пустая строка - ищет ToolType
var Tool = 'a fishing pole';
 
//Тип удочки, чем ловить, можно указать несколько типов через |
var ToolType = '0x0DBF';
 
//Максимальный вес, при котором выкидывать лишнее из пака (если есть что-то лишнее), если вес не изменился - лететь домой разгружаться
var MaxWeight = Player.MaxWeight() - 10;
 
//Текст удачной ловли
var PutText = 'You pull|Success in work';
 
//Текст не удачной ловли или режима вармода (если такое сообщение есть на сервере)
var FailText = 'You fish a while|thoughts of battle';
 
//Текст ошибки ловли (слишком далеко, не могу достать, сдох или что-то еще)
var StopText = 'There are no fish|away';
 
 //Руна к банку в городе serial
var CityBank = '0x401C072E';
 
//Серийник банка можно переписать под сундук....
var ResultContainer = '0x401C0760';
 
//Серийник мешка или контейнера в банке
var Bag = '0x401C1DCD';
 
//Разгружаемся в банк или еще куда нибудь
var UnloadToBank = true;
 
//Текст физла заклинания
var FizzlesText = 'The spell fizzles';
 
//Склейка текстов, что представлены выше.
var SearchText = PutText + '|' + FailText + '|' + StopText;
 
//Расстояние, на котором ловить по X
var FishDistanceX = 6;
 
//Расстояние, на котором ловить по Y
var FishDistanceY = 6;
 
//Указатель на текущую точку
var CurrentWayPoint = 0;
 
//Список точек, на которых обкапывать тайлы вокруг себя
var WayPoints =
[
      [1469, 1771],
      [1482, 1771],
   [1499, 1760],
   [1497, 1747],
];
 
///////////////////////////////////////////////////////////////////////////////////////////
//Основная фукнция
function StartFishing()
{
   //Ловим бесконечно
   while (true)
   {
      //Проходимся по списку точек
      for (CurrentWayPoint = 0; CurrentWayPoint < WayPoints.length; CurrentWayPoint++)
      {
         var point = WayPoints[CurrentWayPoint];
 
         //Пытаемся прийти на точку
         if (WalkToPoint(point[0], point[1]))
         {
            //Пытаемся ловить все вокруг себя
            if (!FishingTile(point[0], point[1]))
            {
               //Завершаем скрипт, если что-то пошло не так (только для теста, в дальнейшем заменить на какое-то действие)
               return;
            }
         }
      }
 
      //Обеспечение задержек в вечных циклах
      Orion.Wait(2000);
   }
}
 
///////////////////////////////////////////////////////////////////////////////////////////
//Функция ходилки, можно добавить сюда что-то еще
function WalkToPoint(x, y)
{
   return Orion.WalkTo(x, y, 0, 0);
}
///////////////////////////////////////////////////////////////////////////////////////////
//Функция ловли вокруг персонажа
function FishingTile(x, y)
{
   //Сбрасываем вармод, если это необходимо
   if (Player.WarMode())
   {
      Orion.WarMode(false);
      Orion.Wait(2500);
   }
   
   //Проход по квадрату
   for (var x = -FishDistanceX; x <= FishDistanceX; x++)
   {
      for (var y = -FishDistanceY; y <= FishDistanceY; y++)
      {
         //Рыбачим, если вернулось false - максимальный вес достигнут
         if (!Fish(x, y))
         {
            Orion.Print(0x0022, 'Достигнут максимальный вес!');
            return false;
         }   
         Orion.Wait(2000);
      }
   
   }
   return true;
}
 
///////////////////////////////////////////////////////////////////////////////////////////
//Функция получения серийника инструмента (удочки если слмолась пытается взять новую из пака)
function GetTool()
{
   var obj = Orion.FindObject(Tool);
 
   if (obj == null)
   {
      var list = Orion.FindType(ToolType, -1, self);
 
      if (list.length)
         return list[0];
      else
      {
         list = Orion.FindType(ToolType);
 
         if (list.length)
            return list[0];
      }
 
      return '';
   }
 
   return obj.Serial();
}
 
///////////////////////////////////////////////////////////////////////////////////////////
//Функция ловли по тайлу
function Fish(x, y)
{
   //Пока живы - ловим
   while (!Player.Dead())
   {      
      //Проверяем возможность наведения автотаргета на тайл
      if (!Orion.ValidateTargetTileRelative('water', x, y))
         break;
 
      var ToolSerial = GetTool();
 
      if (ToolSerial == '')
      {
         Orion.Print('0x0021', 'Tool is not found!!!');
         Orion.Wait(2000);
         return false;
}