Jump to content


Toggle shoutbox Chat Open the Shoutbox in a popup

Прямая связь с администрацией по скайпу: gods.dragon
@  Pablo : (15 March 2024 - 21:12) Sell regs from pandora box.
@  Pablo : (15 March 2024 - 21:11) Sell paralyze and poison necklaces 100k 1 piece.
@  fr33 : (11 March 2024 - 16:38) blee gm zb atdai bank
@  GM SOLAR : (10 March 2024 - 17:24) ОпЯТь лаГГи ! ! !
@  Pablo : (06 March 2024 - 17:48) Labākais hot ko esmu jebkad paņēmis :D
@  Senseless : (05 March 2024 - 09:42) Opatj ataki na server powli :(
@  Pablo : (03 March 2024 - 19:19) Riebiigais
@  Ganjakur : (03 March 2024 - 15:10) kāds niks mp?
@  Pablo : (02 March 2024 - 21:31) Var kāds iedot 40 kk priekš 11 lvl ?
@  Senseless : (02 March 2024 - 18:12) bratva estj u kogo script na ckerika na lamber ?
@  GM SOLAR : (02 March 2024 - 16:44) ALL GO NA CTF ! ! ! ! !
@  Ganjakur : (01 March 2024 - 17:32) labi
@  Pablo : (29 February 2024 - 12:08) Eu džeki, tie kuri vairāk nespēlē ultimu, varat droši man uzdāvināt savus itemus, vai pat savus acc. droši rakstam man privāti. Es vismaz uzturēšu šo serveri pie dzīvības :D
@  fr33 : (29 February 2024 - 09:45) yes
@  EmmaSb : (28 February 2024 - 21:00) Easyuo still working ?
@  Artemy Shan : (18 February 2024 - 20:42) Еще один фикс поставил. Смотрим, тестируем.
@  jurasiks : (18 February 2024 - 20:04) da pipec tu, zdelal on
@  Senseless : (17 February 2024 - 19:17) Lagi powli opatj
@  Artemy Shan : (17 February 2024 - 12:36) Мне удалось повторить действия, которые делал этот пиздюк, чтобы нагружать процессор сервера на 100% и вроде как я поправил это.
@  Artemy Shan : (13 February 2024 - 02:44) Сменился айпи для входа в игру. Теперь заходим через: loginserver=login.oldp.net,2593 или loginserver=91.121.232.151,2593

Photo

Нужна Помощь С "script Mining-Minoc".


  • Please log in to reply
10 replies to this topic

#1 Riality

Riality

    Novice

  • Members
  • 29 posts
  • Gender:Male
  • Location:Latvia, Liepaya
  • Interests:IPTV: https://iptvclub.team

Posted 01 June 2020 - 20:11

Нашёл вот такой скриптец. Копает, но что-то не то с паузой между копанием. То ждет что-то, то слишком быстро повторяет действие и по этому выходит "You stop mining". 

Может кто-то, кто понимает глянет... Есть ли смысл мучать этот скрипт, либо искать другое что-то. 

Заранее спасибо. 

P.S. - Ультиму открыл сегодня за много лет, а Orion увидел вообще в первый раз.  :hm:

///////////////////////////////////////////////////////////////////////////////////////////
//////////////////// -Mining for UORPG server (17.05.2017) by Hotride- ////////////////////
///////////////////////////// -Minimal OA version 2.0.7.0- ////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// -Настройка скрипта- ///////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
//
// Перед запуском требуется:
// 1) Настроить WayPoints - массив координат, на которых будут обкапываться тайлы вокруг
//    персонажа. Желательно записывать их так, что бы персонаж раскапывал как можно больше
//    тайлов пещеры, и не тратил много времени при перемещениями между точками.
// 2) Подготовка ресурсов.
//    При разгрузке в банк (UnloadToBank): указать ResultContainer как серийник банка
//    (_info на любую вещь в банке, C=0x... будет серийник банка), закинуть туда реги на
//    реколл, инструменты, указать OreBag в нем (или, может быть равен ResultContainer).
//    При разгрузке в контейнер у дома: указать его как ResultContainer, закинуть туда реги
//    на реколл, инструменты, указать OreBag в нем (или, может быть равен ResultContainer).
// 3) Задать Tool (если нужно копать конкретным инструментом), указать ToolType для
//    добора инструментов из ResultContainer, указать количество инструментов для добора
//    ToolsCount.
// 4) Указать серийники рун или рунбук с дефолтными рунами (в дом RuneHomeSerial и в пещеру
//    RuneCaveSerial), указать минимальное количество регов ReagentsCount, после которого
//    добирать их из ResultContainer.
// 5) Настроить использование хайда UseHiding.
// 6) Настроить расстояние для обкопки DigDistanceX и DigDistanceY.
// 7) Если нужно игнорировать некоторые руды при копки (не продолжать копать, если такая руда
//    попалась) то указать названия руды в IgnoreOreNames, либо оставить это поле пустым.
// 8) Если нужно сбрасывать какую-то руду после обкопки (или перед улетом домой) то
//    указать цвета руды в DropOreColors, либо оставить это поле пустым.
// 9) Настроить лимит веса MaxWeight.
// 
// Принцп работы скрипта:
// Запускаем непосредственно в пещере.
// Скрипт подходит к первой точке, обкапывает все тайлы вокруг на указанном расстоянии и
// переходит на следующую точку, повторяет до бесконечности (либо пока не убьют).
// При достижении лимита веса сбрасывает указанную руду на пол (под ноги), если перевес
// остался - летит на разгрузку и добор расходников.
// После этого - летит обратно в пещеру и идет на ту же точку, с которой улетел,
// продолжает обкопку.
// 
///////////////////////////////////////////////////////////////////////////////////////////

//Чем будем копать (серийник объекта), если пустая строка - ищет ToolType
var Tool = 'pickaxe';

//Тип кирки/лопаты, чем копать, можно указать несколько типов
var ToolType = '0x0E85|0x0E86';

//Количество инструментов для добора
var ToolsCount = 0;

//Контейнер с мешком для руды (или просто для руды, если не нужно скидывать ее в мешок)
var ResultContainer = '0x409A986F';

//Контейнер, куда складывать руду (может быть равен ResultContainer, если для руды нет отдельного мешка в нем)
var OreBag = '0x409A986F';

//Разгрузка происходит в банк, true - да, false - разгружается в контейнер у дома (или где-то еще)
var UnloadToBank = false;

//Максимальный вес, при котором выкидывать лишнее из пака (если есть что-то лишнее), если вес не изменился - лететь домой разгружаться
var MaxWeight = Player.MaxWeight() - 10;

//Серийник руны в дом
var RuneHomeSerial = '0x4056158C';

//Серийник руны в перещу
var RuneCaveSerial = '0x4058675E';

//Текст физла заклинания
var FizzlesText = 'The spell fizzles';

//Сколько брать регов на реколл?
var ReagentsCount = 20;

//Текст удачной копки
var PutText = 'You put';

//Текст не удачной копки или режима вармода (если такое сообщение есть на сервере)
var FailText = 'You loosen some|thoughts of battle';

//Текст ошибки мининга (слишком далеко, не могу достать, сдох или что-то еще)
var StopText = 'There is nothing here to mine|Try mining|away|no line of|reach that|You cannot mine so|Where do you want|слишком далеко';

//Какую руду прекращать копать, если попалась
var IgnoreOreNames = '';

//Какую руду (цвета руды) сбрасывать на землю, когда обрыли все тайлы вокруг себя
var DropOreColors = '';

//Прятаться во время обкопки тайлов (true - прятаться, false - нет)
var UseHiding = false;

//Текст хайдинга
var HidingText = 'seem to hide|have hidden';

//Расстояние, на котором копать по X
var DigDistanceX = 2;

//Расстояние, на котором копать по Y
var DigDistanceY = 2;

//Список точек, на которых обкапывать тайлы вокруг себя
var WayPoints =
[
	[2439, 94],
	[2432, 91],
	[2428, 87],
	[2422, 90],
	[2426, 95],
	[2427, 101],
	[2427, 106],
	[2423, 109],
	
	
	
	
	
	
	
	
	
	
	
	
	
	
];

///////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////// -Глобальные переменные. Не изменять- //////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////

//Склейка текстов, что представлены выше.
var SearchText = PutText + '|' + FailText + '|' + StopText;

//Указатель на текущую точку
var CurrentWayPoint = 0;

var CurrentMinDropX = 0;

var CurrentMaxDropX = 0;

var CurrentDropX = 0;

var CurrentMinDropY = 0;

var CurrentMaxDropY = 0;

var CurrentDropY = 0;

///////////////////////////////////////////////////////////////////////////////////////////
//Основная фукнция
function Mining()
{

	//Роем бесконечно
	while (true)
	{
		//Проходимся по списку точек
		for (CurrentWayPoint = 0; CurrentWayPoint < WayPoints.length; CurrentWayPoint++)
		{
			var point = WayPoints[CurrentWayPoint];

			//Пытаемся прийти на точку
			if (WalkToPoint(point[0], point[1]))
			{
				//Пытаемся обкопать все вокруг себя
				if (!MiningHere(point[0], point[1]))
				{
					//Завершаем скрипт, если что-то пошло не так (только для теста, в дальнейшем заменить на какое-то действие)
					return;
				}
			}
		}

		//Обеспечение задержек в вечных циклах
		Orion.Wait(100);
	}
}
///////////////////////////////////////////////////////////////////////////////////////////
//Функция обкопки тайлов вокруг персонажа
function MiningHere(x, y)
{
	//Сбрасываем вармод, если это необходимо
	if (Player.WarMode())
	{
		Orion.WarMode(false);
		Orion.Wait(100);
	}
	
	//Проход по квадрату
	for (var x = -DigDistanceX; x <= DigDistanceX; x++)
	{
		for (var y = -DigDistanceY; y <= DigDistanceY; y++)
		{
			//Роем, если вернулось false - максимальный вес достигнут
			if (!Dig(x, y))
			{
				Orion.Print(0x0022, 'Достигнут максимальный вес!');
				return false;
			}
	
			Orion.Wait(100);
		}
	}

	DropExtraOres();
	
	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 Dig(x, y)
{

	//Пока живы - роем
	while (!Player.Dead())
	{
		//Прячемся
		if (UseHiding && !Player.Hidden())
		{
			Orion.UseSkill('Hiding');
			Orion.WaitJournal(HidingText, Orion.Now(), Orion.Now() + 7000, 'sys|my');
		}
	Orion.UseObject(toolSerial);
		//Проверяем возможность наведения автотаргета на тайл
		if (!Orion.ValidateTargetTileRelative('cave', x, y))
			break;

		var toolSerial = GetTool();

		if (toolSerial == '')
		{
			Orion.Print('0x0021', 'Tool is not found!!!');
			Orion.Wait(1000);
			return false;
		}

		//Используем кирку и тыкаем со смещением относительно персонажа на тайл
		Orion.WaitTargetTileRelative('cave', x, y, 0);
		Orion.UseObject(toolSerial);
		var msg = Orion.WaitJournal(SearchText, Orion.Now(), Orion.Now() + 15000, 'sys|my');
		Orion.Wait(5000);
	
		//Если сдохли - выходим из цикла
		if (Player.Dead())
			return false;
	
		//Если максимальный вес достигнут - пытаемся сбросить лишнюю руду на пол
		if (Player.Weight() >= MaxWeight)
		{
			DropExtraOres();

			//Если это не помогло (запас веса 50) - летим разгружаться
			if (Player.Weight() >= MaxWeight - 10)
				RecallUnload();
		}
	
		if (msg != null)
		{
			var text = msg.Text();

			//Если что-то упало в пак
			if (Orion.Contains(text, PutText))
			{
				//Если это нечто - игнорируемая руда - выходим из цикла
				if (Orion.Contains(text, IgnoreOreNames))
					break;
			}
			else if (Orion.Contains(text, FailText)) //Дернем вармод при физле/сообщении о том, что мы в вармоде
				Orion.WarMode(false);
			else if (Orion.Contains(text, StopText)) //Если нельзя достать до тайла или тут больше нет руды - выходим
				break;
		}
	
		Orion.Wait(100);
	}
	
	return true;
}
///////////////////////////////////////////////////////////////////////////////////////////
//Функция сброса предмета на землю, с проверкой на персонажа (под персонажей нельзя сбрасывать)
function DropGround(serial)
{
	var obj = Orion.FindObject(serial);

	if (obj == null)
		return false;

	var oldContainer = obj.Container();

	//Проходимся по координатам
	for (var x = CurrentDropX; x <= CurrentMaxDropX; x++)
	{
		for (var y = CurrentDropY; y <= CurrentMaxDropY; y++)
		{
			for (var i = 0; i < 3; i++)
			{
				Orion.Drop(serial, 0, x, y, Player.Z());
				Orion.Wait('moveitemdelay');

				if (oldContainer != obj.Container())
					return true;
			}
		}

		CurrentDropY = CurrentMinDropY;
	}

	CurrentDropX = CurrentMinDropX;

	return false;
}
///////////////////////////////////////////////////////////////////////////////////////////
//Функция сброса лишней руды
function DropExtraOres()
{
	//Если не указаны цвета руды - выходим
	if (DropOreColors == '')
		return;

	//Максимальная дистанция дропа
	var maxDropDistance = 1;

	//Минимальные и максимальные координаты для дропа
	CurrentMinDropX = Player.X() - maxDropDistance;
	CurrentMaxDropX = Player.X() + maxDropDistance;
	CurrentMinDropY = Player.Y() - maxDropDistance;
	CurrentMaxDropY = Player.Y() + maxDropDistance;

	CurrentDropX = CurrentMinDropX;
	CurrentDropY = CurrentMinDropY;

	//Крутим цикл, пока не сбросим всю руду
	while (true)
	{
		//Поиск всех типов руды всех указанных цветов
		var list = Orion.FindType('0x19B7|0x19BA|0x19B8|0x19B9', DropOreColors);

		//Ничего не нашлось - выходим
		if (!list.length)
			break;

		//Сбрасываем под ноги все что нашлось
		for (var i = 0; i < list.length; i++)
		{
			if (!DropGround(list[i]))
				return;

			Orion.Wait(100);
		}

		Orion.Wait(100);
	}
}
///////////////////////////////////////////////////////////////////////////////////////////
//Функция разгрузки
function UnloadOres()
{
	if (UnloadToBank)
		Orion.Say('bank');
	else
		Orion.UseObject(ResultContainer);

	Orion.Wait(500);

	if (ResultContainer != OreBag)
	{
		Orion.UseObject(OreBag);
		Orion.Wait(500);
	}

	//Крутим цикл, пока не сбросим всю руду
	while (true)
	{
		//Поиск всех типов руды всех указанных цветов
		var list = Orion.FindType('0x19B7|0x19BA|0x19B8|0x19B9');

		//Ничего не нашлось - выходим
		if (!list.length)
			break;

		//Сбрасываем под ноги все что нашлось
		for (var i = 0; i < list.length; i++)
		{
			Orion.MoveItem(list[i], 0, OreBag);
			Orion.Wait('moveitemdelay');
		}

		Orion.Wait(100);
	}
}
///////////////////////////////////////////////////////////////////////////////////////////
//Функция добора расходников
function ReloadConsumables()
{
	var types = ['bp', 'bm', 'mr'];

	for (var i = 0; i < types.length; i++)
	{
		var count = Orion.Count(types[i]);

		if (count < ReagentsCount)
		{
			var list = Orion.FindType(types[i], '-1', ResultContainer);

			if (!list.length)
			{
				Orion.Print('0x0021', 'Reagent is not found ' + types[i]);
				continue;
			}

			Orion.MoveItem(list[0], ReagentsCount / 2);
			Orion.Wait('moveitemdelay');
		}

		//Дополнительное время ожидания
		Orion.Wait('moveitemdelay');
	}

	var list = Orion.FindType(ToolType);

	if (list.length < ToolsCount)
	{
		var count = ToolsCount - list.length;

		var list = Orion.FindType(types[i], '-1', ResultContainer);

		if (!list.length)
			Orion.Print('0x0021', 'Tool is not found ' + types[i]);
		else
		{
			if (list.length < count)
				count = list.length;

			for (var i = 0; i < count; i++)
			{
				Orion.MoveItem(list[i]);
				Orion.Wait('moveitemdelay');
			}

			//Дополнительное время ожидания
			Orion.Wait('moveitemdelay');
		}
	}
}
///////////////////////////////////////////////////////////////////////////////////////////
function Recall()
{
    Orion.WalkTo( 2441, 94, 30, 0);    
    Orion.WalkTo( 2451,91, 30, 0);
}

    
function Recall2()    
{    
    Orion.WalkTo( 2451, 91, 30, 0);    
    Orion.WalkTo( 2441, 94, 30, 0);
}


///////////////////////////////////////////////////////////////////////////////////////////
//Фукнция разгрузки
function RecallUnload()
{
    //xodilka домой
    Recall();
	Orion.Wait(1000);

	//Разгрузка
	UnloadOres();

	Orion.Wait(1000);

	//Добор расходников
	ReloadConsumables();

	Orion.Wait(1000);

	//xodilka обратно в перещу
	Recall2()

	//Проходимся по списку точек, возвращаемся на место, где стояли
	for (var i = 0; i < CurrentWayPoint; i++)
	{
		var point = WayPoints[i];

		//Пытаемся прийти на точку
		WalkToPoint(point[0], point[1]);
	}
}
///////////////////////////////////////////////////////////////////////////////////////////
//Функция ходилки, можно добавить сюда что-то еще
function WalkToPoint(x, y)
{
	return Orion.WalkTo(x, y, 0, 0);
}
///////////////////////////////////////////////////////////////////////////////////////////


Jā pēc šī posta izlasīšanas jums radušās morālas, fiziskas, vai cita veida traumas, lūdzu, nekavējoties vērsieties pie ģimenes ārsta.

Если после прочтения этого поста вы получили какие-либо моральные, физические или другие травмы, немедленно обратитесь к своему терапевту.


#2 Bliezeejs

Bliezeejs

    Novice Player

  • Members
  • 115 posts
  • Gender:Male

Posted 02 June 2020 - 11:00

Ja neponemaju. Na saite jest haroshij rabochij mining script. A ti berjosh hz otkuda kokova to govna I hochesh shtob ktota trjatilj vremja s pomoshju tibe?
http://forum.oldp.ne...124#entry823404

#3 regi

regi

    Player

  • Members
  • 226 posts

Posted 02 June 2020 - 11:42

Ja neponemaju. Na saite jest haroshij rabochij mining script. A ti berjosh hz otkuda kokova to govna I hochesh shtob ktota trjatilj vremja s pomoshju tibe?
http://forum.oldp.ne...124#entry823404

там на изи уо, а тут на орионе



#4 1exa

1exa

    Master

  • Members
  • 769 posts
  • Gender:Male

Posted 02 June 2020 - 14:03

это для rpg , лень , копаи на Easy :D



#5 opas

opas

    Soviet

  • Members
  • 1011 posts
  • Gender:Male

Posted 02 June 2020 - 16:35

Сообщения журнала нужно поправить

#6 Riality

Riality

    Novice

  • Members
  • 29 posts
  • Gender:Male
  • Location:Latvia, Liepaya
  • Interests:IPTV: https://iptvclub.team

Posted 02 June 2020 - 17:34

Ja neponemaju. Na saite jest haroshij rabochij mining script. A ti berjosh hz otkuda kokova to govna I hochesh shtob ktota trjatilj vremja s pomoshju tibe?
http://forum.oldp.ne...124#entry823404

Izlasi tētmu... Apsties skriptu... Tēma atrodās "Orion" sadaļā... 


Jā pēc šī posta izlasīšanas jums radušās morālas, fiziskas, vai cita veida traumas, lūdzu, nekavējoties vērsieties pie ģimenes ārsta.

Если после прочтения этого поста вы получили какие-либо моральные, физические или другие травмы, немедленно обратитесь к своему терапевту.


#7 Riality

Riality

    Novice

  • Members
  • 29 posts
  • Gender:Male
  • Location:Latvia, Liepaya
  • Interests:IPTV: https://iptvclub.team

Posted 08 June 2020 - 00:32

это для rpg , лень , копаи на Easy :D

Так и делаю, очень помог Bliezeejs и другие ребята. Спасибо им.
Но вопрос с минингом на Орионе актуален. Прикольный клиент, а вот скрипты как-то дефицитные для него.

Jā pēc šī posta izlasīšanas jums radušās morālas, fiziskas, vai cita veida traumas, lūdzu, nekavējoties vērsieties pie ģimenes ārsta.

Если после прочтения этого поста вы получили какие-либо моральные, физические или другие травмы, немедленно обратитесь к своему терапевту.


#8 sonyplayer

sonyplayer

    Master

  • Members
  • 724 posts

Posted 08 June 2020 - 12:20

Так и делаю, очень помог Bliezeejs и другие ребята. Спасибо им.
Но вопрос с минингом на Орионе актуален. Прикольный клиент, а вот скрипты как-то дефицитные для него.

так тут никто в них не шарит , а если и шарят то делится не будут )



#9 Riality

Riality

    Novice

  • Members
  • 29 posts
  • Gender:Male
  • Location:Latvia, Liepaya
  • Interests:IPTV: https://iptvclub.team

Posted 08 June 2020 - 12:38

так тут никто в них не шарит , а если и шарят то делится не будут )


Ну да, типа Pay2Win активируется.

Jā pēc šī posta izlasīšanas jums radušās morālas, fiziskas, vai cita veida traumas, lūdzu, nekavējoties vērsieties pie ģimenes ārsta.

Если после прочтения этого поста вы получили какие-либо моральные, физические или другие травмы, немедленно обратитесь к своему терапевту.


#10 1exa

1exa

    Master

  • Members
  • 769 posts
  • Gender:Male

Posted 08 June 2020 - 18:34

орион много жрет если зпускать 2 она на бота на орионе в другие игры не поиграешь уже )) :D



#11 sonyplayer

sonyplayer

    Master

  • Members
  • 724 posts

Posted 09 June 2020 - 09:34

орион много жрет если зпускать 2 она на бота на орионе в другие игры не поиграешь уже )) :D

ну смотря что за компуктер у тебя +)






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users