Page 1 of 2

Работа с предметами в контейнере

Posted: 06.07.2012 17:26
by frant
в сундуке лежит несколько предметов (вещей) и несколько сумок, в которых также есть вещи

как правильно организовать поиск всех предметов, находящихся как в корне, так и в подсумках?

сколько не пробую, не получается, кто подскажет ? :)

Re: Работа с предметами в контейнере

Posted: 07.07.2012 19:57
by Alex
используй FindTypeEx

Re: Работа с предметами в контейнере

Posted: 09.07.2012 13:10
by frant
Alex wrote:используй FindTypeEx
findtypeex не пойдет, так как в контейнере могут быть разные контейнеры с разными типами

Re: Работа с предметами в контейнере

Posted: 09.07.2012 16:55
by nepopus
frant wrote:
Alex wrote:используй FindTypeEx
findtypeex не пойдет, так как в контейнере могут быть разные контейнеры с разными типами
http://stealth.od.ua/Doc:RU/Manual/Refe ... ect_Search
function FindTypeEx(ObjType: Word; Color: Word; Container: Cardinal; InSub: Boolean): Cardinal
InSub включает режим поиска в подсумках (контейнерах внутри заданного контейнера).

Не понял причину, по которой функция вам не подходит.

Re: Работа с предметами в контейнере

Posted: 09.07.2012 17:12
by frant
дело в том, что в родительском контейнере могут быть разные сумки в которых разные подсумки, и надо как-то сделать так, чтобы он по всем проходил какие есть без указания типа

я вот думаю, может стоит обозначить массив всех типов контейнеров, которые могут встречаться и проходится по ним в поиске,?

Re: Работа с предметами в контейнере

Posted: 10.07.2012 9:47
by nepopus
frant wrote:дело в том, что в родительском контейнере могут быть разные сумки в которых разные подсумки, и надо как-то сделать так, чтобы он по всем проходил какие есть без указания типа

я вот думаю, может стоит обозначить массив всех типов контейнеров, которые могут встречаться и проходится по ним в поиске,?
Где вы увидели, что в указанной выше функции нужно указывать тип контейнеров?

Re: Работа с предметами в контейнере

Posted: 10.07.2012 22:15
by yuras
frant wrote:дело в том, что в родительском контейнере могут быть разные сумки в которых разные подсумки, и надо как-то сделать так, чтобы он по всем проходил какие есть без указания типа

я вот думаю, может стоит обозначить массив всех типов контейнеров, которые могут встречаться и проходится по ним в поиске,?
IsContainer используй

Re: Работа с предметами в контейнере

Posted: 11.07.2012 12:03
by frant
nepopus wrote: Где вы увидели, что в указанной выше функции нужно указывать тип контейнеров?
function FindTypeEx(ObjType: Word; Color: Word; Container: Cardinal; InSub: Boolean): Cardinal; // Ищет объект указанного типа ObjType и цвета Color в указанном контейнере
yuras wrote: IsContainer используй
использую и так

проблема с finditem из-за нее зацикливание происходит
скрипт ищет предметы в родители все находит потом переходит в первую подсумку и циклится там...

Re: Работа с предметами в контейнере

Posted: 11.07.2012 12:08
by frant
есть ли такая возможность- когда находит контейнеры, записывает их айдишники и как потом по ним проходить?

Re: Работа с предметами в контейнере

Posted: 11.07.2012 12:19
by frant
лезем в контейнер: находим вещь, вещь, вещь, сумка А, сумка Б, ... после того как все нашли лезем в сумку А: находим все вещи , вопрос, как перейти к поиску к сумке Б ?

Re: Работа с предметами в контейнере

Posted: 11.07.2012 12:42
by nepopus
Наверно пока не попробую, не пойму вашу проблему. Попробую сегодня вечером выложить рабочий код.

Re: Работа с предметами в контейнере

Posted: 11.07.2012 12:45
by frant
nepopus wrote:Наверно пока не попробую, не пойму вашу проблему. Попробую сегодня вечером выложить рабочий код.
может я неясно просто описал проблему)
>>function FindTypeEx(ObjType: Word; Color: Word; Container: Cardinal; InSub: Boolean): Cardinal; //
>>Если InSub = True, то ищем в подсумках.
если инсуб тру, то ищется в том числе в подсумках или только в подсумках?

Re: Работа с предметами в контейнере

Posted: 11.07.2012 13:24
by nepopus
frant wrote:
nepopus wrote:Наверно пока не попробую, не пойму вашу проблему. Попробую сегодня вечером выложить рабочий код.
может я неясно просто описал проблему)
>>function FindTypeEx(ObjType: Word; Color: Word; Container: Cardinal; InSub: Boolean): Cardinal; //
>>Если InSub = True, то ищем в подсумках.
если инсуб тру, то ищется в том числе в подсумках или только в подсумках?
Полагаю, что в том числе : )

Re: Работа с предметами в контейнере

Posted: 11.07.2012 13:25
by frant
nepopus wrote: Полагаю, что в том числе : )
попробовал только что с тру инсабом, не проканало (
мб еще что-то надо указать

Re: Работа с предметами в контейнере

Posted: 11.07.2012 13:43
by frant
я вот набросал схему собсно задачи:

Image