Page 1 of 2

Нужен скрипт

Posted: 02.09.2009 17:03
by pannir
Нужен скрипт такого плата..


> Медитировать
> после медитации использовать скилл ITEM ID кинуть таргет на робу(которая одета) про итемить ее.

> после завершение итема кинуть атаку на война
> Воин должен убить мага и воскресить.
> потом он все сначало, meditation потом item id на робу

вот пытался переделать из скрипт Анатомии но не получилось( помогите плиз

Code: Select all

Program mid;

{$Include 'all.inc'}

Begin
SetARStatus(true);
Hungry(1,ground);
clearjournal;
while not Dead do
begin
if Connected then
begin
for t := 0 to 10 do
begin
CheckSave;
UseSkill('Meditation');
Wait(15000);

-----------После как про Медитировал ---------------
UseSkill('Item Identification');
WaitForTarget(500);
 ---------------И кинул таргет на робу ту что на нем. ---------------

end;
Hungry(1,ground);
end;
end;
End.

Posted: 03.09.2009 10:02
by Vizit0r
ну положим это не называется переделал.
1) читать уроки
2) читать команды стелса.
такой вот я зануда.
с ответами на конкретные вопросы - помогу, а писать скрипт с нуля - не буду, хоть тут и просто все.

Posted: 03.09.2009 14:53
by Voland
для токого скрипта лучше использовать процедуру для каждого дейтсвия , например 1) медитация с проверками 2) кидаем итем на робу и т.д . Еще атаку кидать ни на воина лучше, а на себя тоесь сделать харакири куда проще .

Posted: 03.09.2009 15:45
by pannir
Как зделать так чтоб таргет(item id) кинул на робу ту что одета на чаре. айди робы постояно будет менятца

Posted: 03.09.2009 16:34
by Vizit0r
function RobeLayer: Byte; // 0x16 - Роба - Torso (outer) (robe)
function ObjAtLayer(LayerType: Byte): Cardinal; // Возвращает ID обьекта object находящегося на указаном слое LayerType

в данном случае
WaitTargetObject(ObjAtLayer(RobeLayer));

Posted: 03.09.2009 16:38
by Vizit0r
Voland wrote:Еще атаку кидать ни на воина лучше, а на себя тоесь сделать харакири куда проще .
на многих шардах Attack(self) не только прикрыты, а еще и категорически запрещены как баг.

Posted: 05.09.2009 13:32
by pannir
чтото я понять не могу не чего((

можете дать конкретный код чтоб после медитации кинул ИТЕМ на робу что одета?

Posted: 05.09.2009 13:44
by Voland
Program ItemMeditating ;

{$Include 'all.inc'}



Procedure Item;

begin
CheckSave;
If Dead then Exit;
UseSkill('Item Identification');
WaitTargetObject(ObjAtLayer(RobeLayer));
wait(2500);
end;


Procedure Meditation;
begin
Checksave;
If Dead then Exit;
UseSkill('Meditation');
wait(2000);
if LastJournalMessage = 'System: You cant focus your concentration' then begin
repeat
wait(9000);
UseSkill('Meditation');
wait(1000);
until LastJournalMessage = 'Voland: *Meditating*'
end;
end;


Procedure Harakiri;
begin
CheckSave;
if not dead then begin
attack(self);
wait(3000);
end;
end;

Procedure WarMode;
begin
CheckSave;
SetWarMode(true);
repeat
wait(1000);
until not dead
wait(1000);
end;




begin

SetARStatus(true);
while true do begin
Harakiri;
WarMode;
Item;
Meditation;
Hungry(2,ground);

end;

end.





вот сегодня сделал набросок , но чето понять нихера не могу когда после воскрешения маг кидает таргетом на робу на Layer , пишет

[14:34:39] System: Select an object to identify.
[14:34:39] System: What you selected does not seem to exist.

если отключть процедуры смерти и воскрешения то все впоряде и роба итемится без проблем.Хз че делать...

Posted: 06.09.2009 21:31
by MeLFiS
А может лечге будет если он будет скидывать робу в пак а потом итемить ??

Posted: 06.09.2009 21:42
by Vizit0r
и чем же это будет легче?

Posted: 06.09.2009 23:16
by MeLFiS
А как же тогда кидать таргет на робу ??

Posted: 07.09.2009 0:52
by grundick
TargetToObject(ObjAtLayer( RobeLayer ))

всё больше прихожу к выводу, что все эти потуги Визитора по усовершенствованию стелса мало кому нужны :/ Народ даже в хелп не хочет заглянуть, чего уж там говорить о новых возможностях...Большинство поди и не знает...

Posted: 07.09.2009 10:19
by Voland
Пробывал все варианты

TargetToObject(ObjAtLayerEx(RobeLayer,self));
TargetToObject(ObjAtLayer(RobeLayer));
WaitTargetObject(ObjAtLayer(RobeLayer));
WaitTargetObject(ObjAtLayerEx(RobeLayer,self));

Делал UseObject(self); может когда чар сдыхает стелс не видет слой ?
но все равно не помогло все таже ошибка :
[14:34:39] System: Select an object to identify.
[14:34:39] System: What you selected does not seem to exist.

Posted: 07.09.2009 10:24
by grundick
хых )
может и такое быть...
попробуй после смерти открывать папердолл. UseObject(self) ...

Posted: 07.09.2009 20:47
by MeLFiS

Code: Select all

Procedure Item; 

begin 
CheckSave; 
If Dead then Exit;
useobject(self);
undress;
if  FindType($1F03,Backpack) = 0 then exit;  
UseSkill('Item Identification');  
WaitTargetObject(FindType($1F03,Backpack));
wait(2500); 
end;
вроде процедура написанна правильно но чего после таго как его убили и реснули он не хочет снимать робу ??