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)
читай документацию по коммандам и вникай что там написано, за тебя никто не разберется в этом.