Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Нужна помощь.
Нужна помощь.
1: Проблема в том, что чар не видит итемов вокруг себя, например, прям перед чаром стоит 2 сундука, пытаюсь открывать:
UseObject(Container1);
addtosystemjournal('Открыли 1й сундук.');
wait(1000)
UseObject(Container2);
addtosystemjournal('Открыли 2й сундук.');
wait(1000)
UseObject(backpack);
addtosystemjournal('Открыли backpack.');
wait(1000)
19:03:51 [AoP]: Compiled succesfully
19:03:56 [AoP]: UseObject error: Object not finded.
19:03:56 [AoP]: Открыли 1й сундук.
19:03:58 [AoP]: UseObject error: Object not finded.
19:03:58 [AoP]: Открыли 2й сундук.
19:03:59 [AoP]: Открыли backpack.
19:04:00 [AoP]: Succesfully executed
19:04:00 [AoP]: Script program PotionsCraft.txt stoped successfuly
ID - сундуков правильные 100%, на закладке ворлд их тоже нет.
2: Вопрос по - uosay('ххх');
Как произнести например такую фразу как 'resend -> uosay(''resend') -> не катит.
Ответ на №2: uosay(chr(39)+'resend'); chr(39) = " ' ".
UseObject(Container1);
addtosystemjournal('Открыли 1й сундук.');
wait(1000)
UseObject(Container2);
addtosystemjournal('Открыли 2й сундук.');
wait(1000)
UseObject(backpack);
addtosystemjournal('Открыли backpack.');
wait(1000)
19:03:51 [AoP]: Compiled succesfully
19:03:56 [AoP]: UseObject error: Object not finded.
19:03:56 [AoP]: Открыли 1й сундук.
19:03:58 [AoP]: UseObject error: Object not finded.
19:03:58 [AoP]: Открыли 2й сундук.
19:03:59 [AoP]: Открыли backpack.
19:04:00 [AoP]: Succesfully executed
19:04:00 [AoP]: Script program PotionsCraft.txt stoped successfuly
ID - сундуков правильные 100%, на закладке ворлд их тоже нет.
2: Вопрос по - uosay('ххх');
Как произнести например такую фразу как 'resend -> uosay(''resend') -> не катит.
Ответ на №2: uosay(chr(39)+'resend'); chr(39) = " ' ".
-
- Neophyte
- Posts: 14
- Joined: 13.11.2006 23:46
- Contact:
У меня тоже вопрос по поводу useobject...
Я столкнулся с ситуацией, что через какое то время работы скрипта, он перестает брать предметы в руки (конкретнее щит и меч), это было и при использовании команды equip.
Сомневаюсь что дело в скрипте...
и тоже в журнале выводит ошибку
тогда как щит и меч в это время лежат в паке...
а вообще список объектов в стелсе имеет какой то лимит?
может переоткрывать бэкпак перед этим? или по типу искать?
Я столкнулся с ситуацией, что через какое то время работы скрипта, он перестает брать предметы в руки (конкретнее щит и меч), это было и при использовании команды equip.
Сомневаюсь что дело в скрипте...
Code: Select all
if (objatlayer(LhandLayer) <> info[current].shield) then begin
useobject(info[current].shield);
check_lag(250);
end;
if (objatlayer(RhandLayer) <> info[current].weapon) then begin
useobject(info[current].weapon);
check_lag(250);
end;
Code: Select all
UseObject error: Object not finded.
а вообще список объектов в стелсе имеет какой то лимит?
может переоткрывать бэкпак перед этим? или по типу искать?
Если через некоторое время - это нормально. В данной версии Стелса, естественно. Миралекс уже поправил там, но релиза пока следующей версии нет. Просто ставь в цикл, или используй процедуру дисконнекта/реконнекта, еще одна альтернатива - сдвинуть чара на шаг и обратно. Если предмет в паке - может помочь переоткрытие пака.
Я постоянно все крафты прописываю на это, иначе периодически не хочет брать ресурс или не находит его в паке. Вся эта катавасия происходит от того, что чар долго стоит на одном месте.
Я постоянно все крафты прописываю на это, иначе периодически не хочет брать ресурс или не находит его в паке. Вся эта катавасия происходит от того, что чар долго стоит на одном месте.

-
- Neophyte
- Posts: 14
- Joined: 13.11.2006 23:46
- Contact:
не понял, useobject зацикливать?Edred wrote:Просто ставь в цикл
он у меня и так зициклен


ладно, не важно... я переоткрытие бэкпака уже поставил, посмотрим что получится...
просто фишинг, это первый скрипт где я на это наткнулся... хотя он и первый скрипт, где чар вообще не ходит

PS еще вопрос по поводу дисконект/реконекта... иногда после реконнекта некоторые скрипты переставали работать...
ну то есть к примеру из всех запущенных стелсов (штук 4-6) после реконнекта бывало что 1 или 2 переставали выполнять скрипт.
так вот вопрос, это косяки моих скриптов или глюки стелса?

в принципе во всех скриптах идет бесконечное зацикливание,
а какие уже внутри циклы то везде выход по таймауту есть...
я просто не представляю где стелс может зависать...
ничего конкретного не выкладывал, потому что это наблюдалось с некоторыми скриптами, которые потом раз 10 переписывались...
ничего больше конкретного сказать не могу, потому что об этом узнавал
только на след. день сравнивая результаты нескольких чаров...
ладно, седня еще попробую либо паузу автореконнекта больше сделать, либо вручную его сделать с записью всех действий...
Думаю что это косяки скриптов, у меня тоже некоторые (одни и те же) после дисконекта не хотят работать дальше.PS еще вопрос по поводу дисконект/реконекта... иногда после реконнекта некоторые скрипты переставали работать...
ну то есть к примеру из всех запущенных стелсов (штук 4-6) после реконнекта бывало что 1 или 2 переставали выполнять скрипт.
так вот вопрос, это косяки моих скриптов или глюки стелса?
Это бывает. И именно из-за скриптов. Проверь внимательно скрипт, если у тебя где-то скрипт что-то делает в мире без проверки на коннект перед этим - это наиболее вероятное место сбоя. Особенно если потом проверка идет на сообщение или появление чего-то без лимита по времени..My.Xa.Xa. wrote:PS еще вопрос по поводу дисконект/реконекта... иногда после реконнекта некоторые скрипты переставали работать...
Всегда во все циклы ожидания сообщения или крафта чего-то, или ожидания чего-то ставь счетчик ограничения по времени. Всегда перед useobject или аналогичных команд ставь waitconnection. Всегда все использования предметов ставь в цикл с проверкой результата по возвращаемой величине. В большинстве случаев рекомендую заменять useobject на usetype (если это удобно) с проверкой величины, возвращаемой usetype, так как usetype - команда, гарантирующая какой-то результат. Далее аналогично.
А почему ты одним стелсом не обходишься? На фига 4-6 запускать?ну то есть к примеру из всех запущенных стелсов (штук 4-6)

-
- Neophyte
- Posts: 14
- Joined: 13.11.2006 23:46
- Contact:
Имеется в виду 4 чара запущены на 1 стелсе или 4 стелса с 1 чаром на каждом, если последнее, то зачем?.My.Xa.Xa. wrote:только не говори что у тебя на форест варс минере не копают на стелсеА почему ты одним стелсом не обходишься? На фига 4-6 запускать?
один основной, один крафтер и два минера в ньюби шахте роютсявот и 4 стелса получается...
-
- Neophyte
- Posts: 14
- Joined: 13.11.2006 23:46
- Contact:
-
- Neophyte
- Posts: 14
- Joined: 13.11.2006 23:46
- Contact:
Смотри:.My.Xa.Xa. wrote:попробывал запустить всех на одном стелсемне это неудобно, папка активная для всех чаров одна, а скрипты и файлы с результатами по разным папкам раскинуты чтобы не создавать кучу, и все по очереди из за ненайденного файла вырубаются
1. Пример настройки скрипта под конкретного чара:
Code: Select all
if GetName(self) = 'Serf' then
begin
MyMaxWeight := 320;
StartMinPoint[1] := 1215;
StartMinPoint[2] := 3111;
StartMinPoint[3] := 1217;
StartMinPoint[4] := 3109;
StartMinPoint[5] := 1219;
StartMinPoint[6] := 3107;
CaveLimit := 1205;
exit;
end;
if GetName(self) = 'BOCTOK' then
begin
MyMaxWeight := 320;
StartMinPoint[1] := 1221;
StartMinPoint[2] := 3105;
StartMinPoint[3] := 1223;
StartMinPoint[4] := 3103;
StartMinPoint[5] := 1225;
StartMinPoint[6] := 3101;
CaveLimit := 1205;
exit;
end;
Code: Select all
procedure PrintStatistic;
// выводит в файл с именем charname.log суммарную статистику с запуска скрипта
begin
with TStringList.Create do
try
Add('Скрипт начал работу: ' + DateTimeToStr(ScriptStartTime));
Add(' Сейчас: ' + DateTimeToStr(Now));
Add(' ');
Add('Количество разгрузок: ' + inttostr(HowManyDischarge));
Add(' ');
Add('Добыто:');
Add(' Iron ' + inttostr(IronCnt));
Add(' Dark Iron ' + inttostr(DarkIronCnt));
Add(' Gold ' + inttostr(GoldCnt));
Add(' Silver ' + inttostr(SilverCnt));
Add(' Verite ' + inttostr(VeriteCnt));
Add(' Valorite ' + inttostr(ValoriteCnt));
Add(' Shadow ' + inttostr(ShadowCnt));
Add(' Agapite ' + inttostr(AgapiteCnt));
Add(' Blood Rock ' + inttostr(BloodRockCnt));
Add(' Mytheril ' + inttostr(MytherilCnt));
Add(' Diamond ' + inttostr(DiamondCnt));
Add(' Black Rock ' + inttostr(BlackrockCnt));
Add(' Bluerite ' + inttostr(BlueriteCnt));
Add(' ');
Add('Количество ресов чара: ' + inttostr(ResCnt));
SaveToFile('__' + GetName(self) + '.log');
finally
free;
end;
end;
Code: Select all
CharRail := 'D:\Games\Railes\' + GetName(self) + '.txt';
ResRail := 'D:\Games\Railes\res.txt';
GetRail(CharRail,true);
AddToSystemJournal('Маршрут ' + CharRail + ' загружен');
GetRail(ResRail,false);
AddToSystemJournal('Маршрут ' + ResRail + ' загружен');
-
- Neophyte
- Posts: 14
- Joined: 13.11.2006 23:46
- Contact:
у меня почти также...
результат немного в другом формате, у меня каждый раз в файл добавляется что случилось... просто все равно получается для каждого чара свой файл с маршрутом и свой файл статистики... а если прикинуть
мининг в большом мире - один файл скрипта, 2 файла с маршрутом, 2 файла с результатом
мининг в ньюби шахте - один файл скрипта, 4 файла с маршрутом и 4 файла с результатом
лумбер - один файл скрипта, 2 файла с маршрутом и 2 файла с результатом
фишинг на корабле, фишинг в гз еще 5 файлов будет, потом всякие магия бс тинкер лоры и тд тп...
у меня раньше было все по папкам разложено, в каждой папке по одному скрипту добывающему или просто похожие...
кароч оч много файлов
а перемещать каждый раз те скрипты, которыми пользуешься в одно "активное место" мне лень
когда в папке 40-50 файлов скриптов для меня напряг, из них кстати 24 файлов добывающих скриптов
P.S. и не смотри на название файлов в примере
просто вчера все скинул быстренько в одну папку чтобы на одном стелсе всех запустить... до этого кстати название файлов с данным и результатом для всех скриптов одинаковое было
ладно, пох, придумаю че нибудь для упрощения 
Code: Select all
{const info begin}
info[1].uid := $0007e983; // HacTeHa
info[1].bank := $4007e981;
info[1].r_start := $40026b04;
info[1].r_smelt := $40026b03;
info[1].r_bank := $40026af8;
info[1].weapon := $4001de56;
info[1].data := 'r_mmd_1.txt';
info[1].file := 'r_mmr_1.txt';
info[2].uid := $0007ce86; // KoCToJIoM
info[2].bank := $4007ce84;
info[2].r_start := $4008f269;
info[2].r_smelt := $4008f265;
info[2].r_bank := $4008f264;
info[2].weapon := $40090458;
info[2].data := 'r_mmd_2.txt';
info[2].file := 'r_mmr_2.txt';
current := 0;
if (self = info[1].uid) then current := 1;
if (self = info[2].uid) then current := 2;
if (current = 0) then begin
sysj('smth wrong with initial info');
exit;
end;
sysj('my number is ' + inttostr(current));
{end}
мининг в большом мире - один файл скрипта, 2 файла с маршрутом, 2 файла с результатом
мининг в ньюби шахте - один файл скрипта, 4 файла с маршрутом и 4 файла с результатом
лумбер - один файл скрипта, 2 файла с маршрутом и 2 файла с результатом
фишинг на корабле, фишинг в гз еще 5 файлов будет, потом всякие магия бс тинкер лоры и тд тп...
у меня раньше было все по папкам разложено, в каждой папке по одному скрипту добывающему или просто похожие...
кароч оч много файлов



P.S. и не смотри на название файлов в примере


