Page 1 of 1

Требуется помощ.

Posted: 2007-07-27 16:05:54
by plesenb
Помогите решить проблемку.Требуется чать скрипта ,чтоб при касте телепорта прицел кидался на землю всегда впереди чара на 10 тайлов.и чтоб координаты брались не на момент начала каста заклинания,а в конце.Буду очень благодарен!

Posted: 2007-07-28 00:57:18
by Grin
Надо решить вопрос.
а. Скастовать телепорт и тыкнуть куда нить
б. прописать ,info lasttargetskey
в. Посмотреть ID, записать...

Еще раз повторить а - в
Сравнить полученые ID, желательно отпостить сюда...

Дальше... то что будет предложено может пропалится, хоя ничего крименального не вижу...

Code: Select all

sub TeleportForward(n) #n количество тайлов в перед
   var Dir
   var nx
   var ny
   var key = uo.Hex2Int(uo.GetSerial('lasttargetskey'))+1
   uo.cast('Teleport')
   while not uo.Targeting()
      wait(100)
   wend
   Dir = uo.GetDir()
   nx = uo.GetX()+n*int(1.42*sin(3.14/4*Dir))
   ny = uo.GetY()+n*int(-1.42*cos(3.14/4*Dir))
   uo.target(key, 'gorund', 1, 0, nx, ny, uo.GetZ())
   uo.say(chr(27))
end sub
sub test() #Проверка
   TeleportForward(10)# телпепорт в перед на 10 тайлов.
end sub


То что выше, было на писано под РанУО, унего своя специфика работы с LasttargetSKey... Не рекомендую проверять на других муляторах (ну если сервер не ваш;), но и крима тут нет;))...

А в остальном... пиши свои ID и посмотрим...

PS Забыл чего хотел автор;) (Расчет после каста)

Posted: 2007-07-28 06:02:43
by plesenb
ID всегда 0x00000008.Да ,расчет после каста.Скрипт не работает,кастуется заклинание,но прицел непонятно куда уходит.

Posted: 2007-07-28 14:43:42
by Grin
Я же сказал не юзать его;) все бан тебе;)

Code: Select all

sub TeleportForward(n) #n количество тайлов в перед 
   var Dir
   var nx
   var ny
   #var key = uo.Hex2Int(uo.GetSerial('lasttargetskey'))+1
   var key = 8
   uo.cast('Teleport')
   while not uo.Targeting()
      wait(100)
   wend
   Dir = uo.GetDir()
   nx = uo.GetX()+n*int(1.42*sin(3.14/4*Dir))
   ny = uo.GetY()+n*int(-1.42*cos(3.14/4*Dir))
   uo.target(key, 'gorund', 1, 0, nx, ny, uo.GetZ())
   uo.say(chr(27))
end sub
sub test() #Проверка
   TeleportForward(10)# телпепорт в перед на 10 тайлов.
end sub

Posted: 2007-07-28 15:05:24
by Rivory
Grin wrote:

Code: Select all

  uo.target(key, 'gorund', 1, 0, nx, ny, uo.GetZ())
Опечатка тут

Posted: 2007-07-28 15:29:28
by Grin
И какая же? :roll:

Posted: 2007-07-29 10:00:53
by plesenb
Спасибо!Скрипт работает,но при его использовании появляются лаги(сильные),именно когда скрипт в действии.Правда я добавил элемент приостановки чара uo.moveoff() и uo.moveon().Чтоб убрать срыв заклинания при движении.А есть альтернатива этим командам?

Posted: 2007-07-29 14:13:03
by Grin
Лаги? :shock:
ну попробуй тут
while not uo.Targeting()
wait(100)
wend
поиграйся с задержкой.

да и потом смысл расчитывать в конц если вовремя каста двигатся нельзя... тогда и вейтайлом р\обойтись можно было...

Posted: 2007-07-29 20:02:10
by plesenb
Гамаю на шаде где вовремя каста можно двигаться.С задержками потестирую