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

Лут из трупа

тут можно задать вопрос по скриптингу
Post Reply
m0nya
Neophyte
Neophyte
Posts: 37
Joined: 08.02.2008 11:15
Contact:

Лут из трупа

Post by m0nya »

Привет всем.

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

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

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

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

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

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

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

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

где неправ ?
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

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

Post 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, но тебе как для начала не стоит
на ноуте стелса нет, проверять негде, и вообще, меня тут нет, я на отдыхе :)
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
m0nya
Neophyte
Neophyte
Posts: 37
Joined: 08.02.2008 11:15
Contact:

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

Post 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
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

как там эта функция павильно пишется? не помню.
это можно было и не тащить в рабочую процедуру :)
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Хреник
Novice
Novice
Posts: 70
Joined: 11.06.2008 20:33

Post by Хреник »

а вдруг без неё работать не будет? :lol:
SuperPups
Posts: 5
Joined: 08.05.2011 7:38

Post by SuperPups »

Подскажите пожалуйста что делать если рядом 10 разных трупов животных? Как составить список трупов и по очереди их почистить?
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Post by Alex »

составляеш ручками список их типов, ложиш их в массив в начале скрипта, потом FindType`ом находиш ид обьектов по этим типам, потом используй EmptyContainer, что бы почистить их
Post Reply