데이터
세 개의 서랍이 있습니다. 무엇을 어디에 두는지가 곧 누가 그것을 볼 수 있는지입니다.
Chain2D.Data.game -- 게임 전체. 랭킹, 공지, 시즌
Chain2D.Data.realm -- 이 렐름(서버 묶음) 안에서만
Chain2D.Data.player -- 한 사람의 것
local gold = Chain2D.Data.player.get(player.id, "gold") or 0
Chain2D.Data.player.set(player.id, "gold", gold + 10)
기다립니다
데이터 호출은 네트워크를 건너갑니다. 스크립트는 그 사이 멈추지만 세계는 멈추지 않습니다 — 시뮬레이션은 계속 돌고, 다른 사람들은 계속 움직입니다.
그래서 onTick 안에서 매 틱 데이터를 읽는 것은 하지 마세요. 들어올 때 읽고, 나갈
때 쓰고, 그 사이에는 스크립트가 들고 있는 것을 쓰는 것이 보통의 모양입니다.
Chain2D.Players.playerAdded(function(player)
state[player.id] = Chain2D.Data.player.get(player.id, "save") or fresh()
end)
Chain2D.Players.playerRemoving(function(player)
Chain2D.Data.player.set(player.id, "save", state[player.id])
state[player.id] = nil
end)