Page 1 of 1

Лут из трупа

Posted: 06.07.2010 9:20
by m0nya
Привет всем.

Хочу обратиться к тем кто уже познал азы паскаля :-)
Вот пытаюсь написать функцию подбора из трупа различных итемов, но никак не поддается ... скорее даже алгоритм подскажите и пните в нужную сторону ... , пишу в поиске лут из трупа, лут, и тд а там темы какие то рагульные :roll: .

Хочу на основе этого скрипта немного продвинуться ... =)

Если у кого минутка будет разжуйте как мне реализовать

проверку появился ли труп новый,
if появился do
begin
открываем его (если требуется в стелсе)
find itemID $тралала
moveitem backpack
end

вот чтото вроде этого.

После полу дня на форуме пришел к такой строке,

moveitem(findtype($1F03,$2006),1,$425FAE98,0,0,0);

$1F03 - тип того что мне нужно
$2006 - тип трупа
$425FAE98 - ид моего бекпака

где неправ ?

Re: Лут из трупа

Posted: 06.07.2010 20:21
by Vizit0r
алгоритм скрипта в целом правильный
m0nya wrote:После полу дня на форуме пришел к такой строке,

moveitem(findtype($1F03,$2006),1,$425FAE98,0,0,0);

$1F03 - тип того что мне нужно
$2006 - тип трупа
$425FAE98 - ид моего бекпака

где неправ ?
по цитируемому куску.

неправильно. должно быть что-то типа

Code: Select all

program ggsinkulol;

var
trupID : Cardinal

BEGIN //Main begin
while True do
  begin
    if findtype($2006,ground) >0 then 
      begin
        trupID := findtem;
        UseObject(trupID);
        moveitem(findtype($1F03,trupID),1,BackPack,0,0,0); 
        Ignore(trupID);//как там эта функция павильно пишется? не помню.
      end;
    wait(3000);
  end;
end. //main end

я бы обошелся без переменной trupID, но тебе как для начала не стоит
на ноуте стелса нет, проверять негде, и вообще, меня тут нет, я на отдыхе :)

Re: Лут из трупа

Posted: 07.07.2010 8:11
by m0nya

Code: Select all

procedure loot;
begin
    if findtype($2006,ground) >0 then
      begin
        trupID := finditem;
		AddToSystemJournal('finditem!');
        UseObject(trupID);
		AddToSystemJournal('use!');
        moveitem(findtype($1F03,trupID),1,BackPack,0,0,0);
		AddToSystemJournal('move!');
        Ignore(trupID);//как там эта функция павильно пишется? не помню.
		AddToSystemJournal('ignor!');

  end;
  end;
Вот рабочая процедура (не зацикленная) =)) кому нужно юзайте.
Спасибо тебе добрый человек =)) :P

Posted: 07.07.2010 12:17
by Vizit0r
как там эта функция павильно пишется? не помню.
это можно было и не тащить в рабочую процедуру :)

Posted: 07.07.2010 12:39
by Хреник
а вдруг без неё работать не будет? :lol:

Posted: 23.05.2011 12:38
by SuperPups
Подскажите пожалуйста что делать если рядом 10 разных трупов животных? Как составить список трупов и по очереди их почистить?

Posted: 23.05.2011 16:24
by Alex
составляеш ручками список их типов, ложиш их в массив в начале скрипта, потом FindType`ом находиш ид обьектов по этим типам, потом используй EmptyContainer, что бы почистить их