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

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

Материал из Wiki Legnes
Нет описания правки
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 4: Строка 4:




<p>function UsePickaxe(_private)</p><p>{</p><p>if (!Orion.UseType('0x0E85', 'any', self, false))</p><p>{</p><p>if (!Orion.UseType('0x0E85'))</p><p>{</p><p>Orion.Print('0x0021', 'Your tool is gone!');</p><p>return false;</p><p>}</p><p>}</p><p><br></p><p>return true;</p><p>}</p><p><br></p><p>function Mining()</p><p>{</p><p>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';</p><p><br></p><p>for (var x = -2; x &lt;= 2; x++)</p><p>{</p><p>for (var y = -2; y &lt;= 2; y++)</p><p>{</p><p>if (!Orion.ValidateTargetTileRelative('mine', x, y, 0))</p><p>continue;</p><p><br></p><p>var tryingCount = 0;</p><p><br></p><p>while (true)</p><p>{</p><p>var now = Orion.Now();</p><p>Orion.WaitTargetTileRelative('mine', x, y, 0);</p><p><br></p><p>if (!UsePickaxe(0))</p><p>{</p><p>Orion.Print(0x0021, 'Where is your pickaxe?!?');</p><p>return;</p><p>}</p><p><br></p><p>var msg = Orion.WaitJournal(text, now, now + 5000, 'my|sys');</p><p><br></p><p>if (msg != null)</p><p>{</p><p>tryingCount++;</p><p><br></p><p>if (msg.FindTextID() &gt; 3 || tryingCount &gt;= 10)</p><p>break;</p><p>}</p><p><br></p><p>Orion.WarMode(false);</p><p>Orion.Wait(50);</p><p>}</p><p>}</p><p>}</p><p><br></p><p>Orion.CharPrint(self, '0x0044', 'Обкапывание завершено, перейдите на другую точку и перезапустите скрипт.');</p><p>}</p>
<syntaxhighlight lang="javascript">
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', 'Обкапывание завершено, перейдите на другую точку и перезапустите скрипт.');
}
</syntaxhighlight>




[[Category:LegnesAssistScripts]]
[[Category:LegnesAssistScripts]]

Текущая версия от 07:20, 14 мая 2025

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

Автор скрипта: 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', 'Обкапывание завершено, перейдите на другую точку и перезапустите скрипт.');
}