Скрипт на выполнение БОДов и на их сортировку
-
Не в сети
- Alastar
- Автор темы
- Администрация
- Сообщений: 1046
- Thanks: 89

Скрипт на выполнение БОДов и на их сортировку
За тестирование и помощь в доработке отдельное спасибо: erron и Rodgong!
BODMaker - скрипт на выполнение заказов;
BODSorter - сортировщик;
BODMaker - тестировался не со всеми заказами, так что какие-то может делать неправильно.
Сортировщик делал по своему представлению, так что не судите строго, если не совсем удобно. Однако по моей схеме одна коробка будет вмещать по 250 бодов с удобным разделением на эксепт и вид ресурса.
По всем ошибкам прошу писать сюда. Вопросы также можно задать здесь.
UPD: Запускать нужно BODMaker и BODSorter соотв. (не Core - это модули).
Что скрипт умеет: крафтит маленькие заказы для всех видов крафта
Инструкция:
ВНИМАНИЕ! ЧТОБЫ СКРИПТ НЕ ВЫКИНУЛ ИЛИ НЕ СДАЛ ЛИШНИЕ ПРЕДМЕТЫ ИЗ ВАШЕЙ СУМКИ, НЕ ЗАБУДЬТЕ ДОБАВИТЬ ИХ В СПИСОК ИГНОРА.
Обустройте поляну для крафта. Рядом с крафтом должны стоять:
+ Коробка с заказами (Заказы надо скинуть в книгу заказов, а сама книга должна лежать в коробке. В коробке может быть несколько книг, тогда
скрипт будет брать из той, где больше заказов)
+ Мусорка, если крафтите что-то кроме бс или тейлор заказов
+ Коробка с готовыми заказами, внутри должна лежать книга (Хотя скрипт может скидывать готовые заказы просто в коробку без книги, но тогда
есть риск того, что коробка быстро переполнится)
+ Необходимые станки для крафта (форж, наковальня, печка для повара)
+ Коробка с ресурсами (в ней лежат все ресурсы для крафта)
В паке должны быть минимум один tinker tools, в коробке с ресурсами должно лежать ЖЕЛЕЗО для крафта инструментов
Крафт должен обладать навыком Tinkering
1) Создайте текстовый файл с названием ИМЯ_ПРОФИЛЯ_BODMaker_Config.txt в Scripts/BODCraft
2) Заполните
resources_container= коробка с ресурсами
trash_container= мусорка
tool_craft_threshold= сколько ресурсов брать за раз для крафта
saveTime= сколько секунд ждать сохранение
manaThreshold=уровень маны, ниже которого крафт начинает медитировать
deeds_containers=[ коробки с заказками\книгами
$403EBFFA <- Сюда серийники коробок, по одному на каждую строку
$403EBFFB
$40323FFB
]
ready_deeds_containers=[ коробки, в которые складывать заказы
$403EBFFF
$403EBFFB
$40323FFB
] <-- обязательно закрывать скобки на новой строчке
ignore_items=[ предметы, которые не надо выкидывать из пака в мусорку или переплавлять
$403D5443
$403D5444
]
3) Файлы items.txt, tools.txt,файл конфига и resources.txt должны лежать в папке Scripts/BODCraft/
4) Файл BODMaker.cs и Core.pas должны лежать в папке Scripts/BODCraft/
5) Запускайте!
Что скрипт умеет: сортирует заказы по коробочкам, может брать заказы из нескольких коробок, может брать их из книг заказов внутри.
Инструкция:
Надо обустроить коробки для сортировки: ставим в доме как минимум три коробки - для 10, 15 и 20 предметных заказов.
Каждый подписываем с помощью Container Engraving Tool (крафтится тинкером) соответственно с типом заказов и количеством
предметов (BS, Tailor, Alchemy, Bowcraft, Cook, Carpenter, Scribe, Tinker), например BS_15, Alchemy_10 и тд.
В каждую коробку закидываем по две коробки, одна подписана "exceptional", вторая "non exceptional"
В каждую из этих коробок закидываем коробки с подписанными на них ресурсами (Названия описаны в файле resources.txt, вам нужно второе название в строке)
ВНИМАНИЕ! В каждой коробке обязательно должна быть как минимум коробка с надписью default - туда будут попадать все заказы из стандартного ресурса, в
случае бс, карпентри\боукрафта и тейлора или вообще все заказы в остальных случаях.
Далее определяем их айдишники и заносим в конфиг
1) Создайте текстовый файл с названием ИМЯ_ПРОФИЛЯ_BODSorter_Config.txt в Scripts/BODSorter
2) Заполните
bods_At_Once=70 <- сколько заказов брать за раз
top_box_id=$2DF4 <- айдишники коробок с подписями количества предметов
except_box_id=$E3F <- айдишники коробок с exceptional и non exceptional
resource_box_id=$9A9 <- айдишники коробок с подписями ресурсов
saveTime=120 <- время ожидания сейва в секундах
not_found_container=$403EBF3F <- серийник коробки, куда пойдут заказы, для которых мы не нашли коробки
ready_deeds_containers=[
$403EBFFF <- серийники коробок с заказами
] <- обязательно закрывать скобки на новой строчке
3) Файл конфига, types.txt и resources.txt должны лежать в папке Scripts/BODSorter/
4) Файл BODSorter.cs и CoreSorter.pas должны лежать в папке Scripts/BODSorter/
5) Запускайте!
Вложения:
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
-
Не в сети
- Alastar
- Автор темы
- Администрация
- Сообщений: 1046
- Thanks: 89

Зато посмотри, какие красивые скрипты. Я всегда о таких мечтал: конфиг из внешнего файла, аккуратный главный скрипт, универсальность, красота.У меня эта тема вызывает когнитивный диссонанс
Казалось бы, человек пишущий скрипты для сервера мог бы раз и на всегда переписать осишную механику булок, сделать её юзабельной без абуза со сбором булок сотней чаров, но вместо этого пишет сторонние костыли для упрощения того самого абуза. И всё ради видимости оси-стайла... забывая что на оси такое не прокатило бы по множеству причин(лимит на кол-во персонажей, более жесткая политика в отношении макросов, т.д.).
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
-
Не в сети
- Old Man
- Администрация
- Сообщений: 3507+
- Сообщений: 1360
- Thanks: 316

Нет никакого множества причин, есть одна - ограничение связанное исключительно с оплатой аккаунта. Если человек может позволить себе оплачивать Визой 100 аккаунтов, разницы вообще нет.множеству причин(лимит на кол-во персонажей, более жесткая политика в отношении макросов, т.д.).
Нет никакой жесткой политики по отношению к макросам, ровно как и половина гм-а на все сервера. Скажем, бот серчуо ходил по кругу в луне годами (и это на Атлантике) и ходил бы и дальше, но ввели ингейм чек вендоров. А спам по продаже голды на шардах в чат на по сто раз в день - норма, я сам не раз и не два закупался голдой или предметами, когда нужно было что-то тестить вне рамках тс-а, а набивать времени не было (130$+). И все, что я покупал, набивалось ботами, что особо и не скрывалось (ровно как и чек падающих домов и последующая продажа площадок с кастлами за реал) идет на ботах.
Более того, весь софт под уошку отлично работает на осях (уостимы (7777 порт + две галки на шифрование), изиуо и прочее) и никак не детектится. На нем сидит 90% процентов игроков, потому, что если посмотреть скрины, которые выкладываются, если они спецом не обрезаны, на половине видны полоски с хп от рейзора или стима. И это как минимум с 2005 года такая ситуация, потому, что уже в 2005 я там гонял на рейзоре, и все ру комьюнити которое играло на Европе играло уже тогда на нем.
Поэтому, мы упираемся элементарно в деньги, и ничего кроме них. Только на осях условия не равны и ограничены вашим доходом или тем, являетесь ли вы рмт-селлером или простым игроком. Что насчет макросов и скриптов, описал ситуацию выше.
Что же касается этих макросов, то их просили больше месяца активно (и уже года 3 менее активно), ибо есть те, кто может написать для себя сам, и получает все, и есть те, кто не может, и получает остатки.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Re: Скрипт на выполнение БОДов и на их сортировку
На оси афк макросы запрещены. Когда-то это было явно прописано в TOS и FAQ, но сейчас сходу найти не могу. Но зато нашел это: I would also like to take this time to warn everyone that we will be actioning accounts that are caught scripting and/or multiboxing. We are not going to be giving out any warnings for this if you are caught.Нет никакой жесткой политики по отношению к макросам
Ну и вообще, если поискать на стратиксе, то можно найти кучу жалоб от забаненных за макросы людей, и цитаты слов ГМов, обещающих всяческие кары за макросы(иногда - со списком оговорок, вроде прокачки скиллов дома). Так что политика есть однозначно. То что эта политика не всегда пересекается с реальностью, и баны прилетают далеко не всем и не всегда - это уже другой вопрос

Да я совершенно и не против, и даже без намёка на какие-то наезды. У меня и у самого практически такие-же скрипты. Меня просто позабавила сама эта ситуация, когда необходимый для полноценной игры(крафтером) функционал официально(Раз уж скрипт от Аластара) предлагается реализовывать на клиенте, вместо того чтоб раз и навсегда убрать необходимость в этом на стороне сервера, имея такую возможность.Что же касается этих макросов
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
-
Не в сети
- Alastar
- Автор темы
- Администрация
- Сообщений: 1046
- Thanks: 89

Политика сервера не позволяет, к сожалению (или нет? Мы не профессиональные геймдизайнеры же)вместо того чтоб раз и навсегда убрать необходимость в этом на стороне сервера, имея такую возможность.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
-
Не в сети
- Alastar
- Автор темы
- Администрация
- Сообщений: 1046
- Thanks: 89

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
10:47:36:572 [ooo]: Compiler: [Error] (D:\inceptum\UOG Inceptum 2D\stelch\Scripts\BODCraft\2\Core.pas at 39:1): 'BEGIN' expected
10:47:36:572 [ooo]: Compilation failed
10:47:36:572 [ooo]: Script Core.pas stopped successfuly
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
-
Не в сети
- Alastar
- Автор темы
- Администрация
- Сообщений: 1046
- Thanks: 89

Для работы скрипта не надо запускать Core.pas - это вспомогательный модуль. Необходимо запускать BODMaker.sc.подскажите пожалуйста настроил все как написано но скрипт не запускается выдает такую ошибку
10:47:36:572 [ooo]: Compiler: [Error] (D:\inceptum\UOG Inceptum 2D\stelch\Scripts\BODCraft\2\Core.pas at 39:1): 'BEGIN' expected
10:47:36:572 [ooo]: Compilation failed
10:47:36:572 [ooo]: Script Core.pas stopped successfuly
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
20:39:13:665 [ooo]: Script BODMaker.sc stopped successfuly
20:39:16:117 [ooo]: Compiling
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 250:1): Variable 'ATTEMPTS' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 262:1): Variable 'ATTEMPTS' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 319:1): Variable 'FOUND' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 451:1): Variable 'I' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 466:1): Variable 'I' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 610:1): Variable 'STR2' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 993:1): Variable 'STR1' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 994:1): Variable 'LIST' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 996:1): Variable 'I' never used
20:39:16:148 [ooo]: Compiled succesfully
20:39:16:148 [ooo]: --=Loading data=--
20:39:16:180 [ooo]: Exec: [Error] (Core at 1204:3): Exception: Cannot open file "D:\inceptum\UOG Inceptum 2D\stelch\Scripts\BODCraft\ooo_BODMaker_Config.txt". Не удается найти указанный файл
20:39:16:180 [ooo]: Script BODMaker.sc stopped successfuly
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
-
Не в сети
- Alastar
- Автор темы
- Администрация
- Сообщений: 1046
- Thanks: 89

"1) Создайте текстовый файл с названием ИМЯ_ПРОФИЛЯ_BODMaker_Config.txt в Scripts/BODCraft"теперь такая ошибка
20:39:13:665 [ooo]: Script BODMaker.sc stopped successfuly
20:39:16:117 [ooo]: Compiling
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 250:1): Variable 'ATTEMPTS' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 262:1): Variable 'ATTEMPTS' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 319:1): Variable 'FOUND' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 451:1): Variable 'I' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 466:1): Variable 'I' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 610:1): Variable 'STR2' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 993:1): Variable 'STR1' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 994:1): Variable 'LIST' never used
20:39:16:148 [ooo]: Compiler: [Hint] (Core at 996:1): Variable 'I' never used
20:39:16:148 [ooo]: Compiled succesfully
20:39:16:148 [ooo]: --=Loading data=--
20:39:16:180 [ooo]: Exec: [Error] (Core at 1204:3): Exception: Cannot open file "D:\inceptum\UOG Inceptum 2D\stelch\Scripts\BODCraft\ooo_BODMaker_Config.txt". Не удается найти указанный файл
20:39:16:180 [ooo]: Script BODMaker.sc stopped successfuly
Читайте начиная с пункта 1) под спойлером Инструкция в шапке.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
22:07:18:977 [ooo]: Compiling
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 250:1): Variable 'ATTEMPTS' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 262:1): Variable 'ATTEMPTS' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 319:1): Variable 'FOUND' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 451:1): Variable 'I' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 466:1): Variable 'I' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 610:1): Variable 'STR2' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 993:1): Variable 'STR1' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 994:1): Variable 'LIST' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 996:1): Variable 'I' never used
22:07:18:993 [ooo]: Compiled succesfully
22:07:20:789 [ooo]: Character Terochek Connected.
22:07:29:146 [ooo]: --=Loading data=--
22:07:29:146 [ooo]: Exec: [Error] (Core at 1209:5): Exception: List index out of bounds (1). TStringList object range is 0..0
22:07:29:146 [ooo]: Script BODMaker.sc stopped successfuly
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
-
Не в сети
- Alastar
- Автор темы
- Администрация
- Сообщений: 1046
- Thanks: 89

Ошибка в конфиге, заполняйте как в примере, вплоть до переноса строквсе сделал воде правильно но теперь такая ошибка(
22:07:18:977 [ooo]: Compiling
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 250:1): Variable 'ATTEMPTS' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 262:1): Variable 'ATTEMPTS' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 319:1): Variable 'FOUND' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 451:1): Variable 'I' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 466:1): Variable 'I' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 610:1): Variable 'STR2' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 993:1): Variable 'STR1' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 994:1): Variable 'LIST' never used
22:07:18:993 [ooo]: Compiler: [Hint] (Core at 996:1): Variable 'I' never used
22:07:18:993 [ooo]: Compiled succesfully
22:07:20:789 [ooo]: Character Terochek Connected.
22:07:29:146 [ooo]: --=Loading data=--
22:07:29:146 [ooo]: Exec: [Error] (Core at 1209:5): Exception: List index out of bounds (1). TStringList object range is 0..0
22:07:29:146 [ooo]: Script BODMaker.sc stopped successfuly
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.