Page 1 of 2
Кресты
Posted: 2006-02-21 23:55:33
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
Posted: 2006-02-22 00:05:03
by Grin
какой знакомый скрипт;)
что значит подноги? он и так подноги качстует... что говорит то?
Posted: 2006-02-22 00:08:15
by Mr. Gluk
Пишет Select Target , забирает ману (не физлит) , но ничего не происходит
Posted: 2006-02-22 00:11:46
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()))
Posted: 2006-02-22 00:38:09
by Mr. Gluk
Test работает , но ставит на себя стенку, и скрипт тоже заработал - но тоже ставит на себя
Posted: 2006-02-22 00:41:00
by Grin
... ты так и не ответил какая утебя версия инжи...
+ ты не ответил получилось ли сто строковысми параметрами...
Posted: 2006-02-22 00:52:02
by Mr. Gluk
312.19[+reconect] Base 0.3.30.4
С этой строкой - ставит стенку хрен знает где , ваще невпопад
Posted: 2006-02-22 01:04:18
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
Posted: 2006-02-22 01:20:44
by Mr. Gluk
Спасибо большое - заработал , только чар не может поставить вторую стенку , потому что мешает перваЯ , Можешь пожалуйста сделать чтобы по скрипту - чар ставил одну(не две) стенку и не прям под ноги , а на одну клетку правее от атакуемого
Posted: 2006-02-22 01:25:55
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
Posted: 2006-02-22 01:57:54
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
Posted: 2006-02-22 02:20:53
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 сброс
Posted: 2006-02-22 02:28:56
by Mr. Gluk
Ща проверим
Posted: 2006-02-22 02:52:05
by Mr. Gluk
А можно еще поставить защиту от физла ? Так чтобы после физла при нажатии клавиши запускался тот же подскрипт , а не следующий
Posted: 2006-02-23 00:38:13
by Mr. Gluk
Пожалуйста помогите уже довести скрипт до ума
Posted: 2006-02-23 00:53:12
by Grin
как физл проевляется?
Просто журналом или еще как?
вопрос к знающим по прошивке
Posted: 2006-02-23 01:03:44
by LordTom
Феномен дежавю до сих пор необъясним Здесь я уже был! Вот здесь сидел и видел все, что вокруг меня. Все это было Но как и когда? Практически у каждого человека рано или поздно
Posted: 2006-02-23 01:33:22
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')
Posted: 2006-02-23 02:08:20
by Mr. Gluk
Вернее не переходил на точку 1 , а просто выходил из скрипта ведь setglobal сохранится текущий как я понял и при запуске скрипта он начнется с последнего подскрипта
Posted: 2006-02-23 12:54:29
by Grin
Глюк я тебя спрашивал "Как это сделать?"? Я помойму точно спросил, как увас на шарде физл спела проявляется...