[{"data":1,"prerenderedAt":4722},["ShallowReactive",2],{"/docs/scripts/free-phone/inventory-items":3,"/docs/scripts/free-phone/inventory-items-surround":4711,"/docs/scripts/free-phone/inventory-items-implemented-suggestions":4721},{"id":4,"title":5,"body":6,"description":4702,"extension":4703,"head":4704,"implementedSuggestions":4704,"meta":4705,"navigation":1064,"path":4706,"schemaOrg":4704,"seo":4707,"sitemap":4708,"stem":4709,"__hash__":4710},"docs/1.docs/scripts/4.free-phone/6.inventory-items.md","Inventory Items & Setup",{"type":7,"value":8,"toc":4673},"minimark",[9,18,23,62,73,115,134,138,145,430,434,511,518,539,557,561,573,901,918,923,939,946,950,967,972,1109,1123,1126,1136,1585,1609,1628,1642,1646,1649,2044,2063,2066,2090,2093,2112,2115,2138,2141,2168,2171,2197,2210,2213,2238,2249,2253,2266,2549,2584,2588,2603,2988,3021,3025,3056,3080,3090,3170,3173,3679,3703,3713,3717,3734,3798,3853,3860,3864,3882,4235,4254,4257,4274,4305,4324,4327,4345,4354,4363,4367,4384,4456,4481,4485,4488,4497,4501,4520,4537,4540,4544,4659,4662,4669],[10,11,12,13,17],"p",{},"Choose your inventory below, register the phone and SIM items in its own format, then verify item use and metadata. These instructions describe the adapters included in Sky Phone ",[14,15,16],"strong",{},"1.1.0",". An inventory accepting ox-style item fields does not make its use callbacks compatible with ox_inventory.",[19,20,22],"h2",{"id":21},"choose-the-inventory-in-phonepanel","Choose the inventory in Phonepanel",[24,25,26,30,38,59],"ol",{},[27,28,29],"li",{},"Finish your inventory provider's framework installation first.",[27,31,32,33,37],{},"Open ",[34,35,36],"code",{},"/phonepanel → Phone configurator → General → Framework & integrations → Inventory"," and choose the adapter value from the table below.",[27,39,40,41,44,45,44,48,44,51,54,55,58],{},"Check ",[34,42,43],{},"Phone.Item",", ",[34,46,47],{},"Phone.Unique",[34,49,50],{},"Sim.Enabled",[34,52,53],{},"Sim.RegisteredItem",", and ",[34,56,57],{},"Sim.AnonymousItem"," in the same Configurator. The examples on this page use the default names, unique phones, and physical SIMs.",[27,60,61],{},"Save with the checkmark and confirm success. Restart after changing the inventory adapter; saving does not restart the resources.",[10,63,64,65,68,69,72],{},"With ",[34,66,67],{},"Config.PhoneConfigurator.Enabled = true",", these settings come from the Configurator, including on first start. Editing Part 2 of ",[34,70,71],{},"config.lua"," does not apply them. Only in file mode, use the corresponding setting, for example:",[74,75,80],"pre",{"className":76,"code":77,"language":78,"meta":79,"style":79},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Config.Bridge.Inventory = \"tgiann\"\n","lua","",[34,81,82],{"__ignoreMap":79},[83,84,87,91,95,98,101,105,108,112],"span",{"class":85,"line":86},"line",1,[83,88,90],{"class":89},"sTEyZ","Config.",[83,92,94],{"class":93},"sBMFI","Bridge",[83,96,97],{"class":89},".",[83,99,100],{"class":93},"Inventory",[83,102,104],{"class":103},"sMK4o"," =",[83,106,107],{"class":103}," \"",[83,109,111],{"class":110},"sfazB","tgiann",[83,113,114],{"class":103},"\"\n",[10,116,117,120,121,124,125,128,129,97],{},[34,118,119],{},"auto"," selects the first compatible started inventory in Phone's detection order. Select an explicit adapter when troubleshooting or replacing an inventory. The inventory alias ",[34,122,123],{},"qbox"," means ",[34,126,127],{},"ox","; it is not a request to detect any inventory installed on Qbox. See ",[130,131,133],"a",{"href":132},"/docs/scripts/free-phone/configuration","configuration modes and access",[19,135,137],{"id":136},"inventory-selector","Inventory selector",[10,139,140,141,144],{},"The constraints below describe ",[14,142,143],{},"Sky Phone's adapters",". Also follow the provider's installation guide for your framework and exact inventory version.",[146,147,148,161],"table",{},[149,150,151],"thead",{},[152,153,154,158],"tr",{},[155,156,157],"th",{},"Inventory & setup → Phone adapter",[155,159,160],{},"Constraints",[162,163,164,183,200,218,234,248,261,275,292,312,326,340,354,375,389,403,417],"tbody",{},[152,165,166,176],{},[167,168,169,173,174],"td",{},[130,170,172],{"href":171},"#ox-inventory","ox_inventory"," → ",[34,175,127],{},[167,177,178,179,182],{},"Per-item metadata; requires the server ",[34,180,181],{},"usedItem"," event",[152,184,185,193],{},[167,186,187,173,191],{},[130,188,190],{"href":189},"#tgiann-inventory","tgiann-inventory",[34,192,111],{},[167,194,195,196,199],{},"Enable ",[34,197,198],{},"hasMetadata","; use native framework callbacks",[152,201,202,211],{},[167,203,204,173,208],{},[130,205,207],{"href":206},"#qb-inventory","qb-inventory",[34,209,210],{},"qb",[167,212,213,214,217],{},"Stock QBCore setup; ",[34,215,216],{},"info"," metadata",[152,219,220,229],{},[167,221,222,173,226],{},[130,223,225],{"href":224},"#lj-inventory","lj-inventory",[34,227,228],{},"lj",[167,230,231,232,217],{},"QBCore setup; ",[34,233,216],{},[152,235,236,245],{},[167,237,238,173,242],{},[130,239,241],{"href":240},"#ps-inventory","ps-inventory",[34,243,244],{},"ps",[167,246,247],{},"Phone adapter requires QBCore",[152,249,250,259],{},[167,251,252,173,256],{},[130,253,255],{"href":254},"#jpr-inventory","jpr-inventory",[34,257,258],{},"jpr",[167,260,247],{},[152,262,263,272],{},[167,264,265,173,269],{},[130,266,268],{"href":267},"#qs-inventory","qs-inventory",[34,270,271],{},"qs",[167,273,274],{},"ESX and QB use different item locations",[152,276,277,286],{},[167,278,279,173,283],{},[130,280,282],{"href":281},"#codem-inventory","codem-inventory",[34,284,285],{},"codem",[167,287,288,289],{},"mInventory Remake; not ",[34,290,291],{},"codem-inventoryv2",[152,293,294,303],{},[167,295,296,173,300],{},[130,297,299],{"href":298},"#ak47-inventory","ak47_inventory",[34,301,302],{},"ak47",[167,304,305,306,309,310,217],{},"Native ",[34,307,308],{},"stacksize"," format; ",[34,311,216],{},[152,313,314,323],{},[167,315,316,173,320],{},[130,317,319],{"href":318},"#jaksam-inventory","jaksam_inventory",[34,321,322],{},"jaksam",[167,324,325],{},"Native item schema and usable-item registration",[152,327,328,337],{},[167,329,330,173,334],{},[130,331,333],{"href":332},"#core-inventory","core_inventory",[34,335,336],{},"core",[167,338,339],{},"Version check required; current documented APIs differ from Phone 1.1.0",[152,341,342,351],{},[167,343,344,173,348],{},[130,345,347],{"href":346},"#one-inventory","one_inventory",[34,349,350],{},"one",[167,352,353],{},"Persistent item editor; per-item metadata",[152,355,356,365],{},[167,357,358,173,362],{},[130,359,361],{"href":360},"#origen-inventory","origen_inventory",[34,363,364],{},"origen",[167,366,305,367,370,371,374],{},[34,368,369],{},"stack"," / ",[34,372,373],{},"close"," format; per-item metadata",[152,376,377,386],{},[167,378,379,173,383],{},[130,380,382],{"href":381},"#mf-inventory","mf-inventory",[34,384,385],{},"mf",[167,387,388],{},"ESX only; verify the installed usable-item callback contract",[152,390,391,400],{},[167,392,393,173,397],{},[130,394,396],{"href":395},"#smx-inventory","smx-inventory",[34,398,399],{},"smx",[167,401,402],{},"ESX only; one metadata record per character and item name",[152,404,405,414],{},[167,406,407,173,411],{},[130,408,410],{"href":409},"#hex-and-native-esx-inventory","hex_4_inventory",[34,412,413],{},"hex",[167,415,416],{},"ESX only; no unique phones or physical SIMs",[152,418,419,427],{},[167,420,421,173,424],{},[130,422,423],{"href":409},"Native ESX inventory",[34,425,426],{},"esx",[167,428,429],{},"No unique phones or physical SIMs",[19,431,433],{"id":432},"required-items-and-images","Required items and images",[146,435,436,452],{},[149,437,438],{},[152,439,440,443,446,449],{},[155,441,442],{},"Default item ID",[155,444,445],{},"Purpose",[155,447,448],{},"Required when",[155,450,451],{},"Included image",[162,453,454,472,492],{},[152,455,456,461,464,467],{},[167,457,458],{},[34,459,460],{},"phone",[167,462,463],{},"Opens the phone",[167,465,466],{},"Always, including character-based phone mode",[167,468,469],{},[34,470,471],{},"phone.png",[152,473,474,479,482,487],{},[167,475,476],{},[34,477,478],{},"sky_phone_sim_registered",[167,480,481],{},"Registered physical SIM",[167,483,484],{},[34,485,486],{},"Sim.Enabled = true",[167,488,489],{},[34,490,491],{},"sky_phone_sim_registered.png",[152,493,494,499,502,506],{},[167,495,496],{},[34,497,498],{},"sky_phone_sim_anonymous",[167,500,501],{},"Anonymous physical SIM",[167,503,504],{},[34,505,486],{},[167,507,508],{},[34,509,510],{},"sky_phone_sim_anonymous.png",[10,512,513,514,517],{},"The images are included in ",[34,515,516],{},"sky_phone/config/images/",". Copy them to your inventory's image location below. If your inventory has a configurable image URL or a separate image resource, use its active location.",[519,520,521,524,527,533,536],"ul",{},[27,522,523],{},"Merge the entries into the existing item catalogue. Replace an existing definition of the same name instead of adding a duplicate key.",[27,525,526],{},"Keep the item IDs identical in Phonepanel, the inventory, and any shops or distribution scripts. Display labels can be translated.",[27,528,529,530,97],{},"Unique phones and physical SIMs each need their own slot. Physical SIMs remain non-stackable even if ",[34,531,532],{},"Phone.Unique = false",[27,534,535],{},"Leave default identity metadata empty. Sky Phone assigns IMEIs, SIM identities, and numbers; do not prefill or duplicate these values in items or shop stock.",[27,537,538],{},"Sky Phone handles removal of a SIM after a successful insertion. Do not add separate consumption or use handlers that remove it first.",[10,540,541,552,553,556],{},[14,542,543,544,547,548,551],{},"The client exports ",[34,545,546],{},"sky_phone.UsePhoneItem"," and ",[34,549,550],{},"sky_phone.UseSimItem"," belong only in the ox_inventory definitions below."," Other Phone adapters register item use through their own inventory or framework. Remove these ox-only use hooks when moving to another inventory, including compatibility fields that call them. This does not refer to the separate optional ",[34,554,555],{},"EjectSimFromSlot"," context-menu export.",[19,558,560],{"id":559},"ox-inventory","ox inventory",[10,562,563,564,568,569,572],{},"Select ",[14,565,566],{},[34,567,127],{},". Merge all three entries into ",[34,570,571],{},"ox_inventory/data/items.lua",", inside its existing returned table:",[74,574,576],{"className":76,"code":575,"language":78,"meta":79,"style":79},"[\"phone\"] = {\n    label = \"iFruit Phone\",\n    weight = 200,\n    stack = false,\n    close = true,\n    consume = 0,\n    client = { export = \"sky_phone.UsePhoneItem\" },\n},\n[\"sky_phone_sim_registered\"] = {\n    label = \"Registered SIM\",\n    weight = 5,\n    stack = false,\n    close = true,\n    consume = 0,\n    client = { export = \"sky_phone.UseSimItem\" },\n},\n[\"sky_phone_sim_anonymous\"] = {\n    label = \"Anonymous SIM\",\n    weight = 5,\n    stack = false,\n    close = true,\n    consume = 0,\n    client = { export = \"sky_phone.UseSimItem\" },\n},\n",[34,577,578,599,617,631,644,657,670,693,698,715,731,743,754,765,776,795,800,817,833,844,855,866,877,896],{"__ignoreMap":79},[83,579,580,583,586,588,590,593,596],{"class":85,"line":86},[83,581,582],{"class":89},"[",[83,584,585],{"class":103},"\"",[83,587,460],{"class":110},[83,589,585],{"class":103},[83,591,592],{"class":89},"] ",[83,594,595],{"class":103},"=",[83,597,598],{"class":89}," {\n",[83,600,602,605,607,609,612,614],{"class":85,"line":601},2,[83,603,604],{"class":89},"    label ",[83,606,595],{"class":103},[83,608,107],{"class":103},[83,610,611],{"class":110},"iFruit Phone",[83,613,585],{"class":103},[83,615,616],{"class":89},",\n",[83,618,620,623,625,629],{"class":85,"line":619},3,[83,621,622],{"class":89},"    weight ",[83,624,595],{"class":103},[83,626,628],{"class":627},"sbssI"," 200",[83,630,616],{"class":89},[83,632,634,637,639,642],{"class":85,"line":633},4,[83,635,636],{"class":89},"    stack ",[83,638,595],{"class":103},[83,640,641],{"class":103}," false",[83,643,616],{"class":89},[83,645,647,650,652,655],{"class":85,"line":646},5,[83,648,649],{"class":89},"    close ",[83,651,595],{"class":103},[83,653,654],{"class":103}," true",[83,656,616],{"class":89},[83,658,660,663,665,668],{"class":85,"line":659},6,[83,661,662],{"class":89},"    consume ",[83,664,595],{"class":103},[83,666,667],{"class":627}," 0",[83,669,616],{"class":89},[83,671,673,676,678,681,683,685,687,690],{"class":85,"line":672},7,[83,674,675],{"class":89},"    client ",[83,677,595],{"class":103},[83,679,680],{"class":89}," { export ",[83,682,595],{"class":103},[83,684,107],{"class":103},[83,686,546],{"class":110},[83,688,689],{"class":103},"\" ",[83,691,692],{"class":89},"},\n",[83,694,696],{"class":85,"line":695},8,[83,697,692],{"class":89},[83,699,701,703,705,707,709,711,713],{"class":85,"line":700},9,[83,702,582],{"class":89},[83,704,585],{"class":103},[83,706,478],{"class":110},[83,708,585],{"class":103},[83,710,592],{"class":89},[83,712,595],{"class":103},[83,714,598],{"class":89},[83,716,718,720,722,724,727,729],{"class":85,"line":717},10,[83,719,604],{"class":89},[83,721,595],{"class":103},[83,723,107],{"class":103},[83,725,726],{"class":110},"Registered SIM",[83,728,585],{"class":103},[83,730,616],{"class":89},[83,732,734,736,738,741],{"class":85,"line":733},11,[83,735,622],{"class":89},[83,737,595],{"class":103},[83,739,740],{"class":627}," 5",[83,742,616],{"class":89},[83,744,746,748,750,752],{"class":85,"line":745},12,[83,747,636],{"class":89},[83,749,595],{"class":103},[83,751,641],{"class":103},[83,753,616],{"class":89},[83,755,757,759,761,763],{"class":85,"line":756},13,[83,758,649],{"class":89},[83,760,595],{"class":103},[83,762,654],{"class":103},[83,764,616],{"class":89},[83,766,768,770,772,774],{"class":85,"line":767},14,[83,769,662],{"class":89},[83,771,595],{"class":103},[83,773,667],{"class":627},[83,775,616],{"class":89},[83,777,779,781,783,785,787,789,791,793],{"class":85,"line":778},15,[83,780,675],{"class":89},[83,782,595],{"class":103},[83,784,680],{"class":89},[83,786,595],{"class":103},[83,788,107],{"class":103},[83,790,550],{"class":110},[83,792,689],{"class":103},[83,794,692],{"class":89},[83,796,798],{"class":85,"line":797},16,[83,799,692],{"class":89},[83,801,803,805,807,809,811,813,815],{"class":85,"line":802},17,[83,804,582],{"class":89},[83,806,585],{"class":103},[83,808,498],{"class":110},[83,810,585],{"class":103},[83,812,592],{"class":89},[83,814,595],{"class":103},[83,816,598],{"class":89},[83,818,820,822,824,826,829,831],{"class":85,"line":819},18,[83,821,604],{"class":89},[83,823,595],{"class":103},[83,825,107],{"class":103},[83,827,828],{"class":110},"Anonymous SIM",[83,830,585],{"class":103},[83,832,616],{"class":89},[83,834,836,838,840,842],{"class":85,"line":835},19,[83,837,622],{"class":89},[83,839,595],{"class":103},[83,841,740],{"class":627},[83,843,616],{"class":89},[83,845,847,849,851,853],{"class":85,"line":846},20,[83,848,636],{"class":89},[83,850,595],{"class":103},[83,852,641],{"class":103},[83,854,616],{"class":89},[83,856,858,860,862,864],{"class":85,"line":857},21,[83,859,649],{"class":89},[83,861,595],{"class":103},[83,863,654],{"class":103},[83,865,616],{"class":89},[83,867,869,871,873,875],{"class":85,"line":868},22,[83,870,662],{"class":89},[83,872,595],{"class":103},[83,874,667],{"class":627},[83,876,616],{"class":89},[83,878,880,882,884,886,888,890,892,894],{"class":85,"line":879},23,[83,881,675],{"class":89},[83,883,595],{"class":103},[83,885,680],{"class":89},[83,887,595],{"class":103},[83,889,107],{"class":103},[83,891,550],{"class":110},[83,893,689],{"class":103},[83,895,692],{"class":89},[83,897,899],{"class":85,"line":898},24,[83,900,692],{"class":89},[10,902,903,904,907,908,911,912,97],{},"Copy all three PNGs to ",[34,905,906],{},"ox_inventory/web/images/",". Keep ",[34,909,910],{},"consume = 0","; the inventory must not consume the phone or remove the SIM before Phone finishes inserting it. ",[130,913,917],{"href":914,"rel":915},"https://overextended.dev/docs/ox_inventory/Guides/creatingItems",[916],"nofollow","Ox item fields and client callbacks",[919,920,922],"h3",{"id":921},"required-ox-version-contract","Required ox version contract",[10,924,925,926,932,933,938],{},"Phone listens for the ",[14,927,928,929,182],{},"server-side ",[34,930,931],{},"ox_inventory:usedItem"," after use completes. Upstream added that event in ",[130,934,937],{"href":935,"rel":936},"https://github.com/overextended/ox_inventory/releases/tag/v2.38.0",[916],"ox_inventory 2.38.0",". Older versions such as 2.37.4 do not provide this path. An item can close the inventory without reaching Phone's server handler.",[10,940,941,942,945],{},"Use an up-to-date inventory release compatible with your framework and retain your custom item changes during the update. For forks, verify that the completed-use event still exists; an ox-compatible resource name or ",[34,943,944],{},"useItem"," export alone is insufficient.",[919,947,949],{"id":948},"remove-the-old-npwd-phone-handler","Remove the old NPWD phone handler",[10,951,952,953,547,956,959,960,963,964,97],{},"Search the complete ox_inventory resource for ",[34,954,955],{},"Item('phone'",[34,957,958],{},"Item(\"phone\"",". Check ",[34,961,962],{},"modules/items/client.lua","; older packages can use ",[34,965,966],{},"items/client.lua",[10,968,969],{},[14,970,971],{},"Delete the following NPWD handler if present. This is code to remove, not to add:",[74,973,975],{"className":76,"code":974,"language":78,"meta":79,"style":79},"Item('phone', function(data, slot)\n    local success, result = pcall(function()\n        return exports.npwd:isPhoneVisible()\n    end)\n\n    if success then\n        exports.npwd:setPhoneVisible(not result)\n    end\nend)\n",[34,976,977,1014,1034,1053,1060,1066,1077,1097,1102],{"__ignoreMap":79},[83,978,979,983,986,989,991,993,995,999,1001,1005,1008,1011],{"class":85,"line":86},[83,980,982],{"class":981},"s2Zo4","Item",[83,984,985],{"class":89},"(",[83,987,988],{"class":103},"'",[83,990,460],{"class":110},[83,992,988],{"class":103},[83,994,44],{"class":89},[83,996,998],{"class":997},"s7zQu","function",[83,1000,985],{"class":103},[83,1002,1004],{"class":1003},"sHdIc","data",[83,1006,1007],{"class":103},",",[83,1009,1010],{"class":1003}," slot",[83,1012,1013],{"class":103},")\n",[83,1015,1016,1019,1022,1024,1027,1029,1031],{"class":85,"line":601},[83,1017,1018],{"class":103},"    local",[83,1020,1021],{"class":89}," success, result ",[83,1023,595],{"class":103},[83,1025,1026],{"class":981}," pcall",[83,1028,985],{"class":89},[83,1030,998],{"class":997},[83,1032,1033],{"class":103},"()\n",[83,1035,1036,1039,1042,1045,1048,1051],{"class":85,"line":619},[83,1037,1038],{"class":997},"        return",[83,1040,1041],{"class":89}," exports.",[83,1043,1044],{"class":93},"npwd",[83,1046,1047],{"class":89},":",[83,1049,1050],{"class":981},"isPhoneVisible",[83,1052,1033],{"class":89},[83,1054,1055,1058],{"class":85,"line":633},[83,1056,1057],{"class":997},"    end",[83,1059,1013],{"class":89},[83,1061,1062],{"class":85,"line":646},[83,1063,1065],{"emptyLinePlaceholder":1064},true,"\n",[83,1067,1068,1071,1074],{"class":85,"line":659},[83,1069,1070],{"class":997},"    if",[83,1072,1073],{"class":89}," success ",[83,1075,1076],{"class":997},"then\n",[83,1078,1079,1082,1084,1086,1089,1091,1094],{"class":85,"line":672},[83,1080,1081],{"class":89},"        exports.",[83,1083,1044],{"class":93},[83,1085,1047],{"class":89},[83,1087,1088],{"class":981},"setPhoneVisible",[83,1090,985],{"class":89},[83,1092,1093],{"class":103},"not",[83,1095,1096],{"class":89}," result)\n",[83,1098,1099],{"class":85,"line":695},[83,1100,1101],{"class":997},"    end\n",[83,1103,1104,1107],{"class":85,"line":700},[83,1105,1106],{"class":997},"end",[83,1108,1013],{"class":89},[10,1110,1111,1112,1114,1115,1118,1119,1122],{},"Keep the ",[34,1113,460],{}," definition and its Sky Phone ",[34,1116,1117],{},"client.export"," in ",[34,1120,1121],{},"data/items.lua",". The old NPWD handler can intercept use even if NPWD is stopped or absent. Remove competing handlers for the same item, restart the complete server, and recheck this step after inventory updates.",[19,1124,1125],{"id":190},"TGIANN inventory",[10,1127,563,1128,1132,1133,1047],{},[14,1129,1130],{},[34,1131,111],{},", save, and restart. Merge these definitions into the active item file under ",[34,1134,1135],{},"tgiann-inventory/items/",[74,1137,1139],{"className":76,"code":1138,"language":78,"meta":79,"style":79},"[\"phone\"] = {\n    name = \"phone\",\n    label = \"iFruit Phone\",\n    weight = 200,\n    type = \"item\",\n    image = \"phone.png\",\n    unique = true,\n    hasMetadata = true,\n    useable = true,\n    shouldClose = true,\n    description = \"A personal mobile phone\",\n},\n[\"sky_phone_sim_registered\"] = {\n    name = \"sky_phone_sim_registered\",\n    label = \"Registered SIM\",\n    weight = 5,\n    type = \"item\",\n    image = \"sky_phone_sim_registered.png\",\n    unique = true,\n    hasMetadata = true,\n    useable = true,\n    shouldClose = true,\n    description = \"A registered physical SIM card\",\n},\n[\"sky_phone_sim_anonymous\"] = {\n    name = \"sky_phone_sim_anonymous\",\n    label = \"Anonymous SIM\",\n    weight = 5,\n    type = \"item\",\n    image = \"sky_phone_sim_anonymous.png\",\n    unique = true,\n    hasMetadata = true,\n    useable = true,\n    shouldClose = true,\n    description = \"An anonymous physical SIM card\",\n},\n",[34,1140,1141,1157,1172,1186,1196,1212,1227,1238,1249,1260,1271,1287,1291,1307,1321,1335,1345,1359,1373,1383,1393,1403,1413,1428,1432,1449,1464,1479,1490,1505,1520,1531,1542,1553,1564,1580],{"__ignoreMap":79},[83,1142,1143,1145,1147,1149,1151,1153,1155],{"class":85,"line":86},[83,1144,582],{"class":89},[83,1146,585],{"class":103},[83,1148,460],{"class":110},[83,1150,585],{"class":103},[83,1152,592],{"class":89},[83,1154,595],{"class":103},[83,1156,598],{"class":89},[83,1158,1159,1162,1164,1166,1168,1170],{"class":85,"line":601},[83,1160,1161],{"class":89},"    name ",[83,1163,595],{"class":103},[83,1165,107],{"class":103},[83,1167,460],{"class":110},[83,1169,585],{"class":103},[83,1171,616],{"class":89},[83,1173,1174,1176,1178,1180,1182,1184],{"class":85,"line":619},[83,1175,604],{"class":89},[83,1177,595],{"class":103},[83,1179,107],{"class":103},[83,1181,611],{"class":110},[83,1183,585],{"class":103},[83,1185,616],{"class":89},[83,1187,1188,1190,1192,1194],{"class":85,"line":633},[83,1189,622],{"class":89},[83,1191,595],{"class":103},[83,1193,628],{"class":627},[83,1195,616],{"class":89},[83,1197,1198,1201,1203,1205,1208,1210],{"class":85,"line":646},[83,1199,1200],{"class":89},"    type ",[83,1202,595],{"class":103},[83,1204,107],{"class":103},[83,1206,1207],{"class":110},"item",[83,1209,585],{"class":103},[83,1211,616],{"class":89},[83,1213,1214,1217,1219,1221,1223,1225],{"class":85,"line":659},[83,1215,1216],{"class":89},"    image ",[83,1218,595],{"class":103},[83,1220,107],{"class":103},[83,1222,471],{"class":110},[83,1224,585],{"class":103},[83,1226,616],{"class":89},[83,1228,1229,1232,1234,1236],{"class":85,"line":672},[83,1230,1231],{"class":89},"    unique ",[83,1233,595],{"class":103},[83,1235,654],{"class":103},[83,1237,616],{"class":89},[83,1239,1240,1243,1245,1247],{"class":85,"line":695},[83,1241,1242],{"class":89},"    hasMetadata ",[83,1244,595],{"class":103},[83,1246,654],{"class":103},[83,1248,616],{"class":89},[83,1250,1251,1254,1256,1258],{"class":85,"line":700},[83,1252,1253],{"class":89},"    useable ",[83,1255,595],{"class":103},[83,1257,654],{"class":103},[83,1259,616],{"class":89},[83,1261,1262,1265,1267,1269],{"class":85,"line":717},[83,1263,1264],{"class":89},"    shouldClose ",[83,1266,595],{"class":103},[83,1268,654],{"class":103},[83,1270,616],{"class":89},[83,1272,1273,1276,1278,1280,1283,1285],{"class":85,"line":733},[83,1274,1275],{"class":89},"    description ",[83,1277,595],{"class":103},[83,1279,107],{"class":103},[83,1281,1282],{"class":110},"A personal mobile phone",[83,1284,585],{"class":103},[83,1286,616],{"class":89},[83,1288,1289],{"class":85,"line":745},[83,1290,692],{"class":89},[83,1292,1293,1295,1297,1299,1301,1303,1305],{"class":85,"line":756},[83,1294,582],{"class":89},[83,1296,585],{"class":103},[83,1298,478],{"class":110},[83,1300,585],{"class":103},[83,1302,592],{"class":89},[83,1304,595],{"class":103},[83,1306,598],{"class":89},[83,1308,1309,1311,1313,1315,1317,1319],{"class":85,"line":767},[83,1310,1161],{"class":89},[83,1312,595],{"class":103},[83,1314,107],{"class":103},[83,1316,478],{"class":110},[83,1318,585],{"class":103},[83,1320,616],{"class":89},[83,1322,1323,1325,1327,1329,1331,1333],{"class":85,"line":778},[83,1324,604],{"class":89},[83,1326,595],{"class":103},[83,1328,107],{"class":103},[83,1330,726],{"class":110},[83,1332,585],{"class":103},[83,1334,616],{"class":89},[83,1336,1337,1339,1341,1343],{"class":85,"line":797},[83,1338,622],{"class":89},[83,1340,595],{"class":103},[83,1342,740],{"class":627},[83,1344,616],{"class":89},[83,1346,1347,1349,1351,1353,1355,1357],{"class":85,"line":802},[83,1348,1200],{"class":89},[83,1350,595],{"class":103},[83,1352,107],{"class":103},[83,1354,1207],{"class":110},[83,1356,585],{"class":103},[83,1358,616],{"class":89},[83,1360,1361,1363,1365,1367,1369,1371],{"class":85,"line":819},[83,1362,1216],{"class":89},[83,1364,595],{"class":103},[83,1366,107],{"class":103},[83,1368,491],{"class":110},[83,1370,585],{"class":103},[83,1372,616],{"class":89},[83,1374,1375,1377,1379,1381],{"class":85,"line":835},[83,1376,1231],{"class":89},[83,1378,595],{"class":103},[83,1380,654],{"class":103},[83,1382,616],{"class":89},[83,1384,1385,1387,1389,1391],{"class":85,"line":846},[83,1386,1242],{"class":89},[83,1388,595],{"class":103},[83,1390,654],{"class":103},[83,1392,616],{"class":89},[83,1394,1395,1397,1399,1401],{"class":85,"line":857},[83,1396,1253],{"class":89},[83,1398,595],{"class":103},[83,1400,654],{"class":103},[83,1402,616],{"class":89},[83,1404,1405,1407,1409,1411],{"class":85,"line":868},[83,1406,1264],{"class":89},[83,1408,595],{"class":103},[83,1410,654],{"class":103},[83,1412,616],{"class":89},[83,1414,1415,1417,1419,1421,1424,1426],{"class":85,"line":879},[83,1416,1275],{"class":89},[83,1418,595],{"class":103},[83,1420,107],{"class":103},[83,1422,1423],{"class":110},"A registered physical SIM card",[83,1425,585],{"class":103},[83,1427,616],{"class":89},[83,1429,1430],{"class":85,"line":898},[83,1431,692],{"class":89},[83,1433,1435,1437,1439,1441,1443,1445,1447],{"class":85,"line":1434},25,[83,1436,582],{"class":89},[83,1438,585],{"class":103},[83,1440,498],{"class":110},[83,1442,585],{"class":103},[83,1444,592],{"class":89},[83,1446,595],{"class":103},[83,1448,598],{"class":89},[83,1450,1452,1454,1456,1458,1460,1462],{"class":85,"line":1451},26,[83,1453,1161],{"class":89},[83,1455,595],{"class":103},[83,1457,107],{"class":103},[83,1459,498],{"class":110},[83,1461,585],{"class":103},[83,1463,616],{"class":89},[83,1465,1467,1469,1471,1473,1475,1477],{"class":85,"line":1466},27,[83,1468,604],{"class":89},[83,1470,595],{"class":103},[83,1472,107],{"class":103},[83,1474,828],{"class":110},[83,1476,585],{"class":103},[83,1478,616],{"class":89},[83,1480,1482,1484,1486,1488],{"class":85,"line":1481},28,[83,1483,622],{"class":89},[83,1485,595],{"class":103},[83,1487,740],{"class":627},[83,1489,616],{"class":89},[83,1491,1493,1495,1497,1499,1501,1503],{"class":85,"line":1492},29,[83,1494,1200],{"class":89},[83,1496,595],{"class":103},[83,1498,107],{"class":103},[83,1500,1207],{"class":110},[83,1502,585],{"class":103},[83,1504,616],{"class":89},[83,1506,1508,1510,1512,1514,1516,1518],{"class":85,"line":1507},30,[83,1509,1216],{"class":89},[83,1511,595],{"class":103},[83,1513,107],{"class":103},[83,1515,510],{"class":110},[83,1517,585],{"class":103},[83,1519,616],{"class":89},[83,1521,1523,1525,1527,1529],{"class":85,"line":1522},31,[83,1524,1231],{"class":89},[83,1526,595],{"class":103},[83,1528,654],{"class":103},[83,1530,616],{"class":89},[83,1532,1534,1536,1538,1540],{"class":85,"line":1533},32,[83,1535,1242],{"class":89},[83,1537,595],{"class":103},[83,1539,654],{"class":103},[83,1541,616],{"class":89},[83,1543,1545,1547,1549,1551],{"class":85,"line":1544},33,[83,1546,1253],{"class":89},[83,1548,595],{"class":103},[83,1550,654],{"class":103},[83,1552,616],{"class":89},[83,1554,1556,1558,1560,1562],{"class":85,"line":1555},34,[83,1557,1264],{"class":89},[83,1559,595],{"class":103},[83,1561,654],{"class":103},[83,1563,616],{"class":89},[83,1565,1567,1569,1571,1573,1576,1578],{"class":85,"line":1566},35,[83,1568,1275],{"class":89},[83,1570,595],{"class":103},[83,1572,107],{"class":103},[83,1574,1575],{"class":110},"An anonymous physical SIM card",[83,1577,585],{"class":103},[83,1579,616],{"class":89},[83,1581,1583],{"class":85,"line":1582},36,[83,1584,692],{"class":89},[10,1586,1587,1588,1591,1592,1595,1596,1599,1600,1603,1604,97],{},"All three entries need ",[34,1589,1590],{},"hasMetadata = true",". Keep their normal usable-item flow; do not add a ",[34,1593,1594],{},"roleplay"," item action, which bypasses framework callbacks. Do not add ",[34,1597,1598],{},"client.export = \"sky_phone.UsePhoneItem\""," or ",[34,1601,1602],{},"\"sky_phone.UseSimItem\"",". ",[130,1605,1608],{"href":1606,"rel":1607},"https://tgiann.gitbook.io/tgiann/scripts/tgiann-inventory/guides/creating-items",[916],"TGIANN item schema",[10,1610,1611,1612,1615,1616,1619,1620,1603,1623,97],{},"Copy the PNGs into the separately supplied ",[34,1613,1614],{},"inventory_images/images/"," folder. Keep the explicit ",[34,1617,1618],{},"image"," filenames above: TGIANN otherwise defaults to ",[34,1621,1622],{},"\u003CitemName>.webp",[130,1624,1627],{"href":1625,"rel":1626},"https://tgiann.gitbook.io/tgiann/scripts/tgiann-inventory/guides/item-images",[916],"TGIANN image setup",[10,1629,1630,1631,1634,1635,1638,1639,1641],{},"Sky Phone already includes the TGIANN adapter and registers usable items through the framework; on ESX, this uses ",[34,1632,1633],{},"ESX.RegisterUsableItem",". If you see ",[34,1636,1637],{},"No such export useItem in resource ox_inventory",", the item is calling the ox-specific handler. Check both the selected adapter and the item's use hooks. Selecting ",[34,1640,111],{}," does not rewrite your inventory's item definitions.",[19,1643,1645],{"id":1644},"shared-qb-style-item-definitions","Shared QB-style item definitions",[10,1647,1648],{},"Use this complete template for the QB, LJ, PS, JPR, QS, and CodeM setups below. Their item-file locations differ. Do not apply this format to Core, AK47, Jaksam, One, or Origen without their provider-specific changes.",[74,1650,1652],{"className":76,"code":1651,"language":78,"meta":79,"style":79},"[\"phone\"] = {\n    name = \"phone\",\n    label = \"iFruit Phone\",\n    weight = 200,\n    type = \"item\",\n    image = \"phone.png\",\n    unique = true,\n    useable = true,\n    shouldClose = true,\n    description = \"A personal mobile phone\",\n},\n[\"sky_phone_sim_registered\"] = {\n    name = \"sky_phone_sim_registered\",\n    label = \"Registered SIM\",\n    weight = 5,\n    type = \"item\",\n    image = \"sky_phone_sim_registered.png\",\n    unique = true,\n    useable = true,\n    shouldClose = true,\n    description = \"A registered physical SIM card\",\n},\n[\"sky_phone_sim_anonymous\"] = {\n    name = \"sky_phone_sim_anonymous\",\n    label = \"Anonymous SIM\",\n    weight = 5,\n    type = \"item\",\n    image = \"sky_phone_sim_anonymous.png\",\n    unique = true,\n    useable = true,\n    shouldClose = true,\n    description = \"An anonymous physical SIM card\",\n},\n",[34,1653,1654,1670,1684,1698,1708,1722,1736,1746,1756,1766,1780,1784,1800,1814,1828,1838,1852,1866,1876,1886,1896,1910,1914,1930,1944,1958,1968,1982,1996,2006,2016,2026,2040],{"__ignoreMap":79},[83,1655,1656,1658,1660,1662,1664,1666,1668],{"class":85,"line":86},[83,1657,582],{"class":89},[83,1659,585],{"class":103},[83,1661,460],{"class":110},[83,1663,585],{"class":103},[83,1665,592],{"class":89},[83,1667,595],{"class":103},[83,1669,598],{"class":89},[83,1671,1672,1674,1676,1678,1680,1682],{"class":85,"line":601},[83,1673,1161],{"class":89},[83,1675,595],{"class":103},[83,1677,107],{"class":103},[83,1679,460],{"class":110},[83,1681,585],{"class":103},[83,1683,616],{"class":89},[83,1685,1686,1688,1690,1692,1694,1696],{"class":85,"line":619},[83,1687,604],{"class":89},[83,1689,595],{"class":103},[83,1691,107],{"class":103},[83,1693,611],{"class":110},[83,1695,585],{"class":103},[83,1697,616],{"class":89},[83,1699,1700,1702,1704,1706],{"class":85,"line":633},[83,1701,622],{"class":89},[83,1703,595],{"class":103},[83,1705,628],{"class":627},[83,1707,616],{"class":89},[83,1709,1710,1712,1714,1716,1718,1720],{"class":85,"line":646},[83,1711,1200],{"class":89},[83,1713,595],{"class":103},[83,1715,107],{"class":103},[83,1717,1207],{"class":110},[83,1719,585],{"class":103},[83,1721,616],{"class":89},[83,1723,1724,1726,1728,1730,1732,1734],{"class":85,"line":659},[83,1725,1216],{"class":89},[83,1727,595],{"class":103},[83,1729,107],{"class":103},[83,1731,471],{"class":110},[83,1733,585],{"class":103},[83,1735,616],{"class":89},[83,1737,1738,1740,1742,1744],{"class":85,"line":672},[83,1739,1231],{"class":89},[83,1741,595],{"class":103},[83,1743,654],{"class":103},[83,1745,616],{"class":89},[83,1747,1748,1750,1752,1754],{"class":85,"line":695},[83,1749,1253],{"class":89},[83,1751,595],{"class":103},[83,1753,654],{"class":103},[83,1755,616],{"class":89},[83,1757,1758,1760,1762,1764],{"class":85,"line":700},[83,1759,1264],{"class":89},[83,1761,595],{"class":103},[83,1763,654],{"class":103},[83,1765,616],{"class":89},[83,1767,1768,1770,1772,1774,1776,1778],{"class":85,"line":717},[83,1769,1275],{"class":89},[83,1771,595],{"class":103},[83,1773,107],{"class":103},[83,1775,1282],{"class":110},[83,1777,585],{"class":103},[83,1779,616],{"class":89},[83,1781,1782],{"class":85,"line":733},[83,1783,692],{"class":89},[83,1785,1786,1788,1790,1792,1794,1796,1798],{"class":85,"line":745},[83,1787,582],{"class":89},[83,1789,585],{"class":103},[83,1791,478],{"class":110},[83,1793,585],{"class":103},[83,1795,592],{"class":89},[83,1797,595],{"class":103},[83,1799,598],{"class":89},[83,1801,1802,1804,1806,1808,1810,1812],{"class":85,"line":756},[83,1803,1161],{"class":89},[83,1805,595],{"class":103},[83,1807,107],{"class":103},[83,1809,478],{"class":110},[83,1811,585],{"class":103},[83,1813,616],{"class":89},[83,1815,1816,1818,1820,1822,1824,1826],{"class":85,"line":767},[83,1817,604],{"class":89},[83,1819,595],{"class":103},[83,1821,107],{"class":103},[83,1823,726],{"class":110},[83,1825,585],{"class":103},[83,1827,616],{"class":89},[83,1829,1830,1832,1834,1836],{"class":85,"line":778},[83,1831,622],{"class":89},[83,1833,595],{"class":103},[83,1835,740],{"class":627},[83,1837,616],{"class":89},[83,1839,1840,1842,1844,1846,1848,1850],{"class":85,"line":797},[83,1841,1200],{"class":89},[83,1843,595],{"class":103},[83,1845,107],{"class":103},[83,1847,1207],{"class":110},[83,1849,585],{"class":103},[83,1851,616],{"class":89},[83,1853,1854,1856,1858,1860,1862,1864],{"class":85,"line":802},[83,1855,1216],{"class":89},[83,1857,595],{"class":103},[83,1859,107],{"class":103},[83,1861,491],{"class":110},[83,1863,585],{"class":103},[83,1865,616],{"class":89},[83,1867,1868,1870,1872,1874],{"class":85,"line":819},[83,1869,1231],{"class":89},[83,1871,595],{"class":103},[83,1873,654],{"class":103},[83,1875,616],{"class":89},[83,1877,1878,1880,1882,1884],{"class":85,"line":835},[83,1879,1253],{"class":89},[83,1881,595],{"class":103},[83,1883,654],{"class":103},[83,1885,616],{"class":89},[83,1887,1888,1890,1892,1894],{"class":85,"line":846},[83,1889,1264],{"class":89},[83,1891,595],{"class":103},[83,1893,654],{"class":103},[83,1895,616],{"class":89},[83,1897,1898,1900,1902,1904,1906,1908],{"class":85,"line":857},[83,1899,1275],{"class":89},[83,1901,595],{"class":103},[83,1903,107],{"class":103},[83,1905,1423],{"class":110},[83,1907,585],{"class":103},[83,1909,616],{"class":89},[83,1911,1912],{"class":85,"line":868},[83,1913,692],{"class":89},[83,1915,1916,1918,1920,1922,1924,1926,1928],{"class":85,"line":879},[83,1917,582],{"class":89},[83,1919,585],{"class":103},[83,1921,498],{"class":110},[83,1923,585],{"class":103},[83,1925,592],{"class":89},[83,1927,595],{"class":103},[83,1929,598],{"class":89},[83,1931,1932,1934,1936,1938,1940,1942],{"class":85,"line":898},[83,1933,1161],{"class":89},[83,1935,595],{"class":103},[83,1937,107],{"class":103},[83,1939,498],{"class":110},[83,1941,585],{"class":103},[83,1943,616],{"class":89},[83,1945,1946,1948,1950,1952,1954,1956],{"class":85,"line":1434},[83,1947,604],{"class":89},[83,1949,595],{"class":103},[83,1951,107],{"class":103},[83,1953,828],{"class":110},[83,1955,585],{"class":103},[83,1957,616],{"class":89},[83,1959,1960,1962,1964,1966],{"class":85,"line":1451},[83,1961,622],{"class":89},[83,1963,595],{"class":103},[83,1965,740],{"class":627},[83,1967,616],{"class":89},[83,1969,1970,1972,1974,1976,1978,1980],{"class":85,"line":1466},[83,1971,1200],{"class":89},[83,1973,595],{"class":103},[83,1975,107],{"class":103},[83,1977,1207],{"class":110},[83,1979,585],{"class":103},[83,1981,616],{"class":89},[83,1983,1984,1986,1988,1990,1992,1994],{"class":85,"line":1481},[83,1985,1216],{"class":89},[83,1987,595],{"class":103},[83,1989,107],{"class":103},[83,1991,510],{"class":110},[83,1993,585],{"class":103},[83,1995,616],{"class":89},[83,1997,1998,2000,2002,2004],{"class":85,"line":1492},[83,1999,1231],{"class":89},[83,2001,595],{"class":103},[83,2003,654],{"class":103},[83,2005,616],{"class":89},[83,2007,2008,2010,2012,2014],{"class":85,"line":1507},[83,2009,1253],{"class":89},[83,2011,595],{"class":103},[83,2013,654],{"class":103},[83,2015,616],{"class":89},[83,2017,2018,2020,2022,2024],{"class":85,"line":1522},[83,2019,1264],{"class":89},[83,2021,595],{"class":103},[83,2023,654],{"class":103},[83,2025,616],{"class":89},[83,2027,2028,2030,2032,2034,2036,2038],{"class":85,"line":1533},[83,2029,1275],{"class":89},[83,2031,595],{"class":103},[83,2033,107],{"class":103},[83,2035,1575],{"class":110},[83,2037,585],{"class":103},[83,2039,616],{"class":89},[83,2041,2042],{"class":85,"line":1544},[83,2043,692],{"class":89},[10,2045,2046,2047,2050,2051,2053,2054,2057,2058,97],{},"For character-based phones, change only the phone entry's ",[34,2048,2049],{},"unique"," value to match ",[34,2052,47],{},". The SIM entries stay unique. The ",[34,2055,2056],{},"useable"," spelling is intentional. Do not register another phone callback or add ox-only use exports. ",[130,2059,2062],{"href":2060,"rel":2061},"https://qbcore.org/docs/qb-core/shared#items",[916],"QBCore shared-item schema",[919,2064,2065],{"id":207},"qb inventory",[10,2067,563,2068,2072,2073,1118,2077,2080,2081,2084,2085,97],{},[14,2069,2070],{},[34,2071,210],{},". Put the ",[130,2074,2076],{"href":2075},"#shared-qb-style-item-definitions","shared definitions",[34,2078,2079],{},"qb-core/shared/items.lua","; copy the PNGs to ",[34,2082,2083],{},"qb-inventory/html/images/",". Complete the stock QBCore inventory installation before testing Phone. ",[130,2086,2089],{"href":2087,"rel":2088},"https://github.com/qbcore-framework/qb-inventory",[916],"QB installation and image files",[919,2091,2092],{"id":225},"lj inventory",[10,2094,563,2095,2072,2099,1118,2101,2080,2103,2106,2107,97],{},[14,2096,2097],{},[34,2098,228],{},[130,2100,2076],{"href":2075},[34,2102,2079],{},[34,2104,2105],{},"lj-inventory/html/images/",". Phone's LJ path uses QBCore player items. Follow LJ's framework changes so QBCore loads and saves through the active inventory. ",[130,2108,2111],{"href":2109,"rel":2110},"https://github.com/loljoshie/lj-inventory#how-to-install-lj-inventory-latest-qbcore-update",[916],"LJ installation",[919,2113,2114],{"id":241},"ps inventory",[10,2116,563,2117,2072,2121,1118,2123,2080,2125,2128,2129,2132,2133,97],{},[14,2118,2119],{},[34,2120,244],{},[130,2122,2076],{"href":2075},[34,2124,2079],{},[34,2126,2127],{},"ps-inventory/html/images/",". Sky Phone's PS adapter requires ",[14,2130,2131],{},"QBCore",". Follow the provider's framework installation as well as the Phone setting. ",[130,2134,2137],{"href":2135,"rel":2136},"https://github.com/Project-Sloth/ps-inventory#installation",[916],"PS installation",[919,2139,2140],{"id":255},"jpr inventory",[10,2142,563,2143,2072,2147,1118,2149,2080,2151,2154,2155,2157,2158,44,2163,97],{},[14,2144,2145],{},[34,2146,258],{},[130,2148,2076],{"href":2075},[34,2150,2079],{},[34,2152,2153],{},"jpr-inventory/html/images/",". Sky Phone's JPR adapter requires ",[14,2156,2131],{},", even if your JPR release also supports other frameworks. Apply the provider's QBCore-version settings for your installed release. ",[130,2159,2162],{"href":2160,"rel":2161},"https://joaos-organization-3.gitbook.io/jpresources-documentation/installation/inventory/faq",[916],"JPR item locations",[130,2164,2167],{"href":2165,"rel":2166},"https://joaos-organization-3.gitbook.io/jpresources-documentation/installation/inventory/installation-page/qbcore",[916],"QBCore installation",[919,2169,2170],{"id":268},"qs inventory",[10,2172,563,2173,2177,2178,2180,2181,2184,2185,2188,2189,2184,2191,2193,2194,97],{},[14,2174,2175],{},[34,2176,271],{},". Add the ",[130,2179,2076],{"href":2075}," to ",[34,2182,2183],{},"qs-inventory/shared/items.lua"," on ",[14,2186,2187],{},"ESX",", or ",[34,2190,2079],{},[14,2192,2131],{},". Copy the PNGs to ",[34,2195,2196],{},"qs-inventory/html/images/",[10,2198,2199,2200,44,2205,97],{},"Phone registers use through Quasar's inventory callback on ESX and the framework callback on QB. Keep normal inventory use enabled; do not restrict these entries to hotbar-only use. For another framework or fork, follow its matching provider installation instead of assuming the QB file path. ",[130,2201,2204],{"href":2202,"rel":2203},"https://www.quasar-store.com/docs/advanced-inventory/installation#item-management",[916],"Quasar installation",[130,2206,2209],{"href":2207,"rel":2208},"https://www.quasar-store.com/docs/advanced-inventory/item-configuration",[916],"item configuration",[919,2211,2212],{"id":282},"codem inventory",[10,2214,563,2215,2219,2220,2177,2225,2180,2227,2230,2231,1603,2233,97],{},[14,2216,2217],{},[34,2218,285],{}," for ",[14,2221,2222,2224],{},[34,2223,282],{}," / mInventory Remake",[130,2226,2076],{"href":2075},[34,2228,2229],{},"codem-inventory/config/itemlist.lua","; place the named PNGs in the image location configured by your installed mInventory version. Phone uses framework usable-item registration and per-item ",[34,2232,216],{},[130,2234,2237],{"href":2235,"rel":2236},"https://codem.gitbook.io/codem-documentation/m-series/essentials/minventory-remake/how-to",[916],"CodeM item setup",[10,2239,2240,2245,2246,2248],{},[14,2241,2242,2244],{},[34,2243,291],{}," / Supreme Inventory is a different resource."," Phone 1.1.0's ",[34,2247,285],{}," adapter does not target it. Its ox compatibility features do not make Phone's ox use exports a CodeM integration.",[19,2250,2252],{"id":2251},"ak47-inventory","AK47 inventory",[10,2254,563,2255,2259,2260,1118,2263,1047],{},[14,2256,2257],{},[34,2258,302],{},". Merge these native entries into ",[34,2261,2262],{},"Config.Shared.Items",[34,2264,2265],{},"ak47_inventory/shared/items.lua",[74,2267,2269],{"className":76,"code":2268,"language":78,"meta":79,"style":79},"[\"phone\"] = {\n    name = \"phone\",\n    label = \"iFruit Phone\",\n    weight = 200,\n    type = \"item\",\n    stacksize = 1,\n    close = true,\n},\n[\"sky_phone_sim_registered\"] = {\n    name = \"sky_phone_sim_registered\",\n    label = \"Registered SIM\",\n    weight = 5,\n    type = \"item\",\n    stacksize = 1,\n    close = true,\n},\n[\"sky_phone_sim_anonymous\"] = {\n    name = \"sky_phone_sim_anonymous\",\n    label = \"Anonymous SIM\",\n    weight = 5,\n    type = \"item\",\n    stacksize = 1,\n    close = true,\n},\n",[34,2270,2271,2287,2301,2315,2325,2339,2351,2361,2365,2381,2395,2409,2419,2433,2443,2453,2457,2473,2487,2501,2511,2525,2535,2545],{"__ignoreMap":79},[83,2272,2273,2275,2277,2279,2281,2283,2285],{"class":85,"line":86},[83,2274,582],{"class":89},[83,2276,585],{"class":103},[83,2278,460],{"class":110},[83,2280,585],{"class":103},[83,2282,592],{"class":89},[83,2284,595],{"class":103},[83,2286,598],{"class":89},[83,2288,2289,2291,2293,2295,2297,2299],{"class":85,"line":601},[83,2290,1161],{"class":89},[83,2292,595],{"class":103},[83,2294,107],{"class":103},[83,2296,460],{"class":110},[83,2298,585],{"class":103},[83,2300,616],{"class":89},[83,2302,2303,2305,2307,2309,2311,2313],{"class":85,"line":619},[83,2304,604],{"class":89},[83,2306,595],{"class":103},[83,2308,107],{"class":103},[83,2310,611],{"class":110},[83,2312,585],{"class":103},[83,2314,616],{"class":89},[83,2316,2317,2319,2321,2323],{"class":85,"line":633},[83,2318,622],{"class":89},[83,2320,595],{"class":103},[83,2322,628],{"class":627},[83,2324,616],{"class":89},[83,2326,2327,2329,2331,2333,2335,2337],{"class":85,"line":646},[83,2328,1200],{"class":89},[83,2330,595],{"class":103},[83,2332,107],{"class":103},[83,2334,1207],{"class":110},[83,2336,585],{"class":103},[83,2338,616],{"class":89},[83,2340,2341,2344,2346,2349],{"class":85,"line":659},[83,2342,2343],{"class":89},"    stacksize ",[83,2345,595],{"class":103},[83,2347,2348],{"class":627}," 1",[83,2350,616],{"class":89},[83,2352,2353,2355,2357,2359],{"class":85,"line":672},[83,2354,649],{"class":89},[83,2356,595],{"class":103},[83,2358,654],{"class":103},[83,2360,616],{"class":89},[83,2362,2363],{"class":85,"line":695},[83,2364,692],{"class":89},[83,2366,2367,2369,2371,2373,2375,2377,2379],{"class":85,"line":700},[83,2368,582],{"class":89},[83,2370,585],{"class":103},[83,2372,478],{"class":110},[83,2374,585],{"class":103},[83,2376,592],{"class":89},[83,2378,595],{"class":103},[83,2380,598],{"class":89},[83,2382,2383,2385,2387,2389,2391,2393],{"class":85,"line":717},[83,2384,1161],{"class":89},[83,2386,595],{"class":103},[83,2388,107],{"class":103},[83,2390,478],{"class":110},[83,2392,585],{"class":103},[83,2394,616],{"class":89},[83,2396,2397,2399,2401,2403,2405,2407],{"class":85,"line":733},[83,2398,604],{"class":89},[83,2400,595],{"class":103},[83,2402,107],{"class":103},[83,2404,726],{"class":110},[83,2406,585],{"class":103},[83,2408,616],{"class":89},[83,2410,2411,2413,2415,2417],{"class":85,"line":745},[83,2412,622],{"class":89},[83,2414,595],{"class":103},[83,2416,740],{"class":627},[83,2418,616],{"class":89},[83,2420,2421,2423,2425,2427,2429,2431],{"class":85,"line":756},[83,2422,1200],{"class":89},[83,2424,595],{"class":103},[83,2426,107],{"class":103},[83,2428,1207],{"class":110},[83,2430,585],{"class":103},[83,2432,616],{"class":89},[83,2434,2435,2437,2439,2441],{"class":85,"line":767},[83,2436,2343],{"class":89},[83,2438,595],{"class":103},[83,2440,2348],{"class":627},[83,2442,616],{"class":89},[83,2444,2445,2447,2449,2451],{"class":85,"line":778},[83,2446,649],{"class":89},[83,2448,595],{"class":103},[83,2450,654],{"class":103},[83,2452,616],{"class":89},[83,2454,2455],{"class":85,"line":797},[83,2456,692],{"class":89},[83,2458,2459,2461,2463,2465,2467,2469,2471],{"class":85,"line":802},[83,2460,582],{"class":89},[83,2462,585],{"class":103},[83,2464,498],{"class":110},[83,2466,585],{"class":103},[83,2468,592],{"class":89},[83,2470,595],{"class":103},[83,2472,598],{"class":89},[83,2474,2475,2477,2479,2481,2483,2485],{"class":85,"line":819},[83,2476,1161],{"class":89},[83,2478,595],{"class":103},[83,2480,107],{"class":103},[83,2482,498],{"class":110},[83,2484,585],{"class":103},[83,2486,616],{"class":89},[83,2488,2489,2491,2493,2495,2497,2499],{"class":85,"line":835},[83,2490,604],{"class":89},[83,2492,595],{"class":103},[83,2494,107],{"class":103},[83,2496,828],{"class":110},[83,2498,585],{"class":103},[83,2500,616],{"class":89},[83,2502,2503,2505,2507,2509],{"class":85,"line":846},[83,2504,622],{"class":89},[83,2506,595],{"class":103},[83,2508,740],{"class":627},[83,2510,616],{"class":89},[83,2512,2513,2515,2517,2519,2521,2523],{"class":85,"line":857},[83,2514,1200],{"class":89},[83,2516,595],{"class":103},[83,2518,107],{"class":103},[83,2520,1207],{"class":110},[83,2522,585],{"class":103},[83,2524,616],{"class":89},[83,2526,2527,2529,2531,2533],{"class":85,"line":868},[83,2528,2343],{"class":89},[83,2530,595],{"class":103},[83,2532,2348],{"class":627},[83,2534,616],{"class":89},[83,2536,2537,2539,2541,2543],{"class":85,"line":879},[83,2538,649],{"class":89},[83,2540,595],{"class":103},[83,2542,654],{"class":103},[83,2544,616],{"class":89},[83,2546,2547],{"class":85,"line":898},[83,2548,692],{"class":89},[10,2550,2551,2554,2555,2558,2559,547,2562,1118,2565,2568,2569,44,2574,44,2579,97],{},[34,2552,2553],{},"stacksize = 1"," gives each device or SIM its own slot. Use AK47's existing image convention for the three matching PNGs. Keep Phone's framework usable callbacks; do not add a competing ",[34,2556,2557],{},"onUse"," handler. For hover details, enable ",[34,2560,2561],{},"imei",[34,2563,2564],{},"phone_number",[34,2566,2567],{},"Config.ShowValueFromItemInfo"," and translate their labels. ",[130,2570,2573],{"href":2571,"rel":2572},"https://docs.menanak47.com/multi-framework/ak47_inventory/guides/configuration",[916],"Item location",[130,2575,2578],{"href":2576,"rel":2577},"https://docs.menanak47.com/multi-framework/ak47_inventory/templates/item",[916],"native fields",[130,2580,2583],{"href":2581,"rel":2582},"https://docs.menanak47.com/multi-framework/ak47_inventory/templates/tooltip",[916],"tooltips",[19,2585,2587],{"id":2586},"jaksam-inventory","Jaksam inventory",[10,2589,563,2590,2594,2595,2598,2599,2602],{},[14,2591,2592],{},[34,2593,322],{},". Add the entries to ",[34,2596,2597],{},"jaksam_inventory/_data/items.lua",", or create the same definitions persistently through Jaksam's ",[34,2600,2601],{},"/inventory"," editor:",[74,2604,2606],{"className":76,"code":2605,"language":78,"meta":79,"style":79},"[\"phone\"] = {\n    label = \"iFruit Phone\",\n    weight = 200,\n    type = \"item\",\n    image = \"phone.png\",\n    description = \"A personal mobile phone\",\n    stackable = false,\n    maxStack = 1,\n    close = true,\n    consume = 0,\n},\n[\"sky_phone_sim_registered\"] = {\n    label = \"Registered SIM\",\n    weight = 5,\n    type = \"item\",\n    image = \"sky_phone_sim_registered.png\",\n    description = \"A registered physical SIM card\",\n    stackable = false,\n    maxStack = 1,\n    close = true,\n    consume = 0,\n},\n[\"sky_phone_sim_anonymous\"] = {\n    label = \"Anonymous SIM\",\n    weight = 5,\n    type = \"item\",\n    image = \"sky_phone_sim_anonymous.png\",\n    description = \"An anonymous physical SIM card\",\n    stackable = false,\n    maxStack = 1,\n    close = true,\n    consume = 0,\n},\n",[34,2607,2608,2624,2638,2648,2662,2676,2690,2701,2712,2722,2732,2736,2752,2766,2776,2790,2804,2818,2828,2838,2848,2858,2862,2878,2892,2902,2916,2930,2944,2954,2964,2974,2984],{"__ignoreMap":79},[83,2609,2610,2612,2614,2616,2618,2620,2622],{"class":85,"line":86},[83,2611,582],{"class":89},[83,2613,585],{"class":103},[83,2615,460],{"class":110},[83,2617,585],{"class":103},[83,2619,592],{"class":89},[83,2621,595],{"class":103},[83,2623,598],{"class":89},[83,2625,2626,2628,2630,2632,2634,2636],{"class":85,"line":601},[83,2627,604],{"class":89},[83,2629,595],{"class":103},[83,2631,107],{"class":103},[83,2633,611],{"class":110},[83,2635,585],{"class":103},[83,2637,616],{"class":89},[83,2639,2640,2642,2644,2646],{"class":85,"line":619},[83,2641,622],{"class":89},[83,2643,595],{"class":103},[83,2645,628],{"class":627},[83,2647,616],{"class":89},[83,2649,2650,2652,2654,2656,2658,2660],{"class":85,"line":633},[83,2651,1200],{"class":89},[83,2653,595],{"class":103},[83,2655,107],{"class":103},[83,2657,1207],{"class":110},[83,2659,585],{"class":103},[83,2661,616],{"class":89},[83,2663,2664,2666,2668,2670,2672,2674],{"class":85,"line":646},[83,2665,1216],{"class":89},[83,2667,595],{"class":103},[83,2669,107],{"class":103},[83,2671,471],{"class":110},[83,2673,585],{"class":103},[83,2675,616],{"class":89},[83,2677,2678,2680,2682,2684,2686,2688],{"class":85,"line":659},[83,2679,1275],{"class":89},[83,2681,595],{"class":103},[83,2683,107],{"class":103},[83,2685,1282],{"class":110},[83,2687,585],{"class":103},[83,2689,616],{"class":89},[83,2691,2692,2695,2697,2699],{"class":85,"line":672},[83,2693,2694],{"class":89},"    stackable ",[83,2696,595],{"class":103},[83,2698,641],{"class":103},[83,2700,616],{"class":89},[83,2702,2703,2706,2708,2710],{"class":85,"line":695},[83,2704,2705],{"class":89},"    maxStack ",[83,2707,595],{"class":103},[83,2709,2348],{"class":627},[83,2711,616],{"class":89},[83,2713,2714,2716,2718,2720],{"class":85,"line":700},[83,2715,649],{"class":89},[83,2717,595],{"class":103},[83,2719,654],{"class":103},[83,2721,616],{"class":89},[83,2723,2724,2726,2728,2730],{"class":85,"line":717},[83,2725,662],{"class":89},[83,2727,595],{"class":103},[83,2729,667],{"class":627},[83,2731,616],{"class":89},[83,2733,2734],{"class":85,"line":733},[83,2735,692],{"class":89},[83,2737,2738,2740,2742,2744,2746,2748,2750],{"class":85,"line":745},[83,2739,582],{"class":89},[83,2741,585],{"class":103},[83,2743,478],{"class":110},[83,2745,585],{"class":103},[83,2747,592],{"class":89},[83,2749,595],{"class":103},[83,2751,598],{"class":89},[83,2753,2754,2756,2758,2760,2762,2764],{"class":85,"line":756},[83,2755,604],{"class":89},[83,2757,595],{"class":103},[83,2759,107],{"class":103},[83,2761,726],{"class":110},[83,2763,585],{"class":103},[83,2765,616],{"class":89},[83,2767,2768,2770,2772,2774],{"class":85,"line":767},[83,2769,622],{"class":89},[83,2771,595],{"class":103},[83,2773,740],{"class":627},[83,2775,616],{"class":89},[83,2777,2778,2780,2782,2784,2786,2788],{"class":85,"line":778},[83,2779,1200],{"class":89},[83,2781,595],{"class":103},[83,2783,107],{"class":103},[83,2785,1207],{"class":110},[83,2787,585],{"class":103},[83,2789,616],{"class":89},[83,2791,2792,2794,2796,2798,2800,2802],{"class":85,"line":797},[83,2793,1216],{"class":89},[83,2795,595],{"class":103},[83,2797,107],{"class":103},[83,2799,491],{"class":110},[83,2801,585],{"class":103},[83,2803,616],{"class":89},[83,2805,2806,2808,2810,2812,2814,2816],{"class":85,"line":802},[83,2807,1275],{"class":89},[83,2809,595],{"class":103},[83,2811,107],{"class":103},[83,2813,1423],{"class":110},[83,2815,585],{"class":103},[83,2817,616],{"class":89},[83,2819,2820,2822,2824,2826],{"class":85,"line":819},[83,2821,2694],{"class":89},[83,2823,595],{"class":103},[83,2825,641],{"class":103},[83,2827,616],{"class":89},[83,2829,2830,2832,2834,2836],{"class":85,"line":835},[83,2831,2705],{"class":89},[83,2833,595],{"class":103},[83,2835,2348],{"class":627},[83,2837,616],{"class":89},[83,2839,2840,2842,2844,2846],{"class":85,"line":846},[83,2841,649],{"class":89},[83,2843,595],{"class":103},[83,2845,654],{"class":103},[83,2847,616],{"class":89},[83,2849,2850,2852,2854,2856],{"class":85,"line":857},[83,2851,662],{"class":89},[83,2853,595],{"class":103},[83,2855,667],{"class":627},[83,2857,616],{"class":89},[83,2859,2860],{"class":85,"line":868},[83,2861,692],{"class":89},[83,2863,2864,2866,2868,2870,2872,2874,2876],{"class":85,"line":879},[83,2865,582],{"class":89},[83,2867,585],{"class":103},[83,2869,498],{"class":110},[83,2871,585],{"class":103},[83,2873,592],{"class":89},[83,2875,595],{"class":103},[83,2877,598],{"class":89},[83,2879,2880,2882,2884,2886,2888,2890],{"class":85,"line":898},[83,2881,604],{"class":89},[83,2883,595],{"class":103},[83,2885,107],{"class":103},[83,2887,828],{"class":110},[83,2889,585],{"class":103},[83,2891,616],{"class":89},[83,2893,2894,2896,2898,2900],{"class":85,"line":1434},[83,2895,622],{"class":89},[83,2897,595],{"class":103},[83,2899,740],{"class":627},[83,2901,616],{"class":89},[83,2903,2904,2906,2908,2910,2912,2914],{"class":85,"line":1451},[83,2905,1200],{"class":89},[83,2907,595],{"class":103},[83,2909,107],{"class":103},[83,2911,1207],{"class":110},[83,2913,585],{"class":103},[83,2915,616],{"class":89},[83,2917,2918,2920,2922,2924,2926,2928],{"class":85,"line":1466},[83,2919,1216],{"class":89},[83,2921,595],{"class":103},[83,2923,107],{"class":103},[83,2925,510],{"class":110},[83,2927,585],{"class":103},[83,2929,616],{"class":89},[83,2931,2932,2934,2936,2938,2940,2942],{"class":85,"line":1481},[83,2933,1275],{"class":89},[83,2935,595],{"class":103},[83,2937,107],{"class":103},[83,2939,1575],{"class":110},[83,2941,585],{"class":103},[83,2943,616],{"class":89},[83,2945,2946,2948,2950,2952],{"class":85,"line":1492},[83,2947,2694],{"class":89},[83,2949,595],{"class":103},[83,2951,641],{"class":103},[83,2953,616],{"class":89},[83,2955,2956,2958,2960,2962],{"class":85,"line":1507},[83,2957,2705],{"class":89},[83,2959,595],{"class":103},[83,2961,2348],{"class":627},[83,2963,616],{"class":89},[83,2965,2966,2968,2970,2972],{"class":85,"line":1522},[83,2967,649],{"class":89},[83,2969,595],{"class":103},[83,2971,654],{"class":103},[83,2973,616],{"class":89},[83,2975,2976,2978,2980,2982],{"class":85,"line":1533},[83,2977,662],{"class":89},[83,2979,595],{"class":103},[83,2981,667],{"class":627},[83,2983,616],{"class":89},[83,2985,2986],{"class":85,"line":1544},[83,2987,692],{"class":89},[10,2989,2990,2991,2994,2995,370,2998,3001,3002,3005,3006,44,3011,44,3016,97],{},"Copy the PNGs to ",[34,2992,2993],{},"jaksam_inventory/_images/",". Phone registers use directly through Jaksam. Remove imported ",[34,2996,2997],{},"oxClientExport",[34,2999,3000],{},"oxClientEvent"," hooks that call the ox-specific Phone handlers. Runtime ",[34,3003,3004],{},"registerItem"," definitions do not replace persistent file/editor setup. ",[130,3007,3010],{"href":3008,"rel":3009},"https://documentation.jaksam-scripts.com/jaksam-inventory/functions/server#registeritem",[916],"Jaksam item and callback schema",[130,3012,3015],{"href":3013,"rel":3014},"https://documentation.jaksam-scripts.com/jaksam-inventory/guides/metadata",[916],"persistent items and display fields",[130,3017,3020],{"href":3018,"rel":3019},"https://documentation.jaksam-scripts.com/jaksam-inventory/functions/shared#getitemimagepath",[916],"image resolution",[19,3022,3024],{"id":3023},"core-inventory","Core inventory",[10,3026,3027,3030,3031,3033,3034,3037,3038,3041,3042,3045,3046,44,3051,97],{},[14,3028,3029],{},"Check your Core version before using this setup."," Phone 1.1.0 contains a ",[34,3032,336],{}," adapter, but it expects a flat item list from ",[34,3035,3036],{},"getInventory"," and passes a slot to ",[34,3039,3040],{},"removeItemExact",". Core's current public API describes an inventory wrapper with ",[34,3043,3044],{},"content"," and an internal unique item ID for removal. If your installed Core follows that contract, the adapter needs updating; changing item definitions cannot resolve it. ",[130,3047,3050],{"href":3048,"rel":3049},"https://docs.c8re.store/core-inventory/exports",[916],"Core API",[130,3052,3055],{"href":3053,"rel":3054},"https://github.com/sky-systems/sky_phone/blob/1.1.0/sky_phone/source/bridge/server/inventory/core.lua",[916],"Phone 1.1.0 adapter",[10,3057,3058,3059,3063,3064,3066,3067,3070,3071,3074,3075,97],{},"For a compatible Core installation, select ",[14,3060,3061],{},[34,3062,336],{},". Native QBCore definitions belong in ",[34,3065,2079],{},"; native ESX definitions use the ",[34,3068,3069],{},"items"," database table after Core's schema installation. Core also documents an optional ",[34,3072,3073],{},"core_inventory/data/items.lua"," file mode. Follow the mode actually enabled on your server. ",[130,3076,3079],{"href":3077,"rel":3078},"https://docs.c8re.store/core-inventory/installation",[916],"Core installation and file mode",[10,3081,3082,3083,3089],{},"Core controls stacking through item categories. Add a dedicated category with ",[14,3084,3085,3086,3088],{},"no ",[34,3087,369],{}," property"," to the existing configuration:",[74,3091,3093],{"className":76,"code":3092,"language":78,"meta":79,"style":79},"Config.ItemCategories[\"sky_phone_devices\"] = {\n    color = \"#f2f2f2\",\n    takeSound = \"take\",\n    putSound = \"put\",\n}\n",[34,3094,3095,3117,3133,3149,3165],{"__ignoreMap":79},[83,3096,3097,3099,3102,3104,3106,3109,3111,3113,3115],{"class":85,"line":86},[83,3098,90],{"class":89},[83,3100,3101],{"class":93},"ItemCategories",[83,3103,582],{"class":89},[83,3105,585],{"class":103},[83,3107,3108],{"class":110},"sky_phone_devices",[83,3110,585],{"class":103},[83,3112,592],{"class":89},[83,3114,595],{"class":103},[83,3116,598],{"class":89},[83,3118,3119,3122,3124,3126,3129,3131],{"class":85,"line":601},[83,3120,3121],{"class":89},"    color ",[83,3123,595],{"class":103},[83,3125,107],{"class":103},[83,3127,3128],{"class":110},"#f2f2f2",[83,3130,585],{"class":103},[83,3132,616],{"class":89},[83,3134,3135,3138,3140,3142,3145,3147],{"class":85,"line":619},[83,3136,3137],{"class":89},"    takeSound ",[83,3139,595],{"class":103},[83,3141,107],{"class":103},[83,3143,3144],{"class":110},"take",[83,3146,585],{"class":103},[83,3148,616],{"class":89},[83,3150,3151,3154,3156,3158,3161,3163],{"class":85,"line":633},[83,3152,3153],{"class":89},"    putSound ",[83,3155,595],{"class":103},[83,3157,107],{"class":103},[83,3159,3160],{"class":110},"put",[83,3162,585],{"class":103},[83,3164,616],{"class":89},[83,3166,3167],{"class":85,"line":646},[83,3168,3169],{"class":89},"}\n",[10,3171,3172],{},"Core QBCore definitions for the three default items, retaining the framework fields alongside Core's dimensions and category:",[74,3174,3176],{"className":76,"code":3175,"language":78,"meta":79,"style":79},"[\"phone\"] = {\n    name = \"phone\",\n    label = \"iFruit Phone\",\n    weight = 200,\n    type = \"item\",\n    image = \"phone.png\",\n    unique = true,\n    useable = true,\n    shouldClose = true,\n    x = 1,\n    y = 1,\n    category = \"sky_phone_devices\",\n    description = \"A personal mobile phone\",\n},\n[\"sky_phone_sim_registered\"] = {\n    name = \"sky_phone_sim_registered\",\n    label = \"Registered SIM\",\n    weight = 5,\n    type = \"item\",\n    image = \"sky_phone_sim_registered.png\",\n    unique = true,\n    useable = true,\n    shouldClose = true,\n    x = 1,\n    y = 1,\n    category = \"sky_phone_devices\",\n    description = \"A registered physical SIM card\",\n},\n[\"sky_phone_sim_anonymous\"] = {\n    name = \"sky_phone_sim_anonymous\",\n    label = \"Anonymous SIM\",\n    weight = 5,\n    type = \"item\",\n    image = \"sky_phone_sim_anonymous.png\",\n    unique = true,\n    useable = true,\n    shouldClose = true,\n    x = 1,\n    y = 1,\n    category = \"sky_phone_devices\",\n    description = \"An anonymous physical SIM card\",\n},\n",[34,3177,3178,3194,3208,3222,3232,3246,3260,3270,3280,3290,3301,3312,3327,3341,3345,3361,3375,3389,3399,3413,3427,3437,3447,3457,3467,3477,3491,3505,3509,3525,3539,3553,3563,3577,3591,3601,3611,3622,3633,3644,3659,3674],{"__ignoreMap":79},[83,3179,3180,3182,3184,3186,3188,3190,3192],{"class":85,"line":86},[83,3181,582],{"class":89},[83,3183,585],{"class":103},[83,3185,460],{"class":110},[83,3187,585],{"class":103},[83,3189,592],{"class":89},[83,3191,595],{"class":103},[83,3193,598],{"class":89},[83,3195,3196,3198,3200,3202,3204,3206],{"class":85,"line":601},[83,3197,1161],{"class":89},[83,3199,595],{"class":103},[83,3201,107],{"class":103},[83,3203,460],{"class":110},[83,3205,585],{"class":103},[83,3207,616],{"class":89},[83,3209,3210,3212,3214,3216,3218,3220],{"class":85,"line":619},[83,3211,604],{"class":89},[83,3213,595],{"class":103},[83,3215,107],{"class":103},[83,3217,611],{"class":110},[83,3219,585],{"class":103},[83,3221,616],{"class":89},[83,3223,3224,3226,3228,3230],{"class":85,"line":633},[83,3225,622],{"class":89},[83,3227,595],{"class":103},[83,3229,628],{"class":627},[83,3231,616],{"class":89},[83,3233,3234,3236,3238,3240,3242,3244],{"class":85,"line":646},[83,3235,1200],{"class":89},[83,3237,595],{"class":103},[83,3239,107],{"class":103},[83,3241,1207],{"class":110},[83,3243,585],{"class":103},[83,3245,616],{"class":89},[83,3247,3248,3250,3252,3254,3256,3258],{"class":85,"line":659},[83,3249,1216],{"class":89},[83,3251,595],{"class":103},[83,3253,107],{"class":103},[83,3255,471],{"class":110},[83,3257,585],{"class":103},[83,3259,616],{"class":89},[83,3261,3262,3264,3266,3268],{"class":85,"line":672},[83,3263,1231],{"class":89},[83,3265,595],{"class":103},[83,3267,654],{"class":103},[83,3269,616],{"class":89},[83,3271,3272,3274,3276,3278],{"class":85,"line":695},[83,3273,1253],{"class":89},[83,3275,595],{"class":103},[83,3277,654],{"class":103},[83,3279,616],{"class":89},[83,3281,3282,3284,3286,3288],{"class":85,"line":700},[83,3283,1264],{"class":89},[83,3285,595],{"class":103},[83,3287,654],{"class":103},[83,3289,616],{"class":89},[83,3291,3292,3295,3297,3299],{"class":85,"line":717},[83,3293,3294],{"class":89},"    x ",[83,3296,595],{"class":103},[83,3298,2348],{"class":627},[83,3300,616],{"class":89},[83,3302,3303,3306,3308,3310],{"class":85,"line":733},[83,3304,3305],{"class":89},"    y ",[83,3307,595],{"class":103},[83,3309,2348],{"class":627},[83,3311,616],{"class":89},[83,3313,3314,3317,3319,3321,3323,3325],{"class":85,"line":745},[83,3315,3316],{"class":89},"    category ",[83,3318,595],{"class":103},[83,3320,107],{"class":103},[83,3322,3108],{"class":110},[83,3324,585],{"class":103},[83,3326,616],{"class":89},[83,3328,3329,3331,3333,3335,3337,3339],{"class":85,"line":756},[83,3330,1275],{"class":89},[83,3332,595],{"class":103},[83,3334,107],{"class":103},[83,3336,1282],{"class":110},[83,3338,585],{"class":103},[83,3340,616],{"class":89},[83,3342,3343],{"class":85,"line":767},[83,3344,692],{"class":89},[83,3346,3347,3349,3351,3353,3355,3357,3359],{"class":85,"line":778},[83,3348,582],{"class":89},[83,3350,585],{"class":103},[83,3352,478],{"class":110},[83,3354,585],{"class":103},[83,3356,592],{"class":89},[83,3358,595],{"class":103},[83,3360,598],{"class":89},[83,3362,3363,3365,3367,3369,3371,3373],{"class":85,"line":797},[83,3364,1161],{"class":89},[83,3366,595],{"class":103},[83,3368,107],{"class":103},[83,3370,478],{"class":110},[83,3372,585],{"class":103},[83,3374,616],{"class":89},[83,3376,3377,3379,3381,3383,3385,3387],{"class":85,"line":802},[83,3378,604],{"class":89},[83,3380,595],{"class":103},[83,3382,107],{"class":103},[83,3384,726],{"class":110},[83,3386,585],{"class":103},[83,3388,616],{"class":89},[83,3390,3391,3393,3395,3397],{"class":85,"line":819},[83,3392,622],{"class":89},[83,3394,595],{"class":103},[83,3396,740],{"class":627},[83,3398,616],{"class":89},[83,3400,3401,3403,3405,3407,3409,3411],{"class":85,"line":835},[83,3402,1200],{"class":89},[83,3404,595],{"class":103},[83,3406,107],{"class":103},[83,3408,1207],{"class":110},[83,3410,585],{"class":103},[83,3412,616],{"class":89},[83,3414,3415,3417,3419,3421,3423,3425],{"class":85,"line":846},[83,3416,1216],{"class":89},[83,3418,595],{"class":103},[83,3420,107],{"class":103},[83,3422,491],{"class":110},[83,3424,585],{"class":103},[83,3426,616],{"class":89},[83,3428,3429,3431,3433,3435],{"class":85,"line":857},[83,3430,1231],{"class":89},[83,3432,595],{"class":103},[83,3434,654],{"class":103},[83,3436,616],{"class":89},[83,3438,3439,3441,3443,3445],{"class":85,"line":868},[83,3440,1253],{"class":89},[83,3442,595],{"class":103},[83,3444,654],{"class":103},[83,3446,616],{"class":89},[83,3448,3449,3451,3453,3455],{"class":85,"line":879},[83,3450,1264],{"class":89},[83,3452,595],{"class":103},[83,3454,654],{"class":103},[83,3456,616],{"class":89},[83,3458,3459,3461,3463,3465],{"class":85,"line":898},[83,3460,3294],{"class":89},[83,3462,595],{"class":103},[83,3464,2348],{"class":627},[83,3466,616],{"class":89},[83,3468,3469,3471,3473,3475],{"class":85,"line":1434},[83,3470,3305],{"class":89},[83,3472,595],{"class":103},[83,3474,2348],{"class":627},[83,3476,616],{"class":89},[83,3478,3479,3481,3483,3485,3487,3489],{"class":85,"line":1451},[83,3480,3316],{"class":89},[83,3482,595],{"class":103},[83,3484,107],{"class":103},[83,3486,3108],{"class":110},[83,3488,585],{"class":103},[83,3490,616],{"class":89},[83,3492,3493,3495,3497,3499,3501,3503],{"class":85,"line":1466},[83,3494,1275],{"class":89},[83,3496,595],{"class":103},[83,3498,107],{"class":103},[83,3500,1423],{"class":110},[83,3502,585],{"class":103},[83,3504,616],{"class":89},[83,3506,3507],{"class":85,"line":1481},[83,3508,692],{"class":89},[83,3510,3511,3513,3515,3517,3519,3521,3523],{"class":85,"line":1492},[83,3512,582],{"class":89},[83,3514,585],{"class":103},[83,3516,498],{"class":110},[83,3518,585],{"class":103},[83,3520,592],{"class":89},[83,3522,595],{"class":103},[83,3524,598],{"class":89},[83,3526,3527,3529,3531,3533,3535,3537],{"class":85,"line":1507},[83,3528,1161],{"class":89},[83,3530,595],{"class":103},[83,3532,107],{"class":103},[83,3534,498],{"class":110},[83,3536,585],{"class":103},[83,3538,616],{"class":89},[83,3540,3541,3543,3545,3547,3549,3551],{"class":85,"line":1522},[83,3542,604],{"class":89},[83,3544,595],{"class":103},[83,3546,107],{"class":103},[83,3548,828],{"class":110},[83,3550,585],{"class":103},[83,3552,616],{"class":89},[83,3554,3555,3557,3559,3561],{"class":85,"line":1533},[83,3556,622],{"class":89},[83,3558,595],{"class":103},[83,3560,740],{"class":627},[83,3562,616],{"class":89},[83,3564,3565,3567,3569,3571,3573,3575],{"class":85,"line":1544},[83,3566,1200],{"class":89},[83,3568,595],{"class":103},[83,3570,107],{"class":103},[83,3572,1207],{"class":110},[83,3574,585],{"class":103},[83,3576,616],{"class":89},[83,3578,3579,3581,3583,3585,3587,3589],{"class":85,"line":1555},[83,3580,1216],{"class":89},[83,3582,595],{"class":103},[83,3584,107],{"class":103},[83,3586,510],{"class":110},[83,3588,585],{"class":103},[83,3590,616],{"class":89},[83,3592,3593,3595,3597,3599],{"class":85,"line":1566},[83,3594,1231],{"class":89},[83,3596,595],{"class":103},[83,3598,654],{"class":103},[83,3600,616],{"class":89},[83,3602,3603,3605,3607,3609],{"class":85,"line":1582},[83,3604,1253],{"class":89},[83,3606,595],{"class":103},[83,3608,654],{"class":103},[83,3610,616],{"class":89},[83,3612,3614,3616,3618,3620],{"class":85,"line":3613},37,[83,3615,1264],{"class":89},[83,3617,595],{"class":103},[83,3619,654],{"class":103},[83,3621,616],{"class":89},[83,3623,3625,3627,3629,3631],{"class":85,"line":3624},38,[83,3626,3294],{"class":89},[83,3628,595],{"class":103},[83,3630,2348],{"class":627},[83,3632,616],{"class":89},[83,3634,3636,3638,3640,3642],{"class":85,"line":3635},39,[83,3637,3305],{"class":89},[83,3639,595],{"class":103},[83,3641,2348],{"class":627},[83,3643,616],{"class":89},[83,3645,3647,3649,3651,3653,3655,3657],{"class":85,"line":3646},40,[83,3648,3316],{"class":89},[83,3650,595],{"class":103},[83,3652,107],{"class":103},[83,3654,3108],{"class":110},[83,3656,585],{"class":103},[83,3658,616],{"class":89},[83,3660,3662,3664,3666,3668,3670,3672],{"class":85,"line":3661},41,[83,3663,1275],{"class":89},[83,3665,595],{"class":103},[83,3667,107],{"class":103},[83,3669,1575],{"class":110},[83,3671,585],{"class":103},[83,3673,616],{"class":89},[83,3675,3677],{"class":85,"line":3676},42,[83,3678,692],{"class":89},[10,3680,3681,3682,3685,3686,370,3689,3692,3693,44,3698,97],{},"On ESX, enter the equivalent fields using Core's installed SQL schema. Keep any additional fields required by your framework. Add all three item names to the existing ",[34,3683,3684],{},"Config.CloseAfterUse"," list, copy the images using Core's installed image convention, and configure ",[34,3687,3688],{},"ShownMetadata",[34,3690,3691],{},"ShowInformationsOnHover"," for hover details. Do not replace the existing category or close-on-use lists. ",[130,3694,3697],{"href":3695,"rel":3696},"https://docs.c8re.store/core-inventory/item-structure",[916],"Core item structure",[130,3699,3702],{"href":3700,"rel":3701},"https://docs.c8re.store/core-inventory/configuration",[916],"Core configuration",[10,3704,3705,3706,3709,3710,3712],{},"An ox-style ",[14,3707,3708],{},"file format"," in Core does not change the Phone adapter into ",[34,3711,127],{},"; keep the ox-specific use exports out of those definitions.",[19,3714,3716],{"id":3715},"one-inventory","One inventory",[10,3718,563,3719,3723,3724,3729,3730,3733],{},[14,3720,3721],{},[34,3722,350],{},". Use One's persistent ",[14,3725,3726],{},[34,3727,3728],{},"/inventory:manage"," item editor with its ",[34,3731,3732],{},"one_inventory.admin"," permission. Create or update these three entries:",[146,3735,3736,3752],{},[149,3737,3738],{},[152,3739,3740,3743,3746,3749],{},[155,3741,3742],{},"Name",[155,3744,3745],{},"Label",[155,3747,3748],{},"Weight",[155,3750,3751],{},"Image",[162,3753,3754,3769,3784],{},[152,3755,3756,3760,3762,3765],{},[167,3757,3758],{},[34,3759,460],{},[167,3761,611],{},[167,3763,3764],{},"200",[167,3766,3767],{},[34,3768,471],{},[152,3770,3771,3775,3777,3780],{},[167,3772,3773],{},[34,3774,478],{},[167,3776,726],{},[167,3778,3779],{},"5",[167,3781,3782],{},[34,3783,491],{},[152,3785,3786,3790,3792,3794],{},[167,3787,3788],{},[34,3789,498],{},[167,3791,828],{},[167,3793,3779],{},[167,3795,3796],{},[34,3797,510],{},[10,3799,3800,3801,44,3806,54,3811,3815,3816,44,3819,44,3822,54,3825,3828,3829,3832,3833,44,3838,44,3843,44,3848,97],{},"For each, set ",[14,3802,3803],{},[34,3804,3805],{},"unique = true",[14,3807,3808],{},[34,3809,3810],{},"close = true",[14,3812,3813],{},[34,3814,910],{},", and add a description. Leave ",[34,3817,3818],{},"clientExport",[34,3820,3821],{},"serverExport",[34,3823,3824],{},"clientEvent",[34,3826,3827],{},"serverEvent"," unset: One's framework usable registry handles Phone's callbacks. Copy the PNGs to ",[34,3830,3831],{},"one_inventory/web/images/"," or upload them through its editor. ",[130,3834,3837],{"href":3835,"rel":3836},"https://onestudios.gg/docs/guides/usable-items",[916],"One usable items and editor",[130,3839,3842],{"href":3840,"rel":3841},"https://onestudios.gg/docs/server/exports#createitemsdefinition",[916],"native item fields",[130,3844,3847],{"href":3845,"rel":3846},"https://onestudios.gg/docs/guides/item-images",[916],"images",[130,3849,3852],{"href":3850,"rel":3851},"https://onestudios.gg/docs/guides/permissions",[916],"admin permissions",[10,3854,3855,3856,3859],{},"The runtime ",[34,3857,3858],{},"CreateItemsDefinition"," export is temporary. Use the persistent editor for an installation that survives an inventory restart. Phone registers IMEI and number tooltip labels automatically.",[19,3861,3863],{"id":3862},"origen-inventory","Origen inventory",[10,3865,563,3866,3870,3871,3876,3877,97],{},[14,3867,3868],{},[34,3869,364],{},". Current Origen documentation places native entries in ",[14,3872,3873],{},[34,3874,3875],{},"origen_inventory/config/items.lua",". If your installed version uses a different item loader, follow its matching instructions. Complete Origen's framework integration, including its ESX overrides when applicable. ",[130,3878,3881],{"href":3879,"rel":3880},"https://docs.origennetwork.com/scripts/origen_inventory/installation",[916],"Origen installation and item locations",[74,3883,3885],{"className":76,"code":3884,"language":78,"meta":79,"style":79},"[\"phone\"] = {\n    label = \"iFruit Phone\",\n    weight = 200,\n    type = \"item\",\n    image = \"phone.png\",\n    description = \"A personal mobile phone\",\n    stack = false,\n    close = true,\n    consume = 0,\n},\n[\"sky_phone_sim_registered\"] = {\n    label = \"Registered SIM\",\n    weight = 5,\n    type = \"item\",\n    image = \"sky_phone_sim_registered.png\",\n    description = \"A registered physical SIM card\",\n    stack = false,\n    close = true,\n    consume = 0,\n},\n[\"sky_phone_sim_anonymous\"] = {\n    label = \"Anonymous SIM\",\n    weight = 5,\n    type = \"item\",\n    image = \"sky_phone_sim_anonymous.png\",\n    description = \"An anonymous physical SIM card\",\n    stack = false,\n    close = true,\n    consume = 0,\n},\n",[34,3886,3887,3903,3917,3927,3941,3955,3969,3979,3989,3999,4003,4019,4033,4043,4057,4071,4085,4095,4105,4115,4119,4135,4149,4159,4173,4187,4201,4211,4221,4231],{"__ignoreMap":79},[83,3888,3889,3891,3893,3895,3897,3899,3901],{"class":85,"line":86},[83,3890,582],{"class":89},[83,3892,585],{"class":103},[83,3894,460],{"class":110},[83,3896,585],{"class":103},[83,3898,592],{"class":89},[83,3900,595],{"class":103},[83,3902,598],{"class":89},[83,3904,3905,3907,3909,3911,3913,3915],{"class":85,"line":601},[83,3906,604],{"class":89},[83,3908,595],{"class":103},[83,3910,107],{"class":103},[83,3912,611],{"class":110},[83,3914,585],{"class":103},[83,3916,616],{"class":89},[83,3918,3919,3921,3923,3925],{"class":85,"line":619},[83,3920,622],{"class":89},[83,3922,595],{"class":103},[83,3924,628],{"class":627},[83,3926,616],{"class":89},[83,3928,3929,3931,3933,3935,3937,3939],{"class":85,"line":633},[83,3930,1200],{"class":89},[83,3932,595],{"class":103},[83,3934,107],{"class":103},[83,3936,1207],{"class":110},[83,3938,585],{"class":103},[83,3940,616],{"class":89},[83,3942,3943,3945,3947,3949,3951,3953],{"class":85,"line":646},[83,3944,1216],{"class":89},[83,3946,595],{"class":103},[83,3948,107],{"class":103},[83,3950,471],{"class":110},[83,3952,585],{"class":103},[83,3954,616],{"class":89},[83,3956,3957,3959,3961,3963,3965,3967],{"class":85,"line":659},[83,3958,1275],{"class":89},[83,3960,595],{"class":103},[83,3962,107],{"class":103},[83,3964,1282],{"class":110},[83,3966,585],{"class":103},[83,3968,616],{"class":89},[83,3970,3971,3973,3975,3977],{"class":85,"line":672},[83,3972,636],{"class":89},[83,3974,595],{"class":103},[83,3976,641],{"class":103},[83,3978,616],{"class":89},[83,3980,3981,3983,3985,3987],{"class":85,"line":695},[83,3982,649],{"class":89},[83,3984,595],{"class":103},[83,3986,654],{"class":103},[83,3988,616],{"class":89},[83,3990,3991,3993,3995,3997],{"class":85,"line":700},[83,3992,662],{"class":89},[83,3994,595],{"class":103},[83,3996,667],{"class":627},[83,3998,616],{"class":89},[83,4000,4001],{"class":85,"line":717},[83,4002,692],{"class":89},[83,4004,4005,4007,4009,4011,4013,4015,4017],{"class":85,"line":733},[83,4006,582],{"class":89},[83,4008,585],{"class":103},[83,4010,478],{"class":110},[83,4012,585],{"class":103},[83,4014,592],{"class":89},[83,4016,595],{"class":103},[83,4018,598],{"class":89},[83,4020,4021,4023,4025,4027,4029,4031],{"class":85,"line":745},[83,4022,604],{"class":89},[83,4024,595],{"class":103},[83,4026,107],{"class":103},[83,4028,726],{"class":110},[83,4030,585],{"class":103},[83,4032,616],{"class":89},[83,4034,4035,4037,4039,4041],{"class":85,"line":756},[83,4036,622],{"class":89},[83,4038,595],{"class":103},[83,4040,740],{"class":627},[83,4042,616],{"class":89},[83,4044,4045,4047,4049,4051,4053,4055],{"class":85,"line":767},[83,4046,1200],{"class":89},[83,4048,595],{"class":103},[83,4050,107],{"class":103},[83,4052,1207],{"class":110},[83,4054,585],{"class":103},[83,4056,616],{"class":89},[83,4058,4059,4061,4063,4065,4067,4069],{"class":85,"line":778},[83,4060,1216],{"class":89},[83,4062,595],{"class":103},[83,4064,107],{"class":103},[83,4066,491],{"class":110},[83,4068,585],{"class":103},[83,4070,616],{"class":89},[83,4072,4073,4075,4077,4079,4081,4083],{"class":85,"line":797},[83,4074,1275],{"class":89},[83,4076,595],{"class":103},[83,4078,107],{"class":103},[83,4080,1423],{"class":110},[83,4082,585],{"class":103},[83,4084,616],{"class":89},[83,4086,4087,4089,4091,4093],{"class":85,"line":802},[83,4088,636],{"class":89},[83,4090,595],{"class":103},[83,4092,641],{"class":103},[83,4094,616],{"class":89},[83,4096,4097,4099,4101,4103],{"class":85,"line":819},[83,4098,649],{"class":89},[83,4100,595],{"class":103},[83,4102,654],{"class":103},[83,4104,616],{"class":89},[83,4106,4107,4109,4111,4113],{"class":85,"line":835},[83,4108,662],{"class":89},[83,4110,595],{"class":103},[83,4112,667],{"class":627},[83,4114,616],{"class":89},[83,4116,4117],{"class":85,"line":846},[83,4118,692],{"class":89},[83,4120,4121,4123,4125,4127,4129,4131,4133],{"class":85,"line":857},[83,4122,582],{"class":89},[83,4124,585],{"class":103},[83,4126,498],{"class":110},[83,4128,585],{"class":103},[83,4130,592],{"class":89},[83,4132,595],{"class":103},[83,4134,598],{"class":89},[83,4136,4137,4139,4141,4143,4145,4147],{"class":85,"line":868},[83,4138,604],{"class":89},[83,4140,595],{"class":103},[83,4142,107],{"class":103},[83,4144,828],{"class":110},[83,4146,585],{"class":103},[83,4148,616],{"class":89},[83,4150,4151,4153,4155,4157],{"class":85,"line":879},[83,4152,622],{"class":89},[83,4154,595],{"class":103},[83,4156,740],{"class":627},[83,4158,616],{"class":89},[83,4160,4161,4163,4165,4167,4169,4171],{"class":85,"line":898},[83,4162,1200],{"class":89},[83,4164,595],{"class":103},[83,4166,107],{"class":103},[83,4168,1207],{"class":110},[83,4170,585],{"class":103},[83,4172,616],{"class":89},[83,4174,4175,4177,4179,4181,4183,4185],{"class":85,"line":1434},[83,4176,1216],{"class":89},[83,4178,595],{"class":103},[83,4180,107],{"class":103},[83,4182,510],{"class":110},[83,4184,585],{"class":103},[83,4186,616],{"class":89},[83,4188,4189,4191,4193,4195,4197,4199],{"class":85,"line":1451},[83,4190,1275],{"class":89},[83,4192,595],{"class":103},[83,4194,107],{"class":103},[83,4196,1575],{"class":110},[83,4198,585],{"class":103},[83,4200,616],{"class":89},[83,4202,4203,4205,4207,4209],{"class":85,"line":1466},[83,4204,636],{"class":89},[83,4206,595],{"class":103},[83,4208,641],{"class":103},[83,4210,616],{"class":89},[83,4212,4213,4215,4217,4219],{"class":85,"line":1481},[83,4214,649],{"class":89},[83,4216,595],{"class":103},[83,4218,654],{"class":103},[83,4220,616],{"class":89},[83,4222,4223,4225,4227,4229],{"class":85,"line":1492},[83,4224,662],{"class":89},[83,4226,595],{"class":103},[83,4228,667],{"class":627},[83,4230,616],{"class":89},[83,4232,4233],{"class":85,"line":1507},[83,4234,692],{"class":89},[10,4236,4237,4238,547,4240,4242,4243,547,4245,4248,4249,97],{},"Place the PNGs in the image directory used by your Origen version. Keep native framework item use with no ox-only Phone client export. Origen's ",[34,4239,369],{},[34,4241,373],{}," fields should not be replaced by QB's ",[34,4244,2049],{},[34,4246,4247],{},"shouldClose"," merely because your framework is QB. ",[130,4250,4253],{"href":4251,"rel":4252},"https://docs.origennetwork.com/scripts/origen_inventory/custom",[916],"Origen item fields",[19,4255,4256],{"id":382},"MF inventory",[10,4258,563,4259,2184,4263,4265,4266,4270,4271,4273],{},[14,4260,4261],{},[34,4262,385],{},[14,4264,2187],{},". Install MF's database extensions and framework integration first, then add the three IDs from the ",[130,4267,4269],{"href":4268},"#required-items-and-images","item list"," to the ESX ",[34,4272,3069],{}," table using that installed schema.",[10,4275,4276,4277,547,4279,4282,4283,4288,4289,4294,4295,44,4300,97],{},"MF adds ",[34,4278,2049],{},[34,4280,4281],{},"degrademodifier"," fields. Set ",[14,4284,4285],{},[34,4286,4287],{},"unique = 1"," for each unique handset and physical SIM, and ",[14,4290,4291],{},[34,4292,4293],{},"degrademodifier = 0.0"," to disable decay. Choose weights in the units used by your MF installation and follow its active image convention. Do not paste a QB Lua table into SQL. ",[130,4296,4299],{"href":4297,"rel":4298},"https://github.com/meta-hub/mf-inventory/wiki/Legacy-Installation",[916],"MF installation",[130,4301,4304],{"href":4302,"rel":4303},"https://github.com/meta-hub/mf-inventory/wiki/Features",[916],"unique items and degradation",[10,4306,4307,4310,4311,4313,4314,44,4319,97],{},[14,4308,4309],{},"Verify the MF/ESX integration version:"," Phone 1.1.0 expects the actual slot item as the fourth usable-callback argument. The older public MF examples show a different argument layout. An installation using that older layout needs a matching adapter/integration update; ",[34,4312,4287],{}," alone cannot fix item use. ",[130,4315,4318],{"href":4316,"rel":4317},"https://github.com/meta-hub/mf-inventory/wiki/Examples",[916],"MF examples",[130,4320,4323],{"href":4321,"rel":4322},"https://github.com/sky-systems/sky_phone/blob/1.1.0/sky_phone/source/bridge/server/inventory/mf.lua",[916],"Phone MF adapter",[19,4325,4326],{"id":396},"SMX inventory",[10,4328,563,4329,2184,4333,4335,4336,4339,4340,97],{},[14,4330,4331],{},[34,4332,399],{},[14,4334,2187],{},". The bundled Phone adapter registers the configured phone and enabled SIM item names through ",[34,4337,4338],{},"ESX.AddItems","; there is no additional Phone QB/ox item table to paste. Add the matching images using your installed SMX image configuration. ",[130,4341,4344],{"href":4342,"rel":4343},"https://github.com/sky-systems/sky_phone/blob/1.1.0/sky_phone/source/bridge/server/inventory/smx.lua",[916],"Phone SMX adapter",[10,4346,4347,4350,4351,4353],{},[14,4348,4349],{},"This adapter stores one metadata record per character and configured item name."," Multiple copies of ",[34,4352,460],{},", for example, cannot hold separate device identities through this bridge. Do not use it for independently transferable collections of phones/SIMs or assume normal inventory trades move the identity metadata.",[10,4355,4356,4357,547,4359,4362],{},"For a character-based setup, use ",[34,4358,532],{},[34,4360,4361],{},"Sim.Enabled = false",". For distinct physical handsets and transferable physical SIMs, choose an inventory with verified per-item metadata support instead. No current public SMX item schema or universal image path is assumed here.",[19,4364,4366],{"id":4365},"hex-and-native-esx-inventory","HEX and native ESX inventory",[10,4368,563,4369,2219,4373,2188,4375,4379,4380,4383],{},[14,4370,4371],{},[34,4372,413],{},[34,4374,410],{},[14,4376,4377],{},[34,4378,426],{}," for native ESX inventory. Both require ESX. Register the configured ",[14,4381,4382],{},"phone item only"," in the active ESX item catalogue and use the image path configured by HEX or your ESX inventory UI.",[146,4385,4386,4396],{},[149,4387,4388],{},[152,4389,4390,4393],{},[155,4391,4392],{},"Item field",[155,4394,4395],{},"Value",[162,4397,4398,4412,4421,4431,4444],{},[152,4399,4400,4405],{},[167,4401,4402],{},[34,4403,4404],{},"name",[167,4406,4407,4409,4410],{},[34,4408,460],{},", or your configured ",[34,4411,43],{},[152,4413,4414,4419],{},[167,4415,4416],{},[34,4417,4418],{},"label",[167,4420,611],{},[152,4422,4423,4428],{},[167,4424,4425],{},[34,4426,4427],{},"weight",[167,4429,4430],{},"Set for your server's item weight convention",[152,4432,4433,4438],{},[167,4434,4435],{},[34,4436,4437],{},"rare",[167,4439,4440,4443],{},[34,4441,4442],{},"0",", if this field exists in the installed schema",[152,4445,4446,4451],{},[167,4447,4448],{},[34,4449,4450],{},"can_remove",[167,4452,4453,4443],{},[34,4454,4455],{},"1",[10,4457,4458,4459,547,4463,4467,4468,4470,4471,44,4476,97],{},"These Phone adapters expose count-based items without per-item metadata. Phone automatically forces ",[14,4460,4461],{},[34,4462,532],{},[14,4464,4465],{},[34,4466,4361],{},". Data belongs to the character and a number is assigned without a physical SIM. Creating SIM rows or adding ",[34,4469,2049],{}," flags does not enable physical SIM support. ",[130,4472,4475],{"href":4473,"rel":4474},"https://github.com/sky-systems/sky_phone/blob/1.1.0/sky_phone/source/bridge/server/inventory/esx.lua",[916],"Phone ESX/HEX adapter",[130,4477,4480],{"href":4478,"rel":4479},"https://github.com/sky-systems/sky_phone/blob/1.1.0/sky_phone/source/bridge/server/inventory.lua",[916],"mode enforcement",[19,4482,4484],{"id":4483},"tooltips-and-sim-removal","Tooltips and SIM removal",[10,4486,4487],{},"Metadata storage and tooltip display are separate. A missing IMEI label in a hover tooltip does not by itself mean that the item lost its metadata.",[10,4489,4490,4491,4496],{},"Phone automatically registers tooltip labels for ox, TGIANN, and One. Other inventories may need their own display configuration. For Jaksam display fields, Core and AK47 settings, LJ/PS formatting, and optional SIM context-menu buttons, follow the ",[130,4492,4495],{"href":4493,"rel":4494},"https://github.com/sky-systems/sky_phone/blob/1.1.0/README.md#inventory-tooltip-setup",[916],"inventory tooltip and SIM-button guide",". Use the normal in-phone SIM controls when your inventory has no supported custom button.",[19,4498,4500],{"id":4499},"restart-and-verify","Restart and verify",[10,4502,4503,4504,4507,4508,4514,4515,97],{},"After changing framework item definitions or inventory code, restart the complete server. Start ",[34,4505,4506],{},"oxmysql",", your framework, the selected inventory and its dependencies, and your voice resource ",[14,4509,4510,4511],{},"before ",[34,4512,4513],{},"sky_phone",". See the ",[130,4516,4519],{"href":4517,"rel":4518},"https://www.sky-systems.net/docs/scripts/free-phone/installation",[916],"installation and ACE setup",[24,4521,4522,4525,4528,4531,4534],{},[27,4523,4524],{},"Check the console for missing resources, exports, incompatible frameworks, or metadata warnings.",[27,4526,4527],{},"Obtain the configured phone through your normal inventory/admin tool. Use it from the inventory and confirm that Phone opens.",[27,4529,4530],{},"With physical SIMs enabled, use a registered SIM and then an anonymous SIM. Confirm successful insertion, correct number/type, and removal/ejection without duplication.",[27,4532,4533],{},"With unique phones enabled, test two separate handsets in different slots. Confirm that each keeps its own IMEI and SIM.",[27,4535,4536],{},"On an inventory with per-item metadata, move a device through a stash and a player trade, then reconnect/restart and verify its identity and number. This checks your installed inventory's persistence, not just the item declaration.",[10,4538,4539],{},"Item definitions do not add shop stock. Add the configured IDs to your own shops or distribution flow as needed, with fresh identity metadata.",[19,4541,4543],{"id":4542},"troubleshooting","Troubleshooting",[146,4545,4546,4556],{},[149,4547,4548],{},[152,4549,4550,4553],{},[155,4551,4552],{},"Symptom",[155,4554,4555],{},"Check",[162,4557,4558,4568,4579,4590,4598,4606,4619,4632,4640,4648],{},[152,4559,4560,4565],{},[167,4561,4562,4564],{},[34,4563,1637],{}," on TGIANN or another inventory",[167,4566,4567],{},"Remove ox-only Phone use exports from the item/custom hook; select the correct Phone adapter, save, and restart",[152,4569,4570,4573],{},[167,4571,4572],{},"Old ox closes the inventory but the SIM does nothing",[167,4574,4575,4576,4578],{},"Check the server ",[34,4577,931],{}," event; upstream versions before 2.38.0 do not provide it",[152,4580,4581,4587],{},[167,4582,4583,4584,4586],{},"Editing ",[34,4585,71],{}," changes nothing",[167,4588,4589],{},"SQL configuration is enabled; edit the corresponding Phonepanel field and save",[152,4591,4592,4595],{},[167,4593,4594],{},"Phone item is not found",[167,4596,4597],{},"Match the exact item ID, active inventory resource, selected adapter, and the player's actual inventory",[152,4599,4600,4603],{},[167,4601,4602],{},"Item appears but cannot be used",[167,4604,4605],{},"Check the provider's usable/close fields, its framework installation, and competing phone handlers",[152,4607,4608,4616],{},[167,4609,4610,370,4613],{},[34,4611,4612],{},"phone_slot_missing",[34,4614,4615],{},"sim_slot_missing",[167,4617,4618],{},"Check that the provider returns the actual selected slot/item and that the item still exists there",[152,4620,4621,4626],{},[167,4622,4623],{},[34,4624,4625],{},"metadata_unsupported",[167,4627,4628,4629,4631],{},"Check per-item storage, non-stacking rules, TGIANN ",[34,4630,198],{},", and the inventory/API version",[152,4633,4634,4637],{},[167,4635,4636],{},"Several devices share an identity",[167,4638,4639],{},"Check stacking and cloned metadata; SMX's character/item-name bridge cannot represent independent copies",[152,4641,4642,4645],{},[167,4643,4644],{},"Physical SIMs are disabled on HEX/ESX",[167,4646,4647],{},"Expected: those adapters cannot store per-item identity metadata",[152,4649,4650,4653],{},[167,4651,4652],{},"Item icon is missing",[167,4654,4655,4656,4658],{},"Check the active image location, exact filename and extension; TGIANN defaults to WebP when ",[34,4657,1618],{}," is omitted",[10,4660,4661],{},"If the problem remains, include your Phone version, exact inventory resource/version, framework, active Phonepanel adapter, phone and both SIM definitions, and the relevant server/client error. Remove credentials and unrelated player data before sharing logs.",[10,4663,4664,4665,4668],{},"Provider documentation and Phone source were checked on ",[14,4666,4667],{},"2026-09-29",". These examples are not a claim that every provider release or fork has been tested in FiveM; use the verification steps on your installed versions.",[4670,4671,4672],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":79,"searchDepth":86,"depth":601,"links":4674},[4675,4676,4677,4678,4682,4683,4691,4692,4693,4694,4695,4696,4697,4698,4699,4700,4701],{"id":21,"depth":601,"text":22},{"id":136,"depth":601,"text":137},{"id":432,"depth":601,"text":433},{"id":559,"depth":601,"text":560,"children":4679},[4680,4681],{"id":921,"depth":619,"text":922},{"id":948,"depth":619,"text":949},{"id":190,"depth":601,"text":1125},{"id":1644,"depth":601,"text":1645,"children":4684},[4685,4686,4687,4688,4689,4690],{"id":207,"depth":619,"text":2065},{"id":225,"depth":619,"text":2092},{"id":241,"depth":619,"text":2114},{"id":255,"depth":619,"text":2140},{"id":268,"depth":619,"text":2170},{"id":282,"depth":619,"text":2212},{"id":2251,"depth":601,"text":2252},{"id":2586,"depth":601,"text":2587},{"id":3023,"depth":601,"text":3024},{"id":3715,"depth":601,"text":3716},{"id":3862,"depth":601,"text":3863},{"id":382,"depth":601,"text":4256},{"id":396,"depth":601,"text":4326},{"id":4365,"depth":601,"text":4366},{"id":4483,"depth":601,"text":4484},{"id":4499,"depth":601,"text":4500},{"id":4542,"depth":601,"text":4543},"Choose the correct Phone inventory adapter, copy phone and SIM items for your inventory, configure metadata and images, and troubleshoot item use.","md",null,{},"/docs/scripts/free-phone/inventory-items",{"title":5,"description":4702},{"loc":4706},"1.docs/scripts/4.free-phone/6.inventory-items","P8iNGlAMrGSeoZi4rn5Ri6SDlwZt7JsAwK9etGrylTw",[4712,4716],{"title":4713,"path":132,"stem":4714,"description":4715,"children":-1},"Configuration","1.docs/scripts/4.free-phone/5.configuration","Configure Free Phone through the General page, separate SQL and file settings, set up ACE groups, and record valid FiveM keyboard bindings.",{"title":4717,"path":4718,"stem":4719,"description":4720,"children":-1},"Overview","/docs/scripts/pets/overview","1.docs/scripts/5.pets/1.overview","Start here for Sky Pets installation, everyday play, configuration, features, and integration APIs.",[],1790694458221]