Page 1 of 2

Animal Taming for DW

Posted: 01.05.2005 18:55
by ParadoX

Code: Select all

program taming; 
var 
Char : Array[1..2] of string; 
Zver : Array[1..2] of Cardinal; 


{$Include 'all.inc'}


procedure First(); 

var 
b : TDateTime; 
tmp,i : integer; 
lol : String;

Begin 
lol:=Char[2]+': all release';

while True do 
begin 
CheckTargetError(2,2); 
Hungry(1,ground);

i:=0; 
   while i < 5 do 
      begin 
        for tmp:=1 to 2 do 
      begin 
      WaitTargetObject(zver[tmp]); 
         UseSkill('Animal Taming'); 
   B:=Now+0.0001157407407; 
         WaitJournalLine(B, 'You successfully tame|You failed', 30000); 
         WaitJournalLine(B, lol, 15000); 
      UOsay('all release'); 
      UOsay(IntToStr(tmp)); 
         i := i + 1; 
      end; 
      end; 
End; 
End; 






procedure Second(); 
var 


i,tmp : integer; 
f     : TDateTime; 


begin 
f:=Now; 
while true do 
begin 

CheckTargetError(2,2);
Hungry(1,ground); 

i:=0; 
   while i < 10 do 
      begin 
      WaitJournalLine(f,Char[1]+': 1'+'|'+Char[1]+': 2',0); 
         if InJournalBetweenTimes(Char[1]+': 1',f,Now) >= 0 then tmp := 1; 
          if InJournalBetweenTimes(Char[1]+': 2',f,Now) >= 0 then tmp := 2; 

      f:=Now; 
      WaitTargetObject(Zver[tmp]); 
         UseSkill('Animal Taming'); 

      WaitJournalLine(Now,'You successfully tame|You fail', 45000); 
        
      UOsay('all release'); 
         i := i + 1; 
      end; 
End; 
End; 





begin 
SetARStatus(true); 
FindVertical:=40; 

Char[1]:='Brizar';  {Set Name of First Char}
Char[2]:='Gurza';  {Set Name of Second Char}
Zver[1]:=$0113EF77; {ID First Animal}
Zver[2]:=$0113EF76; {ID Second анимал}

Case CharName Of 
   Char[1] : First(); 
   Char[2] : Second(); 
else AddToSystemJournal('Error'); 
End; 
End.

пофиксил скока мог... добавил коменты... нюбам понравица.. фиксить остальные мелочи оч. ломает...

Re: Animal Taming for DW

Posted: 27.05.2005 19:01
by ParadoX
по прозьбам трудящихся на 4 твари

Code: Select all

program taming; 
var 
Char : Array[1..2] of string; 
Zver : Array[1..4] of Cardinal; 

{$Include 'all.inc'}

procedure First(); 
var 
b : TDateTime; 
tmp,i : integer; 
lol : String;

Begin 
lol:=Char[2]+': all release';

while True do 
begin 
CheckTargetError(2,2);
Hungry(1,ground);

i:=0; 
   while i < 5 do 
      begin 
        for tmp:=1 to 4 do 
      begin 
      WaitTargetObject(zver[tmp]); 
         UseSkill('Animal Taming'); 
   B:=Now+0.0001157407407; 
         WaitJournalLine(B, 'You successfully tame|You failed', 30000); 
         WaitJournalLine(B, lol, 15000); 
      UOsay('all release'); 
      UOsay(IntToStr(tmp)); 
         i := i + 1; 
      end; 
      end; 
End; 
End; 






procedure Second(); 
var 
i,tmp : integer; 
f     : TDateTime; 


begin 
f:=Now; 
while true do 
begin 

CheckTargetError(2,2);
Hungry(1,ground); 

i:=0; 
   while i < 5 do 
      begin 
      WaitJournalLine(f,Char[1]+': 1'+'|'+Char[1]+': 2'+'|'+Char[1]+': 3'+'|'+Char[1]+': 4',0); 
         if InJournalBetweenTimes(Char[1]+': 1',f,Now) >= 0 then tmp := 1; 
         if InJournalBetweenTimes(Char[1]+': 2',f,Now) >= 0 then tmp := 2; 
	 if InJournalBetweenTimes(Char[1]+': 3',f,Now) >= 0 then tmp := 3; 
      	 if InJournalBetweenTimes(Char[1]+': 4',f,Now) >= 0 then tmp := 4; 

      f:=Now; 
      WaitTargetObject(Zver[tmp]); 
         UseSkill('Animal Taming'); 

      WaitJournalLine(Now,'You successfully tame|You fail', 45000); 
        
      UOsay('all release'); 
         i := i + 1; 
      end; 
End; 
End; 





begin 
SetARStatus(true); 
FindVertical:=30; 

Char[1]:='Barsuello'; 
Char[2]:='Generous'; 
Zver[1]:=$0118C75D; 
Zver[2]:=$01190028; 
Zver[1]:=$0118C75D; 
Zver[2]:=$01190028; 

Case CharName Of 
   Char[1] : First(); 
   Char[2] : Second(); 
else AddToSystemJournal('Error'); 
End; 
End.

Posted: 19.10.2005 21:18
by Tvister
Вот возникла проблема с выше выложеным скрптом на 4 твари.
Скрипт нехчоет рабоать.... все инклуди которые были на фоурме все скачал всё сделал, айди прописал и всёравно не работает.При этом в Систем непишетса причина ошибки.Прошу кто занет помогиет плиз :)

Posted: 20.10.2005 7:47
by Miralex
Скрипт был написан на старых инклюдах.

Все

Code: Select all

Hungry(1);
поменяй на

Code: Select all

Hungry(1,-1);

Posted: 23.10.2005 9:59
by Mightic
Не работает он... Ошибка и все.

Posted: 23.10.2005 10:09
by Mightic
11:06:11: Compiling
11:06:11: Compiled succesfully
11:06:11: Error
11:06:12: Succesfully executed
11:06:12: Script taming.sc stoped successfuly

Posted: 23.10.2005 18:55
by ParadoX
сколько же лет продет прежде чем люди поймут весь замысел скрипта....
теперь ПОДУМАЙ 2 чара с разными никами, один скрипт! как один чар определит что он затамил зверя и второй чар затамил зверя??? ПО ЖУРНАЛУ...

тогда почему вы "забиваете" на две переменные с никами чаров?

Posted: 23.10.2005 18:59
by ParadoX
ВОТ

Code: Select all

Case CharName Of 
   Char[1] : First(); 
   Char[2] : Second(); 
else AddToSystemJournal('Error');

Posted: 24.10.2005 7:04
by Mightic
А кто сказал, что я не прописал айдишники чаров?
ЗЫ. Ненадо из меня нюба делать :)

Posted: 24.10.2005 7:30
by Miralex
Айдишники как раз не чаров, а зверей надо прописывать. И не забыть имена чаров вписать там же.

Posted: 26.10.2005 10:53
by Mightic
Char[1]:='Brizar'; {ID First Char}
Char[2]:='Gurza'; {ID Second Char}
а это зачем тогда писать было? Сейчас попробую..

Posted: 26.10.2005 11:20
by Miralex
Это ув. Paradox опечатался... Уже исправил.

Posted: 26.10.2005 11:43
by Mightic
Да, скрипт теперь заработал... но странно както. Ждет много, иногда тамит не синхронно и т.д. Нужно бы конечно поизучать основы языка, да не досуг, жаль.

Posted: 26.10.2005 12:44
by Alex
Вот еще один скрипт, точнее 2 скрипта, тут нада в первом указать ИМЯ чара из другого скрипта, и ID животных, а во втором нада просто нада указать ID животных, только поменять местами с теми что в первом

Code: Select all

program taming;
var
b : TDateTime;
f : TDateTime;

zver : array [1..2] of cardinal;
message : array [1..2] of String;
tmp : integer;
i : integer;
tim : integer;
c:integer;


{$Include 'all.inc'}


begin
f:=Now;
zver[1]:=$01294C10;
zver[2]:=$0129695C;
message[1]:='Harizon: 1'
message[2]:='Harizon: 2'
SetARStatus(true);
Hungry(1,ground);
while not Dead do
begin
i:=0; 
if not connected then clearjournal;
	while i < 10 do 
   	begin 

	tim:=0;
   		repeat
		wait(500);
		tim := tim + 1;
		until (InJournalBetweenTimes(message[2],f,Now)>0) or (InJournalBetweenTimes(message[1],f,Now)>0) or (tim > 50);

   		for c := 1 to 2 do 
   			if InJournalBetweenTimes(message[c],f,Now) >= 0 then 
  				begin 
  				tmp := c; 
  				c:=2; 
		end; 

		f:=Now;
                CheckTargetError(2,2);
                CheckSave;
   		UseSkill('Animal Taming');
   		WaitForTarget(5000); 
		b:=Now;
   		if TargetPresent then TargetToObject(zver[tmp]); 
			
		tim:=0;
   			repeat
			wait(500);
			tim := tim + 1;
			until (InJournalBetweenTimes('You successfully tame',b,Now)>0) or (InJournalBetweenTimes('You fail',b,Now)>0) or (tim > 26);
			
		


		UOsay('all release')
		UOsay(IntToStr(tmp))
   		i := i + 1;
   	end; 
CheckSave;
Hungry(1,ground);
End;
End.

Code: Select all

program taming;
var
b : TDateTime;

zver : array [1..2] of cardinal;
tmp : integer;
i : integer;
tim : integer;


{$Include 'all.inc'}


begin
zver[1]:=$01294C10;
zver[2]:=$0129695C;
SetARStatus(true);
Hungry(1,ground);
while not Dead do
begin
if not connected then clearjournal;
i:=0; 
	while i < 10 do 
   	begin 
  		for tmp:=1 to 2 do
		begin
                CheckTargetError(2,2);
		CheckSave;
   		UseSkill('Animal Taming');
   		WaitForTarget(5000); 
			b:=Now;
   			if TargetPresent then TargetToObject(zver[tmp]); 
			
			tim:=0;
   			repeat
			wait(500);
			tim := tim + 1;
			until (InJournalBetweenTimes('You successfully tame|You fail',b,Now)>0) and (InJournalBetweenTimes('Bulway: all release',b,Now)>0) or (tim > 28);
		UOsay('all release')
		UOsay(IntToStr(tmp))
   		i := i + 1;
		end;
   	end; 
CheckSave;
Hungry(1,ground);
End;
End.

Re: Animal Taming for DW

Posted: 12.10.2016 9:40
by reynard
Сначала скрипт отлично работал, вкачал на нём таминг нормально. Потом обновил стелс клиент и скрипт начал выдавать такое:

Code: Select all

08:05:42:942 [John Doe]: Compiling
08:05:42:989 [John Doe]: Compiler: [Error] (ANIMALtaming.sc at 31:13):  Array type required ;
Error line is: "   lol:=Char[2]+': all release'; "
08:05:42:992 [John Doe]: Compiling failed
08:05:42:994 [John Doe]: Script ANIMALtaming.sc stopped successfuly
Что это может быть? Последняя версия клиента не поддерживает таких строк?