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

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

Материал из Wiki Legnes
Нет описания правки
Нет описания правки
Строка 3: Строка 3:
Автор скрипта: [https://legnes.com/user/Hotride Hotride]
Автор скрипта: [https://legnes.com/user/Hotride Hotride]


<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>





Версия от 15:10, 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)

break;

}


Orion.WarMode(false);

Orion.Wait(50);

}

}

}


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

}