Yoko

All sides of Injection
It is currently 2024-03-28 21:45:32

All times are UTC+02:00




Post new topic  Reply to topic  [ 14 posts ] 
Author Message
PostPosted: 2011-06-21 16:54:14 
Offline

Joined: 2004-10-19 16:25:45
Posts: 95
Всем привет.
Может кто видел готовую функцию, для преобразования координат?
читаю гамп, там текст "100°43'N,166°21'E"
как бы его скриптом преобразовать в "3689 478"


Top
   
PostPosted: 2011-06-21 19:36:16 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
А есть ещё примеры?


Top
   
PostPosted: 2011-06-21 21:53:49 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Возможно поможет.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-06-22 05:15:04 
Offline

Joined: 2007-07-07 13:14:01
Posts: 90
http://uo.stratics.com/uoam/geo.shtml


Top
   
PostPosted: 2011-06-22 07:22:39 
Offline

Joined: 2004-10-19 16:25:45
Posts: 95
Sirocco wrote:
http://uo.stratics.com/uoam/geo.shtml

спасибо, что то интересное...поковыряюсь)
а кто знает точный размер мира в тайлах на АОСе, по карте посмотрел...получилось 5120 на 4095, но боюсь это не точно...


Last edited by volhram on 2011-06-22 12:13:00, edited 1 time in total.

Top
   
PostPosted: 2011-06-22 07:23:24 
Offline

Joined: 2004-10-19 16:25:45
Posts: 95
ZeroDX wrote:
А есть ещё примеры?

74°58'S,86°41'E 2556 2477
158°54'N,174°47'W 3958 3913


Top
   
PostPosted: 2011-06-25 08:38:28 
Offline

Joined: 2004-10-19 16:25:45
Posts: 95
ну вот....написал перевод градусов в мировые координаты, если кому интересно выложу..


Top
   
PostPosted: 2011-06-25 09:22:00 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
volhram wrote:
ну вот....написал перевод градусов в мировые координаты, если кому интересно выложу..

Не нафиг, никому не интересно. Мы тут так просто тусуемся :mrgreen:
Выкладывай конечно.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-06-25 11:52:19 
Offline

Joined: 2004-10-19 16:25:45
Posts: 95
ну мало ли, я вот играю лет 12 в ультиму, только сейчас меня кольнуло, вдруг понадобилось...
в общем в функцию передаётся строка формата "98°42'S,64°32'W"
возвращает строку "xxxx:yyyy"
использую для расшифровки координат в записках из бутылок...
может где то можно и координаты кладов так расшифровать, у нас на сервере не катит...
это если хотите автоматизировать процесс копания кладов)
иногда ошибается на один тайл, причину пока не понял, но для ловли по мессагам и для копки кладов это не существенно...
Code:
sub ReadMessage(gradus)
var GradX, GradY, MinX, MinY, znakX, znakY, NSWE='', i
var X=0,Y=0, xy
for i=0 to Len(gradus)
   if mid(gradus,i,1) == 'N' then
      NSWE=NSWE+'N'
   end if
   if mid(gradus,i,1) == 'S' then
      NSWE=NSWE+'S'
   end if
   if mid(gradus,i,1) == 'W' then
      NSWE=NSWE+'W'
   end if
   if mid(gradus,i,1) == 'E' then
      NSWE=NSWE+'E'
   end if
next
if NSWE == 'NW' then
   znakX=-1
   znakY=-1
end if
if NSWE == 'SW' then
   znakX=-1
   znakY=1
end if
if NSWE == 'NE' then
   znakX=1
   znakY=-1
end if
if NSWE == 'SE' then
   znakX=1
   znakY=1
end if
for i=0 to Len(gradus)
   if mid(gradus,i,1) == '°' then
      GradY=val(mid(gradus,0,i))
      MinY=val(mid(gradus,i+1,i+3))
   end if
   if mid(gradus,i,1) == ',' then
      gradus=mid(gradus,i+1,Len(gradus))
   end if
next
for i=0 to Len(gradus)
   if mid(gradus,i,1) == '°' then
      GradX=val(mid(gradus,0,i))
      MinX=val(mid(gradus,i+1,i+3))
   end if
next
GradX=MinX/60+GradX
GradY=MinY/60+GradY
if ((NSWE=='NW') || (NSWE=='SW')) && GradX > 93.016666 then
   X = str((1237-(GradX-93.016666)*1280/90+3884), 0)
end if
if ((NSWE=='NW') || (NSWE=='NE')) && GradY > 142.733333 then
   Y = str((424-(GradY-142.733333)*1024/90+3673), 0)
end if
if X==0 then
   X = str(((GradX*5120)/360*znakX+1323), 0)
end if
if Y==0 then
   Y = str(((GradY*4095)/360*znakY+1624), 0)
end if
xy=X+':'+Y
return xy
end sub


Top
   
PostPosted: 2011-06-25 13:15:39 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
volhram wrote:
ну мало ли, я вот играю лет 12 в ультиму, только сейчас меня кольнуло, вдруг понадобилось...

http://ru.wikipedia.org/wiki/Ultima
Quote:
Ultima Online: Renaissance (3 апреля 2000)


:)


Top
   
PostPosted: 2011-06-25 13:42:30 
Offline

Joined: 2004-10-19 16:25:45
Posts: 95
Scripts Writer wrote:
volhram wrote:
ну мало ли, я вот играю лет 12 в ультиму, только сейчас меня кольнуло, вдруг понадобилось...

http://ru.wikipedia.org/wiki/Ultima
Quote:
Ultima Online: Renaissance (3 апреля 2000)


:)

не, я знакомился с ультимой с фри оскома...там ещё ренесанса не было..
хорошая ссылка, сейчас что нить найду, поиграю)


Top
   
PostPosted: 2011-06-25 15:55:15 
Offline

Joined: 2004-10-19 16:25:45
Posts: 95
у меня ещё вопрос...
не нашёл способ достать свойства итема
например:
Attachment:
123.JPG
123.JPG [ 13.52 KiB | Viewed 5031 times ]

если использовать uo.click, то в журнале пишется You see:имя, без всех тех свойсв, которые на рисунке....
getname ничего не даёт...
свойства появляются только при наведении курсора, как бы их скриптом прочитать?


Top
   
PostPosted: 2011-06-25 15:57:58 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
всего скорее скиллом идентификацией или lorom попробуй

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2020-04-09 02:48:13 
Offline

Joined: 2018-10-16 22:57:01
Posts: 3
volhram wrote:
ну мало ли, я вот играю лет 12 в ультиму, только сейчас меня кольнуло, вдруг понадобилось...
в общем в функцию передаётся строка формата "98°42'S,64°32'W"
возвращает строку "xxxx:yyyy"
использую для расшифровки координат в записках из бутылок...
может где то можно и координаты кладов так расшифровать, у нас на сервере не катит...
это если хотите автоматизировать процесс копания кладов)
иногда ошибается на один тайл, причину пока не понял, но для ловли по мессагам и для копки кладов это не существенно...
Code:
sub ReadMessage(gradus)
var GradX, GradY, MinX, MinY, znakX, znakY, NSWE='', i
var X=0,Y=0, xy
for i=0 to Len(gradus)
   if mid(gradus,i,1) == 'N' then
      NSWE=NSWE+'N'
   end if
   if mid(gradus,i,1) == 'S' then
      NSWE=NSWE+'S'
   end if
   if mid(gradus,i,1) == 'W' then
      NSWE=NSWE+'W'
   end if
   if mid(gradus,i,1) == 'E' then
      NSWE=NSWE+'E'
   end if
next
if NSWE == 'NW' then
   znakX=-1
   znakY=-1
end if
if NSWE == 'SW' then
   znakX=-1
   znakY=1
end if
if NSWE == 'NE' then
   znakX=1
   znakY=-1
end if
if NSWE == 'SE' then
   znakX=1
   znakY=1
end if
for i=0 to Len(gradus)
   if mid(gradus,i,1) == '°' then
      GradY=val(mid(gradus,0,i))
      MinY=val(mid(gradus,i+1,i+3))
   end if
   if mid(gradus,i,1) == ',' then
      gradus=mid(gradus,i+1,Len(gradus))
   end if
next
for i=0 to Len(gradus)
   if mid(gradus,i,1) == '°' then
      GradX=val(mid(gradus,0,i))
      MinX=val(mid(gradus,i+1,i+3))
   end if
next
GradX=MinX/60+GradX
GradY=MinY/60+GradY
if ((NSWE=='NW') || (NSWE=='SW')) && GradX > 93.016666 then
   X = str((1237-(GradX-93.016666)*1280/90+3884), 0)
end if
if ((NSWE=='NW') || (NSWE=='NE')) && GradY > 142.733333 then
   Y = str((424-(GradY-142.733333)*1024/90+3673), 0)
end if
if X==0 then
   X = str(((GradX*5120)/360*znakX+1323), 0)
end if
if Y==0 then
   Y = str(((GradY*4095)/360*znakY+1624), 0)
end if
xy=X+':'+Y
return xy
end sub


Я не смог запустить этот код, на линии произошла ошибка

Runtime Error:
GradX = MinX / 60 + GradX

(google translate)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 14 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 18 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited