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

Как использовать значения меньше

тут можно задать вопрос по скриптингу
Post Reply
tito
Neophyte
Neophyte
Posts: 16
Joined: 10.11.2014 20:21

Как использовать значения меньше

Post by tito »

Хочу вставить проверку на добирание бутылок, так проблема следующая, если в условии стоит знак больше, то этот код работает отлично, но если поставить меньше "<" или "<=" то он перестает работать, как исправить, чтоб работала при <=1 или при = 0 (если нет бутылок). Спасибо.

Code: Select all

if FindType($0F0B,Backpack) > 12 then
begin
AddToSystemJournal('Добираем');
FindType($0F0B,ObjAtLayer(BankLayer));
if FindItem > 0 then
begin
MoveItem(FindItem,1,Backpack,0,0,0);
end;
end;
Maxwell
Neophyte
Neophyte
Posts: 43
Joined: 10.11.2014 17:06

Re: Как использовать значения меньше

Post by Maxwell »

Из мануала:
function FindType(ObjType: Word; Container: Cardinal) : Cardinal
Последний найденный обьект возвращается резутатом выполнения ЭТОЙ функции
В данном случае у тебя возвращается id объекта. И он действительно > 12.

Используй еще
function GetQuantity(ObjID : Cardinal) : Integer
вернет количество в стопке.
tito
Neophyte
Neophyte
Posts: 16
Joined: 10.11.2014 20:21

Re: Как использовать значения меньше

Post by tito »

Может я не правильно понял, пробовал и с GetQuantity все равно эффекта нету

На всякий случай подробнее чуть опишу
Вот так работает:

Code: Select all

if FindType($0F0B,Backpack) > 2 then
begin
AddToSystemJournal('Добираем');
FindType($0F0B,ObjAtLayer(BankLayer));
if FindItem > 0 then
begin
MoveItem(FindItem,1,Backpack,0,0,0);
end;
end;
А вот так не работает: (со знаком меньше, т.е. если у меня 1 бутылка или ноль, он не работает)

Code: Select all

if FindType($0F0B,Backpack) < 2 then
begin
AddToSystemJournal('Добираем');
FindType($0F0B,ObjAtLayer(BankLayer));
if FindItem > 0 then
begin
MoveItem(FindItem,1,Backpack,0,0,0);
end;
end;
Maxwell
Neophyte
Neophyte
Posts: 43
Joined: 10.11.2014 17:06

Re: Как использовать значения меньше

Post by Maxwell »

Code: Select all


if FindType($0F0B,Backpack) > 0 then //То, что мы вообще нашли этот тип объекта
begin
if FindFullQuantity < 2 then //Если найденных объектов меньше 2. Работает как со стакающимися итемами, так и нет
begin
AddToSystemJournal('Добираем');
FindType($0F0B,ObjAtLayer(BankLayer));
if FindItem > 0 then
begin
MoveItem(FindItem,1,Backpack,0,0,0);
end;
end;
end;
tito
Neophyte
Neophyte
Posts: 16
Joined: 10.11.2014 20:21

Re: Как использовать значения меньше

Post by tito »

Maxwell wrote:

Code: Select all


if FindType($0F0B,Backpack) > 0 then //То, что мы вообще нашли этот тип объекта
begin
if FindFullQuantity < 2 then //Если найденных объектов меньше 2. Работает как со стакающимися итемами, так и нет
begin
AddToSystemJournal('Добираем');
FindType($0F0B,ObjAtLayer(BankLayer));
if FindItem > 0 then
begin
MoveItem(FindItem,1,Backpack,0,0,0);
end;
end;
end;
Не добирает (
Maxwell
Neophyte
Neophyte
Posts: 43
Joined: 10.11.2014 17:06

Re: Как использовать значения меньше

Post by Maxwell »

А что возвращает FindFullQuantity ?
tito
Neophyte
Neophyte
Posts: 16
Joined: 10.11.2014 20:21

Re: Как использовать значения меньше

Post by tito »

Maxwell wrote:А что возвращает FindFullQuantity ?
)) Да посмотрел, там в паке еще одни бутылки валялись с таким тайпом поэтому не работало, спасибо)
Post Reply