Page 1 of 1

Drop

Posted: 17.09.2010 14:02
by Venom
Действия следующие:
При перевесе, чар сбрасывает из бекпака а землю заданный итем (к примеру фишстейки). В сумке лежит две стопки, одна 50 000, одна 20 000.

Code: Select all

begin
  If Weight > 400 then
while Weight > 400 do
    begin....
FindType($ХХХ, backpack);
...
Drop(finditem, 0, 0, 0, 0);
...
Но проблема в том, что он сбрасывет только одну стопку в 20 тысяч, а вторую - не хочет. И снова, при достижении контрольного веса, стопку где меньшее кол-во сбрасывает, а где большее - нет

Подскажите плс, в чем может быть проблема ?

И, поясните плс, за что отвечают Drop(finditem, 0, 0, 0, 0) каждый из "0" ?

Re: Drop

Posted: 17.09.2010 14:23
by Macks
Venom wrote:Действия следующие:
При перевесе, чар сбрасывает из бекпака а землю заданный итем (к примеру фишстейки). В сумке лежит две стопки, одна 50 000, одна 20 000.

Code: Select all

begin
  If Weight > 400 then
while Weight > 400 do
    begin....
FindType($ХХХ, backpack);
...
Drop(finditem, 0, 0, 0, 0);
...
Но проблема в том, что он сбрасывет только одну стопку в 20 тысяч, а вторую - не хочет. И снова, при достижении контрольного веса, стопку где меньшее кол-во сбрасывает, а где большее - нет

Подскажите плс, в чем может быть проблема ?

И, поясните плс, за что отвечают Drop(finditem, 0, 0, 0, 0) каждый из "0" ?
1. Почему бы Вам не прочитать в документации.

function Drop(ItemID : Cardinal; Count : Integer; X,Y,Z : Integer) : Boolean

Бросить предмет с указанным ID (ItemID) и количеством (Count) на землю с координатами X, Y и Z.

Count = 0 видимо все.
Остальные нули означают координаты чара.
Итем же под ноги падает?

2. Почему скидывает только одну? Потому что он перебирает их по порядку, и после того как скинул одну вес стал допустимый и больше не скидывает.

Новая стопка опять оказывается впереди по поиску.

Posted: 17.09.2010 14:34
by Vizit0r
в данном случае нули магическим образом трансформируются в координаты чара. стелс учитывает такое :)

Re: Drop

Posted: 20.09.2010 23:16
by Venom
Macks wrote:
Venom wrote:Действия следующие:
При перевесе, чар сбрасывает из бекпака а землю заданный итем (к примеру фишстейки). В сумке лежит две стопки, одна 50 000, одна 20 000.

Code: Select all

begin
  If Weight > 400 then
while Weight > 400 do
    begin....
FindType($ХХХ, backpack);
...
Drop(finditem, 0, 0, 0, 0);
...
Но проблема в том, что он сбрасывет только одну стопку в 20 тысяч, а вторую - не хочет. И снова, при достижении контрольного веса, стопку где меньшее кол-во сбрасывает, а где большее - нет

Подскажите плс, в чем может быть проблема ?

И, поясните плс, за что отвечают Drop(finditem, 0, 0, 0, 0) каждый из "0" ?
1. Почему бы Вам не прочитать в документации.

function Drop(ItemID : Cardinal; Count : Integer; X,Y,Z : Integer) : Boolean

Бросить предмет с указанным ID (ItemID) и количеством (Count) на землю с координатами X, Y и Z.

Count = 0 видимо все.
Остальные нули означают координаты чара.
Итем же под ноги падает?

2. Почему скидывает только одну? Потому что он перебирает их по порядку, и после того как скинул одну вес стал допустимый и больше не скидывает.

Новая стопка опять оказывается впереди по поиску.

Спасибо.
Подскажите, как указать, чтобы он скидывал все заданные итемы не зависимо от того, пришел ли вес в норму (в данном случае менее 400) ?

Posted: 20.09.2010 23:21
by Vizit0r
if условие (вес например) then
begin
а тут например в цикле сброс
end;