Page 2 of 2

Posted: 2008-02-21 14:27:21
by Grin
ситуация такова что инжект очень интересно работает с командами...
на самом деле дурдом полный...
всякая команда переводится в текстовй варинт где параметры разделены проблемами... дальше эта строка еще раз интерпритируется.
В даной строке может содержатся несколько команд одновременно.

uo.textprint('111; textprint 12; textopen ')
пологике должно выдать строку 111; textprint 12; textopen а фиг там;)
и затого что команда переводится в вид
textprint 111; textprint 12; textopen
будет выполнено ашь 3 команды;) хотя из за того что я так надругался над textprint происходит смешение указателя буфера и в текст попадают '
в общем как оказалось рациональный вариант писать команды через uo.exec...
потому как реализовано превращение... это ужас...

Posted: 2008-02-21 19:43:31
by korzh
Edred wrote:Я думаю, это либо просто "хотелка", причем совершенно глупая, либо попытка "развода" экспертов, типа "счас я их возьму на понт".

В противном случае автор давно бы уже озвучил свои умные мысли, что же такое хитрое можно реализовать в скриптах выводом в текстовое окно точки с запятой.

Это не в коем случае не попытка брать экспертов на понт.
"Хотелка" - ближе, но не то :)
Идея на самом деле реально глупая :(
Сделать через инжект скрипт генерации содержимого конфиг файла для яваскрипта :D Поетому зачем там ";" думаю понятно.

зы Просьба не писать о том что все это можно сделать кучей других способов, и на кучи других языках. Это просто был спор :roll:

Posted: 2008-02-21 20:12:30
by Destruction
Дык генерируй в файл и не спорь больше из-за такой фигни ;)

Posted: 2008-02-21 20:20:41
by korzh
Destruction wrote:Дык генерируй в файл и не спорь больше из-за такой фигни ;)

Я бы попробовал, но вот документации по работе с файлами в инжекте я чето не нашел :cry:
И можно ли сохранять файлы не в .тхт а в .js? ;)

Posted: 2008-02-21 21:44:03
by Grin
ну сгенеришь, дальше копи паст?
скриптов море по работе с файлами, как назапись так и на чтение...
а особые дотошные моглаи скачать исходкники со всей документацией...

но ; вносится изменением 1 байта

Posted: 2008-02-22 00:04:59
by Edred
Grin wrote:всякая команда переводится в текстовй варинт где параметры разделены проблемами... дальше эта строка еще раз интерпритируется.


Об этой Йоко когда-то на старом форуме писал. Ноги растут из старого инжекта, в котором, первоначально, вообще скриптового модуля не было, а была реализация некоторых команд через вводимый в клиенте текст... Потом появился скрипт-модуль, но команды было проще переводить опять же в текст и вперед через клиент. Так до сих пор и есть...

Posted: 2008-02-22 01:29:55
by korzh
Grin wrote:ну сгенеришь, дальше копи паст?
скриптов море по работе с файлами, как назапись так и на чтение...
а особые дотошные моглаи скачать исходкники со всей документацией...

но ; вносится изменением 1 байта

да, дальше копипаст
А на тему моря скриптов, просто для работы с файлами я не видел, а смотреть кучу минингов и тд и искать в них функции работы с фалами - долго.
Исходники посмотрю, не подумал както..

Posted: 2008-02-22 02:01:44
by Edred
Работа с файлами инжекта описана в разделе FAQ форума. Кроме того, функции для работы с файлами (более удобные) есть в АСМе.

Posted: 2008-02-23 04:05:24
by korzh
Edred wrote:Работа с файлами инжекта описана в разделе FAQ форума. Кроме того, функции для работы с файлами (более удобные) есть в АСМе.

в асме насколько я помню можно только числа в файл записывать..
в faq посмотрю, спасибо/

попробовал с файлом, с первой строки не вышло

Code: Select all

var f = file("С:\testfile.js") 

invalid number of arguments :(

Posted: 2008-02-23 11:26:45
by Edred
Дело не в первой строке, ты дальше что-то не то делаешь с переменной f. Весь скрипт в студию.

Posted: 2008-02-23 13:27:51
by korzh
С чтением файла разобрался, можно пример использования команды для записи строки в файл?

Posted: 2008-02-23 15:39:03
by Savage
В коде тэги не работают поэтому так выкладываю, жирным отмечено то что тебе надо.


sub Record()
VAR f=file("records.txt")
VAR TileInfo, Exit=0, X,Y, i=0

UO.SetGlobal('AddTree','Off') ; Num +
UO.SetGlobal('EndRecord','Off') ; Num /

f.Create()
f.Open()

; AddStart()
While Exit==0

X=UO.GetX()
Y=UO.GetY()

UO.Print("Press command key! Davi knopku!")

While UO.GetGlobal('AddTree')=='Off' AND UO.GetGlobal('EndRecord')=='Off'
wait(500)
Wend

If UO.GetGlobal('EndRecord')=='On' Then
Exit=1
Endif

If UO.GetGlobal('AddTree')=='On' Then
UO.SetGlobal('AddTree','Off')

If UO.GetX()<>X OR UO.GetY()<>Y Then
UO.Print("Writing waypoint. Zapisivayu koordinaty!")

f.WriteLn("Step")
f.WriteLn(UO.GetX())
f.WriteLn(UO.GetY())

Endif

UO.Info()
UO.Print("Click on tree. Tkni v derevo!")

While UO.Targeting()==2
wait(500)
Wend

TileInfo=UO.LastTile()
f.WriteLn("Chop")
f.WriteLn(TileInfo)

i=i+1
Endif
Wend
f.WriteLn("End")
f.Close()

UO.Print("Recording stopped. Zapis' zavershena.")
UO.Print("Count of added trees="+STR(i))
UO.Print("Dobavleno derev'ev="+STR(i))
end sub

Posted: 2008-02-23 17:43:18
by korzh
Savage wrote:В коде тэги не работают поэтому так выкладываю, жирным отмечено то что тебе надо.
.....

огромное спасибо :!: :P

Posted: 2008-02-23 19:02:06
by korzh
опять рано порадовался =(
Снова ошибка про параметры.

Posted: 2008-02-23 22:27:45
by Edred
Телепаты в отпуске. Хочешь помощи - кидай скрипт. Не кидаешь - разбирайся сам.

Posted: 2008-02-26 00:13:12
by korzh
2Edred
Если не трудно, напиши пожалуйста такой скриптик на 3 строчки:

создаем\открываем файл
записываем в него "текст"
закрываем