1 line
24 KiB
JSON
1 line
24 KiB
JSON
[{"data":1,"prerenderedAt":1149},["ShallowReactive",2],{"navigation_docs":3,"-server-modules-bank":145,"-server-modules-bank-surround":1144},[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":61,"body":147,"description":157,"extension":1139,"links":1140,"meta":1141,"navigation":540,"path":62,"seo":1142,"stem":63,"__hash__":1143},"docs\u002F3.server-modules\u002F2.bank.md",{"type":148,"value":149,"toc":1128},"minimark",[150,154,158,163,166,324,327,361,365,473,477,483,566,570,794,797,801,811,890,894,905,964,968,985,1034,1038,1041,1077,1081,1124],[151,152,61],"h1",{"id":153},"bank-usage-guide",[155,156,157],"p",{},"The bank module stores player account balances, earnings, PINs, and transaction\nstrings. The hot-state API also owns the active banking workflows used by the\nUI: deposit, withdraw, transfer, checkout charge, and PIN validation.",[159,160,162],"h2",{"id":161},"storage-model","Storage Model",[155,164,165],{},"Bank data is persisted through SurrealDB by the server extension.",[167,168,173],"pre",{"className":169,"code":170,"language":171,"meta":172,"style":172},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n \"uid\": \"76561198000000000\",\n \"name\": \"Player Name\",\n \"bank\": 1000.0,\n \"cash\": 250.0,\n \"earnings\": 0.0,\n \"pin\": 1234,\n \"transactions\": []\n}\n","json","",[174,175,176,185,213,234,252,269,286,303,318],"code",{"__ignoreMap":172},[177,178,181],"span",{"class":179,"line":180},"line",1,[177,182,184],{"class":183},"sMK4o","{\n",[177,186,188,191,195,198,201,204,208,210],{"class":179,"line":187},2,[177,189,190],{"class":183}," \"",[177,192,194],{"class":193},"spNyl","uid",[177,196,197],{"class":183},"\"",[177,199,200],{"class":183},":",[177,202,203],{"class":183}," \"",[177,205,207],{"class":206},"sfazB","76561198000000000",[177,209,197],{"class":183},[177,211,212],{"class":183},",\n",[177,214,216,218,221,223,225,227,230,232],{"class":179,"line":215},3,[177,217,190],{"class":183},[177,219,220],{"class":193},"name",[177,222,197],{"class":183},[177,224,200],{"class":183},[177,226,203],{"class":183},[177,228,229],{"class":206},"Player Name",[177,231,197],{"class":183},[177,233,212],{"class":183},[177,235,237,239,242,244,246,250],{"class":179,"line":236},4,[177,238,190],{"class":183},[177,240,241],{"class":193},"bank",[177,243,197],{"class":183},[177,245,200],{"class":183},[177,247,249],{"class":248},"sbssI"," 1000.0",[177,251,212],{"class":183},[177,253,255,257,260,262,264,267],{"class":179,"line":254},5,[177,256,190],{"class":183},[177,258,259],{"class":193},"cash",[177,261,197],{"class":183},[177,263,200],{"class":183},[177,265,266],{"class":248}," 250.0",[177,268,212],{"class":183},[177,270,272,274,277,279,281,284],{"class":179,"line":271},6,[177,273,190],{"class":183},[177,275,276],{"class":193},"earnings",[177,278,197],{"class":183},[177,280,200],{"class":183},[177,282,283],{"class":248}," 0.0",[177,285,212],{"class":183},[177,287,289,291,294,296,298,301],{"class":179,"line":288},7,[177,290,190],{"class":183},[177,292,293],{"class":193},"pin",[177,295,197],{"class":183},[177,297,200],{"class":183},[177,299,300],{"class":248}," 1234",[177,302,212],{"class":183},[177,304,306,308,311,313,315],{"class":179,"line":305},8,[177,307,190],{"class":183},[177,309,310],{"class":193},"transactions",[177,312,197],{"class":183},[177,314,200],{"class":183},[177,316,317],{"class":183}," []\n",[177,319,321],{"class":179,"line":320},9,[177,322,323],{"class":183},"}\n",[155,325,326],{},"Rules validated by the Rust service:",[328,329,330,336,341,349,354],"ul",{},[331,332,333,335],"li",{},[174,334,194],{}," is authoritative from the command argument.",[331,337,338,340],{},[174,339,220],{}," cannot be empty.",[331,342,343,345,346,348],{},[174,344,241],{}," and ",[174,347,259],{}," cannot be negative.",[331,350,351,353],{},[174,352,293],{}," must be a four-digit number.",[331,355,356,357,360],{},"Durable ",[174,358,359],{},"bank:get"," requires an existing bank account.",[159,362,364],{"id":363},"durable-commands","Durable Commands",[366,367,368,384],"table",{},[369,370,371],"thead",{},[372,373,374,378,381],"tr",{},[375,376,377],"th",{},"Command",[375,379,380],{},"Arguments",[375,382,383],{},"Returns",[385,386,387,406,419,436,457],"tbody",{},[372,388,389,395,403],{},[390,391,392],"td",{},[174,393,394],{},"bank:create",[390,396,397,399,400],{},[174,398,194],{},", ",[174,401,402],{},"bank_json",[390,404,405],{},"Persisted bank JSON.",[372,407,408,412,416],{},[390,409,410],{},[174,411,359],{},[390,413,414],{},[174,415,194],{},[390,417,418],{},"Bank JSON.",[372,420,421,426,433],{},[390,422,423],{},[174,424,425],{},"bank:update",[390,427,428,399,430],{},[174,429,194],{},[174,431,432],{},"patch_json",[390,434,435],{},"Updated bank JSON.",[372,437,438,443,447],{},[390,439,440],{},[174,441,442],{},"bank:exists",[390,444,445],{},[174,446,194],{},[390,448,449,452,453,456],{},[174,450,451],{},"true"," or ",[174,454,455],{},"false",".",[372,458,459,464,468],{},[390,460,461],{},[174,462,463],{},"bank:delete",[390,465,466],{},[174,467,194],{},[390,469,470,456],{},[174,471,472],{},"OK",[159,474,476],{"id":475},"create-an-account","Create an Account",[155,478,479,480,482],{},"The ",[174,481,194],{}," field in the JSON is overwritten with the command UID.",[167,484,488],{"className":485,"code":486,"language":487,"meta":172,"style":172},"language-sqf shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","private _account = createHashMapFromArray [\n [\"uid\", getPlayerUID player],\n [\"name\", name player],\n [\"bank\", 0],\n [\"cash\", 0],\n [\"earnings\", 0],\n [\"pin\", 1234],\n [\"transactions\", []]\n];\n\nprivate _result = \"forge_server\" callExtension [\"bank:create\", [\n getPlayerUID player,\n toJSON _account\n]];\n","sqf",[174,489,490,495,500,505,510,515,520,525,530,535,542,548,554,560],{"__ignoreMap":172},[177,491,492],{"class":179,"line":180},[177,493,494],{},"private _account = createHashMapFromArray [\n",[177,496,497],{"class":179,"line":187},[177,498,499],{}," [\"uid\", getPlayerUID player],\n",[177,501,502],{"class":179,"line":215},[177,503,504],{}," [\"name\", name player],\n",[177,506,507],{"class":179,"line":236},[177,508,509],{}," [\"bank\", 0],\n",[177,511,512],{"class":179,"line":254},[177,513,514],{}," [\"cash\", 0],\n",[177,516,517],{"class":179,"line":271},[177,518,519],{}," [\"earnings\", 0],\n",[177,521,522],{"class":179,"line":288},[177,523,524],{}," [\"pin\", 1234],\n",[177,526,527],{"class":179,"line":305},[177,528,529],{}," [\"transactions\", []]\n",[177,531,532],{"class":179,"line":320},[177,533,534],{},"];\n",[177,536,538],{"class":179,"line":537},10,[177,539,541],{"emptyLinePlaceholder":540},true,"\n",[177,543,545],{"class":179,"line":544},11,[177,546,547],{},"private _result = \"forge_server\" callExtension [\"bank:create\", [\n",[177,549,551],{"class":179,"line":550},12,[177,552,553],{}," getPlayerUID player,\n",[177,555,557],{"class":179,"line":556},13,[177,558,559],{}," toJSON _account\n",[177,561,563],{"class":179,"line":562},14,[177,564,565],{},"]];\n",[159,567,569],{"id":568},"hot-state-commands","Hot-State Commands",[366,571,572,582],{},[369,573,574],{},[372,575,576,578,580],{},[375,577,377],{},[375,579,380],{},[375,581,383],{},[385,583,584,598,611,626,644,665,684,703,725,744,765,779],{},[372,585,586,591,595],{},[390,587,588],{},[174,589,590],{},"bank:hot:init",[390,592,593],{},[174,594,194],{},[390,596,597],{},"Bank JSON loaded into hot state.",[372,599,600,605,609],{},[390,601,602],{},[174,603,604],{},"bank:hot:get",[390,606,607],{},[174,608,194],{},[390,610,418],{},[372,612,613,618,624],{},[390,614,615],{},[174,616,617],{},"bank:hot:override",[390,619,620,399,622],{},[174,621,194],{},[174,623,402],{},[390,625,418],{},[372,627,628,633,639],{},[390,629,630],{},[174,631,632],{},"bank:hot:patch",[390,634,635,399,637],{},[174,636,194],{},[174,638,432],{},[390,640,641,456],{},[174,642,643],{},"{ account, patch }",[372,645,646,651,661],{},[390,647,648],{},[174,649,650],{},"bank:hot:deposit",[390,652,653,399,655,399,658],{},[174,654,194],{},[174,656,657],{},"amount",[174,659,660],{},"context_json",[390,662,663,456],{},[174,664,643],{},[372,666,667,672,680],{},[390,668,669],{},[174,670,671],{},"bank:hot:withdraw",[390,673,674,399,676,399,678],{},[174,675,194],{},[174,677,657],{},[174,679,660],{},[390,681,682,456],{},[174,683,643],{},[372,685,686,691,699],{},[390,687,688],{},[174,689,690],{},"bank:hot:deposit_earnings",[390,692,693,399,695,399,697],{},[174,694,194],{},[174,696,657],{},[174,698,660],{},[390,700,701,456],{},[174,702,643],{},[372,704,705,710,722],{},[390,706,707],{},[174,708,709],{},"bank:hot:transfer",[390,711,712,399,715,399,718,399,720],{},[174,713,714],{},"source_uid",[174,716,717],{},"target_uid",[174,719,657],{},[174,721,660],{},[390,723,724],{},"Transfer result JSON.",[372,726,727,732,740],{},[390,728,729],{},[174,730,731],{},"bank:hot:charge_checkout",[390,733,734,399,736,399,738],{},[174,735,194],{},[174,737,657],{},[174,739,660],{},[390,741,742,456],{},[174,743,643],{},[372,745,746,751,759],{},[390,747,748],{},[174,749,750],{},"bank:hot:validate_pin",[390,752,753,399,755,399,757],{},[174,754,194],{},[174,756,293],{},[174,758,660],{},[390,760,761,764],{},[174,762,763],{},"{}"," on success.",[372,766,767,772,776],{},[390,768,769],{},[174,770,771],{},"bank:hot:save",[390,773,774],{},[174,775,194],{},[390,777,778],{},"Current hot bank JSON and async durable save.",[372,780,781,786,790],{},[390,782,783],{},[174,784,785],{},"bank:hot:remove",[390,787,788],{},[174,789,194],{},[390,791,792,456],{},[174,793,472],{},[155,795,796],{},"Use hot-state commands for UI workflows. They return patch objects so the UI can\nupdate only changed fields.",[159,798,800],{"id":799},"deposit-and-withdraw","Deposit and Withdraw",[155,802,803,804,807,808,456],{},"ATM sessions require ",[174,805,806],{},"atmAuthorized: true",". Full bank sessions can set\n",[174,809,810],{},"mode: \"bank\"",[167,812,814],{"className":485,"code":813,"language":487,"meta":172,"style":172},"private _context = createHashMapFromArray [\n [\"mode\", \"atm\"],\n [\"atmAuthorized\", true]\n];\n\nprivate _deposit = \"forge_server\" callExtension [\"bank:hot:deposit\", [\n getPlayerUID player,\n \"100\",\n toJSON _context\n]];\n\nprivate _withdraw = \"forge_server\" callExtension [\"bank:hot:withdraw\", [\n getPlayerUID player,\n \"50\",\n toJSON _context\n]];\n",[174,815,816,821,826,831,835,839,844,848,853,858,862,866,871,875,880,885],{"__ignoreMap":172},[177,817,818],{"class":179,"line":180},[177,819,820],{},"private _context = createHashMapFromArray [\n",[177,822,823],{"class":179,"line":187},[177,824,825],{}," [\"mode\", \"atm\"],\n",[177,827,828],{"class":179,"line":215},[177,829,830],{}," [\"atmAuthorized\", true]\n",[177,832,833],{"class":179,"line":236},[177,834,534],{},[177,836,837],{"class":179,"line":254},[177,838,541],{"emptyLinePlaceholder":540},[177,840,841],{"class":179,"line":271},[177,842,843],{},"private _deposit = \"forge_server\" callExtension [\"bank:hot:deposit\", [\n",[177,845,846],{"class":179,"line":288},[177,847,553],{},[177,849,850],{"class":179,"line":305},[177,851,852],{}," \"100\",\n",[177,854,855],{"class":179,"line":320},[177,856,857],{}," toJSON _context\n",[177,859,860],{"class":179,"line":537},[177,861,565],{},[177,863,864],{"class":179,"line":544},[177,865,541],{"emptyLinePlaceholder":540},[177,867,868],{"class":179,"line":550},[177,869,870],{},"private _withdraw = \"forge_server\" callExtension [\"bank:hot:withdraw\", [\n",[177,872,873],{"class":179,"line":556},[177,874,553],{},[177,876,877],{"class":179,"line":562},[177,878,879],{}," \"50\",\n",[177,881,883],{"class":179,"line":882},15,[177,884,857],{},[177,886,888],{"class":179,"line":887},16,[177,889,565],{},[159,891,893],{"id":892},"transfer","Transfer",[155,895,896,897,900,901,452,903,456],{},"Transfers are only available from the full bank interface. ",[174,898,899],{},"fromField"," can be\n",[174,902,241],{},[174,904,259],{},[167,906,908],{"className":485,"code":907,"language":487,"meta":172,"style":172},"private _context = createHashMapFromArray [\n [\"mode\", \"bank\"],\n [\"atmAuthorized\", false],\n [\"fromField\", \"bank\"]\n];\n\nprivate _result = \"forge_server\" callExtension [\"bank:hot:transfer\", [\n getPlayerUID player,\n _targetUid,\n \"250\",\n toJSON _context\n]];\n",[174,909,910,914,919,924,929,933,937,942,946,951,956,960],{"__ignoreMap":172},[177,911,912],{"class":179,"line":180},[177,913,820],{},[177,915,916],{"class":179,"line":187},[177,917,918],{}," [\"mode\", \"bank\"],\n",[177,920,921],{"class":179,"line":215},[177,922,923],{}," [\"atmAuthorized\", false],\n",[177,925,926],{"class":179,"line":236},[177,927,928],{}," [\"fromField\", \"bank\"]\n",[177,930,931],{"class":179,"line":254},[177,932,534],{},[177,934,935],{"class":179,"line":271},[177,936,541],{"emptyLinePlaceholder":540},[177,938,939],{"class":179,"line":288},[177,940,941],{},"private _result = \"forge_server\" callExtension [\"bank:hot:transfer\", [\n",[177,943,944],{"class":179,"line":305},[177,945,553],{},[177,947,948],{"class":179,"line":320},[177,949,950],{}," _targetUid,\n",[177,952,953],{"class":179,"line":537},[177,954,955],{}," \"250\",\n",[177,957,958],{"class":179,"line":544},[177,959,857],{},[177,961,962],{"class":179,"line":550},[177,963,565],{},[159,965,967],{"id":966},"checkout-charge","Checkout Charge",[155,969,970,971,452,974,977,978,981,982,984],{},"Checkout charging supports ",[174,972,973],{},"sourceField: \"cash\"",[174,975,976],{},"sourceField: \"bank\"",".\nSet ",[174,979,980],{},"commit"," to ",[174,983,455],{}," to preview the patch without saving.",[167,986,988],{"className":485,"code":987,"language":487,"meta":172,"style":172},"private _context = createHashMapFromArray [\n [\"sourceField\", \"bank\"],\n [\"commit\", true]\n];\n\nprivate _result = \"forge_server\" callExtension [\"bank:hot:charge_checkout\", [\n getPlayerUID player,\n \"125\",\n toJSON _context\n]];\n",[174,989,990,994,999,1004,1008,1012,1017,1021,1026,1030],{"__ignoreMap":172},[177,991,992],{"class":179,"line":180},[177,993,820],{},[177,995,996],{"class":179,"line":187},[177,997,998],{}," [\"sourceField\", \"bank\"],\n",[177,1000,1001],{"class":179,"line":215},[177,1002,1003],{}," [\"commit\", true]\n",[177,1005,1006],{"class":179,"line":236},[177,1007,534],{},[177,1009,1010],{"class":179,"line":254},[177,1011,541],{"emptyLinePlaceholder":540},[177,1013,1014],{"class":179,"line":271},[177,1015,1016],{},"private _result = \"forge_server\" callExtension [\"bank:hot:charge_checkout\", [\n",[177,1018,1019],{"class":179,"line":288},[177,1020,553],{},[177,1022,1023],{"class":179,"line":305},[177,1024,1025],{}," \"125\",\n",[177,1027,1028],{"class":179,"line":320},[177,1029,857],{},[177,1031,1032],{"class":179,"line":537},[177,1033,565],{},[159,1035,1037],{"id":1036},"pin-validation","PIN Validation",[155,1039,1040],{},"PIN entry is only valid in ATM mode.",[167,1042,1044],{"className":485,"code":1043,"language":487,"meta":172,"style":172},"private _context = createHashMapFromArray [[\"mode\", \"atm\"]];\n\nprivate _result = \"forge_server\" callExtension [\"bank:hot:validate_pin\", [\n getPlayerUID player,\n \"1234\",\n toJSON _context\n]];\n",[174,1045,1046,1051,1055,1060,1064,1069,1073],{"__ignoreMap":172},[177,1047,1048],{"class":179,"line":180},[177,1049,1050],{},"private _context = createHashMapFromArray [[\"mode\", \"atm\"]];\n",[177,1052,1053],{"class":179,"line":187},[177,1054,541],{"emptyLinePlaceholder":540},[177,1056,1057],{"class":179,"line":215},[177,1058,1059],{},"private _result = \"forge_server\" callExtension [\"bank:hot:validate_pin\", [\n",[177,1061,1062],{"class":179,"line":236},[177,1063,553],{},[177,1065,1066],{"class":179,"line":254},[177,1067,1068],{}," \"1234\",\n",[177,1070,1071],{"class":179,"line":271},[177,1072,857],{},[177,1074,1075],{"class":179,"line":288},[177,1076,565],{},[159,1078,1080],{"id":1079},"error-handling","Error Handling",[167,1082,1084],{"className":485,"code":1083,"language":487,"meta":172,"style":172},"private _result = \"forge_server\" callExtension [\"bank:hot:get\", [getPlayerUID player]];\nprivate _payload = _result select 0;\n\nif (_payload find \"Error:\" == 0) exitWith {\n systemChat format [\"Bank error: %1\", _payload];\n};\n\nprivate _bank = fromJSON _payload;\n",[174,1085,1086,1091,1096,1100,1105,1110,1115,1119],{"__ignoreMap":172},[177,1087,1088],{"class":179,"line":180},[177,1089,1090],{},"private _result = \"forge_server\" callExtension [\"bank:hot:get\", [getPlayerUID player]];\n",[177,1092,1093],{"class":179,"line":187},[177,1094,1095],{},"private _payload = _result select 0;\n",[177,1097,1098],{"class":179,"line":215},[177,1099,541],{"emptyLinePlaceholder":540},[177,1101,1102],{"class":179,"line":236},[177,1103,1104],{},"if (_payload find \"Error:\" == 0) exitWith {\n",[177,1106,1107],{"class":179,"line":254},[177,1108,1109],{}," systemChat format [\"Bank error: %1\", _payload];\n",[177,1111,1112],{"class":179,"line":271},[177,1113,1114],{},"};\n",[177,1116,1117],{"class":179,"line":288},[177,1118,541],{"emptyLinePlaceholder":540},[177,1120,1121],{"class":179,"line":305},[177,1122,1123],{},"private _bank = fromJSON _payload;\n",[1125,1126,1127],"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 .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":172,"searchDepth":187,"depth":187,"links":1129},[1130,1131,1132,1133,1134,1135,1136,1137,1138],{"id":161,"depth":187,"text":162},{"id":363,"depth":187,"text":364},{"id":475,"depth":187,"text":476},{"id":568,"depth":187,"text":569},{"id":799,"depth":187,"text":800},{"id":892,"depth":187,"text":893},{"id":966,"depth":187,"text":967},{"id":1036,"depth":187,"text":1037},{"id":1079,"depth":187,"text":1080},"md",null,{},{"title":61,"description":157},"sIOXEyzlGQFhd8qUZozTWTtuL76YtpRKFT959rOS7FM",[1145,1147],{"title":57,"path":58,"stem":59,"description":1146,"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.",{"title":65,"path":66,"stem":67,"description":1148,"children":-1},"The CAD module stores transient operational state for dispatch activity,\nassignments, dispatch orders, support requests, group profiles, grouped views,\nand hydrated UI payloads. CAD state is in-memory and follows the active server\nor mission lifecycle.",1776806627742] |