SaveToFile

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Alex82
Posts: 70
Joined: 2008-03-16 12:36:48

SaveToFile

Post by Alex82 »

Code: Select all

sub TestContOf()
   VAR CORDX = uo.GetX('self')
   VAR CORDY = uo.GetY('self')
      uo.Print('Координата Х = '+str(CORDX)+'Координата Х = '+str(CORDY))
SaveToFile(CORDX,CORDY)
endsub


sub SaveToFile(CORDX,CORDY)
var f=file("C:\Tochki.txt")
var s=0
f.open()
f.create()
s=safe call f.writeln('_move('+str(CORDX)+','+str(CORDY)+', 0);')
f.close()
end sub


Этот скрипт сохраняет координаты чара в файл Tochki.txt. Можно ли сделать что бы скрипт не удалял файл когда начинает работу , а только дописывал в конец уже имеющегося файла результат.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: SaveToFile

Post by Mirage »

вот так попробуй

Code: Select all

sub TestContOf()
   VAR CORDX = uo.GetX('self')
   VAR CORDY = uo.GetY('self')
      uo.Print('Координата Х = '+str(CORDX)+'Координата Х = '+str(CORDY))
SaveToFile(CORDX,CORDY)
endsub


sub SaveToFile(CORDX,CORDY)
var f=file("C:\Tochki.txt")
var s=0
f.open()
;f.create()
s=safe call f.writeln('_move('+str(CORDX)+','+str(CORDY)+', 0);')
f.close()
end sub
Alex82
Posts: 70
Joined: 2008-03-16 12:36:48

Re: SaveToFile

Post by Alex82 »

вот так попробуй

Миражик спасибо но не помогло.
Создает файл и записывает туда последние координаты.А мне нужно что бы при каждом запуске скрипта добавляло к уже записанным координатам новые в тот же файл.


И где можно почитать про эти команды?

Code: Select all

f.open()
f.create()
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: SaveToFile

Post by Mirage »

к сожалению только в поиске. Как вариант могу посоветовать тебе лишь следующий путь:
1)создаешь файл с координатами tree.txt (скажем).
2)после того как запишешь последнюю координату переименовываешь файл в tree1.txt
3)создаешь файл tree.txt, переименовываешь его в tree2.txt...

а в самом скрипте используешь конструкцию типа:

Code: Select all

var mx1=1953, my1=2968, mx2=2058, my2=1032, mx3=3508, my3=3456
   if uo.getX() == mx1 && uo.getY() == my1 then
      f = file ( "D:\tree1.txt" )  ; файлик с координатами
   else
      if uo.getX() == mx2 && uo.getY() == my2 then
         f = file ( "D:\tree2.txt" )  ; файлик с координатами
      else
         if uo.getX() == mx3 && uo.getY() == my3 then
            f = file ( "D:\tree3.txt" )  ; файлик с координатами
         else
         UO.Print("НЕ В ЗОНЕ РУБКИ!!!")
         MyTerminate()
         endif
      endif
   endif

Сам таким пользуюсь.
Alex82
Posts: 70
Joined: 2008-03-16 12:36:48

Re: SaveToFile

Post by Alex82 »

Code: Select all

var mx1=1953, my1=2968, mx2=2058, my2=1032, mx3=3508, my3=3456
   if uo.getX() == mx1 && uo.getY() == my1 then
      f = file ( "D:\tree1.txt" )  ; файлик с координатами
   else
      if uo.getX() == mx2 && uo.getY() == my2 then
         f = file ( "D:\tree2.txt" )  ; файлик с координатами
      else
         if uo.getX() == mx3 && uo.getY() == my3 then
            f = file ( "D:\tree3.txt" )  ; файлик с координатами
         else
         UO.Print("НЕ В ЗОНЕ РУБКИ!!!")
         MyTerminate()
         endif
      endif
   endif


Это суровый изврат но попробую так :mrgreen: .Спасибо
Alex82
Posts: 70
Joined: 2008-03-16 12:36:48

Re: SaveToFile

Post by Alex82 »

Дабы не плодить тем.
Граждане можно ли напечатать знак ; командой uo.textprint.
Что то типа uo.textprint(":"). Я лично как не бился не смог
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: SaveToFile

Post by Mirage »

Этой командой нет :)
точказапятая это смысловое коментирование текста видимо.
НО если очень хочется можно ПРОИЗНЕСТИ (uo.say(';')) и затем считать с журнала :mrgreen:
Post Reply