Page 1 of 1

Скрипт на ресс

Posted: 2008-05-24 20:47:17
by TheGamer
Всем здрасте !Хотел бы попросить помоч со скриптом на ресс.Поиск юзал нашел подходящий вот этот

Code: Select all

sub resurct() 
var tBandage = '0x0E21' 
   if UO.Count(tBandage) < 20 then 
   UO.Print("HE4EM PECATb") 
         return 
   end if 
VAR i,k,CharX,CharY,MyX,MyY,Char 
DIM Player[8] 

Player[0]='0x0011325C' ;SVOLOCH(P) 
Player[1]='0x0005A98F' ;KadP(P) 
Player[2]='0x0010023D' ;BEPMYT(p) 
Player[3]='0x000FF1CB' ;MaTpOc(p) 
Player[4]='0x000F5BAF' ;Kulibin(p) 
Player[5]='0x001FF6A2' ;Hipirion (A) 
Player[6]='0x000B0F2A' ;GooD(p) 
Player[7]='0x001681C0' ;Marinka(p) 
#Player[8]='0x0009F5A8' ; 
#Player[9]='0x0005AC39' ;?ey (Aiaaeun) 
#Player[10]='0x00040AAC' ;Nea (Aiaaeun) 
#Player[11]='0x001F79B8' ; 
#Player[12]='0x0004F642' ; 
#Player[13]='0x000C91FF' ; 

   UO.FindType('0x0192',-1,'ground') 
   Char=0 
   If UO.FindCount()>0 Then 
      For k=1 to UO.FindCount() 
         UO.FindType('0x0192',-1,'ground') 
         For i=0 to 7 
            MyX=UO.GetX() 
            MyY=UO.GetY() 
            CharX=UO.GetX(Player[i]) 
            CharY=UO.GetY(Player[i]) 
            If Player[i]==UO.GetSerial('finditem')AND Uo.GetDistance("finditem")<=1 Then 
               Char=Player[i] 
            Else 
               UO.Ignore('finditem','on') 
            EndIf 
         Next 
      Next 
   EndIf 
   If Char<>0 Then 
      UO.SetArm('CWeapon') 
      UO.WaitTargetObject(Char) 
      UO.UseType('0x0E21') 
      UO.Print("?anno?aeo!!!") 
      wait(500) 
         UO.Exec("bandageself") 
      wait(500) 
      UO.Arm('CWeapon') 
   Else 
      UO.Print("A?iaa ana ?eau!!!") 
   EndIf 
   UO.IgnoreReset() 
end sub
Автора не помню, сори.Как я понял он должен ресать тех кто забит в скрипте дак вот я забил двоих жму рес, первого реснул а второго не хочет. Может кто подскажет в чем дело?

Posted: 2008-05-24 21:58:14
by Destruction
Наваял тут в окне ответа, может больше подойдет ?

Code: Select all

sub ressurector()
	var BandageT = "0x0E21"
	var CharT = "0x0192"
	var i, char_count = 5 ; количество персонажей в списке
	DIM char[ val( str( char_count ) ) ]
	; список персонажей которых ресать
	char[0] = "0x0000000"
	char[1] = "0x0000000"
	char[2] = "0x0000000"
	char[3] = "0x0000000"
	char[4] = "0x0000000"
	repeat
		if uo.count( BandageT ) < 20 then
			uo.print( "Бинтиков нема..." )
			return false
		endif
		uo.findtype( CharT, "-1", "ground" )
		if uo.findcount() then
			for i = 0 to char_count -1
				if uo.getSerial( "finditem" ) == char[i] && uo.getDistance( char[i] ) < 2 then
					doRess( char[i], BandageT )
					i = char_count -1
				endif
			next
			uo.ignore( "finditem" )
		else
			uo.ignorereset()
		endif
		wait( 100 )
	until false
endsub

sub doRess( id, BandageT )
	uo.setArm( 'CWeapon' )
	uo.waittargetobject( id )
	uo.usetype( BandageT )
	wait( 500 )
	uo.Arm( 'CWeapon' )
endsub
PS: Логика приведённого вами скрипта для меня просматривается весьма отстраненно.

Posted: 2008-05-25 16:05:47
by TheGamer
Большое спасибо за помощь ! Все гуд токо чот иногда кон лостит ( Ну это может че от шарда зависит или от задержек (