Функции вызываются из других скриптов (и диалогов), находятся в файле u.script, который должен присуитствовать в папке gamedata\scripts
Примеры:
1. сохранение-чтение чисел.
local tmp = 100
u.datawrite("name",0,tmp) -- запишет tmp в name
tmp = u.dataread("name") --> tmp == 100
u.datawrite("name",1,tmp) -- прибавить tmp к name
tmp = u.dataread("name") --> tmp == 200
u.datawrite("name",2,tmp) -- умножить name на tmp
tmp = u.dataread("name") --> tmp ==40000
2. Сохранение-чтение строки.
local tmp = "сто"
u.datawrite("name",0,tmp) -- запишет tmp в name
tmp = u.dataread("name") --> tmp == "сто"
3. Сохранение-чтение логики.
local tmp = true
u.datawrite("name",0,tmp) -- запишет tmp в name
tmp = u.dataread("name") --> tmp == true
4. Уничтожить запись.
u.datawrite("name",0)
5. Сохранение-чтение даты-времени.
local yy,mm,dd,hh,mn,sc,msc = game.get_game_time():get()
u.datawrite("name",0, yy,mm,dd,hh,mn,sc,msc) -- запишет "yy,mm,dd,hh,mn,sc,msc" в name
yy,mm,dd,hh,mn,sc,msc = u.dataread("name",0) -- прочитает дату-время в формат CTime из name
или так:
u.datawrite("name",0, game.get_game_time():get()) -- запишет текущую дату-время в name
local yy,mm,dd,hh,mn,sc,msc = u.dataread("name",0) -- прочитает дату-время в формат CTime из name
или так:
function test()
news_manager.send_tip(db.actor, "записали: "..tostring(u.datawrite("my_data",0,game.get_game_time():get())), 0, "trader", 2000)
news_manager.send_tip(db.actor, "прочитали упакованное: "..tostring(u.dataread("my_data")), 0, "trader", 2000)
local yy,mm,dd,hh,mn,sc,msc = u.dataread("my_data",0)
news_manager.send_tip(db.actor,"прочитали распакованное: "..yy.."."..mm.."."..dd.."."..hh.."."..mn.."."..sc.."."..msc, 0, "trader", 2000)
end
--При записи-чтении даты-времени, есть одна особенность - обнуляются милисекунды.