[{"data":1,"prerenderedAt":615},["ShallowReactive",2],{"/docs/scripts/pets/reference/events":3,"/docs/scripts/pets/reference/events-surround":604,"/docs/scripts/pets/reference/events-implemented-suggestions":614},{"id":4,"title":5,"body":6,"description":595,"extension":596,"head":597,"implementedSuggestions":597,"meta":598,"navigation":309,"path":599,"schemaOrg":597,"seo":600,"sitemap":601,"stem":602,"__hash__":603},"docs/1.docs/scripts/5.pets/4.reference/4.events.md","Events",{"type":7,"value":8,"toc":589},"minimark",[9,37,42,179,192,343,347,403,406,474,478,514,518,585],[10,11,12,13,17,18,21,22,26,27,30,31,36],"p",{},"Sky Pets uses ",[14,15,16],"strong",{},"local client events"," for menu coordination and ",[14,19,20],{},"local server/client events"," for configuration notifications. Listen with ",[23,24,25],"code",{},"AddEventHandler"," in the indicated runtime. ",[23,28,29],{},"RegisterNetEvent"," names below are internal transport, not public mutation APIs. For a controlled cross-resource call, prefer ",[32,33,35],"a",{"href":34},"./exports","Exports",".",[38,39,41],"h2",{"id":40},"local-client-menu-events","Local client menu events",[43,44,45,61],"table",{},[46,47,48],"thead",{},[49,50,51,55,58],"tr",{},[52,53,54],"th",{},"Event",[52,56,57],{},"Arguments",[52,59,60],{},"Use",[62,63,64,83,100,113,128,143,155,167],"tbody",{},[49,65,66,72,77],{},[67,68,69],"td",{},[23,70,71],{},"sky_pets:open",[67,73,74],{},[23,75,76],{},"shopId: string",[67,78,79,80],{},"Open a configured pet shop; local alias of ",[23,81,82],{},"OpenShop",[49,84,85,90,94],{},[67,86,87],{},[23,88,89],{},"sky_pets:openSupplies",[67,91,92],{},[23,93,76],{},[67,95,96,97],{},"Open a configured supplies shop; local alias of ",[23,98,99],{},"OpenSuppliesShop",[49,101,102,107,110],{},[67,103,104],{},[23,105,106],{},"sky_pets:closeShop",[67,108,109],{},"none",[67,111,112],{},"Close the active pet/supplies shop",[49,114,115,120,125],{},[67,116,117],{},[23,118,119],{},"sky_pets:shopState",[67,121,122],{},[23,123,124],{},"open: boolean",[67,126,127],{},"Observe shop/choice UI opening or closing",[49,129,130,135,140],{},[67,131,132],{},[23,133,134],{},"sky_pets:wardrobeUpdated",[67,136,137],{},[23,138,139],{},"pet: table",[67,141,142],{},"Local wardrobe refresh after an equip/purchase; payload is the updated pet snapshot",[49,144,145,150,152],{},[67,146,147],{},[23,148,149],{},"sky_pets:wardrobeClosed",[67,151,109],{},[67,153,154],{},"Local wardrobe state cleanup",[49,156,157,162,164],{},[67,158,159],{},[23,160,161],{},"sky_pets:leashChanged",[67,163,109],{},[67,165,166],{},"Local leash state refresh",[49,168,169,174,176],{},[67,170,171],{},[23,172,173],{},"sky_pets:animal:menuOpening",[67,175,109],{},[67,177,178],{},"Animal-form editor is about to open; pet UI closes",[10,180,181,182,185,186,188,189,191],{},"The ",[23,183,184],{},"shopState"," notification is emitted by the shop flow; use it to pause another local UI. It does not mean a purchase succeeded. ",[23,187,82],{},"/",[23,190,99],{}," and their local aliases still run the same proximity-validated catalogue flow.",[193,194,200],"pre",{"className":195,"code":196,"filename":197,"language":198,"meta":199,"style":199},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","AddEventHandler(\"sky_pets:shopState\", function(open)\n    if open then\n        print(\"Pet shop UI opened\")\n    else\n        print(\"Pet shop UI closed\")\n    end\nend)\n\n-- Equivalent to the OpenShop client export.\nTriggerEvent(\"sky_pets:open\", \"pet_shop\")\n","client.lua","lua","",[23,201,202,239,251,268,274,290,296,304,311,318],{"__ignoreMap":199},[203,204,207,210,214,218,221,223,226,230,232,236],"span",{"class":205,"line":206},"line",1,[203,208,25],{"class":209},"s2Zo4",[203,211,213],{"class":212},"sTEyZ","(",[203,215,217],{"class":216},"sMK4o","\"",[203,219,119],{"class":220},"sfazB",[203,222,217],{"class":216},[203,224,225],{"class":212},", ",[203,227,229],{"class":228},"s7zQu","function",[203,231,213],{"class":216},[203,233,235],{"class":234},"sHdIc","open",[203,237,238],{"class":216},")\n",[203,240,242,245,248],{"class":205,"line":241},2,[203,243,244],{"class":228},"    if",[203,246,247],{"class":212}," open ",[203,249,250],{"class":228},"then\n",[203,252,254,257,259,261,264,266],{"class":205,"line":253},3,[203,255,256],{"class":209},"        print",[203,258,213],{"class":212},[203,260,217],{"class":216},[203,262,263],{"class":220},"Pet shop UI opened",[203,265,217],{"class":216},[203,267,238],{"class":212},[203,269,271],{"class":205,"line":270},4,[203,272,273],{"class":228},"    else\n",[203,275,277,279,281,283,286,288],{"class":205,"line":276},5,[203,278,256],{"class":209},[203,280,213],{"class":212},[203,282,217],{"class":216},[203,284,285],{"class":220},"Pet shop UI closed",[203,287,217],{"class":216},[203,289,238],{"class":212},[203,291,293],{"class":205,"line":292},6,[203,294,295],{"class":228},"    end\n",[203,297,299,302],{"class":205,"line":298},7,[203,300,301],{"class":228},"end",[203,303,238],{"class":212},[203,305,307],{"class":205,"line":306},8,[203,308,310],{"emptyLinePlaceholder":309},true,"\n",[203,312,314],{"class":205,"line":313},9,[203,315,317],{"class":316},"sHwdD","-- Equivalent to the OpenShop client export.\n",[203,319,321,324,326,328,330,332,334,336,339,341],{"class":205,"line":320},10,[203,322,323],{"class":209},"TriggerEvent",[203,325,213],{"class":212},[203,327,217],{"class":216},[203,329,71],{"class":220},[203,331,217],{"class":216},[203,333,225],{"class":212},[203,335,217],{"class":216},[203,337,338],{"class":220},"pet_shop",[203,340,217],{"class":216},[203,342,238],{"class":212},[38,344,346],{"id":345},"local-configuration-and-catalogue-notifications","Local configuration and catalogue notifications",[43,348,349,363],{},[46,350,351],{},[49,352,353,355,358,360],{},[52,354,54],{},[52,356,357],{},"Runtime",[52,359,57],{},[52,361,362],{},"Fired when",[62,364,365,383],{},[49,366,367,372,375,380],{},[67,368,369],{},[23,370,371],{},"sky_pets:configUpdated",[67,373,374],{},"Server and client separately",[67,376,377],{},[23,378,379],{},"changed: table\u003Cstring, boolean>",[67,381,382],{},"Effective managed configuration is applied",[49,384,385,390,392,400],{},[67,386,387],{},[23,388,389],{},"sky_pets:breedsChanged",[67,391,374],{},[67,393,394,225,397],{},[23,395,396],{},"removed: table",[23,398,399],{},"revision: number",[67,401,402],{},"Breed/shop availability is refreshed",[10,404,405],{},"These notifications are for observing a change already applied. The client and server each have their own local event bus. Do not trigger them to save settings or register a breed; that bypasses the resource's actual persistence and refresh process.",[193,407,410],{"className":195,"code":408,"filename":409,"language":198,"meta":199,"style":199},"AddEventHandler(\"sky_pets:configUpdated\", function(changed)\n    if changed.Shops then\n        print(\"Sky Pets shop configuration was applied\")\n    end\nend)\n","server.lua",[23,411,412,435,449,464,468],{"__ignoreMap":199},[203,413,414,416,418,420,422,424,426,428,430,433],{"class":205,"line":206},[203,415,25],{"class":209},[203,417,213],{"class":212},[203,419,217],{"class":216},[203,421,371],{"class":220},[203,423,217],{"class":216},[203,425,225],{"class":212},[203,427,229],{"class":228},[203,429,213],{"class":216},[203,431,432],{"class":234},"changed",[203,434,238],{"class":216},[203,436,437,439,442,446],{"class":205,"line":241},[203,438,244],{"class":228},[203,440,441],{"class":212}," changed.",[203,443,445],{"class":444},"sBMFI","Shops",[203,447,448],{"class":228}," then\n",[203,450,451,453,455,457,460,462],{"class":205,"line":253},[203,452,256],{"class":209},[203,454,213],{"class":212},[203,456,217],{"class":216},[203,458,459],{"class":220},"Sky Pets shop configuration was applied",[203,461,217],{"class":216},[203,463,238],{"class":212},[203,465,466],{"class":205,"line":270},[203,467,295],{"class":228},[203,469,470,472],{"class":205,"line":276},[203,471,301],{"class":228},[203,473,238],{"class":212},[38,475,477],{"id":476},"inventory-item-entry-points","Inventory item entry points",[10,479,480,481,225,484,225,487,490,491,225,494,225,497,225,500,503,504,225,507,503,510,513],{},"The configured inventory can invoke ",[23,482,483],{},"sky_pets:useTreat",[23,485,486],{},"sky_pets:useBandage",[23,488,489],{},"sky_pets:useRescueKit",", and the ",[23,492,493],{},"sky_pets:useFood",[23,495,496],{},"useFood2",[23,498,499],{},"useWater",[23,501,502],{},"useBall1","–",[23,505,506],{},"useBall3",[23,508,509],{},"useBone1",[23,511,512],{},"useBone2"," client events. These are registered by Sky Pets for usable inventory items. They start a local interaction; the server validates state, range and item possession before any reward or consumption. Use the supplied item entries instead of manually triggering these events from another resource.",[38,515,517],{"id":516},"internal-network-events-and-callbacks","Internal network events and callbacks",[10,519,520,521,225,524,225,527,225,530,225,533,536,537,540,541,225,544,225,547,225,550,225,553,225,556,225,559,225,562,225,565,568,569,572,573,576,577,580,581,584],{},"The resource also registers ",[23,522,523],{},"sky_pets:selectedPet",[23,525,526],{},"unleash",[23,528,529],{},"vehicleRelease",[23,531,532],{},"activityCancel",[23,534,535],{},"healthDismiss"," and ",[23,538,539],{},"workCancel"," on the server; ",[23,542,543],{},"sky_pets:combat",[23,545,546],{},"combatEnd",[23,548,549],{},"training",[23,551,552],{},"health",[23,554,555],{},"growth",[23,557,558],{},"growthChanged",[23,560,561],{},"growthCancelled",[23,563,564],{},"workSniff",[23,566,567],{},"workResult",", configurator sync/open, and ",[23,570,571],{},"sky_pets:animal:*"," messages on clients. These carry session-specific state and are ",[14,574,575],{},"internal",". The ",[23,578,579],{},"sky_pets:*"," ",[23,582,583],{},"Sky.Cb"," calls for purchase, wardrobes, needs, combat and the animal editor are likewise internal protocols. External resources should not emit them as shortcuts or trust a client-supplied payload as proof of ownership, payment, duty or combat outcome.",[586,587,588],"style",{},"html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 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}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":199,"searchDepth":206,"depth":241,"links":590},[591,592,593,594],{"id":40,"depth":241,"text":41},{"id":345,"depth":241,"text":346},{"id":476,"depth":241,"text":477},{"id":516,"depth":241,"text":517},"Sky Pets local integration events, observer payloads, item-use entry points, and internal network-event boundaries.","md",null,{},"/docs/scripts/pets/reference/events",{"title":5,"description":595},{"loc":599},"1.docs/scripts/5.pets/4.reference/4.events","mvm6Ig0uN-Fd-uDY7M5Ta-fB8h-eO7eT_zC3lWI3rgs",[605,609],{"title":35,"path":606,"stem":607,"description":608,"children":-1},"/docs/scripts/pets/reference/exports","1.docs/scripts/5.pets/4.reference/3.exports","Complete Sky Pets core client and server exports, arguments, results, availability, and Lua examples.",{"title":610,"path":611,"stem":612,"description":613,"children":-1},"Troubleshooting","/docs/scripts/pets/reference/troubleshooting","1.docs/scripts/5.pets/4.reference/5.troubleshooting","Diagnose Sky Pets startup, shop previews, inventory use, permissions, appearance and model issues.",[],1790206636689]