Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Обкастер.

Only working scripts
Ingerno
Posts: 4
Joined: 07.10.2014 10:21

Re: Обкастер.

Post by Ingerno »

Он прерывает действия каста (
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Обкастер.

Post by drabadan »

Ingerno wrote:Он прерывает действия каста (
кастует следующее сразу?
скрипт, мб вот так?

Code: Select all

Program Obcast;

var 
  i: Integer; 
  Casting: Boolean; 
  Friends: array of Cardinal;
  Spells : Array of String;  

function Meditation : Boolean;
begin
 SetWarMode(False);
 if Mana < MaxMana then
  begin
   UseSkill('Meditation');
   while Mana < MaxMana do
   wait(1000);
   Result := True;
  end
 else
  Result := False;
end;

procedure DoCast(Character: Cardinal); 
begin 
  //пример каста заклинаний на игрока.
  UOSay('.camp 4');
  SetWarMode(false);
  Wait (5000);
  if TargetPresent then CancelTarget; 
  for i := 0 to Length(Spells)-1 do
   begin  
     Cast(Spells[i]);  
     WaitForTarget(5000); 
     TargetToObject(Character);
	 Meditation;
	 if Meditation then Wait(5000);	 
   end;
end; 

procedure OnSpeech(Text, SenderName: String;  SenderID: Cardinal); 
begin 
  if (not Casting) and (Text = 'каст') then begin 
    for i := 0 to Length(Friends) - 1 do begin 
      if i >= Length(Friends) then Break; 
      if SenderID = Friends[i] then begin 
        Casting := True; 
        DoCast(SenderID); 
        Casting := false;
        UseSkill('Meditation');      
        Break; 
      end; 
    end; 
  end; 
end; 

begin
  Spells := ['Cunning', 'Bless', 'Reactive Armor', 'Arch Protection', 'Agility', 'Strength', 'Magic Reflection'];
  Friends := [$0026D3F2]; //1
  SetEventProc(evUnicodeSpeech, 'OnSpeech'); 
  SetEventProc(evSpeech, 'OnSpeech'); 
  while not Dead do 
  begin 
    if not Connected then 
    begin 
      Connect; 
      Wait(5000); 
      Continue; 
    end; 
    Wait(10000); 
  end; 
  SetEventProc(evUnicodeSpeech, ''); 
  SetEventProc(evSpeech, ''); 
end.
Ingerno
Posts: 4
Joined: 07.10.2014 10:21

Re: Обкастер.

Post by Ingerno »

Теперь по 2 заклинания кастует, но так же прерывает
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Обкастер.

Post by drabadan »

Ingerno wrote:Теперь по 2 заклинания кастует, но так же прерывает
вот так пробуй

Code: Select all

Program Obcast;

var 
  i: Integer; 
  Casting: Boolean; 
  Friends: array of Cardinal;
  Spells : Array of String;  

function Meditation : Boolean;
begin
 SetWarMode(False);
 if Mana < MaxMana then
  begin
   UseSkill('Meditation');
   while Mana < MaxMana do
   wait(1000);
   Result := True;
  end
 else
  Result := False;
end;

procedure DoCast(Character: Cardinal); 
var
 k : Integer;
begin 
  //пример каста заклинаний на игрока.
  UOSay('.camp 4');
  SetWarMode(false);
  Wait (5000);
  if TargetPresent then CancelTarget; 
  for k := 0 to Length(Spells)-1 do
   begin  
     Cast(Spells[k]);  
     WaitForTarget(5000); 
     TargetToObject(Character);
	 Meditation;
	 Wait(5000);	 
   end;
end; 

procedure OnSpeech(Text, SenderName: String;  SenderID: Cardinal); 
begin 
  if (not Casting) and (Text = 'каст') then begin 
    for i := 0 to Length(Friends) - 1 do begin 
      if i >= Length(Friends) then Break; 
      if SenderID = Friends[i] then begin 
        Casting := True; 
        DoCast(SenderID); 
        Casting := false;
        UseSkill('Meditation');      
        Break; 
      end; 
    end; 
  end; 
end; 

begin
  Spells := ['Cunning', 'Bless', 'Reactive Armor', 'Arch Protection', 'Agility', 'Strength', 'Magic Reflection'];
  Friends := [$0026D3F2]; //1
  SetEventProc(evUnicodeSpeech, 'OnSpeech'); 
  SetEventProc(evSpeech, 'OnSpeech'); 
  while not Dead do 
  begin 
    if not Connected then 
    begin 
      Connect; 
      Wait(5000); 
      Continue; 
    end; 
    Wait(10000); 
  end; 
  SetEventProc(evUnicodeSpeech, ''); 
  SetEventProc(evSpeech, ''); 
end.
Last edited by drabadan on 14.10.2014 10:11, edited 1 time in total.
Ingerno
Posts: 4
Joined: 07.10.2014 10:21

Re: Обкастер.

Post by Ingerno »

Так же как в первый раз но не суть, можно как то сделать такой же скрипт как этот
Скрипт
Program Obcast;

var
i: Integer;
Casting: Boolean;
Friends: array of Cardinal;

procedure DoCast(Character: Cardinal);
begin
//пример каста заклинаний на игрока.
UOSay('.camp 4');
SetWarMode(false);
Wait (5000);
if TargetPresent then CancelTarget;
Cast('Cunning');
WaitForTarget(5000);
TargetToObject(Character);
Wait(5000);
Cast('Bless');
WaitForTarget(5000);
TargetToObject(Character);
Wait(5000);
Cast('Agility');
WaitForTarget(5000);
TargetToObject(Character);
Wait(5000);
Cast('Strength');
WaitForTarget(5000);
TargetToObject(Character);
Wait(5000);
Cast('Reactive Armor');
WaitForTarget(5000);
TargetToObject(Character);
Wait(5000);
Cast('Arch Protection');
WaitForTarget(5000);
TargetToObject(Character);
Wait(5000);
Cast('Magic Reflection');
WaitForTarget(5000);
TargetToObject(Character);
end;

procedure OnSpeech(Text, SenderName: String; SenderID: Cardinal);
begin
if (not Casting) and (Text = 'каст') then begin
for i := 0 to Length(Friends) - 1 do begin
if i >= Length(Friends) then Break;
if SenderID = Friends then begin
Casting := True;
DoCast(SenderID);
Casting := false;
UseSkill('Meditation');
Break;
end;
end;
end;
end;

begin
Friends := [$0026D3F2]; //1
SetEventProc(evUnicodeSpeech, 'OnSpeech');
SetEventProc(evSpeech, 'OnSpeech');
while not Dead do
begin
if not Connected then
begin
Connect;
Wait(5000);
Continue;
end;
Wait(10000);
end;
SetEventProc(evUnicodeSpeech, '');
SetEventProc(evSpeech, '');
end.

только что бы по команде себя, на себя кидал блесс и кюнинг и соединить с первым скриптом ?
Post Reply