2 таргета
Posted: 06.07.2009 13:47
как написать скрипт сразу на 2 таргита ??
Code: Select all
rogram Arms;
var t : Integer;
{$Include 'all.inc'}
Begin
SetARStatus(true);
clearjournal;
while not Dead do
begin
if Connected then
begin
for t := 0 to 10 do
begin
if TargetPresent then CancelTarget;
CheckTargetError(5,2);
CheckSave;
UseObject($74B34358);
WaitTargetObject($00248A90);
wait(1000)
WaitTargetObject($00248A90); // ID вещи
end;
end;
end;
End.
Code: Select all
Program Prov;
var
t:byte;
Skilltimer:TdateTime;
Const
Animal = $019927E6; //животное для макроса
{$Include 'all.inc'}
procedure CheckDead;
var SayTimer : Cardinal;
begin
SayTimer := 0;
CheckSave;
if Dead then
begin
SetWarMode(true);
WaitGump('1');
wait(2000);
while (Dead) do
begin
//uosay('.forgivethee')
WaitGump('1');
if Timer > (SayTimer + (5 * 60 * 1000)) then
begin
UOSay('.c I''m was killed');
SayTimer := Timer;
SetWarMode(true);
end;
Wait (1000);
end;
WaitConnection(3000);
CheckSave;
WaitConnection(3000);
CheckSave;
Hungry(1,ground);
end
end;
procedure CHeckMusic;
Var music: Array of Word;
ggg: integer;
begin
music:=[$0EB4,$0EB3,$0EB2,$0EB1,$0E9C,$0E9D];
WaitConnection(3000);
checksave;
checkDead;
for ggg:= 0 to getArrayLength(music)-1 do
begin
WaitConnection(5000);
checksave;
checkDead;
if Count(music[ggg])<>0 then Exit;
end;
for ggg:= 0 to getArrayLength(music)-1 do
begin
WaitConnection(5000);
checksave;
checkDead;
if CountGround(music[ggg])<>0 then begin Grab(findtype(music[ggg],ground),1);AddToSystemJournal('Осталось '+IntToStr(CountGround(music[ggg]))); exit; end;
end;
end;
Begin
FindDistance:=30;
SetARStatus(true);
Hungry(1,ground);
while true do
begin
for t:= 0 to 30 do
begin
if targetpresent then canceltarget;
Checktargeterror(10,3);
CheckSave;
checkDead;
CHeckMusic;
{ UseSkill('Provocation');
wait(1500); }
if targetpresent then CancelTarget;
WaitConnection(3000);
if Skilltimer<> 0 then while ((Skilltimer+(0.05/1440))> Now) do Wait(100);
//repeat
Waitconnection(5000);
Checksave;
Checkdead;
Skilltimer:=Now;
WaitTargetObject(Animal);
UseSkill('Provocation');
//until
WaitJournalLine(Skilltimer, 'onto|play|You enrage|I am already',10000); //serching in journal
WaitForTarget(4050);
if TargetPresent then TargetToObject(self);
wait(2000);
end;
Hungry(1,ground);
end;
End.
Не знаю зачем там фор просто умею пока токо такие скрипты писать )) уродуя другие так что поможете с 2 таргетами ??alpi wrote:попробуй поставить задержку несколько секунд после последнего таргета.
и зачем там цикл for интересно?
Code: Select all
WaitTargetObject(Animal);
UseSkill('Provocation');
//until
WaitJournalLine(Skilltimer, 'onto|play|You enrage|I am already',10000); //serching in journal
WaitForTarget(4050);
if TargetPresent then TargetToObject(self);
я ж говорю, попробуй задержку поставить.MeLFiS wrote:Не знаю зачем там фор просто умею пока токо такие скрипты писать )) уродуя другие так что поможете с 2 таргетами ??alpi wrote:попробуй поставить задержку несколько секунд после последнего таргета.
и зачем там цикл for интересно?
Code: Select all
UseObject($74B34358);
WaitTargetObject($00248A90);
wait(1000)
WaitTargetObject($00248A90); // ID вещи
Code: Select all
UseObject(FindType(ObjectID),backpack);
WaitTargetObject(FindType(Target1_ID,target_place));
wait(100);
WaitTargetObject(FindType(Target2_ID,target_place)); // ID вещи
wait(1000)
кушать ? таким образом? хех)потому что некоторые извращенцы проверяют таким образом сытость - поставить таймер - это уметь надо, а так выполнил цикл 30 раз, проверил сытость и прочее.
ты команды явно читал, а готовые скрипты малоalpi wrote:а как-то так.Code: Select all
UseObject(FindType(ObjectID),backpack); WaitTargetObject(FindType(Target1_ID,target_place)); wait(100); WaitTargetObject(FindType(Target2_ID,target_place)); // ID вещи wait(1000)
читай документацию по коммандам и вникай что там написано, за тебя никто не разберется в этом.