Сообщений: 471 Рег. 13.08.2013 |
Сообщение #1
|
Всем привет, у меня с Виндой пропал и Orion. Закину скрипты что сохранились Если есть готовые Autoload для нашего сервера - буду благодарен ! |
|
|
|
|
Сообщений: 471 Рег. 13.08.2013 |
Сообщение #2
|
function MassMove() { Orion.RemoveObject('_what'); Orion.AddObject('_what'); Orion.Print('0x0123', 'Move what?'); while (Orion.HaveTarget()) Orion.Wait(500); var _what = Orion.FindObject('_what'); if (_what == null || !_what.Exists()) { Orion.Print('0x0123', 'Failed to choose item to move'); return; } Orion.Print('0x0123', 'Moving -> ' + _what.Name()); Orion.RemoveObject('_where'); Orion.AddObject('_where'); Orion.Print('0x0123', 'Where to move?'); while (Orion.HaveTarget()) Orion.Wait(500); var _where = Orion.FindObject('_where'); if (_where == null || !_where.Exists()) { Orion.Print('0x0123', 'Failed to to choose container'); return; } Orion.Print('0x0123', 'Moving to -> ' + _where.Name()); var tmplist = Orion.FindType(_what.Graphic(), '-1', _what.Container()); if (tmplist.length) { for (var i = 0; i < tmplist.length; i++) { Orion.MoveItem(tmplist[i], 0, '_where'); Orion.Wait(1000); Orion.Print(0x0123, 'Completed: ' + 100*i / tmplist.length + '%'); } } else Orion.Print(0x0123, 'Array is empty'); Orion.Print(0x0123, 'Completed: ' + 100*i / tmplist.length + '%'); Orion.Print(0x0123, 'Finished'); } |
|
|
|
|
Сообщений: 471 Рег. 13.08.2013 |
Сообщение #3
|
function AutoHealBandage() { while (true) { while (Player.Hits() > 140) //������� �� ��� ������������� ����� { Orion.Wait(100); } Orion.Say(".bandageself"); Orion.Wait(2000); } } function AutoHealGh() { while (true) { while (Player.Hits() > 70) //������� �� ��� ������������� ����� { Orion.Wait(100); } Orion.Say(".drink_heal"); Orion.Wait(5000); } } function AutoRefresh() { while (true) { while (Player.Stam() > 90) //������� ������� ��� ������������� ����� { Orion.Wait(100); } Orion.Say(".drink_stam"); Orion.Wait(5000); } } function AutoMeat() { while (true) { while (Player.Hits() > 60) //������� �� ��� ������������� ���� { Orion.Wait(100); } Orion.UseType('0x09F2', '0x0613'); //������ ��� ���� ��� ���� Orion.Wait(5000); } } |
|
|
|
|
Сообщений: 471 Рег. 13.08.2013 |
Сообщение #4
|
function AttackNearMob() { Orion.Ignore(self); var target = Orion.FindType("-1", "-1", "ground", "near|live", 18, "criminal|orange|red"); if (target.length != 0) { var name = Orion.FindObject(target[0]).Name(); if(name != "an energy vortex" && name != "a rising colossus") { Orion.WarMode(true); Orion.ClientLastTarget(target[0]); Orion.Attack(target[0]); Orion.Print("Attacking " + name); Orion.WaitTargetObject(target[0]); Orion.IgnoreReset(); } } Orion.Wait(500); } |
|
|
|
|
|
Сообщение #5
|
|
тейлор из сундука Открывает сундук в нем сумка и мешки для карт добирает ресурс из сундука, убирает готовые карты в мешки проверяя количество // ================================================================= // НАСТРОЙКИ // ================================================================= var Sunduk = '0x4048D2E3'; var BagWithCloth = '0x40B29F8F'; var Cloth = '0x175D'; var SewingKit = '0x0F9D'; var BlankMap = '0x14EB'; var MeshokType = '0x0E76'; var MaxCloth = 1000; // ================================================================= function tailoringMaps() { Orion.Print('--- ЗАПУСК: Тейлор [Строгий контроль мешков] ---'); while (!Player.Dead()) { // 1. БЛОК ДОБОРА И ВЫГРУЗКИ if (Orion.Count(Cloth) < 20) { Orion.Print('Мало ткани. Проверяю мешки для выгрузки...'); Orion.CloseGump('all'); Orion.OpenContainer(Sunduk); Orion.Wait(600); Orion.OpenContainer(BagWithCloth); Orion.Wait(800); var maps = Orion.FindType(BlankMap, '-1', 'backpack'); if (maps.length > 0) { // Ищем все мешки типа 0x0E76 в сумке с тканью var allBags = Orion.FindType(MeshokType, '-1', BagWithCloth); var targetFound = false; if (allBags.length > 0) { for (var i = 0; i < allBags.length; i++) { var currentBag = allBags[i]; // 1. Принудительно открываем и ждем обновления Orion.OpenContainer(currentBag); Orion.Wait(1000); // Даем больше времени на прогрузку списка предметов // 2. Считаем объекты в этом конкретном мешке var items = Orion.FindType('-1', '-1', currentBag); // Если в мешке меньше 250 предметов (лимит 255) if (items.length < 250) { Orion.Print('Мешок №' + (i + 1) + ' подходит (' + items.length + ' предметов). Выгружаю...'); while (maps.length > 0) { Orion.MoveItem(maps[0], 0, currentBag); Orion.Wait(1200); maps = Orion.FindType(BlankMap, '-1', 'backpack'); } targetFound = true; break; // Выходим из цикла поиска мешков, так как выгрузились } else { Orion.Print('Мешок №' + (i + 1) + ' ПОЛОН (' + items.length + '), ищу следующий...'); Orion.Ignore(currentBag); // Временно игнорируем этот мешок в этом цикле } } Orion.IgnoreReset(); // Сбрасываем игнор для следующего захода } if (!targetFound) { Orion.Print('!!! ВСЕ МЕШКИ В СУМКЕ ПОЛНЫЕ !!!', '0x0021'); Orion.PlayWav('C:/Windows/Media/tada.wav'); // Звуковой сигнал, если всё забито return; } } // ДОБОР ТКАНИ var clothInBag = Orion.FindType(Cloth, '-1', BagWithCloth); if (clothInBag.length > 0) { Orion.MoveItem(clothInBag[0], MaxCloth, 'backpack'); Orion.Wait(1200); } else { Orion.Print('!!! ТКАНЬ КОНЧИЛАСЬ !!!'); return; } } // 2. ИНСТРУМЕНТ var kit = Orion.FindType(SewingKit, '-1', 'backpack'); if (kit.length == 0) { var kitInStore = Orion.FindType(SewingKit, '-1', BagWithCloth); if (kitInStore.length > 0) { Orion.MoveItem(kitInStore[0], 1, 'backpack'); Orion.Wait(1200); kit = Orion.FindType(SewingKit, '-1', 'backpack'); } else { return; } } // 3. КРАФТ var clothInPack = Orion.FindType(Cloth, '-1', 'backpack'); if (kit.length > 0 && Orion.Count(Cloth) >= 20) { Orion.ClearJournal(); Orion.CancelWaitMenu(); Orion.WaitMenu('Miscellaneous', 'blank map'); Orion.WaitMenu('What sort', 'blank map'); Orion.WaitTargetObject(clothInPack[0]); Orion.UseObject(kit[0]); var timer = 0; while (!Orion.InJournal('You put|fail|failed') && timer < 50) { Orion.Wait(400); timer++; if (timer == 15 && !Orion.InJournal('You put|fail|failed')) { Orion.KeyPress('Enter'); } } Orion.Wait(1200); } } } |
|
|
|
|
|
Сообщение #6
|
|
авторезалка без лута // Paste your code here :)'use strict'; var SKIN_CONFIG = { delay: 600, // Задержка между действиями maxRadius: 3, // Радиус поиска трупов // Типы ножей (добавь свои, если нужно) knifeTypes: '0x0F52|0x0F51|0x0EC4|0x0EC2|0x13F6|0x0EC3', corpseType: '0x2006' }; function SimpleSkinner() { Orion.Print(65, '--- Резалка трупов запущена ---'); while (true) { if (Player.Dead()) { Orion.Wait(5000); continue; } // Ищем трупы var corpses = Orion.FindType(SKIN_CONFIG.corpseType, -1, 'ground', '', SKIN_CONFIG.maxRadius); if (corpses && corpses.length > 0) { var corpse = corpses[0]; // 1. Запоминаем, что в руках (безопасный метод) var rHand = Orion.ObjAtLayer('RightHand'); var lHand = Orion.ObjAtLayer('LeftHand'); var rID = rHand ? rHand.Serial() : null; var lID = lHand ? lHand.Serial() : null; // 2. Ищем нож в паке var knives = Orion.FindType(SKIN_CONFIG.knifeTypes, -1, 'backpack'); if (knives && knives.length > 0) { Orion.Print(65, 'Режу труп...'); // Нацеливаемся и используем нож Orion.WaitTargetObject(corpse); Orion.UseObject(knives[0]); Orion.Wait(SKIN_CONFIG.delay); // 3. Возвращаем оружие назад if (rID) { Orion.Equip(rID); Orion.Wait(400); } if (lID) { Orion.Equip(lID); Orion.Wait(400); } // Чтобы не резать один и тот же труп бесконечно Orion.Ignore(corpse); } else { Orion.Print(33, 'Ошибка: Нож не найден в рюкзаке!'); Orion.Wait(2000); } } Orion.Wait(1000); // Пауза перед следующей проверкой } } |
|
|
|
|
|
Сообщение #7
|
|
Тинкер на бутылках из сундука, собирает ресурсы, убирает банки // ================================================================= // НАСТРОЙКИ // ================================================================= var Sunduk = '0x406A50E4'; var Ingi = '0x1BEF'; var Bottle = '0x0F0E'; var Instrum = '0x1EBC'; var Kolvo = 100; // ================================================================= function tinker() { Orion.Print('--- ЗАПУСК: Крафт до Tinkering 100% ---'); while (!Player.Dead()) { // 0. ПРОВЕРКА НАВЫКА // Останавливаем скрипт, если навык Tinkering достиг 100 (реальное значение) if (Orion.SkillValue('Tinkering') >= 1000) { Orion.Print('ПОЗДРАВЛЯЮ! Навык Tinkering достиг 100%. Скрипт остановлен.', '0x0044'); // Финальная разгрузка оставшихся бутылок var lastBottles = Orion.FindType(Bottle, '-1', 'backpack'); if (lastBottles.length > 0) { Orion.MoveItem(lastBottles[0], 0, Sunduk); } return; } // 1. ПРОВЕРКА И ДОБОР ИНГОВ if (Orion.Count(Ingi) < 10) { Orion.Print('Мало ингов. Пополняю...'); Orion.OpenContainer(Sunduk); Orion.Wait(1200); var ingotsInChest = Orion.FindType(Ingi, '-1', Sunduk); if (ingotsInChest.length > 0) { Orion.MoveItem(ingotsInChest[0], Kolvo, 'backpack'); Orion.Wait(1200); } else { Orion.Print('Инги в сундуке закончились!', '0x0021'); return; } } // 2. РАЗГРУЗКА БУТЫЛОК (КОГДА БОЛЬШЕ 100) if (Orion.Count(Bottle) >= 100) { Orion.Print('Разгрузка бутылок...'); var itemsToStore = Orion.FindType(Bottle, '-1', 'backpack'); while (itemsToStore.length > 0) { Orion.MoveItem(itemsToStore[0], 0, Sunduk); Orion.Wait(1000); itemsToStore = Orion.FindType(Bottle, '-1', 'backpack'); } } // 3. КРАФТ (MISCELLANEOUS) var tool = Orion.FindType(Instrum, '-1', 'backpack'); if (tool.length > 0) { Orion.ClearJournal(); Orion.CancelWaitMenu(); Orion.WaitMenu('Tinkering', 'Miscellaneous'); Orion.WaitMenu('Miscellaneous', 'empty bottle'); Orion.UseObject(tool[0]); var timer = 0; while (!Orion.InJournal('You put|fail|failed|scrapped') && timer < 60) { Orion.Wait(200); timer++; if (timer == 25 && !Orion.InJournal('You put|fail|failed|scrapped')) { Orion.KeyPress('Enter'); // Для меню, застрявших на Miscellaneous } } } else { Orion.Print('Инструменты кончились!', '0x0021'); return; } Orion.Wait(500); } } |
|
|
|
|
| Сейчас: 13 июня 2026 14:18 |