Кресты

Anything and all.

Moderators: Murderator+, Murderator

Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Кресты

Post by Mr. Gluk »

Есть скрипт , но в нем как я понял стенка кастуется на ластстатус , а мне надо чтобы кастовалась именно под ноги иначе ничего не получится, шард ДрВ

Code: Select all

sub delta(n1, n2) 
var t=0
   t=n1-n2
   if t < 0 then
      return -t
   end if
   return t
end sub
sub isMax(n1, n2)
   if n2 > n1 then
      return 1
   end if
   return 0
end sub
sub Krest()
var f=0
   f=isMax(delta(uo.GetX(), uo.GetX('laststatus')),delta(uo.GetY(), uo.GetY('laststatus')))
StoneField()
   while f == isMax(delta(uo.GetX(), uo.GetX('laststatus')),delta(uo.GetY(), uo.GetY('laststatus')))
      wait(100)
   wend
StoneField()
end sub
Sub StoneField()
   if uo.waiting() then
      uo.canceltarget()
   end if
   uo.waittargettile(0,uo.getX('laststatus'),uo.getY('laststatus'),uo.getZ('laststatus'))
   uo.cast('Wall of Stone')
end sub
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

какой знакомый скрипт;)
что значит подноги? он и так подноги качстует... что говорит то?
Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Post by Mr. Gluk »

Пишет Select Target , забирает ману (не физлит) , но ничего не происходит
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Code: Select all

Sub Test() 
   if uo.waiting() then
      uo.canceltarget()
   end if
   uo.waittargettile(0,uo.getX()+10,uo.getY(),uo.getZ())
   uo.cast('Wall of Stone')
end sub

Затести скастит стенку?
Какая версия инжи?
Поробуй параметры сделать строковыми

Code: Select all

uo.waittargettile('0',str(uo.getX()+10),str(uo.getY()),str(uo.getZ())) 
Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Post by Mr. Gluk »

Test работает , но ставит на себя стенку, и скрипт тоже заработал - но тоже ставит на себя
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

... ты так и не ответил какая утебя версия инжи...
+ ты не ответил получилось ли сто строковысми параметрами...
Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Post by Mr. Gluk »

312.19[+reconect] Base 0.3.30.4

С этой строкой - ставит стенку хрен знает где , ваще невпопад
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

потому что это был тест!

Code: Select all

sub delta(n1, n2) 
var t=0
   t=n1-n2
   if t < 0 then
      return -t
   end if
   return t
end sub
sub isMax(n1, n2)
   if n2 > n1 then
      return 1
   end if
   return 0
end sub
sub Krest()
var f=0
   f=isMax(delta(uo.GetX(), uo.GetX('laststatus')),delta(uo.GetY(), uo.GetY('laststatus')))
StoneField()
   while f == isMax(delta(uo.GetX(), uo.GetX('laststatus')),delta(uo.GetY(), uo.GetY('laststatus')))
      wait(100)
   wend
StoneField()
end sub
Sub StoneField()
   if uo.waiting() then
      uo.canceltarget()
   end if
   uo.waittargettile('0',str(uo.getX('laststatus')),str(uo.getY('laststatus')),str(uo.getZ('laststatus')))
   uo.cast('Wall of Stone')
end sub
Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Post by Mr. Gluk »

Спасибо большое - заработал , только чар не может поставить вторую стенку , потому что мешает перваЯ , Можешь пожалуйста сделать чтобы по скрипту - чар ставил одну(не две) стенку и не прям под ноги , а на одну клетку правее от атакуемого
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Code: Select all

Sub StoneField() 
   if uo.waiting() then
      uo.canceltarget()
   end if
   uo.waittargettile('0',str(uo.getX('laststatus')+1),str(uo.getY('laststatus')+1),str(uo.getZ('laststatus')))
   uo.cast('Wall of Stone')
end sub
Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Post by Mr. Gluk »

У меня последняя просьба , можно сделать так чтобы по нажатию одной и той же клавиши (например F8) выполнялись три скрипта
Жмем F8 - Выполняется

Code: Select all

Sub StoneField() 
   if uo.waiting() then
      uo.canceltarget()
   end if
   uo.waittargettile('0',str(uo.getX('laststatus')),str(uo.getY('laststatus')),str(uo.getZ('laststatus')))
   uo.cast('Wall of Stone')
end sub

Потом опять жмем F8 - выполняется

Code: Select all

Sub StoneField1() 
   if uo.waiting() then
      uo.canceltarget()
   end if
   uo.waittargettile('0',str(uo.getX('laststatus')),str(uo.getY('laststatus')+1),str(uo.getZ('laststatus')))
   uo.cast('Wall of Stone')
end sub

И наконец опять жмем F8 - выполняется

Code: Select all

Sub StoneField2() 
   if uo.waiting() then
      uo.canceltarget()
   end if
   UO.Say("Гори, гори ясно - чтобы не погасло!")
   uo.waittargettile('0',str(uo.getX('laststatus')),str(uo.getY('laststatus')+1),str(uo.getZ('laststatus')))
   uo.cast('Fire Field')
end sub
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Code: Select all

Sub InitCross()
   uo.SetGlobal('cross', '0')
end sub
   
Sub Cross()
   if uo.waiting() then
      uo.canceltarget()
   end if
   if uo.GetGlobal('cross') == '0' then
      uo.SetGlobal('cross', '1')
      uo.waittargettile('0',str(uo.getX('laststatus')),str(uo.getY('laststatus')),str(uo.getZ('laststatus')))
      uo.cast('Wall of Stone')
   else
       if uo.GetGlobal('cross') == '1' then
          uo.SetGlobal('cross', '2')
      uo.waittargettile('0',str(uo.getX('laststatus')),str(uo.getY('laststatus')+1),str(uo.getZ('laststatus')))
         uo.cast('Wall of Stone')
      else
         if uo.GetGlobal('cross') == '2' then
            uo.SetGlobal('cross', '0')
            UO.Say("Ai?e, ai?e ynii - ?oiau ia iiaanei!")
            uo.waittargettile('0',str(uo.getX('laststatus')),str(uo.getY('laststatus')+1),str(uo.getZ('laststatus')))
            uo.cast('Fire Field')
         end if
      end if
   end if
end sub

поскольку переменая глобальная, то возможна ситуация что ты не доведешь крест до коца тогда тебе надо будет сообщить это макросу что крест не удался и он обнулит переменную.

тобишь биндишь 2 скрипта Cross это сам крест 3 действия на 1 кнопке
InitCross сброс
Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Post by Mr. Gluk »

Ща проверим
Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Post by Mr. Gluk »

А можно еще поставить защиту от физла ? Так чтобы после физла при нажатии клавиши запускался тот же подскрипт , а не следующий
Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Post by Mr. Gluk »

Пожалуйста помогите уже довести скрипт до ума
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

как физл проевляется?
Просто журналом или еще как?
LordTom
Posts: 256
Joined: 2006-02-03 11:32:16
Location: ND
Contact:

вопрос к знающим по прошивке

Post by LordTom »

Феномен дежавю до сих пор необъясним Здесь я уже был! Вот здесь сидел и видел все, что вокруг меня. Все это было Но как и когда? Практически у каждого человека рано или поздно
Last edited by LordTom on 2009-12-23 11:49:58, edited 2 times in total.
Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Post by Mr. Gluk »

Просто надо чтоб при физле каста, скрипт возращался на тот подскрипт с которого профизлило , например

Code: Select all

(1) uo.waittargettile('0',str(uo.getX('laststatus')),str(uo.getY('laststatus')),str(uo.getZ('laststatus'))) 
      uo.cast('Wall of Stone')
Допустим тут сфизлил каст , тогда он возвращается в точку 1
   else
       if uo.GetGlobal('cross') == '1' then
          uo.SetGlobal('cross', '2')
Mr. Gluk
Posts: 42
Joined: 2006-02-04 04:39:51
Contact:

Post by Mr. Gluk »

Вернее не переходил на точку 1 , а просто выходил из скрипта ведь setglobal сохранится текущий как я понял и при запуске скрипта он начнется с последнего подскрипта
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Глюк я тебя спрашивал "Как это сделать?"? Я помойму точно спросил, как увас на шарде физл спела проявляется...
Post Reply