Добыча руды (Mining) обкапывает вокруг себя без ходьбы: различия между версиями
Внешний вид
Banzay (обсуждение | вклад) Нет описания правки |
Support (обсуждение | вклад) Нет описания правки |
||
| Строка 4: | Строка 4: | ||
< | <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 + 5000, 'my|sys'); | |||
if (msg != null) | |||
{ | |||
tryingCount++; | |||
if (msg.FindTextID() > 3 || tryingCount >= 10 || msg.FindTextID() <= 1) | |||
break; | |||
} | |||
Orion.WarMode(false); | |||
Orion.Wait(50); | |||
} | |||
} | |||
} | |||
Orion.CharPrint(self, '0x0044', 'Обкапывание завершено, перейдите на другую точку и перезапустите скрипт.'); | |||
} | |||
</syntaxhighlight> | |||
[[Category:LegnesAssistScripts]] | [[Category:LegnesAssistScripts]] | ||
Версия от 15:26, 13 апреля 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 + 5000, 'my|sys');
if (msg != null)
{
tryingCount++;
if (msg.FindTextID() > 3 || tryingCount >= 10 || msg.FindTextID() <= 1)
break;
}
Orion.WarMode(false);
Orion.Wait(50);
}
}
}
Orion.CharPrint(self, '0x0044', 'Обкапывание завершено, перейдите на другую точку и перезапустите скрипт.');
}