Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Подскажите.... Очень нужно...

тут можно задать вопрос по скриптингу
Post Reply
Koldunchik
Neophyte
Neophyte
Posts: 23
Joined: 22.08.2009 12:45

Подскажите.... Очень нужно...

Post by Koldunchik »

процедура рубки дерева... В этот момент у меня стилят топор.... Макрос стопорится и стоит у дерева... Какой командой чистить ворлд лист обджектов??? :?:
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

При чем тут Ворлд-лист?
Перед рубкой проверять его наличие, и если его нет, то предпринимать какие нибудь шаги.
И циклы писать так, чтоб само вывалилось по прошествии времени. Ибо если чар "ничего не делает" это скорее всего значит, что скрипт крутит какой-то вечный цикл.

Так неправильно:

Code: Select all

1) while true do begin
  
end;
//цикл впринципе никогда не закончится

2) repeat

until inJournal('a') > -1
//если 'a' в журнале по каким-то причинам не появится то цикл будет вечным. (кстати так у тебя скорее всего и происходит)


Так правильно:

Code: Select all

i:=0;
while (not dead)  AND (i<10) do begin
...что-то делаем  
inc(i);
end;

repeat
...что-то делаем 
inc(i);
until (inJournal('a') > -1) OR (DEAD) OR (i>=100) OR (Нет_Топора) OR (что-то-еще)

эти циклы полюбому вывалятся когда закончится счетчик i
Last edited by WladL on 02.12.2009 9:19, edited 1 time in total.
"Как хочешь ты трудись;
Но приобресть не льстись
Ни благодарности, ни славы,
Коль нет в твоих трудах ни пользы, ни забавы. (с) С.Крылов."
Koldunchik
Neophyte
Neophyte
Posts: 23
Joined: 22.08.2009 12:45

Post by Koldunchik »

WladL wrote:При чем тут Ворлд-лист?
Перед рубкой проверять его наличие, и если его нет, то предпринимать какие нибудь шаги.
И циклы писать так, чтоб само вывалилось по прошествии времени. Ибо если чар "ничего не делает" это значит что скрипт крутит какой-то вечный цикл.

Так неправильно:

Code: Select all

while true do begin
  
end;
//цикл впринципе никогда не закончится

repeat

until inJournal('a') > -1
//если 'a' в журнале по каким-то причинам не появится то цикл будет вечным. (кстати так у тебя скорее всего и происходит)


Так правильно:

Code: Select all

i:=0;
while (not dead)  AND (i<10) do begin
...что-то делаем  
inc(i);
end;

repeat
...что-то делаем 
inc(i);
until (inJournal('a') > -1) OR (DEAD) OR (i>=100) OR (Нет_Топора) OR (что-то-еще)

эти циклы полюбому вывалятся когда закончится счетчик i
проблема не в этом... у нас на сервере глючит вся ета фигня( состилили вещь из пака а она еще отображается в итемах) и надо делать дискон чтоб макра поняла что етого итема нема... так вот я и спрашиваю есть что то что чистит лист обьектов?
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

Так значит тебе нужно сделать так чтоб стелс обновил список итемов, а делает он это при Resync. Отправка вручную запроса на ресинк в стелсе невозможна. Но можно схитрить, если попытаться сделать шаг в непроходимый участок (например шагнуть в дерево), ходилка сама сделает ресинк :) , лишь бы не отсекла эту попытку на момент просчета пути. Вообщем ходилка умеет делать ресинк, и можно этим попытаться воспользоваться.
"Как хочешь ты трудись;
Но приобресть не льстись
Ни благодарности, ни славы,
Коль нет в твоих трудах ни пользы, ни забавы. (с) С.Крылов."
Koldunchik
Neophyte
Neophyte
Posts: 23
Joined: 22.08.2009 12:45

Post by Koldunchik »

так что перед каждым рубанием вещь перекладывается с места на место, и если вещь стилена то по проверки журнала видно))) что он делает... главное автореконект незабыть поставить) а после реконекта вещи опять заного добавляются...
Post Reply