Page 1 of 1

Инклуды Grab & CheckWeapon

Posted: 24.09.2005 11:21
by Antarius
Хотелся бы убидиться, что я всё правильно написал, :arrow: :

{$Include 'grab.inc'}

Code: Select all

procedure grab(Stype : word);
begin
Finddistance := 2;
findtype(Stype,backpack);
if getquantity(finditem) < 50 then
begin
if getquantity(findtype(Stype,ground)) > 0 then 
begin
grab(finditem,500);
wait(1000)
else;
begin
SetARStatus(false);
  Disconnect;
  end;
      end;
wait(1000);
end;
end;

{$Include 'checkweapon.inc'}

Code: Select all

procedure checkweapon(weapon : word);
Begin
Finddistance := 2;
if (getquantity(findtype(weapon,ground)) > 0) and (ObjAtLayer(RhandLayer) <= 0) then Equip(RhandLayer,finditem);
if getquantity(findtype(weapon,ground)) <= 0 then
  begin
SetARStatus(false);
  Disconnect;
  end;
Wait(2000);
End;


Posted: 24.09.2005 17:00
by Miralex
Насчет 'checkweapon.inc' - не заметил ошибок ...

Насчет 'grab.inc' - ф-ция grab уже существует. Назови по другому.
Да и судя по коду - название не совсем подходит.

Posted: 26.09.2005 15:58
by ParadoX
какието у тебя суицидальные наклонности ) чуть што сразу дисконект.. и ваще чеквепон не нужен.. глупая функция...

чем не подходит

Code: Select all

procedure use_t(item : word);
begin
if (GetType(ObjAtLayer(RhandLayer)) = item) then useobject(ObjAtLayer(RhandLayer))
else useobject(findtype(item,backpack));
end;
и ваще getquantity(findtype(weapon,ground)) > 0 любого итема будет равно ОДЫН

второго скрипта я ваще суть не понял.. ИМХО :roll:
атвратное оформление блоков и что то типа если количество не больше 50 и не меньше 0 то взять итем.. действительно странно... и даже когда я наконец понял что эта функция - эта одна простая строчка if (..) then grab() срауз все встало на свои места :o

Posted: 27.09.2005 13:33
by taxman
ParadoX wrote:и ваще getquantity(findtype(weapon,ground)) > 0 любого итема будет равно ОДЫН
А 0 не бывает? А если не нашли, как отреагирует стелс? Не аналогично ли инжекту, за что потом люди VIP-листа удостаиваются?

Posted: 27.09.2005 14:45
by Miralex
Если айтим не существует, то и FindType его будет равен нулю и getquantity тоже!

Posted: 27.09.2005 14:47
by Miralex
и ваще getquantity(findtype(weapon,ground)) > 0 любого итема будет равно ОДЫН
Чушь.
(См. предыдуший пост)

Posted: 27.09.2005 15:59
by taxman
Miralex wrote:Если айтим не существует, то и FindType его будет равен нулю и getquantity тоже!
Что в этом случае сделает конструкция

Code: Select all

useobject(findtype(item,backpack)); 
?
Если что-то аналогичное

Code: Select all

 Character ???????? tried to drop item 00000000, but had not gotten an item.
, то поздравляю, вы становитесь участником лотереи. Этот же вопрос относится и к грабам, и к дропам.

Posted: 27.09.2005 23:06
by Miralex
Стелс имеет множество внутренних проверок, которые блокируют такого рода ошибки. Но не все!

При перемещении вещей и тд контролируется существование айтимов, а также "свободность" рук.

При использовании UseObject, ClickOnObject могут возникнуть такого рода проблемы. Советую использовать конструкцию:

Code: Select all

if (findtype(item,backpack) <> 0) then UseObject(finditem);


P.S. не забываем, что мы используем Beta версию.

Posted: 28.09.2005 13:50
by ParadoX
таксмен, а ты на каком шарде играеш ? :lol: :lol: :lol: :lol:

про "ОДЫН"..
я писал конкретно для случая с оружием. где вы видели стекуемые то что можно одеть на чара... :lol:

и ваще как истинному маньяку, мне кажется что count будет выполнятся быстрее? чем определение сколько в стопке...

Posted: 28.09.2005 15:09
by Miralex
и ваще как истинному маньяку, мне кажется что count будет выполнятся быстрее? чем определение сколько в стопке...
Ошибаешся, абсолютно одинаково. Просто для ВАС она "звучит" легче.

Posted: 30.09.2005 9:56
by taxman
ParadoX wrote:таксмен, а ты на каком шарде играеш ?
NDW. И там же работает автокикалка моего производства, список которой регулируется мной же :)