このゲームのセーブデータはテキストになっているのでメモ帳などで開いて比較的簡単に編集できる。
セーブデータの場所
C:\Users\○○\AppData\LocalLow\Nokta Games\Supermarket Simulatorの中の拡張子".es3"のファイルの中の最も新しいもの。
階層構造
Progression
- UnlockedLicenses
- LoanDatas
- Money(所持金)
- CartData(カートの内容)
- ProductInCarts
- FurnituresInCarts
- BoxDatas(落ちてる製品の箱の位置)
- Size
- Transform
- Position
- Rotation
- IsOpen
- ProductID
- ProductCount
- FurnitureBoxDatas(落ちてる家具の箱の位置)
- Size
- Transform
- FurnitureID
- DisplayDatas(棚の位置や内容)
- Transform
- DisplaySlots
- Products
- ProductPrice
- FurnitureID
- RackDatas(ラックの位置や内容)
- Transform
- RackSlots
- RackedBoxDatas
-Size
-Transform
-IsOpen
-ProductID
-ProductCount - ProductID
- BoxID
- RackedBoxDatas
- FurnitureID
- CheckoutDatas(レジの位置)
- Transform
- FurnitureID
- IsOpen
- DailyStatisticsData
- FurnitureDatas(ライトの配置)
- FurnitureID
- Transform
- ComputerTransform(パソコンの位置)
- CurrentTime
- CurrentDay
- LastDayPricesChanged
- MysteryBox
- CompletedCheckoutCount(プレイヤーがレジをした回数)
- CurrentStorePoint(店舗ポイント)
- CurrentStoreLevel(店舗レベル)
- StoreUpgradeLevel
- IsStoreOpen
Quality(設定)
Onboarding
Price(価格の設定)
Onboarding
Price(価格の設定)
- Prices
- PricesSetByPlayer(売値)
- AverageCosts
- DailyPriceChanges
- PreviousPrices
Expenses
Employees
Employees
- CashiersData
- RestockersData
- RestockerManagementDatas
- RestockerID
- IsActive
- UseUnlabeledRacks
Storage
- Purchased
- StorageLevel
Customization
- CustomizationData
- ShopName
- DoorIndex
- ShopNameColor
- NameBackGroundColor
- ShopNameSizeX
- ShopNameSizeY
- EntranceVariant
- IsSignboardDefault
製品ID
0と143を除いて、1~164の163種類ある。
0を指定しても何も起きないだけだが143を指定すると基本的にバグる。
0を指定しても何も起きないだけだが143を指定すると基本的にバグる。
座標(Position)
店の前で店を向いてプレイヤーが立っているとして
x+ : 後
x- : 前
y+ : 上
y- : 下
z+ : 右
z- : 左
x+ : 後
x- : 前
y+ : 上
y- : 下
z+ : 右
z- : 左
(x,z)=(0,0)は大体OPEN/CLOSEDの看板のあたり。
y=0で大体歩道の高さに等しい。
数値1は1mと同じと思われる。
y=0で大体歩道の高さに等しい。
数値1は1mと同じと思われる。
回転(Rotation)
x,y,z,wをクォータニオンで指定。
僕も詳しくないので間違ってたら正してほしいのだが、オイラー角からクォータニオンへ変換するには、
オイラー角をそれぞれθx,θy,θzとすると
x = cos(θx/2)*sin(θy/2)*sin(θz/2) + sin(θx/2)*cos(θy/2)*cos(θz/2)
y = -sin(θx/2)*cos(θy/2)*sin(θz/2) + cos(θx/2)*sin(θy/2)*cos(θz/2)
z = cos(θx/2)*cos(θy/2)*sin(θz/2) + sin(θx/2)*sin(θy/2)*cos(θz/2)
w = sin(θx/2)*sin(θy/2)*sin(θz/2) + cos(θx/2)*cos(θy/2)*cos(θz/2)
僕も詳しくないので間違ってたら正してほしいのだが、オイラー角からクォータニオンへ変換するには、
オイラー角をそれぞれθx,θy,θzとすると
x = cos(θx/2)*sin(θy/2)*sin(θz/2) + sin(θx/2)*cos(θy/2)*cos(θz/2)
y = -sin(θx/2)*cos(θy/2)*sin(θz/2) + cos(θx/2)*sin(θy/2)*cos(θz/2)
z = cos(θx/2)*cos(θy/2)*sin(θz/2) + sin(θx/2)*sin(θy/2)*cos(θz/2)
w = sin(θx/2)*sin(θy/2)*sin(θz/2) + cos(θx/2)*cos(θy/2)*cos(θz/2)
ゲーム内の操作ではY軸に対してのみ15°単位で回転させられる。以下対応表。
角度(°) | x | y | z | w |
---|---|---|---|---|
0 | 0.000000 | 0.000000 | 0.000000 | 1.000000 |
15 | 0.000000 | 0.130526 | 0.000000 | 0.991445 |
30 | 0.000000 | 0.258819 | 0.000000 | 0.965926 |
45 | 0.000000 | 0.382683 | 0.000000 | 0.923880 |
60 | 0.000000 | 0.500000 | 0.000000 | 0.866025 |
75 | 0.000000 | 0.608761 | 0.000000 | 0.793353 |
90 | 0.000000 | 0.707107 | 0.000000 | 0.707107 |
105 | 0.000000 | 0.793353 | 0.000000 | 0.608761 |
120 | 0.000000 | 0.866025 | 0.000000 | 0.500000 |
135 | 0.000000 | 0.923880 | 0.000000 | 0.382683 |
150 | 0.000000 | 0.965926 | 0.000000 | 0.258819 |
165 | 0.000000 | 0.991445 | 0.000000 | 0.130526 |
180 | 0.000000 | 1.000000 | 0.000000 | 0.000000 |
195 | 0.000000 | 0.991445 | 0.000000 | -0.130526 |
210 | 0.000000 | 0.965926 | 0.000000 | -0.258819 |
225 | 0.000000 | 0.923880 | 0.000000 | -0.382683 |
240 | 0.000000 | 0.866025 | 0.000000 | -0.500000 |
255 | 0.000000 | 0.793353 | 0.000000 | -0.608761 |
270 | 0.000000 | 0.707107 | 0.000000 | -0.707107 |
285 | 0.000000 | 0.608761 | 0.000000 | -0.793353 |
300 | 0.000000 | 0.500000 | 0.000000 | -0.866025 |
315 | 0.000000 | 0.382683 | 0.000000 | -0.923880 |
330 | 0.000000 | 0.258819 | 0.000000 | -0.965926 |
345 | 0.000000 | 0.130526 | 0.000000 | -0.991445 |