Всем привет , перелопатил весь форум в поиске простого скрипта на ламбер(orion). Из всего найденного один рабочий но с недочетами. ПРиходится каждый раз вбивать ид топора , не вырубает дерево полностью . Может кто помочь ?
function CutTreeByWorldLoc()
{
Orion.ClearJournal();
var treeWorldLocation = FindTreesInSurrArea();
for(i=0;i<treeWorldLocation.length;i++){
Orion.WalkTo(treeWorldLocation[i][0],treeWorldLocation[i][1],0);
Orion.Wait(1000);
Orion.UseObject('0x4405016A');
Orion.WaitTargetTile('tree',treeWorldLocation[i][0],treeWorldLocation[i][1],0);
Orion.Wait(7000);
if(Orion.InJournal('into your pack|but fail to', 'sys|my') != null){
LumberAgain(treeWorldLocation[i][0],treeWorldLocation[i][1]);
}
if(Player.Weight() >= Player.MaxWeight()-60) break;
}
}
function FindTreesInSurrArea()
{
var maxSearchDistance=30;
var treeWorldLocations=createArr(200,200);
var trueWorldLocCounter=0;
for(i=(Player.
)-maxSearchDistance);i<(Player.
)+maxSearchDistance+1);i++){
for(j=(Player.Y()-maxSearchDistance);j<(Player.Y()+maxSearchDistance+0);j++){
//Orion.Print("Searching X= " + i + "and Y= " + j + " location");
if(Orion.ValidateTargetTile('tree', i, j)){
Orion.Print("Found a tree, location is saved as " + (trueWorldLocCounter+1));
treeWorldLocations[trueWorldLocCounter][0]=i;
treeWorldLocations[trueWorldLocCounter][1]=j;
trueWorldLocCounter++;
}
}
}
treeWorldLocations.length=trueWorldLocCounter;
return treeWorldLocations;
}
function createArr(x, y) {
var arr = new Array(x);
for (var i = 0; i < x; i++) {
arr[i] = new Array(y);
}
return arr;
}
function LumberAgain(x,y)
{
var text = 'in your pack|but fail to|not enough wood|That is too far away|no line of sight|place any wood into';
while (!Player.Dead()){
Orion.UseObject('0x4405016A');
Orion.WaitTargetTile('tree',x,y,0);
var msg = Orion.WaitJournal(text, Orion.Now(), Orion.Now() + 5000, 'sys|my');
if(msg !=null) break;
Orion.Wait(100);
}
Orion.ClearJournal();
}