Jacob Schmidt 827f3303a2 feat: add initial Docus setup and sync tool for documentation generation
- Created package.json for Docus with necessary scripts and dependencies.
- Implemented sync-docus-docs.mjs to automate the generation of documentation files from source markdown.
- Defined mappings for generated pages and virtual routes to ensure proper linking in documentation.
- Added static content files for the documentation structure, including navigation and index pages.
2026-04-21 16:07:27 -05:00

1 line
25 KiB
JSON

[{"data":1,"prerenderedAt":1088},["ShallowReactive",2],{"navigation_docs":3,"-server-modules-store":145,"-server-modules-store-surround":1083},[4,27,41,93],{"title":5,"path":6,"stem":7,"children":8,"icon":26},"Getting Started","\u002Fgetting-started","1.getting-started\u002F0.index",[9,10,14,18,22],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Framework Architecture","\u002Fgetting-started\u002Farchitecture","1.getting-started\u002F1.architecture",{"title":15,"path":16,"stem":17},"Module Reference","\u002Fgetting-started\u002Fmodule-reference","1.getting-started\u002F2.module-reference",{"title":19,"path":20,"stem":21},"Development Guide","\u002Fgetting-started\u002Fdevelopment","1.getting-started\u002F3.development",{"title":23,"path":24,"stem":25},"SurrealDB Setup","\u002Fgetting-started\u002Fsurrealdb-setup","1.getting-started\u002F4.surrealdb-setup","i-lucide-rocket",{"title":28,"path":29,"stem":30,"children":31},"Forge Server Extension","\u002Fserver-extension","2.server-extension\u002F0.index",[32,33,37],{"title":28,"path":29,"stem":30},{"title":34,"path":35,"stem":36},"Forge Server API Reference","\u002Fserver-extension\u002Fapi-reference","2.server-extension\u002F1.api-reference",{"title":38,"path":39,"stem":40},"Forge Server Usage Examples","\u002Fserver-extension\u002Fusage-examples","2.server-extension\u002F2.usage-examples",{"title":42,"path":43,"stem":44,"children":45,"icon":92},"Server Modules","\u002Fserver-modules","3.server-modules\u002F0.index",[46,48,52,56,60,64,68,72,76,80,84,88],{"title":47,"path":43,"stem":44},"Server Module Guides",{"title":49,"path":50,"stem":51},"Actor Usage Guide","\u002Fserver-modules\u002Factor","3.server-modules\u002F1.actor",{"title":53,"path":54,"stem":55},"Store Usage Guide","\u002Fserver-modules\u002Fstore","3.server-modules\u002F10.store",{"title":57,"path":58,"stem":59},"Task Usage Guide","\u002Fserver-modules\u002Ftask","3.server-modules\u002F11.task",{"title":61,"path":62,"stem":63},"Bank Usage Guide","\u002Fserver-modules\u002Fbank","3.server-modules\u002F2.bank",{"title":65,"path":66,"stem":67},"CAD Usage Guide","\u002Fserver-modules\u002Fcad","3.server-modules\u002F3.cad",{"title":69,"path":70,"stem":71},"Economy Usage Guide","\u002Fserver-modules\u002Feconomy","3.server-modules\u002F4.economy",{"title":73,"path":74,"stem":75},"Garage Usage Guide","\u002Fserver-modules\u002Fgarage","3.server-modules\u002F5.garage",{"title":77,"path":78,"stem":79},"Locker Usage Guide","\u002Fserver-modules\u002Flocker","3.server-modules\u002F6.locker",{"title":81,"path":82,"stem":83},"Organization Usage Guide","\u002Fserver-modules\u002Forganization","3.server-modules\u002F7.organization",{"title":85,"path":86,"stem":87},"Owned Storage Usage Guide","\u002Fserver-modules\u002Fowned-storage","3.server-modules\u002F8.owned-storage",{"title":89,"path":90,"stem":91},"Phone Usage Guide","\u002Fserver-modules\u002Fphone","3.server-modules\u002F9.phone","i-lucide-layers-3",{"title":94,"path":95,"stem":96,"children":97,"icon":144},"Client Addons","\u002Fclient-addons","4.client-addons\u002F0.index",[98,100,104,108,112,116,120,124,128,132,136,140],{"title":99,"path":95,"stem":96},"Client Usage Guide",{"title":101,"path":102,"stem":103},"Client Main Usage Guide","\u002Fclient-addons\u002Fmain","4.client-addons\u002F1.main",{"title":105,"path":106,"stem":107},"Client Phone Usage Guide","\u002Fclient-addons\u002Fphone","4.client-addons\u002F10.phone",{"title":109,"path":110,"stem":111},"Client Store Usage Guide","\u002Fclient-addons\u002Fstore","4.client-addons\u002F11.store",{"title":113,"path":114,"stem":115},"Client Common Usage Guide","\u002Fclient-addons\u002Fcommon","4.client-addons\u002F2.common",{"title":117,"path":118,"stem":119},"Client Actor Usage Guide","\u002Fclient-addons\u002Factor","4.client-addons\u002F3.actor",{"title":121,"path":122,"stem":123},"Client Bank Usage Guide","\u002Fclient-addons\u002Fbank","4.client-addons\u002F4.bank",{"title":125,"path":126,"stem":127},"Client CAD Usage Guide","\u002Fclient-addons\u002Fcad","4.client-addons\u002F5.cad",{"title":129,"path":130,"stem":131},"Client Garage Usage Guide","\u002Fclient-addons\u002Fgarage","4.client-addons\u002F6.garage",{"title":133,"path":134,"stem":135},"Client Locker Usage Guide","\u002Fclient-addons\u002Flocker","4.client-addons\u002F7.locker",{"title":137,"path":138,"stem":139},"Client Notifications Usage Guide","\u002Fclient-addons\u002Fnotifications","4.client-addons\u002F8.notifications",{"title":141,"path":142,"stem":143},"Client Organization Usage Guide","\u002Fclient-addons\u002Forganization","4.client-addons\u002F9.organization","i-lucide-monitor-smartphone",{"id":146,"title":53,"body":147,"description":157,"extension":1078,"links":1079,"meta":1080,"navigation":878,"path":54,"seo":1081,"stem":55,"__hash__":1082},"docs\u002F3.server-modules\u002F10.store.md",{"type":148,"value":149,"toc":1069},"minimark",[150,154,158,163,166,187,202,206,211,535,538,612,616,652,656,830,833,837,933,937,946,1027,1031,1065],[151,152,53],"h1",{"id":153},"store-usage-guide",[155,156,157],"p",{},"The store module processes checkout requests. It charges a payment source and\ngrants purchased items to the player locker, virtual arsenal locker, and\nvirtual garage unlocks.",[159,160,162],"h2",{"id":161},"server-sqf-module","Server SQF Module",[155,164,165],{},"The server addon uses two long-lived module objects:",[167,168,169,181],"ul",{},[170,171,172,176,177,180],"li",{},[173,174,175],"code",{},"StorefrontStore"," is the storefront workflow facade. It builds hydrate\npayloads, validates checkout requests, calls the Rust ",[173,178,179],{},"store:checkout","\ncommand, syncs UI patches, and asks related module stores to save hot state.",[170,182,183,186],{},[173,184,185],{},"StoreCatalogService"," scans configured item and vehicle categories, builds\ncatalog responses, resolves checkout entries, and calculates authoritative\nprices.",[155,188,189,190,193,194,197,198,201],{},"Editor-placed store entities are initialized by ",[173,191,192],{},"fnc_initStore"," during store\npost-init. The initializer matches non-null mission namespace objects whose\nvariable names contain ",[173,195,196],{},"store"," and sets ",[173,199,200],{},"isStore = true",", following the same\npattern used by garage entities.",[159,203,205],{"id":204},"checkout-model","Checkout Model",[155,207,208,210],{},[173,209,179],{}," accepts one JSON context.",[212,213,218],"pre",{"className":214,"code":215,"language":216,"meta":217,"style":217},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n \"requesterUid\": \"76561198000000000\",\n \"requesterName\": \"Player Name\",\n \"orgId\": \"default\",\n \"requesterIsDefaultOrgCeo\": false,\n \"paymentMethod\": \"bank\",\n \"items\": [\n {\n \"classname\": \"arifle_MX_F\",\n \"category\": \"weapon\",\n \"priceValue\": 500,\n \"quantity\": 1\n }\n ],\n \"vehicles\": [\n {\n \"classname\": \"B_Quadbike_01_F\",\n \"category\": \"cars\",\n \"priceValue\": 1500\n }\n ]\n}\n","json","",[173,219,220,229,257,278,299,314,335,350,356,379,400,418,433,439,445,459,464,484,504,518,523,529],{"__ignoreMap":217},[221,222,225],"span",{"class":223,"line":224},"line",1,[221,226,228],{"class":227},"sMK4o","{\n",[221,230,232,235,239,242,245,248,252,254],{"class":223,"line":231},2,[221,233,234],{"class":227}," \"",[221,236,238],{"class":237},"spNyl","requesterUid",[221,240,241],{"class":227},"\"",[221,243,244],{"class":227},":",[221,246,247],{"class":227}," \"",[221,249,251],{"class":250},"sfazB","76561198000000000",[221,253,241],{"class":227},[221,255,256],{"class":227},",\n",[221,258,260,262,265,267,269,271,274,276],{"class":223,"line":259},3,[221,261,234],{"class":227},[221,263,264],{"class":237},"requesterName",[221,266,241],{"class":227},[221,268,244],{"class":227},[221,270,247],{"class":227},[221,272,273],{"class":250},"Player Name",[221,275,241],{"class":227},[221,277,256],{"class":227},[221,279,281,283,286,288,290,292,295,297],{"class":223,"line":280},4,[221,282,234],{"class":227},[221,284,285],{"class":237},"orgId",[221,287,241],{"class":227},[221,289,244],{"class":227},[221,291,247],{"class":227},[221,293,294],{"class":250},"default",[221,296,241],{"class":227},[221,298,256],{"class":227},[221,300,302,304,307,309,311],{"class":223,"line":301},5,[221,303,234],{"class":227},[221,305,306],{"class":237},"requesterIsDefaultOrgCeo",[221,308,241],{"class":227},[221,310,244],{"class":227},[221,312,313],{"class":227}," false,\n",[221,315,317,319,322,324,326,328,331,333],{"class":223,"line":316},6,[221,318,234],{"class":227},[221,320,321],{"class":237},"paymentMethod",[221,323,241],{"class":227},[221,325,244],{"class":227},[221,327,247],{"class":227},[221,329,330],{"class":250},"bank",[221,332,241],{"class":227},[221,334,256],{"class":227},[221,336,338,340,343,345,347],{"class":223,"line":337},7,[221,339,234],{"class":227},[221,341,342],{"class":237},"items",[221,344,241],{"class":227},[221,346,244],{"class":227},[221,348,349],{"class":227}," [\n",[221,351,353],{"class":223,"line":352},8,[221,354,355],{"class":227}," {\n",[221,357,359,362,366,368,370,372,375,377],{"class":223,"line":358},9,[221,360,361],{"class":227}," \"",[221,363,365],{"class":364},"sBMFI","classname",[221,367,241],{"class":227},[221,369,244],{"class":227},[221,371,247],{"class":227},[221,373,374],{"class":250},"arifle_MX_F",[221,376,241],{"class":227},[221,378,256],{"class":227},[221,380,382,384,387,389,391,393,396,398],{"class":223,"line":381},10,[221,383,361],{"class":227},[221,385,386],{"class":364},"category",[221,388,241],{"class":227},[221,390,244],{"class":227},[221,392,247],{"class":227},[221,394,395],{"class":250},"weapon",[221,397,241],{"class":227},[221,399,256],{"class":227},[221,401,403,405,408,410,412,416],{"class":223,"line":402},11,[221,404,361],{"class":227},[221,406,407],{"class":364},"priceValue",[221,409,241],{"class":227},[221,411,244],{"class":227},[221,413,415],{"class":414},"sbssI"," 500",[221,417,256],{"class":227},[221,419,421,423,426,428,430],{"class":223,"line":420},12,[221,422,361],{"class":227},[221,424,425],{"class":364},"quantity",[221,427,241],{"class":227},[221,429,244],{"class":227},[221,431,432],{"class":414}," 1\n",[221,434,436],{"class":223,"line":435},13,[221,437,438],{"class":227}," }\n",[221,440,442],{"class":223,"line":441},14,[221,443,444],{"class":227}," ],\n",[221,446,448,450,453,455,457],{"class":223,"line":447},15,[221,449,234],{"class":227},[221,451,452],{"class":237},"vehicles",[221,454,241],{"class":227},[221,456,244],{"class":227},[221,458,349],{"class":227},[221,460,462],{"class":223,"line":461},16,[221,463,355],{"class":227},[221,465,467,469,471,473,475,477,480,482],{"class":223,"line":466},17,[221,468,361],{"class":227},[221,470,365],{"class":364},[221,472,241],{"class":227},[221,474,244],{"class":227},[221,476,247],{"class":227},[221,478,479],{"class":250},"B_Quadbike_01_F",[221,481,241],{"class":227},[221,483,256],{"class":227},[221,485,487,489,491,493,495,497,500,502],{"class":223,"line":486},18,[221,488,361],{"class":227},[221,490,386],{"class":364},[221,492,241],{"class":227},[221,494,244],{"class":227},[221,496,247],{"class":227},[221,498,499],{"class":250},"cars",[221,501,241],{"class":227},[221,503,256],{"class":227},[221,505,507,509,511,513,515],{"class":223,"line":506},19,[221,508,361],{"class":227},[221,510,407],{"class":364},[221,512,241],{"class":227},[221,514,244],{"class":227},[221,516,517],{"class":414}," 1500\n",[221,519,521],{"class":223,"line":520},20,[221,522,438],{"class":227},[221,524,526],{"class":223,"line":525},21,[221,527,528],{"class":227}," ]\n",[221,530,532],{"class":223,"line":531},22,[221,533,534],{"class":227},"}\n",[155,536,537],{},"Rules validated by the Rust service:",[167,539,540,545,548,551,571,591,606,609],{},[170,541,542,544],{},[173,543,238],{}," is required.",[170,546,547],{},"At least one item or vehicle is required.",[170,549,550],{},"The checkout total must be greater than zero.",[170,552,553,554,557,558,557,561,557,563,566,567,570],{},"Item categories must be ",[173,555,556],{},"item",", ",[173,559,560],{},"attachment",[173,562,395],{},[173,564,565],{},"magazine",", or\n",[173,568,569],{},"backpack",".",[170,572,573,574,557,576,557,579,557,582,557,585,566,588,570],{},"Vehicle categories must be ",[173,575,499],{},[173,577,578],{},"armor",[173,580,581],{},"helis",[173,583,584],{},"planes",[173,586,587],{},"naval",[173,589,590],{},"other",[170,592,593,594,557,597,557,599,602,603,570],{},"Payment method must be ",[173,595,596],{},"cash",[173,598,330],{},[173,600,601],{},"org_funds",", or ",[173,604,605],{},"credit_line",[170,607,608],{},"Player locker capacity cannot exceed 25 unique items after checkout.",[170,610,611],{},"Organization funds can only be charged by the org owner or the default org\nCEO flag.",[159,613,615],{"id":614},"command","Command",[617,618,619,634],"table",{},[620,621,622],"thead",{},[623,624,625,628,631],"tr",{},[626,627,615],"th",{},[626,629,630],{},"Arguments",[626,632,633],{},"Returns",[635,636,637],"tbody",{},[623,638,639,644,649],{},[640,641,642],"td",{},[173,643,179],{},[640,645,646],{},[173,647,648],{},"checkout_json",[640,650,651],{},"Checkout result JSON.",[159,653,655],{"id":654},"result-model","Result Model",[212,657,659],{"className":214,"code":658,"language":216,"meta":217,"style":217},"{\n \"chargedTotal\": 2000.0,\n \"paymentMethod\": \"bank\",\n \"message\": \"Checkout completed. $2,000 charged, 1 locker grant(s), 1 vehicle unlock(s).\",\n \"lockerGranted\": [],\n \"vehicleGranted\": [],\n \"lockerPatch\": {},\n \"vaPatch\": {},\n \"vgaragePatch\": {},\n \"bankPatch\": {},\n \"orgPatch\": {},\n \"orgTargetUids\": []\n}\n",[173,660,661,665,681,699,719,733,746,760,773,786,799,812,826],{"__ignoreMap":217},[221,662,663],{"class":223,"line":224},[221,664,228],{"class":227},[221,666,667,669,672,674,676,679],{"class":223,"line":231},[221,668,234],{"class":227},[221,670,671],{"class":237},"chargedTotal",[221,673,241],{"class":227},[221,675,244],{"class":227},[221,677,678],{"class":414}," 2000.0",[221,680,256],{"class":227},[221,682,683,685,687,689,691,693,695,697],{"class":223,"line":259},[221,684,234],{"class":227},[221,686,321],{"class":237},[221,688,241],{"class":227},[221,690,244],{"class":227},[221,692,247],{"class":227},[221,694,330],{"class":250},[221,696,241],{"class":227},[221,698,256],{"class":227},[221,700,701,703,706,708,710,712,715,717],{"class":223,"line":280},[221,702,234],{"class":227},[221,704,705],{"class":237},"message",[221,707,241],{"class":227},[221,709,244],{"class":227},[221,711,247],{"class":227},[221,713,714],{"class":250},"Checkout completed. $2,000 charged, 1 locker grant(s), 1 vehicle unlock(s).",[221,716,241],{"class":227},[221,718,256],{"class":227},[221,720,721,723,726,728,730],{"class":223,"line":301},[221,722,234],{"class":227},[221,724,725],{"class":237},"lockerGranted",[221,727,241],{"class":227},[221,729,244],{"class":227},[221,731,732],{"class":227}," [],\n",[221,734,735,737,740,742,744],{"class":223,"line":316},[221,736,234],{"class":227},[221,738,739],{"class":237},"vehicleGranted",[221,741,241],{"class":227},[221,743,244],{"class":227},[221,745,732],{"class":227},[221,747,748,750,753,755,757],{"class":223,"line":337},[221,749,234],{"class":227},[221,751,752],{"class":237},"lockerPatch",[221,754,241],{"class":227},[221,756,244],{"class":227},[221,758,759],{"class":227}," {},\n",[221,761,762,764,767,769,771],{"class":223,"line":352},[221,763,234],{"class":227},[221,765,766],{"class":237},"vaPatch",[221,768,241],{"class":227},[221,770,244],{"class":227},[221,772,759],{"class":227},[221,774,775,777,780,782,784],{"class":223,"line":358},[221,776,234],{"class":227},[221,778,779],{"class":237},"vgaragePatch",[221,781,241],{"class":227},[221,783,244],{"class":227},[221,785,759],{"class":227},[221,787,788,790,793,795,797],{"class":223,"line":381},[221,789,234],{"class":227},[221,791,792],{"class":237},"bankPatch",[221,794,241],{"class":227},[221,796,244],{"class":227},[221,798,759],{"class":227},[221,800,801,803,806,808,810],{"class":223,"line":402},[221,802,234],{"class":227},[221,804,805],{"class":237},"orgPatch",[221,807,241],{"class":227},[221,809,244],{"class":227},[221,811,759],{"class":227},[221,813,814,816,819,821,823],{"class":223,"line":420},[221,815,234],{"class":227},[221,817,818],{"class":237},"orgTargetUids",[221,820,241],{"class":227},[221,822,244],{"class":227},[221,824,825],{"class":227}," []\n",[221,827,828],{"class":223,"line":435},[221,829,534],{"class":227},[155,831,832],{},"Patch fields are intended for UI updates after checkout. The service commits\nall grants and payment changes together, and attempts rollback if a later write\nfails.",[159,834,836],{"id":835},"player-bank-checkout","Player Bank Checkout",[212,838,842],{"className":839,"code":840,"language":841,"meta":217,"style":217},"language-sqf shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","private _item = createHashMapFromArray [\n [\"classname\", \"arifle_MX_F\"],\n [\"category\", \"weapon\"],\n [\"priceValue\", 500],\n [\"quantity\", 1]\n];\n\nprivate _checkout = createHashMapFromArray [\n [\"requesterUid\", getPlayerUID player],\n [\"requesterName\", name player],\n [\"orgId\", \"default\"],\n [\"requesterIsDefaultOrgCeo\", false],\n [\"paymentMethod\", \"bank\"],\n [\"items\", [_item]],\n [\"vehicles\", []]\n];\n\nprivate _result = \"forge_server\" callExtension [\"store:checkout\", [toJSON _checkout]];\n","sqf",[173,843,844,849,854,859,864,869,874,880,885,890,895,900,905,910,915,920,924,928],{"__ignoreMap":217},[221,845,846],{"class":223,"line":224},[221,847,848],{},"private _item = createHashMapFromArray [\n",[221,850,851],{"class":223,"line":231},[221,852,853],{}," [\"classname\", \"arifle_MX_F\"],\n",[221,855,856],{"class":223,"line":259},[221,857,858],{}," [\"category\", \"weapon\"],\n",[221,860,861],{"class":223,"line":280},[221,862,863],{}," [\"priceValue\", 500],\n",[221,865,866],{"class":223,"line":301},[221,867,868],{}," [\"quantity\", 1]\n",[221,870,871],{"class":223,"line":316},[221,872,873],{},"];\n",[221,875,876],{"class":223,"line":337},[221,877,879],{"emptyLinePlaceholder":878},true,"\n",[221,881,882],{"class":223,"line":352},[221,883,884],{},"private _checkout = createHashMapFromArray [\n",[221,886,887],{"class":223,"line":358},[221,888,889],{}," [\"requesterUid\", getPlayerUID player],\n",[221,891,892],{"class":223,"line":381},[221,893,894],{}," [\"requesterName\", name player],\n",[221,896,897],{"class":223,"line":402},[221,898,899],{}," [\"orgId\", \"default\"],\n",[221,901,902],{"class":223,"line":420},[221,903,904],{}," [\"requesterIsDefaultOrgCeo\", false],\n",[221,906,907],{"class":223,"line":435},[221,908,909],{}," [\"paymentMethod\", \"bank\"],\n",[221,911,912],{"class":223,"line":441},[221,913,914],{}," [\"items\", [_item]],\n",[221,916,917],{"class":223,"line":447},[221,918,919],{}," [\"vehicles\", []]\n",[221,921,922],{"class":223,"line":461},[221,923,873],{},[221,925,926],{"class":223,"line":466},[221,927,879],{"emptyLinePlaceholder":878},[221,929,930],{"class":223,"line":486},[221,931,932],{},"private _result = \"forge_server\" callExtension [\"store:checkout\", [toJSON _checkout]];\n",[159,934,936],{"id":935},"organization-funds-checkout","Organization Funds Checkout",[155,938,939,940,942,943,945],{},"When ",[173,941,321],{}," is ",[173,944,601],{},", vehicles are also added to the\norganization fleet patch.",[212,947,949],{"className":839,"code":948,"language":841,"meta":217,"style":217},"private _vehicle = createHashMapFromArray [\n [\"classname\", \"B_Quadbike_01_F\"],\n [\"category\", \"cars\"],\n [\"priceValue\", 1500]\n];\n\nprivate _checkout = createHashMapFromArray [\n [\"requesterUid\", getPlayerUID player],\n [\"requesterName\", name player],\n [\"orgId\", _orgId],\n [\"requesterIsDefaultOrgCeo\", false],\n [\"paymentMethod\", \"org_funds\"],\n [\"items\", []],\n [\"vehicles\", [_vehicle]]\n];\n\nprivate _result = \"forge_server\" callExtension [\"store:checkout\", [toJSON _checkout]];\n",[173,950,951,956,961,966,971,975,979,983,987,991,996,1000,1005,1010,1015,1019,1023],{"__ignoreMap":217},[221,952,953],{"class":223,"line":224},[221,954,955],{},"private _vehicle = createHashMapFromArray [\n",[221,957,958],{"class":223,"line":231},[221,959,960],{}," [\"classname\", \"B_Quadbike_01_F\"],\n",[221,962,963],{"class":223,"line":259},[221,964,965],{}," [\"category\", \"cars\"],\n",[221,967,968],{"class":223,"line":280},[221,969,970],{}," [\"priceValue\", 1500]\n",[221,972,973],{"class":223,"line":301},[221,974,873],{},[221,976,977],{"class":223,"line":316},[221,978,879],{"emptyLinePlaceholder":878},[221,980,981],{"class":223,"line":337},[221,982,884],{},[221,984,985],{"class":223,"line":352},[221,986,889],{},[221,988,989],{"class":223,"line":358},[221,990,894],{},[221,992,993],{"class":223,"line":381},[221,994,995],{}," [\"orgId\", _orgId],\n",[221,997,998],{"class":223,"line":402},[221,999,904],{},[221,1001,1002],{"class":223,"line":420},[221,1003,1004],{}," [\"paymentMethod\", \"org_funds\"],\n",[221,1006,1007],{"class":223,"line":435},[221,1008,1009],{}," [\"items\", []],\n",[221,1011,1012],{"class":223,"line":441},[221,1013,1014],{}," [\"vehicles\", [_vehicle]]\n",[221,1016,1017],{"class":223,"line":447},[221,1018,873],{},[221,1020,1021],{"class":223,"line":461},[221,1022,879],{"emptyLinePlaceholder":878},[221,1024,1025],{"class":223,"line":466},[221,1026,932],{},[159,1028,1030],{"id":1029},"error-handling","Error Handling",[212,1032,1034],{"className":839,"code":1033,"language":841,"meta":217,"style":217},"private _payload = _result select 0;\nif (_payload find \"Error:\" == 0) exitWith {\n hint format [\"Checkout failed: %1\", _payload];\n};\n\nprivate _checkoutResult = fromJSON _payload;\n",[173,1035,1036,1041,1046,1051,1056,1060],{"__ignoreMap":217},[221,1037,1038],{"class":223,"line":224},[221,1039,1040],{},"private _payload = _result select 0;\n",[221,1042,1043],{"class":223,"line":231},[221,1044,1045],{},"if (_payload find \"Error:\" == 0) exitWith {\n",[221,1047,1048],{"class":223,"line":259},[221,1049,1050],{}," hint format [\"Checkout failed: %1\", _payload];\n",[221,1052,1053],{"class":223,"line":280},[221,1054,1055],{},"};\n",[221,1057,1058],{"class":223,"line":301},[221,1059,879],{"emptyLinePlaceholder":878},[221,1061,1062],{"class":223,"line":316},[221,1063,1064],{},"private _checkoutResult = fromJSON _payload;\n",[1066,1067,1068],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":217,"searchDepth":231,"depth":231,"links":1070},[1071,1072,1073,1074,1075,1076,1077],{"id":161,"depth":231,"text":162},{"id":204,"depth":231,"text":205},{"id":614,"depth":231,"text":615},{"id":654,"depth":231,"text":655},{"id":835,"depth":231,"text":836},{"id":935,"depth":231,"text":936},{"id":1029,"depth":231,"text":1030},"md",null,{},{"title":53,"description":157},"PagD8Wx8XDQTlB6cdVUen7XOkIgjt96Gazqirt2_9qw",[1084,1086],{"title":49,"path":50,"stem":51,"description":1085,"children":-1},"The actor module stores persistent player character data: identity, loadout,\nposition, direction, stance, contact fields, state, holster status, rank, and\norganization.",{"title":57,"path":58,"stem":59,"description":1087,"children":-1},"The task module stores transient mission task metadata for active server or\nmission lifecycle workflows. SQF still owns Arma-only runtime state such as\nobjects and participants.",1776805514938]