Page 1 of 1

Не могу понять

Posted: 09.03.2014 12:33
by lemonter
Помогите пожалуйста.
Не понимаю почему данная конструкция пропускает вещи.

Code: Select all

procedure loot();
Begin   
    for i:=0 to 31 do  
            begin
                if (findtype(kamen[i],cont)<>0)then        
                     repeat 
                            if((InJournalBetweenTimes('The item is out of range and cannot be moved',ctime,Now)<>-1))then
                                break;        
                            MoveItem(findtype(kamen[i],cont),0,sumka,0,0,0);
                            wait(300); 
                     until(findtype(kamen[i],cont)=0);                            
            end;   
end;
А данные функции вообще не работают.

Code: Select all

procedure blackPerl();
begin
    if(FindTypeEx($0F7A, $0000, cont, true)<>0)then
        repeat
            MoveItem(finditem,0,sumka,0,0,0);
            wait(300);
        until(FindTypeEx($0F7A, $0000, cont, true)=0);
end;

procedure lootGround();
Begin    
if (findtype($1BD4,ground)<>0)then        
    repeat    
        MoveItem(finditem,0,sumka,0,0,0);
        wait(300); 
    until(findtype($1BD4,ground)=0);                            
end;

Re: Не могу понять

Posted: 09.03.2014 12:45
by drabadan
lemonter wrote:Помогите пожалуйста.
Не понимаю почему данная конструкция пропускает вещи.

Code: Select all

procedure loot();
Begin   
    for i:=0 to 31 do  
            begin
                if (findtype(kamen[i],cont)<>0)then        
                     repeat 
                            if((InJournalBetweenTimes('The item is out of range and cannot be moved',ctime,Now)<>-1))then
                                break;        
                            MoveItem(findtype(kamen[i],cont),0,sumka,0,0,0);
                            wait(300); 
                     until(findtype(kamen[i],cont)=0);                            
            end;   
end;
А данные функции вообще не работают.

Code: Select all

procedure blackPerl();
begin
    if(FindTypeEx($0F7A, $0000, cont, true)<>0)then
        repeat
            MoveItem(finditem,0,sumka,0,0,0);
            wait(300);
        until(FindTypeEx($0F7A, $0000, cont, true)=0);
end;

procedure lootGround();
Begin    
if (findtype($1BD4,ground)<>0)then        
    repeat    
        MoveItem(finditem,0,sumka,0,0,0);
        wait(300); 
    until(findtype($1BD4,ground)=0);                            
end;
перепиши через while FindType(..., ...) > 0 do, у меня так работает.
вторые 2 функции не работают, из-за того, что FindItem не обновляется, то-есть к перемещению одна и та же шмотка идет, инициализированная в строчке которая выше лупа.

Re: Не могу понять

Posted: 14.03.2014 10:43
by lemonter
Сделал как вы говорили,да 1 процедура стала работать надежнее,а вот 2 другие нет.
В 1 из двух пришлось самому открывать сумки и добавить задержек.
От второго пришлось отказаться. Стелс не видит в упор предметов,на ,info говорит что инкоррект айтем. Получается не видит просто ,соответственно не может найти.
Спасибо за помощь.

Re: Не могу понять

Posted: 14.03.2014 11:10
by drabadan
lemonter wrote:Сделал как вы говорили,да 1 процедура стала работать надежнее,а вот 2 другие нет.
В 1 из двух пришлось самому открывать сумки и добавить задержек.
От второго пришлось отказаться. Стелс не видит в упор предметов,на ,info говорит что инкоррект айтем. Получается не видит просто ,соответственно не может найти.
Спасибо за помощь.
Оу, суть была в том, что сумки должны быть открыты... Я думал они в скрипте открываются перед вызовом процедур!
Рад был помочь!

Re: Не могу понять

Posted: 01.04.2014 0:40
by lemonter
У стелса есть косяк.Если порезать труп гуманоида,то все шмотки оказываются на месте трупа +-1 тайл, так вот стелс их не видит.
,info соответственно ругается , если переложить предмет ,тогда увидит.Хз почему так.

Re: Не могу понять

Posted: 01.04.2014 0:53
by drabadan
lemonter wrote:У стелса есть косяк.Если порезать труп гуманоида,то все шмотки оказываются на месте трупа +-1 тайл, так вот стелс их не видит.
,info соответственно ругается , если переложить предмет ,тогда увидит.Хз почему так.
с GetName тоже самое, можешь просто кликать 1 раз и будет находить.