Page 1 of 1

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

Posted: 01.12.2009 21:47
by Koldunchik
процедура рубки дерева... В этот момент у меня стилят топор.... Макрос стопорится и стоит у дерева... Какой командой чистить ворлд лист обджектов??? :?:

Posted: 02.12.2009 1:49
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

Posted: 02.12.2009 2:09
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
проблема не в этом... у нас на сервере глючит вся ета фигня( состилили вещь из пака а она еще отображается в итемах) и надо делать дискон чтоб макра поняла что етого итема нема... так вот я и спрашиваю есть что то что чистит лист обьектов?

Posted: 02.12.2009 9:28
by WladL
Так значит тебе нужно сделать так чтоб стелс обновил список итемов, а делает он это при Resync. Отправка вручную запроса на ресинк в стелсе невозможна. Но можно схитрить, если попытаться сделать шаг в непроходимый участок (например шагнуть в дерево), ходилка сама сделает ресинк :) , лишь бы не отсекла эту попытку на момент просчета пути. Вообщем ходилка умеет делать ресинк, и можно этим попытаться воспользоваться.

Posted: 03.12.2009 1:07
by Koldunchik
так что перед каждым рубанием вещь перекладывается с места на место, и если вещь стилена то по проверки журнала видно))) что он делает... главное автореконект незабыть поставить) а после реконекта вещи опять заного добавляются...