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

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