Доброго времени суток уважаемые.Нашел скрипт,суть которого-вбиваю ид сундука,он индифит все итемы находящиеся там.Вставлен инклюд которого у меня нет,как его сделать я не осиливаю.Кому не сложно,помогите,будьте добры - заранее благодарен. Вот собственно скрипт и ошибка:
Program ItemID;
{$Include 'all.inc'}
const
IDBag = $68DCF099; //Сумка с всякой х-нёй
var
IDCount:integer;
SubBag:cardinal;
procedure IdCurrItem(item:cardinal);
var TimeStart : TDateTime;
begin
if TargetPresent then CancelTarget;
CancelWaitTarget;
UseSkill('Item Identification');
wait(500)
waitfortarget(5000);
TimeStart := now;
WaitTargetObject(item);
WaitJournalLine(TimeStart,'item|object|not sure |It appears to be ', 12000);
wait(9400);
if InJournalBetweenTimes('not sure', TimeStart, now) > 0 then begin
exit;
end;
IDCount := IDCount + 1;
Ignore(item);
end;
begin
//checklag(10000);
OpenBox(IDBag);
checksave;
while FindTypeEx($FFFF, $FFFF, IDBag, False) <> 0 do
begin
IdCurrItem(FindItem);
ClickOnObject(FindItem);
if IsContainer(finditem) then begin
SubBag := finditem;
OpenBox(SubBag);
while FindTypeEx($FFFF, $FFFF, SubBag, False) <> 0 do begin
ClickOnObject(FindItem);
IdCurrItem(FindItem);
Program ItemId;
const
Chest = $00000000;
procedure WaitLag(WaitTimeMS : Integer);
begin
CheckLag(30000);
Wait(WaitTimeMS);
end;
function Identification(Item_Id : Cardinal) : Boolean;
var
i : Integer;
cTime : TDateTime;
begin
Result := False;
if (Item_Id <> 0) and Connected and (Not Dead) then
begin
if TargetPresent then
CancelTarget
else
begin
cTime := Now;
UseSkill('Item Identification');
if WaitForTarget(30000) then
TargetToObject(Item_Id);
for i := 0 to 10 do
begin
if WaitJournalLine(cTime, 'item|object|not sure |It appears to be', 1000) or Dead or (not Connected) then
break;
CheckLag(30000);
Result := True;
end;
end;
end;
end;
begin
if Chest <> 0 then
begin
UseObject(Chest);
WaitLag(1000);
while not Dead do
begin
While(FindType($FFFF, Chest) > 0) do
begin
while not Identification(FindItem) do
WaitLag(500);
Ignore(FindItem);
end;
IgnoreReset;
end;
end;
end.
Re: Помощь по инклюду...
Posted: 22.10.2014 2:59
by nyMa
[03:12:41:174] System: Select an object to identify.
[03:12:41:476] System: I'm not sure . . .
[03:12:42:278] System: You must wait to perform another action.
сразу же после индифа,пытается опять юзнуть его повторно,без задержки(рабочая у нас 10000)
[03:13:13:048] System: Select an object to identify.
[03:13:13:386] System: You are already know everethyng about this item...
Проиндифил вещь 2ой раз,она уже была проиндифлена им.
[03:13:13:968] System: You must wait to perform another action.
Юзает скил повторно,без задержки(рабочая 10000)
[03:13:44:834] System: Select an object to identify.
[03:13:45:214] System: It appears to be a Duelist's Tricorne Hat
малачина)
[03:13:45:755] System: You must wait to perform another action.
..........=)
[03:14:16:964] System: Select an object to identify.
[03:14:17:299] System: It appears to be a Durable Butcher Knife
Жаловаться грех конечно,но)))
3 вещи,которые хотелось бы доработать,если не сложно:
1)Изменить задержку,на рабочую.
2)Мешок он начинает индифить только если он лежит в главном паке,в других мешках он его не находит.
3)И то,что наверное самое сложное,что-бы при всем цикле индифа 500 итемов,он не индифил вещь второй раз,которую уже проиндифил.Просто если к концу цикла,допустим 10% ,от общего кол-ва итемов он будет подходить,то велика вероятность не дождаться окончания сего цикла..Так как,чем больше вещей проиндифлено,тем больше велика возможность того,что он выберет рандомно - опять просмотренную вещь.И конец то этого сундука,можно и не дождаться вовсе....
Ну а если ещё ко всему этому волшебному имуществу,добавить еще функцию - перехода после индифа всех шмоток в сундуке,на другой сундук(так же с указанием его ид(сундуков может быть 2,3,4 макс.)) - то это будет не скрипт,а бомба уважаемый)
Re: Помощь по инклюду...
Posted: 22.10.2014 12:06
by drabadan
1. Поправлю, увы не на чем тестить, по-этому сложновато.
2. Проблема с мешком - нужно сначало открыть ВСЕ контейнеры в которых лежит мешок. Стелс по своей специфике не видит объекты внутри сумки пока она не откроется, если сумка в сумке то тогда надо добавить ее в константы тоже.
3. Это будет решено вместе с задержкой, я как обычно путаю логику, увы скилл низковат.
4. Это без проблем, но вписывать сундуки надо будет в другом месте.
Program ItemId;
Program ItemId;
const
ChestWithBags = $00000200;
var
Bags : Array of Cardinal;
k : Integer;
procedure WaitLag(WaitTimeMS : Integer);
begin
CheckLag(30000);
Wait(WaitTimeMS);
end;
function Identification(Item_Id : Cardinal) : Boolean;
var
i : Integer;
cTime : TDateTime;
begin
Result := False;
if (Item_Id <> 0) and Connected and (Not Dead) then
begin
if TargetPresent then
CancelTarget
else
begin
cTime := Now;
UseSkill('Item Identification');
if WaitForTarget(30000) then
TargetToObject(Item_Id);
for i := 0 to 10 do
begin
if WaitJournalLine(cTime, 'item|object|not sure |It appears to be', 1000) or Dead or (not Connected) then
break;
CheckLag(30000);
Result := True;
end;
end;
end;
end;
begin
Bags := [$000000002, $0000003, $0000000004]; //вписывай сколько нужно сумок
if ChestWithBags <> 0 then
begin
UseObject(ChestWithBags);
WaitLag(1000);
for k := 0 to Length(Bags)-1 do
While(FindType($FFFF, Bags[k]) > 0) do
begin
Identification(FindItem);
WaitLag(500);
Ignore(FindItem);
end;
IgnoreReset;
end;
end.
Re: Помощь по инклюду...
Posted: 22.10.2014 13:41
by nyMa
Смотрим....
По поводу теста,могу скинуть клиент рабочий куданибудь и дать чара с сундуками?
Или хотя-бы icq,skype твой?
Re: Помощь по инклюду...
Posted: 22.10.2014 21:41
by nyMa
Продолжает итемить одну и ту же вещь иногда.
Второй сундук от итемил пару шмоток и скрипт выключился...
19:05:12:890 [INDIF]: Succesfully executed
19:05:12:891 [INDIF]: Script !id-loot.sc stopped successfuly
В общем 1ый твой лучше,чем этот.Стоит вот уже 8 часов,итемов 50 точно еще не проиндифил,залезает на старые все время,но хотябы не выключается...
Еще вопрос,в этом сезоне стелс начал выдовать непонятные вещи,у пацанов играющих со мной,такого нет -
[22:17:47:186] System: System <BODY><BASEFONT COLOR=#DFDFC0><CENTER>The next characteristic, shown as the middle bar, is <B>Mana</B>. Mana shows you how much magical energy that your character has available. Casting a spell will decrease your available Mana. Mana regenerates naturally over time. Press the Next button to continue. </CENTER></BASEFONT></BODY>
Re: Помощь по инклюду...
Posted: 23.10.2014 10:02
by Vizit0r
и что тут непонятного?
Re: Помощь по инклюду...
Posted: 23.10.2014 10:29
by drabadan
nyMa wrote:Продолжает итемить одну и ту же вещь иногда.
Второй сундук от итемил пару шмоток и скрипт выключился...
19:05:12:890 [INDIF]: Succesfully executed
19:05:12:891 [INDIF]: Script !id-loot.sc stopped successfuly
В общем 1ый твой лучше,чем этот.Стоит вот уже 8 часов,итемов 50 точно еще не проиндифил,залезает на старые все время,но хотябы не выключается...
Еще вопрос,в этом сезоне стелс начал выдовать непонятные вещи,у пацанов играющих со мной,такого нет -
[22:17:47:186] System: System <BODY><BASEFONT COLOR=#DFDFC0><CENTER>The next characteristic, shown as the middle bar, is <B>Mana</B>. Mana shows you how much magical energy that your character has available. Casting a spell will decrease your available Mana. Mana regenerates naturally over time. Press the Next button to continue. </CENTER></BASEFONT></BODY>
проверял на уорпг свой скрипт, все работает корректно. Может есть ньюанс в настройке скрипта? Скинь может свою версию настроенную как ты запускаешь.
Второй вопрос - явно, что-то с магией связано! Не иначе...