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

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
plesenb
Posts: 4
Joined: 2007-07-27 07:54:44

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

Post by plesenb »

Помогите решить проблемку.Требуется чать скрипта ,чтоб при касте телепорта прицел кидался на землю всегда впереди чара на 10 тайлов.и чтоб координаты брались не на момент начала каста заклинания,а в конце.Буду очень благодарен!
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post 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 Забыл чего хотел автор;) (Расчет после каста)
plesenb
Posts: 4
Joined: 2007-07-27 07:54:44

Post by plesenb »

ID всегда 0x00000008.Да ,расчет после каста.Скрипт не работает,кастуется заклинание,но прицел непонятно куда уходит.
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post 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
Rivory
Posts: 205
Joined: 2005-01-06 11:49:28

Post by Rivory »

Grin wrote:

Code: Select all

  uo.target(key, 'gorund', 1, 0, nx, ny, uo.GetZ())
Опечатка тут
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

И какая же? :roll:
plesenb
Posts: 4
Joined: 2007-07-27 07:54:44

Post by plesenb »

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

Post by Grin »

Лаги? :shock:
ну попробуй тут
while not uo.Targeting()
wait(100)
wend
поиграйся с задержкой.

да и потом смысл расчитывать в конц если вовремя каста двигатся нельзя... тогда и вейтайлом р\обойтись можно было...
plesenb
Posts: 4
Joined: 2007-07-27 07:54:44

Post by plesenb »

Гамаю на шаде где вовремя каста можно двигаться.С задержками потестирую
Post Reply