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

Проблема с color (неполучаеться чето)

тут можно задать вопрос по скриптингу
Post Reply
muchacha
Posts: 6
Joined: 01.03.2008 12:14

Проблема с color (неполучаеться чето)

Post by muchacha »

Тут такая проблема вот есть

FindTypeEx($1BEF,$0000,backpack,false);
while (FindCount > 0) do
begin
Drop(findtype,0,0,0,0);

Этоя вычитал в помощи по стелс клиенту,но проблема в том что я никогд не работал с цветами итема в стелсе ! На инже там

uo.exec("findtype 0x0e21 цвет 0x400124BA")

а в стелсе как зделать также? и нада ли ставить в константах чтото ? обьясниет пожалуйста и если можна пример такой как вот на инже ,токо на стелс .
Спс :D
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Шестнадцатиричные числа что в инжекте, что в стелсе одинаковые. Они и в Африке такие же. Это касается сериалов, типов, цветов. Просто форма записи разная: в инжекте это 0x1234, а в стелсе $1234. То есть 0x заменяем на $.
muchacha
Posts: 6
Joined: 01.03.2008 12:14

Post by muchacha »

Не получаеться переместить итем по цвету.
Пример:

Code: Select all

const
MyColor = $005B;     // наш цвет

FindTypeEx($1BEF,MyColor,backpack,false);
        while (FindCount > 0) do 
        begin 
          Drop(findtype,0,0,0,0); 

end;
тоесть изделие зделалось! и его нада збросить и чето не фунцыклирует!!
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Для начала попробуй выяснить что не работает. То ли поиск, то ли перемещение. Как это определить? Проще всего такое сделать расстановкой вывода тестового сообщения. Добавь в цикл перед дропом команду

Code: Select all

AddToSystemJournal('тест 1 - вошли в цикл');
запусти скрипт и смотри. Если сообщение появилось - значит поиск успешен, не работает дроп. Если сообщения нет - значит не ищет, проверяй соответственно.
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Post by CFA »

мнится мне, что оно даже не компилится
Drop(findtype,0,0,0,0); - что за findtype? надо finditem писать
muchacha
Posts: 6
Joined: 01.03.2008 12:14

Post by muchacha »

Исправил Drop(finditem,0,0,0,0); на MoveItem(FindItem,0,0,0,0,)
теперь запускаю все нормально

Code: Select all

AddToSystemJournal('тест 1 - вошли в цикл');
FindTypeEx($1BEF,MyColor,backpack,false); 
        while (FindCount > 0) do 
        begin 
    
 MoveItem(FindItem,MyColor,TrashID,0,0,0); 


end;
Добавил

Code: Select all

 AddToSystemJournal('тест 1 - вошли в цикл');
Он перелавляет изделие из одного вида ингот в ирон инги и скидывает ирон инги в другую сумку но потом пишет

Code: Select all

Drag error: Object not finded.
Еще одна деталь ! Скрипт на бс - Едреда,у мя инготы с которых кую лежат подомною (может это както играет роль ?)
Че это может быть я незнаю :(
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Логику скрипта проверь. Всегда, если что-то не работает, надо попробовать путем рассуждений просчитать что скрипт делает минимум 2 круга (для циклов).

Вот у тебя:
1) Поиск по цвету.
2) В цикле:
2) пока есть найденные объекты
3) переместить найденный объект
Второй круг:
2) Пока есть до цикла найденные объекты
3) переместить найденный до цикла объект

Ну как, сообразил? На втором круге у тебя предпринимается попытка переместить тот же самый объект, который ты уже переместил! Причем цикл у тебя вечный. Ведь поиск был всего один раз, количество найденных раз и навсегда определено как больше нуля - поиск будет крутиться вечно и вечно пытаться переместить один и тот же объект.

Решение смотри в любом моем скрипте на перемещение. Или в любом чужом. В том же бс-е моем сделано все правильно.
Post Reply