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

Добыча руды (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 + 5000, 'my|sys');


if (msg != null)

{

tryingCount++;


if (msg.FindTextID() > 3 || tryingCount >= 10)

break;

}


Orion.WarMode(false);

Orion.Wait(50);

}

}

}


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

}