Помогите преобразовать...

Ask for help

Moderators: Murderator+, Murderator

Post Reply
DvorKin
Posts: 7
Joined: 2005-04-10 02:10:21

Помогите преобразовать...

Post by DvorKin »

Помогите преобразовать ID (hex) в строку и обратно!!!
пример:
имеем
uo.addobject(t)
a=uo.getserial('t')

потом пишем этот ID в файл (пишется), а вот при попытке его считать...
считывается либо string, который непонятно как переводить в hex, либо dex...причем кривой ('0' на выходе)..

Пока остановился на преобразовании hex->string через журнал - но это левой ногой правое ухо чесать...и обратно так непонятно как делать (через глобал?)...

ЗЫ.
попробовал писать в файл преобразованное из hex десятичное значение - пишет (1.0756493e+09), но readnumber() не читает почему-то (file read error), причем тоже самое пишет readstring().А readln() не возвращает вообще ничего...или перевод строки??...
666Man666
Junior Expert
Posts: 474
Joined: 2004-11-13 00:43:55
Location: Киберзадроцк
Contact:

Post by 666Man666 »

А что ты в фаил пишеш и зачем?
ты читал FAQ по скриптовому модулю?
DvorKin
Posts: 7
Joined: 2005-04-10 02:10:21

Post by DvorKin »

666Man666 wrote:А что ты в фаил пишеш и зачем?
ты читал FAQ по скриптовому модулю?

В файле хочу сохранить АйДи рун и вендоров
Факи читал - не помогло)))
Solaire
Posts: 163
Joined: 2005-05-21 07:12:12
Location: DRW

Post by Solaire »

Лови:

Code: Select all

sub write1()
   VAR f=file( "D:\uo\Copy\proba.dat"), a
   f.open()
   f.create()
   uo.addobject('t')
   while uo.targeting()
      wait(500)
   wend
   a=uo.getserial('t')
   f.writeln(UO.hex2int(a))
   f.close()
end sub
sub read1()
   VAR f=file( "D:\uo\Copy\proba.dat"), a
   f.open()
   a=f.readnumber()
   a=UO.int2hex(a)
   UO.Print(a)
end sub

Ну, переделаешь под себя сам. :)
kobol
Posts: 119
Joined: 2012-12-15 12:03:25
Location: C-Петербург

Re: Помогите преобразовать...

Post by kobol »

up

>Помогите преобразовать ID (hex) в строку и обратно!!!

Серийные номера объектов - это ведь и так строковые переменные, разве нет?
По крайней мере uo.print (uo.getserial("finditem")) печатает правильный HEX.

Хотя в мануале написано
"Каждый обьект в игровом мире имеет уникальный номер, по которому вы можете сказать серверу, и сервер может сказать вам, что конкретно имеется в виду. Номер представляется обычно в виде длинного (8 знаков) шестнадцатеричноко числа вида 0x4010AF44. "
Post Reply