Yoko http://forum.yoko.com.ua/ |
|
Скрипт на лут (ПВМ и ПВП). http://forum.yoko.com.ua/viewtopic.php?f=15&t=16872 |
Page 1 of 2 |
Author: | Mirage [ 2012-01-16 14:28:59 ] |
Post subject: | Скрипт на лут (ПВМ и ПВП). |
Все-таки пересилил себя и довел до более менее конечного результата скрипт на лут. Используются наработки и идеи большого количества людей с данного форума и не только. Извините, всех не буду перечислять - потерял в аналах истории авторов всех кусочков. Идея перемещения предметов мне досталась от моего старого знакомого и коллеги по шарду Антарес - Максима. Конечный вариант в том виде в котором выложил тут - моя сборка. Скрипт тестировался на сферовых серверах 51, 55R и 56b. Основной полигон тестирования Антарес. Дополнительный подгоны - Бест. Немного на стандартной дефолтовой сфере 56b. Чтобы скрипт работал как задумывалось необходимо произвести настройки: 1) Файл скрипта должен называться autoload.sc и находится в папке с инжектом (либо с клиентом - зависит от версии инжекта). 2) В MAIN окне инжекта должна быть включена галочка "Autostart" (в середине окна) 3) В паке игрока должны быть ножницы и кинжал. После резки тела в руки берется оружие которое было на момент запуска скрипта. 4) Запускать REZ - для порезки или Loot для лута тела. 5) Если лут прервать принудительно то нужно запускать Lootrunning() для обновления константы. Иначе резать будет, лутать - нет. 6) В планируемых доработках - сделать чтобы стакующиеся предметы складывались в кучу, не стакующиеся в рядок. Описание процедур скрипта: autostart() - автозапуск. Задает константу для защиты от повторного срабатывания скрипта на лут и добавляет фильтр фастлута. REZ() - резка трупа кинжалом, после резки автоматически запускает лут. Lootrunning() - назначает константу для защиты от повторного срабатывания скрипта на лут. Можно запускать руками при необходимости. Loot() - основной скрипт лута. В нем используются все последующие функции. findcorps() - определяет что будем лутить - скелет или труп животного. IgnorHair(corpse) - игнорирует волосы в трупе игрока (баг на 55-56 сферах) Ignor(corpse) - игнорирует реагенты в трупах (пример как добавлять не нужные для лута вещи) GrabLoot(corps) - функция лута первоочередных предметов. Scissors() - порезка кожи в рюкзаке персонажа. Срабатывает когда игрок в тени. PUTLoot2(Type1, Type2, Color, SourceContainer, TargetContainer,X,Y,Z) - процедура перемещения массива объектов. PUTLoot(Type, Color, SourceContainer, TargetContainer,X,Y,Z) - процедура перемещения одного объекта. DeleteJournal(msg) - очищает журнал. checklag() - чеклаг (динамическая пауза). Code: ### Контейнеры ### Attachment:
File comment: для удобства нужно переименовать в autoload.sc и поместить в папку с инжектом. Loot.txt [6.68 KiB] Downloaded 880 times Сори за немного кривоватое форматирование - добавил с красивыми отступами в файл вложение. Жду критики тестеров, вопросы и советы по оптимизации. |
Author: | ZeroDX [ 2012-01-16 15:05:27 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
Хоть кто-то ещё делает что-то на инжекте. Есть мнение, что лучше при резке трупа запоминать оружие по id PS а никаких проверок, порезался ли труп нету |
Author: | Mirage [ 2012-01-16 18:06:48 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
Хм... Интуитивно понимаю что ты вроде как бы прав. И я как бы даже так изначально и делал. Но вот сейчас полчаса проверял с 3 луками в паке. Берет всегда именно тот который был в руках на момент запуска скрипта. Видимо какой-то не заметный глюк |
Author: | ZeroDX [ 2012-01-16 19:30:03 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
Я просто не знаю, как инжект хранит данные. Тот лук, что был в руках, его id меньше, чем у остальных? |
Author: | Mirage [ 2012-01-16 21:18:18 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
взял 3 разных лука. Но одного типа. 1) простой деревянный 2) с клада магический 3) профессиональный - ренджерский беру 1, стреляю, режу. Взялся в руки первый. беру 2 стреляю, режу, берет второй. беру 3... Хотя должен вроде как рендомно брать - TYPE одинаковые. Разные цвета только. |
Author: | Sirocco [ 2012-01-16 22:51:50 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
а ты думаешь как массив предметов формируется? сидите тут уже 15 лет, а то что ваши игноры в циклах нахер не нужны не догадываетесь... |
Author: | Mirage [ 2012-01-17 06:28:00 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
Ну во первых не 15 Во вторых если бы все было так как с луками то кожа порезанная всегда ложилась бы в угол, но иногда она соскакивает. Хотя может быть связанно с лагом. В третьих игноры в циклах были нужны для 1 конкретного предмета, точнее набора предметов. Волос. Которые как бы есть в трупе (В теле 1 предмет), но передвинуть его нельзя. И инжект умирал. Первично я лутил конкретный список требующихся предметов (чар был прокачан и не нуждался). После нескольких вайпов решил что собирать нужно все, оставляя необходимые вещи, остальные продавать. Но чтобы собрать все надо выкинуть то что НЕЛЬЗЯ изза криворукости админа слутать. Так и пришлось задействовать игноры Если бы инжект умел работать по нормальному с игнорами не пришлось бы так извращаться Но вот такая программа. |
Author: | texx3x [ 2012-03-02 01:30:25 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
Вопрос может ужасно глупый .. но Как сделать разовое действие на открытие всех трупов в зоне досягаемости ? |
Author: | Mirage [ 2012-03-02 07:15:22 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
Code: Sub Loot() |
Author: | Gromiz [ 2012-04-21 08:02:05 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
hello Code: sub ltscssrs() Mirage, я тут твой срипт разбираю на части и вопрос по блоку резки кожи: суть работы такова: нашли кожу в трупе перенесли ее в мешок в мешке порезали и она упала в пак из пака перенесли обратно в мешок работает, но пытается 2 раза разрезать Quote: What do you want to use this on? You put the Cut up Troll Leather in your pack. What do you want to use this on? Use scissors on hair or cloth to cut не критично, конечно, т.к. работает, но напрягает играть, зная что есть косяк п.с. кожи для резки в паке нет, т.е. я так понимаю, что он пытается резать уже порезанную о.О |
Author: | Mirage [ 2012-04-21 09:42:45 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
у тебя очередность нарушилась. Смотри что делает твой скрипт: Code: UO.FindType(hides, -1, '0x402C1257') нашли кожу пока кожа в контейнере *!!!! ножницами по коже ищем порезанную кожу (инжект запоминает объект!) если найдено передвигаем конец если конец цикла Там где звездочка - цикл обрабатывает объект. Первый круг - не порезанная кожа, второй уже порезанная. Надо после endif добавить поиск не порезанной кожи. Посмотри как у меня сделано - ты потерял одну строку. |
Author: | Gromiz [ 2012-04-21 12:47:36 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
да, спасибо. Не хватало строчки: Code: UO.FindType(hides, -1, 'backpack') |
Author: | Gromiz [ 2012-07-01 07:13:31 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
а можно как-то задать правило лута вещей, т.е. есть тип "0x13C7", а если мы укажем "0x13**", то будет лутать все, что начинается с этих знаков. п.с. пытался "*" и "?" вместо значений поставить- не вышло. для чего? есть арм состоящий из 6 частей, так лучше прописать одну строчку, вместо 6. (а армов много, удобно для сокращения скрипта и возможности игнора последущего, когда не надо собирать) другая мысль была по названию лутить(по части названия), и где что-то подобное на форуме видел, правда, пока не нашел. |
Author: | Mirage [ 2012-07-01 12:31:16 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
PUTLoot2(0x1f5d, 0x1f6c, '0', corps, pack,'','',''); scroll 7-8 свитки идущие подряд лутаются поочередно. задаются 2 крайние точки. |
Author: | Mirage [ 2013-01-07 18:41:06 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
В скрипте есть небольшой но малоприятный глюк который я не особо замечал потому что использовал скрипт без особого геноцида. Если завалить сразу много монстров или игроков и они упадут в 1 тайл то ЕСТЬ МАЛЕНЬКИЙ ШАНС что скрипт порежет один труп, а лутить начнет другой. Придется ресендить и запускать скрипт несколько раз (если требуется собрать лут процесса порезки - кожу, мясо, кровь...). Постараюсь исправить... |
Author: | N1nTen90 [ 2014-12-01 22:50:19 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
Увожаемые скриптёры пожалуйста помогите мне !!!! Мне очень нужен скрипт простой на резку кожи !!!! Режет труп лутит кожу режет кожу ножницами За ранее благодарен !!!! |
Author: | Mirage [ 2014-12-01 23:06:49 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
надо кусок в Sub Loot() поправить вот так: Code: if NOT uo.injournal("You can't do it here") then Будет резать и лутать только кожу. Можно переделать под новый инжект, там пара штук оптимизировано. Надо собраться с духом и перебороть одну черту характера |
Author: | N1nTen90 [ 2014-12-01 23:45:41 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
Mirage wrote: надо кусок в Sub Loot() поправить вот так: Code: if NOT uo.injournal("You can't do it here") then Будет резать и лутать только кожу. Можно переделать под новый инжект, там пара штук оптимизировано. Надо собраться с духом и перебороть одну черту характера Инжа 1403.09 V Пожалуйста пропиши целый готовый скрипт я в них практически не разбираюсь =\ просто резал с Лизардмэна кидал в пак и ножницами в Leather перерезал =\ |
Author: | Gromiz [ 2015-10-03 20:39:29 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
блин, банальный вопрос: Code: Sub ltscssrs() можно зациклить одной строчкой, типо репит и тд, чтобы резало пока в сумке есть кожа? |
Author: | Mirage [ 2015-10-03 21:23:51 ] |
Post subject: | Re: Скрипт на лут (ПВМ и ПВП). |
Gromiz wrote: UO.FindType(hides, -1, sumkaloot) While UO.FindCount() резало пока в сумке есть кожа |
Page 1 of 2 | All times are UTC+02:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |