Перейти к содержанию

Добыча руды (Mining) обкапывает вокруг себя без ходьбы

Материал из Wiki Legnes

Скрипт на добычу руды. Персонаж стоит на месте и обкапывает все тайлы вокруг себя в автоматическом режиме, как только руда заканчивается сообщает что необходимо переместить персонажа и заново запустить скрипт.

Автор скрипта: Hotride


function UsePickaxe(_private)
{
	if (!Orion.UseType('0x0E85', 'any', self, false))
	{
		if (!Orion.UseType('0x0E85'))
		{
			Orion.Print('0x0021', 'Your tool is gone!');
			return false;
		}
	}

	return true;
}

function Mining()
{
	var text = 'в свой рюкзак|in your pack|Вы расшатываете несколько камней, но не можете найти|You loosen some rocks but fail to find|Это слишком далеко|That is too far away|Цель находится вне прямой видимости|Target is not in line of sight|Здесь нет руды, которую можно было бы добывать|There is no ore here to mine|Try mining in rock';

	for (var x = -2; x <= 2; x++)
	{
		for (var y = -2; y <= 2; y++)
		{
			if (!Orion.ValidateTargetTileRelative('mine', x, y, 0))
				continue;

			var tryingCount = 0;

			while (true)
			{
				var now = Orion.Now();
				Orion.WaitTargetTileRelative('mine', x, y, 0);

				if (!UsePickaxe(0))
				{
					Orion.Print(0x0021, 'Where is your pickaxe?!?');
					return;
				}

				var msg = Orion.WaitJournal(text, now, now + 9000, 'my|sys');
				
				if (msg != null)
				{
					tryingCount++;

					if (msg.FindTextID() > 3 || tryingCount >= 20)
						break;
				}

				Orion.WarMode(false);
				Orion.Wait(200);
			}
		}
	}

	Orion.CharPrint(self, '0x0044', 'Обкапывание завершено, перейдите на другую точку и перезапустите скрипт.');
}