FSaveNameThe Rich and the GoodEpochTime”òdjDate7/25/2026 1:29:56 PMVersionNumberv14.2.1GameModeThe Rich and the GoodGameTypeGameGameComplexityLow ComplexityPlayingTime01<PlayerCounts01Tags*0Strategy Games1EnglishGravityà?PlayAreaà?Table Table_NoneSky Sky_MuseumNote” Orange, Green, and Red must always be in play. The orange player must grab the correct hand switcher depending on player count.TabStatesN0mtitleRulesbodycolorGreyvisibleColor&rà?gà?bà?id1ntitleWhitebodycolorWhitevisibleColor&rð?gð?bð?id2ntitleBrownbodycolorBrownvisibleColor&r ZÜ?g€h‘Í?b€= ·?id3jtitleRedbodycolorRedvisibleColor&r Zdë?g ™™¹?b@b¸?id4ptitleOrangebodycolorOrangevisibleColor&r@�—î?g ‡Ù?b`‘í¼?id5ptitleYellowbodycolorYellowvisibleColor&r€Âõì?g€j¼ì?b Æ?id6ntitleGreenbodycolorGreenvisibleColor&rÀt“È?g€—næ?b �Å?id7ltitleBluebodycolorBluevisibleColor&r€?5¾?g€Âõà?bð?id8ltitleTealbodycolorTealvisibleColor&r`ƒÀ?g€?5æ?b@‹lã?id9ptitlePurplebodycolorPurplevisibleColor&r@bä?gÀ?b¬î?id 10ltitlePinkbodycolorPinkvisibleColor&ràQ¸î?g€“Ü?b ñÒé?id 11ntitleBlackbodycolorBlackvisibleColor&rÐ?gÐ?bÐ?id GridÔTypeLinesColor&rgbOpacityè?ThickLinesSnappingOffsetBothSnappingxSize@ySize@PosOffset&xyð?zLightingjLightIntensity ®Gá?LightColor&rð?gào_ï?bÀ„|ì?AmbientIntensityÀÌÌô?AmbientTypeAmbientSkyColor&rà?gà?bà?AmbientEquatorColor&rà?gà?bà?AmbientGroundColor&rà?gà?bà?ReflectionIntensityð?LutIndexLutContributionð?Hands*EnableDisableUnusedHidingComponentTagslabelsTurnspEnableTypeTurnOrderReverseSkipEmptyDisableInteractionsPassTurnsTurnColorDecalPalletLuaScript--LuaScriptStateXmlUIRVectorLines•S0OwnerSteamIDpoints3¹0&xÝ9AÀyXºï?zÀH1À1&x')AÀyXºï?z ´œ1À2&x€IAÀyXºï?zÀ« 2À3&x€¡ñ@ÀyXºï?z Ê†2À4&x€=Ø@ÀyXºï?zà3À5&xü¿@ÀyXºï?z`Rm3À6&x ~°@ÀyXºï?zÀ‹®3À7&xÀù¡@ÀyXºï?z°ä3À8&x i‡@ÀyXºï?zàd¹3À9&xÀ#q@ÀyXºï?z„W3À10&xI\@ÀyXºï?z€ç 3À11&xàD@ÀyXºï?z€ Ô2À12&x ë4@ÀyXºï?z`å‘2À13&xf"@ÀyXºï?z /92À14&x`ç@ÀyXºï?z€ë1À15&x@Ö@ÀyXºï?zÀ)³1À16&x@uñ?ÀyXºï?z@óz1À17&x`¡Æ?ÀyXºï?z@’B1À18&x!È?ÀyXºï?zÀ9ó0À19&xàç@ÀyXºï?z`î®0À20&xÀš@ÀyXºï?zÎ^0À21&x€d?@ÀyXºï?zmî/À22&x`V@ÀyXºï?z@5/À23&x !k@ÀyXºï?z@H©.À24&x ó{@ÀyXºï?zÀZ.À25&x€Y—@ÀyXºï?z Ž`-À26&x>¡@ÀyXºï?z iê,À27&x S¬@ÀyXºï?zÀŽ`-À28&x@²@ÀyXºï?zÀ\Ö-À29&x Ð@ÀyXºï?z@‡z.À30&x`Éç@ÀyXºï?z5/À31&x€û@ÀyXºï?z€O×/À32&xàW AÀyXºï?z@ÕG0À33&x âAÀyXºï?z 2�0À34&x@ŽAÀyXºï?zàJº0Àcolor&rð?gð?bð?thicknessÍÌÜ?1ˆOwnerSteamIDpoints3$0&x ê@@yXºï?z€`r3À1&x€6@@@yXºï?zÀ6~3À2&x@Áx@@yXºï?z€Ž•3À3&xàÇ@@yXºï?z€Ž•3À4&x€pA@yXºï?z€Ž•3À5&x€XYA@yXºï?z€Ž•3À6&x€?yA@yXºï?z@ä‰3Àcolor&rð?gð?bð?thicknessÍÌÜ?2çOwnerSteamIDpoints3ƒ0&xà×Í@@yXºï?z``r3À1&x`nÑ@@yXºï?z 3À2&xà Õ@@yXºï?z =Í2À3&x ±Ù@@yXºï?z.b2À4&xeÞ@@yXºï?z€9ö1À5&xÀèç@@yXºï?z`®•1À6&xÀ÷ð@@yXºï?zÀµ@1À7&x>Í@@yXºï?z€B1À8&xñ§@@yXºï?zÀB1À9&x`�‚@@yXºï?zÀB1À10&x d@@yXºï?z ž÷0À11&x`ñE@@yXºï?z@¡Æ0À12&x@'@@yXºï?zË¡0À13&x D@@yXºï?zàˆp0À14&xà:@@yXºï?z`x&0À15&x€@@yXºï?z€¯Ð/À16&x ¯@@yXºï?z@ /À17&x É@@yXºï?z@­r.À18&x`z@@yXºï?zÀ�ô-À19&xà¦#@@yXºï?z 'v-À20&x™K@@yXºï?z@’-À21&x·n@@yXºï?z`C‘,À22&x@ƒŒ@@yXºï?z€q,À23&x€õ¤@@yXºï?zÀé�+À24&x ÞÆ@@yXºï?z }]+À25&xÀ‡Ô@@yXºï?z`=Ü*À26&x ·ç@@yXºï?z€­Z*À27&xÀþï@@yXºï?zà˜Ø)À28&x@Gø@@yXºï?z`þU)À29&x`Áü@@yXºï?z€¿ƒ(À30&x ¨ A@yZºï?z �ÿ'À31&x@Ô%A@yXºï?z`@(À32&x€�(A@yXºï?z ž(À33&xà�/A@yXºï?z@þU)À34&x k;A@yXºï?z`Ã&*À35&x ×3À47&xÀ5·IÀyXºï?zE93À48&xbÅIÀyXºï?zÀÃ33À49&xàÜIÀyXºï?z@P.3À50&xàÙïIÀyXºï?z€Ø(3À51&xáJÀyXºï?z`�3À52&xà�JÀyXºï?z@üð2À53&x@5JÀyXºï?z ýÔ2À54&x`;$JÀyXºï?z@¨2À55&x ®'JÀyXºï?z@du2À56&x (JÀyXºï?z@‹S2À57&xà´(JÀyXºï?z ² 2À58&xàh&JÀyXºï?zàdó1À59&x $JÀyXºï?z Æ1À60&x€á!JÀyXºï?z`à’1À61&x K"JÀyXºï?zà¿p1À62&xÀ±"JÀyXºï?z€’N1À63&x`1 JÀyXºï?z 21À64&x ÔJÀyXºï?zàs1À65&x ÎJÀyXºï?z ó0À66&x€·JÀyXºï?z hÖ0À67&x²öIÀyXºï?z g¿0À68&x@¾åIÀyXºï?z ®0À69&xÀÇÔIÀyXºï?z@Åœ0À70&x@‹ÆIÀyXºï?zÀñ–0À71&xвIÀyXºï?z@Ï–0À72&xÀb¡IÀyXºï?zಖ0À73&x€]�IÀyXºï?z`�–0À74&x@\yIÀyXºï?zào–0À75&x@ehIÀyXºï?z ]0À76&x L]IÀyXºï?z` W0À77&x@ÙWIÀyXºï?z@{40À78&x@CUIÀyXºï?zÀà0À79&x€ácIÀyXºï?zÀ³Þ/À80&x AxIÀyXºï?z£™/À81&x`“‰IÀyXºï?z€½‚/À82&x`j£IÀyXºï?z€ƒ/À83&x`\ºIÀyXºï?z@`ƒ/À84&x@¦ËIÀyXºï?z@x/À85&x¼ßIÀyXºï?z€Gx/À86&xÖóIÀyXºï?zÀŒx/À87&x`ÝJÀyXºï?zÀ`„/À88&x€ÐJÀyXºï?zÀÄ›/À89&x`‹/JÀyXºï?z@ÑÕ/À90&x ¬=JÀyXºï?z€¤ø/À91&xƒNJÀyXºï?z H0À92&x ªVJÀyXºï?z€è;0À93&x ©aJÀyXºï?z �^0À94&x ñfJÀyXºï?z �0À95&x€ lJÀyXºï?z€ø®0À96&xÀ^kJÀyXºï?z€…â0À97&x ÂjJÀyXºï?z D1À98&x€‰gJÀyXºï?z Ë,1À99&xÙfJÀyXºï?zÀ`1À100&xÀgfJÀyXºï?z€D‚1À101&xÀÝhJÀyXºï?z€¶ž1À102&x-nJÀyXºï?z€&»1À103&x*yJÀyXºï?z —×1À104&xà9„JÀyXºï?z@Wî1À105&xC�JÀyXºï?z€2À106&x a�JÀyXºï?z Ò 2À107&x@„±JÀyXºï?zùù1À108&x€äÅJÀyXºï?zØ1À109&xàÎÔJÀyXºï?z€Çª1À110&xàÅÝJÀyXºï?z@kŽ1À111&x`üãJÀyXºï?z Ql1À112&x üìJÀyXºï?zàãO1À113&x FðJÀyXºï?zÀd31À114&x`nöJÀyXºï?zä1À115&x ¿ùJÀyXºï?z Uú0À116&xÀSýJÀyXºï?z ’Ì0À117&xàKÀyö(ð?zà#Ÿ0À118&x µKÀyö(ð?zÀˆk0À119&xKÀyø(ð?z ÔN0À120&xÀŸ KÀyö(ð?zàÓ 0À121&xà>KÀyö(ð?zÀå/À122&x+KÀyø(ð?z@ r/À123&x€�KÀyö(ð?z@«,/À124&x ‹KÀyö(ð?z€Ï¸.À125&xæKÀyø(ð?zÀÑ~.À126&xÀ=KÀyö(ð?z@ÉD.À127&x@ÊKÀyø(ð?zÀcó-À128&x€‚$KÀyö(ð?z ñ~-À129&x@Þ'KÀyö(ð?z@�D-À130&x€9.KÀyö(ð?zà”þ,À131&x²1KÀyö(ð?zi¸,À132&x@ö7KÀyö(ð?z€ë},À133&x hDKÀyø(ð?z {,À134&xÀ«SKÀyø(ð?zࣶ+À135&x¦_KÀyö(ð?z໇+À136&xÀ¿kKÀyö(ð?z úL+À137&x@sƒKÀyö(ð?zS+À138&x`Ù�KÀyö(ð?z >ï*À139&x ‘¬KÀyö(ð?z`Ô×*À140&x€,»KÀyö(ð?zà4Ì*À141&x@uÏKÀyö(ð?zàvÌ*À142&xàÞKÀyö(ð?zàÕÀ*À143&x@wïKÀyø(ð?zÀÁ*À144&x€2 LÀyø(ð?z€Ùä*À145&x@LÀyö(ð?z€‡+À146&xÀ¡0LÀyö(ð?zŒO+À147&x€ö=LÀyö(ð?zÀ·¹+À148&x ÛBLÀyö(ð?z` ,À149&x€ºDLÀyö(ð?z ýi,À150&x€´CLÀyö(ð?z@³Ç,À151&x@ =LÀyö(ð?zÀ€-À152&x@g6LÀyø(ð?z-k-À153&xÀb*LÀyö(ð?z€°™-À154&x€ùLÀyö(ð?zÀ\¼-À155&xàOóKÀyø(ð?z ò»-À156&x€åKÀyö(ð?z °-À157&x€ÁÓKÀyö(ð?zà¯-À158&x@xÅKÀyø(ð?z ¤-À159&x O´KÀyö(ð?z`$˜-À160&x@£KÀyø(ð?z ë—-À161&x@h”KÀyö(ð?z` ¯-À162&x@=‹KÀyö(ð?zÀ-é-À163&x Õ„KÀyö(ð?z@ê..À164&x@X~KÀyö(ð?zÀ,€.À165&x×zKÀyö(ð?zÃÅ.À166&x@]tKÀyö(ð?z@Ì/À167&xÀúpKÀyø(ð?z€ P/À168&x`•mKÀyö(ð?zÀ`Š/À169&xÀ4jKÀyö(ð?zÀÄ/À170&x@ÑfKÀyö(ð?z€ºý/À171&xÀfKÀyö(ð?z@.'0À172&x ~eKÀyø(ð?z²I0À173&xÀÆdKÀyö(ð?zÀèq0À174&xÀdKÀyö(ð?z@š0À175&xÀpcKÀyø(ð?zàn¼0À176&x@ºbKÀyø(ð?zxä0À177&xÀbKÀyö(ð?z`¾1À178&xÀaKÀyö(ð?zÀÆ?1À179&x@ocKÀyö(ð?z`B\1À180&x€œhKÀyø(ð?z`¼x1À181&x€CyKÀyö(ð?zà’�1À182&x�KÀyø(ð?zc•1À183&x %›KÀyø(ð?z@'›1À184&x 3¬KÀyø(ð?z`C›1À185&xy½KÀyö(ð?z �1À186&xÀÜ×KÀyø(ð?z eh1À187&x`²ãKÀyö(ð?z€·Q1À188&xÀ—õKÀyö(ð?zàñ)1À189&x tLÀyö(ð?z 41À190&xÀW LÀyö(ð?zqü0À191&xZLÀyö(ð?z`óß0À192&x@v(LÀyö(ð?z þ·0À193&x€]7LÀyø(ð?z p›0À194&x€@ILÀyø(ð?z€%y0À195&x ã]LÀyö(ð?z �\0À196&x€kuLÀyø(ð?zÀù?0À197&x ü†LÀyö(ð?zÕ.0À198&xÀm•LÀyö(ð?zÀ+)0À199&x 9¯LÀy†ï?zÀ0(0À200&xà(ÀLÀy†ï?z€Õ30À201&x@«ÓLÀy†ï?z€K0À202&xoäLÀy†ï?z`l\0À203&x žôLÀy†ï?zÑ„0À204&x€xüLÀy†ï?z@›¡0À205&x`œþLÀy†ï?zÀS¾0À206&xÀ“ýLÀy†ï?zwæ0À207&x€IôLÀy„ï?z` 1À208&x@JèLÀy„ï?zÚ1À209&x`ºÖLÀy„ï?zã*1À210&xļLÀy„ï?zÀ$61À211&x€�LÀyö(ð?zÀÕA1À212&x Þ‹LÀyö(ð?zÀkG1À213&xàÏwLÀyö(ð?zÀûL1À214&xì`LÀyö(ð?z`‡R1À215&x‘RLÀyö(ð?zÀ X1À216&x†>LÀyö(ð?zÀ±]1À217&xàQ-LÀyö(ð?z Dc1À218&x@ÎLÀyö(ð?z€’1À219&x€ñ LÀyö(ð?zà8–1À220&x€EþKÀyö(ð?z Ô¬1À221&xÀ2òKÀyö(ð?zàÇÎ1À222&x@ðëKÀyö(ð?zàë1À223&x€hèKÀyø(ð?z€ü 2À224&xÀáäKÀyö(ð?zÀÜ.2À225&x [áKÀyö(ð?z ´P2À226&xpàKÀyø(ð?z@Æ}2À227&x!âKÀyø(ð?z@ ¶2À228&x€cäKÀyö(ð?z Ò2À229&x8éKÀyø(ð?zÀkù2À230&x@.îKÀyö(ð?z3À231&x ÃøKÀyö(ð?z`±<3À232&xà LÀyö(ð?z`¼X3À233&x@)LÀyö(ð?z5o3À234&x²/LÀyö(ð?z  €3À235&x`†=LÀyö(ð?z`J‹3Àcolor&rð?gð?bð?thickness ™™Ñ?SnapPointsí 0ePosition&xÀ&@y€phï?z ;ÀRotation&x`Šýß?yàýf@z€:ÈK¿1ePosition&x@F.@y€phï?z ðÿ:ÀRotation&x` ß?y`€f@z ~Ù?2ePosition&x`Óÿ-@y€phï?zàÿÿ4ÀRotation&x@#Ž ¿y  €f@z`óQV?3ePosition&x€÷ÿ%@y€phï?zà5ÀRotation&xàŒ~5¿y@€f@zzzv@4ePosition&xÀôÿ%@y€phï?zëÿ-ÀRotation&xÀxv@yúf@z@©�a?5ePosition&x .@y€phï?zéÿ-ÀRotation&x Ûwv@y ôf@zú¨Ö?6ePosition&x@.@y€phï?zàïÿ!ÀRotation&x +xv@y€f@z@uÙ?7ePosition&x@üÿ%@y€phï?z@ÿÿ!ÀRotation&x`ówv@y€õf@z€ºdA¿8ePosition&xÀþAÀy€phï?zàúÿ:ÀRotation&x~ôß?y`€f@zà£A¿9ePosition&xàþÿ>Ày€phï?z@ûÿ:ÀRotation&x@­ß?y>€f@z °Ù?10ePosition&xà÷ÿ>Ày€phï?z@5ÀRotation&x Q�8?y@ýf@zÀ.=Ö?11ePosition&xÀÿAÀy€phï?zàÿÿ4ÀRotation&x /`?y€€f@z Çv@12ePosition&x ÿAÀy€phï?z€.ÀRotation&xÀówv@yàñf@z€•:c?13ePosition&xÀýÿ>Ày€phï?zÀ .ÀRotation&x Âwv@yÀåf@z Z¦Ö?14ePosition&x@?Ày€phï?zà"ÀRotation&x *xv@y@ €f@z`ˆÙ?15ePosition&xà€AÀy€phï?zÀ"ÀRotation&x ówv@y€€f@zà6Ó@¿16ePosition&xÀ*Ày€phï?zÀ"ÀRotation&xówv@yà€f@z@MŽB¿17ePosition&x "Ày€phï?zÀ"ÀRotation&x`*xv@y '€f@z ƒÙ?18ePosition&x€"Ày€phï?z .ÀRotation&xÀ¶wv@y €f@z`¤Ö?19ePosition&xà*Ày€phï?zÀ.ÀRotation&xÀêwv@y €f@z`Ú¿c?20ePosition&xÀ*Ày€phï?z þÿ4ÀRotation&x@PØc?y êf@z Òv@21ePosition&x`öÿ!Ày€phï?z 5ÀRotation&xäu¿y $€f@z@€ªÖ?22ePosition&xÀ"Ày€phï?z`ùÿ:ÀRotation&xà�°Þ?yÀ‘€f@zPPÙ?23ePosition&x@*Ày€phï?z@úÿ:ÀRotation&x@vîÞ?y €f@zàzîF¿24ePosition&x€€@@y€phï?z ýÿ:ÀRotation&x€ˆ±ß?yÀ"f@zàíCG¿25ePosition&x ýB@y€phï?z;ÀRotation&xÀ�Þ?y€k€f@zÀjVÙ?26ePosition&x€€B@y€phï?z 5ÀRotation&x€’‚2?y€3€f@z cƒ×?27ePosition&x`€@@y€phï?zÀ5ÀRotation&xààa`?y €f@z Æv@28ePosition&x@€@@y€phï?z  .ÀRotation&x xv@y …f@z fa?29ePosition&xàÿB@y€phï?zà.ÀRotation&x€ïwv@y`€f@z@<ö×?30ePosition&xÀüB@y€phï?zà"ÀRotation&x ,xv@y�€f@z‚EÙ?31ePosition&x ÿ@@y€phï?z`"ÀRotation&x`ìwv@y€G€f@z WNE¿32ePosition&xã¤?Ày€phï?z`‰T*@Rotation&x@‘q>y@œ€f@z€f@33ePosition&xã¤?Ày€phï?zàdË@Rotation&xÀ­~5>y@œ€f@z€f@ObjectStates3Ù0]GUID6fc458Name HandTriggerTransform‰posX‰Ë4ÀposYàÉ @posZ ž©AÀrotX€rotYrotZscaleX.@scaleY(@scaleZ@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse1rð?gð?bð?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorWhiteLuaScriptLuaScriptStateXmlUI1]GUID158576Name HandTriggerTransform‰posXàÕÆ6@posYàÉ @posZàz”AÀrotX€rotYrotZscaleX.@scaleY(@scaleZ@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse1r€t“È?g€—næ?bÀ�Å?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorGreenLuaScriptLuaScriptStateXmlUI2\GUIDaa3bdaName HandTriggerTransform‰posX ·ŒEÀposYàÉ @posZ ž©AÀrotX€rotYrotZscaleX.@scaleY(@scaleZ@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse1r ?5¾?g€Âõà?bð?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorBlueLuaScriptLuaScriptStateXmlUI3[GUID3ffc54Name HandTriggerTransform‰posXºÿé?posYàÉ @posZàz”AÀrotX€rotYrotZscaleX.@scaleY(@scaleZ@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse1r Zdë?g ™™¹?b a¸?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorRedLuaScriptLuaScriptStateXmlUI4^GUID0b6a64Name HandTriggerTransform‰posXÀf(F@posYàÉ @posZàz”AÀrotX€rotYrotZscaleX.@scaleY(@scaleZ@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse1r �—î?g‡Ù?b �í¼?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorOrangeLuaScriptLuaScriptStateXmlUI52GUIDafc863NameCustom_AssetbundleTransform‰posXBÀposY$ÀposZÀÌÌ,ÀrotX€Áî¥>rotY@Wù¾rotZ@K$оscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÚAssetbundleURLihttps://steamusercontent-a.akamaihd.net/ugc/879750610978795929/723C50F43FAB3DE3DC12CB8460536E8CB34B60A3/AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptLuaScriptStateXmlUI62GUIDc8edcaNameCustom_AssetbundleTransform‰posXBÀposY$ÀposZÀÌÌ,@rotX€Áî¥>rotY€V@rotZ@K$оscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÚAssetbundleURLihttps://steamusercontent-a.akamaihd.net/ugc/879750610978795929/723C50F43FAB3DE3DC12CB8460536E8CB34B60A3/AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptLuaScriptStateXmlUI72GUID393bf7NameCustom_AssetbundleTransform‰posXB@posY$ÀposZÀÌÌ,@rotX€Áî¥>rotY€f@rotZ@K$оscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÚAssetbundleURLihttps://steamusercontent-a.akamaihd.net/ugc/879750610978795929/723C50F43FAB3DE3DC12CB8460536E8CB34B60A3/AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptLuaScriptStateXmlUI82GUID12c65eNameCustom_AssetbundleTransform‰posXB@posY$ÀposZÀÌÌ,ÀrotX€Áî¥>rotYàp@rotZ@K$оscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÚAssetbundleURLihttps://steamusercontent-a.akamaihd.net/ugc/879750610978795929/723C50F43FAB3DE3DC12CB8460536E8CB34B60A3/AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptLuaScriptStateXmlUI9DGUIDbd69bdNameChinese_Checkers_PieceTransform‰posX{”K@posYô(ô¿posZ`�BBÀrotX€b$_?rotY€f@rotZÀ…å8?scaleXàefú?scaleYàefú?scaleZàefú?NicknameFlex Table ControlDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsMaterialIndexLuaScriptÑ?tableHeightOffset = -9.5 function onSave() saved_data = JSON.encode({tid=tableImageData, cd=checkData}) --saved_data = "" return saved_data end function onload(saved_data) --Loads the tracking for if the game has started yet if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) tableImageData = loaded_data.tid checkData = loaded_data.cd else tableImageData = {} checkData = {move=false, scale=false} end --Disables interactable status of objects with GUID in list for _, guid in ipairs(ref_noninteractable) do local obj = getObjectFromGUID(guid) if obj then obj.interactable = false end end --Establish references to table parts obj_leg1 = getObjectFromGUID("afc863") obj_leg2 = getObjectFromGUID("c8edca") obj_leg3 = getObjectFromGUID("393bf7") obj_leg4 = getObjectFromGUID("12c65e") obj_surface = getObjectFromGUID("4ee1f2") obj_side_top = getObjectFromGUID("35b95f") obj_side_bot = getObjectFromGUID("f938a2") obj_side_lef = getObjectFromGUID("9f95fd") obj_side_rig = getObjectFromGUID("5af8f2") controlActive = false createOpenCloseButton() end --Activation/deactivation of control panel --Activated by clicking on function click_toggleControl(_, color) if permissionCheck(color) then if not controlActive then --Activate control panel controlActive = true self.clearButtons() createOpenCloseButton() createSurfaceInput() createSurfaceButtons() createScaleInput() createScaleButtons() else --Deactivate control panel controlActive = false self.clearButtons() self.clearInputs() createOpenCloseButton() end end end --Table surface control --Changes table surface function click_applySurface(_, color) if permissionCheck(color) then updateSurface() broadcastToAll("New Table Image Applied", {0.2,0.9,0.2}) end end --Saves table surface function click_saveSurface(_, color) if permissionCheck(color) then local nickname = self.getInputs()[1].value local url = self.getInputs()[2].value if nickname == "" then --No nickname broadcastToAll("Please supply a nickname for this save.", {0.9,0.2,0.2}) else --Nickname exists if findInImageDataIndex(url, nickname) == nil then --Save doesn't exist already table.insert(tableImageData, {url=url, name=nickname}) broadcastToAll("Image URL saved to memory.", {0.2,0.9,0.2}) --Refresh buttons self.clearButtons() createOpenCloseButton() createSurfaceButtons() createScaleButtons() else --Save exists already broadcastToAll("Memory already contains a save with this Name or URL. Delete it first.", {0.9,0.2,0.2}) end end end end --Loads table surface function click_loadMemory(_, color, index) if permissionCheck(color) then self.editInput({index=0, value=tableImageData[index].name}) self.editInput({index=1, value=tableImageData[index].url}) updateSurface() broadcastToAll("Table Image Loaded", {0.2,0.9,0.2}) end end --Deletes table surface function click_deleteMemory(_, color, index) if permissionCheck(color) then table.remove(tableImageData, index) self.clearButtons() createOpenCloseButton() createSurfaceButtons() createScaleButtons() broadcastToAll("Element Removed from Memory", {0.2,0.9,0.2}) end end --Updates surface from the values in the input field function updateSurface() local customInfo = obj_surface.getCustomObject() customInfo.diffuse = self.getInputs()[2].value obj_surface.setCustomObject(customInfo) obj_surface = obj_surface.reload() end --Table Scale control --Applies Scale to table pieces function click_applyScale(_, color) if permissionCheck(color) then local newWidth = tonumber(self.getInputs()[3].value) local newDepth = tonumber(self.getInputs()[4].value) if type(newWidth) ~= "number" then broadcastToAll("Invalid Width", {0.9,0.2,0.2}) return elseif type(newDepth) ~= "number" then broadcastToAll("Invalid Depth", {0.9,0.2,0.2}) return elseif newWidth<0.1 or newDepth<0.1 then broadcastToAll("Scale cannot go below 0.1", {0.9,0.2,0.2}) return elseif newWidth>12 or newDepth>12 then broadcastToAll("Scale should not go over 12 (world size limitation)", {0.9,0.2,0.2}) return else changeTableScale(math.abs(newWidth), math.abs(newDepth)) broadcastToAll("Scale applied.", {0.2,0.9,0.2}) end end end --Checks/unchecks move box for hands function click_checkMove(_, color) if permissionCheck(color) then local find_func = function(o) return o.click_function=="click_checkMove" end if checkData.move == true then checkData.move = false local buttonEntry = findButton(self, find_func) self.editButton({index=buttonEntry.index, label=""}) else checkData.move = true local buttonEntry = findButton(self, find_func) self.editButton({index=buttonEntry.index, label=string.char(10008)}) end end end --Checks/unchecks scale box for hands --This button was disabled for technical reasons --[[ function click_checkScale(_, color) if permissionCheck(color) then local find_func = function(o) return o.click_function=="click_checkScale" end if checkData.scale == true then checkData.scale = false local buttonEntry = findButton(self, find_func) self.editButton({index=buttonEntry.index, label=""}) else checkData.scale = true local buttonEntry = findButton(self, find_func) self.editButton({index=buttonEntry.index, label=string.char(10008)}) end end end ]] --Alters scale of elements and moves them function changeTableScale(width, depth) --Scaling factors used to translate scale to position offset local width2pos = (width-1) * 18 local depth2pos = (depth-1) * 18 --Hand zone movement if checkData.move == true then for _, pc in ipairs(ref_playerColor) do if Player[pc].getHandCount() > 0 then moveHandZone(Player[pc], width2pos, depth2pos) end end end --Hand zone scaling --The button to enable this was disabled for technical reasons if checkData.scale == true then for _, pc in ipairs(ref_playerColor) do if Player[pc].getHandCount() > 0 then scaleHandZone(Player[pc], width, depth) end end end --Resizing table elements obj_side_top.setScale({width, 1, 1}) obj_side_bot.setScale({width, 1, 1}) obj_side_lef.setScale({depth, 1, 1}) obj_side_rig.setScale({depth, 1, 1}) obj_surface.setScale({width, 1, depth}) --Moving table elements to accomodate new scale obj_side_lef.setPosition({-width2pos,tableHeightOffset,0}) obj_side_rig.setPosition({ width2pos,tableHeightOffset,0}) obj_side_top.setPosition({0,tableHeightOffset, depth2pos}) obj_side_bot.setPosition({0,tableHeightOffset,-depth2pos}) obj_leg1.setPosition({-width2pos,tableHeightOffset-0.5,-depth2pos}) obj_leg2.setPosition({-width2pos,tableHeightOffset-0.5, depth2pos}) obj_leg3.setPosition({ width2pos,tableHeightOffset-0.5, depth2pos}) obj_leg4.setPosition({ width2pos,tableHeightOffset-0.5,-depth2pos}) self.setPosition(obj_leg4.positionToWorld({-22.12, 8.74,-19.16})) --Only enabled when changing tableHeightOffset obj_surface.setPosition({0,tableHeightOffset,0}) end --Move hand zone, p=player reference, facts are scaling factors function moveHandZone(p, width2pos, depth2pos) local widthX = obj_side_rig.getPosition().x local depthZ = obj_side_top.getPosition().z for i=1, p.getHandCount() do local handT = p.getHandTransform() local pos = handT.position local y = handT.rotation.y if y<45 or y>320 or y>135 and y<225 then if pos.z > 0 then pos.z = pos.z + depth2pos - depthZ else pos.z = pos.z - depth2pos + depthZ end else if pos.x > 0 then pos.x = pos.x + width2pos - widthX else pos.x = pos.x - width2pos + widthX end end --Only enabled when changing tableHeightOffset --pos.y = tableHeightOffset + 14 handT.position = pos p.setHandTransform(handT, i) end end ---Scales hand zones, p=player reference, facts are scaling factors function scaleHandZone(p, width, depth) local widthFact = width / obj_side_top.getScale().x local depthFact = depth / obj_side_lef.getScale().x for i=1, p.getHandCount() do local handT = p.getHandTransform() local scale = handT.scale local y = handT.rotation.y if y<45 or y>320 or y>135 and y<225 then scale.x = scale.x * widthFact else scale.x = scale.x * depthFact end handT.scale = scale p.setHandTransform(handT, i) end end --Information gathering --Checks if a color is promoted or host function permissionCheck(color) if Player[color].host==true or Player[color].promoted==true then return true else return false end end --Locates a string saved within memory file function findInImageDataIndex(...) for _, str in ipairs({...}) do for i, v in ipairs(tableImageData) do if v.url == str or v.name == str then return i end end end return nil end --Round number (num) to the Nth decimal (dec) function round(num, dec) local mult = 10^(dec or 0) return math.floor(num * mult + 0.5) / mult end --Locates a button with a helper function function findButton(obj, func) if func==nil then error("No func supplied to findButton") end for _, v in ipairs(obj.getButtons()) do if func(v) then return v end end return nil end --Creation of buttons/inputs function createOpenCloseButton() local tooltip = "Open Table Control Panel" if controlActive then tooltip = "Close Table Control Panel" end self.createButton({ click_function="click_toggleControl", function_owner=self, position={0,0,0}, rotation={-45,0,0}, height=400, width=400, color={1,1,1,0}, tooltip=tooltip }) end function createSurfaceInput() local currentURL = obj_surface.getCustomObject().diffuse local nickname = "" if findInImageDataIndex(currentURL) ~= nil then nickname = tableImageData[findInImageDataIndex(currentURL)].name end self.createInput({ label="Nickname", input_function="none", function_owner=self, alignment=3, position={0,0,2}, height=224, width=4000, font_size=200, tooltip="Enter nickname for table image (only used for save)", value=nickname }) self.createInput({ label="URL", input_function="none", function_owner=self, alignment=3, position={0,0,3}, height=224, width=4000, font_size=200, tooltip="Enter URL for tabletop image", value=currentURL }) end function createSurfaceButtons() --Label self.createButton({ label="Tabletop Surface Image", click_function="none", position={0,0,1}, height=0, width=0, font_size=300, font_color={1,1,1} }) --Functional self.createButton({ label="Apply Image\nTo Table", click_function="click_applySurface", function_owner=self, tooltip="Apply URL as table image", position={2,0,4}, height=440, width=1400, font_size=200, }) self.createButton({ label="Save Image\nTo Memory", click_function="click_saveSurface", function_owner=self, tooltip="Record URL into memory (requires nickname)", position={-2,0,4}, height=440, width=1400, font_size=200, }) --Label self.createButton({ label="Load From Memory", click_function="none", position={0,0,5.5}, height=0, width=0, font_size=300, font_color={1,1,1} }) --Saves, created dynamically from memory file for i, memoryEntry in ipairs(tableImageData) do --Load local funcName = i.."loadMemory" local func = function(x,y) click_loadMemory(x,y,i) end self.setVar(funcName, func) self.createButton({ label=memoryEntry.name, click_function=funcName, function_owner=self, tooltip=memoryEntry.url, font_size=200, position={-0.6,0,6.5+0.5*(i-1)}, height=240, width=3300, }) --Delete local funcName = i.."deleteMemory" local func = function(x,y) click_deleteMemory(x,y,i) end self.setVar(funcName, func) self.createButton({ label="DELETE", click_function=funcName, function_owner=self, tooltip="", position={3.6,0,6.5+0.5*(i-1)}, height=240, width=600, font_size=160, font_color={1,0,0}, color={0.8,0.8,0.8} }) end end function createScaleInput() self.createInput({ label=string.char(8644), input_function="none", function_owner=self, alignment=3, position={-8.5,0,2}, height=224, width=400, font_size=200, tooltip="Table Width", value=round(obj_side_top.getScale().x, 1) }) self.createInput({ label=string.char(8645), input_function="none", function_owner=self, alignment=3, position={-7.5,0,2}, height=224, width=400, font_size=200, tooltip="Table Depth", value=round(obj_side_lef.getScale().x, 1) }) end function createScaleButtons() --Labels self.createButton({ label="Table Scale", click_function="none", position={-8,0,1}, height=0, width=0, font_size=300, font_color={1,1,1} }) self.createButton({ label=string.char(8644).." "..string.char(8645), click_function="none", position={-8,0,2}, height=0, width=0, font_size=300, font_color={1,1,1} }) self.createButton({ label="Move Hands:", click_function="none", position={-8.3,0,3}, height=0, width=0, font_size=200, font_color={1,1,1} }) --Disabled due to me removing the feature for technical reasons --[[ self.createButton({ label="Scale Hands:", click_function="none", position={-8.3,0,4}, height=0, width=0, font_size=200, font_color={1,1,1} }) ]] --Checkboxes local label = "" if checkData.move == true then label = string.char(10008) end self.createButton({ label=label, click_function="click_checkMove", function_owner=self, tooltip="Check to move hands when table is rescaled", position={-6.8,0,3}, height=224, width=224, font_size=200, }) --[[ local label = "" if checkData.scale == true then label = string.char(10008) end self.createButton({ label=label, click_function="click_checkScale", function_owner=self, tooltip="Check to scale the width of hands when table is rescaled", position={-6.8,0,4}, height=224, width=224, font_size=200, }) ]] --Apply button self.createButton({ label="Apply Scale", click_function="click_applyScale", function_owner=self, tooltip="Apply width/depth to table", position={-8,0,4}, height=440, width=1400, font_size=200, }) end --Data tables ref_noninteractable = { "afc863","c8edca","393bf7","12c65e","f938a2","9f95fd","35b95f", "5af8f2","4ee1f2","bd69bd" } ref_playerColor = { "White", "Brown", "Red", "Orange", "Yellow", "Green", "Teal", "Blue", "Purple", "Pink", "Black" } --Dummy function, absorbs unwanted triggers function none() endLuaScriptStateÆ{"cd":{"move":true,"scale":false},"tid":[{"name":"Felt - Green","url":"https://steamusercontent-a.akamaihd.net/ugc/1020573844624825793/FF91D48AB5415E01B8E9EFF7E2421C05AE05ACD2/"},{"name":"Felt - Gray","url":"https://steamusercontent-a.akamaihd.net/ugc/1836902512978660357/7A32A39FD692F3CEE69729A5B7E2C6AF1D00970E/"},{"name":"Felt - Red","url":"https://steamusercontent-a.akamaihd.net/ugc/5107676531851159442/76366CE0E933214A24710553DB94CEEDB3A4F629/"}]}XmlUI102GUIDf938a2NameCustom_AssetbundleTransform‰posXposY#ÀposZÀÌÌ,ÀrotX Ü¥<½rotYrotZscaleX@scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÚAssetbundleURLihttps://steamusercontent-a.akamaihd.net/ugc/879750610978796471/14ED0DBD593370733A0309B0950004F33EB9FACA/AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptLuaScriptStateXmlUI112GUID9f95fdNameCustom_AssetbundleTransform‰posXBÀposY#ÀposZrotX€rotY€V@rotZscaleXÀÌÌü?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÚAssetbundleURLihttps://steamusercontent-a.akamaihd.net/ugc/879750610978796471/14ED0DBD593370733A0309B0950004F33EB9FACA/AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptLuaScriptStateXmlUI122GUID35b95fNameCustom_AssetbundleTransform‰posXposY#ÀposZÀÌÌ,@rotX Ü¥<½rotY€f@rotZscaleX@scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÚAssetbundleURLihttps://steamusercontent-a.akamaihd.net/ugc/879750610978796471/14ED0DBD593370733A0309B0950004F33EB9FACA/AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptLuaScriptStateXmlUI132GUID5af8f2NameCustom_AssetbundleTransform‰posXB@posY#ÀposZrotX€rotYàp@rotZscaleXÀÌÌü?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÚAssetbundleURLihttps://steamusercontent-a.akamaihd.net/ugc/879750610978796471/14ED0DBD593370733A0309B0950004F33EB9FACA/AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptLuaScriptStateXmlUI14oGUID760cddName Custom_TileTransform‰posXð?posY@qhï?posZ1ÀrotX ÑmP¾rotY`ÿf@rotZÀ¢ŽQ>scaleX`³"@scaleYð?scaleZ`³"@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImagekImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156068002/A3867BF96556803BDD1A4E1C0F8A460FE25106EA/ImageSecondaryURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199044/AC54C77CB3013C51A55CB09F511C4596478F9CA2/ImageScalarð?WidthScaleCustomTile8TypeThickness ™™É?StackableStretchLuaScriptLuaScriptStateXmlUIAttachedSnapPoints¥0ePosition&x`=Í?y�™É?z \磿Rotation&x`e¿(>y |ä›?z€f@1ePosition&x@ÝÍ¿y�™É?zA磿Rotation&x€^Cñ½y`²3¿z€f@2ePosition&xÀúÜÍ¿y�™É?zàXCä?Rotation&x@=>H>y .J“?z€f@3ePosition&x =Í?y�™É?z@VCä?Rotation&x`08S>y`~ÛJ?z€f@15oGUID39e3eaName Custom_TileTransform‰posX5ÀposY@qhï?posZ1ÀrotX€Ú’H¾rotY@ÿf@rotZ`ÍÎj¾scaleX`³"@scaleYð?scaleZ`³"@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImagekImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156068002/A3867BF96556803BDD1A4E1C0F8A460FE25106EA/ImageSecondaryURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199044/AC54C77CB3013C51A55CB09F511C4596478F9CA2/ImageScalarð?WidthScaleCustomTile8TypeThickness ™™É?StackableStretchLuaScriptLuaScriptStateXmlUIAttachedSnapPoints¥0ePosition&x@™pÍ¿y�™É?zí4ä?Rotation&x€+ÊY¾yàÂM“?z€f@1ePosition&x€�©Í?y�™É?z@ê4ä?Rotation&xàö=d>yÀNK?z€f@2ePosition&x x©Í?y�™É?z@Τ¿Rotation&x�Q^¾y |ä›?z€f@3ePosition&x¢pÍ¿y�™É?zÀýͤ¿Rotation&xÈN>>y€ØÌ2¿z€f@16GUID4ad50eName Custom_ModelTransform‰posXàÄ\$ÀposYà ´û?posZ ó+@rotXÀ·<¿rotY„�V@rotZ`K$¿scaleX ™™@scaleY ™™@scaleZ ™™@NicknamePrice TrackerDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bàßßï?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomMesh¸MeshURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/DiffuseURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200456/E4F8201B8E24C0DAB503B7D98A77196BDAD7D66E/NormalURLColliderURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/ConvexMaterialIndexTypeIndexCastShadowsLuaScriptLuaScriptStateXmlUI17ñ+GUIDf69dafName Custom_TileTransform‰posX`þÿï?posY`:hï?posZ`&@rotX ‰¦?rotY r€f@rotZÝ¿scaleX W¥&@scaleYð?scaleZ W¥&@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rgbLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058706/3D309E8A70B81CFC2BE6B38E4971D68DDB7CAEAB/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThickness ™™É?StackableStretchLuaScript2function onLoad() self.interactable = false endLuaScriptStateXmlUIAttachedSnapPoints_(05Position&x �˜ï?yàœ™É?zൢá¿15Position&xàˆ˜ï?y�™É?zå,׿25Position&x �˜ï?y�™É?z`¼(Æ¿35Position&x€˜˜ï?y�™É?zàÏB�?45Position&x ˜ï?y�™É?z g9Ê?55Position&x¦˜ï?y �™É?zÀ55Ù?65Position&x€˜˜ê?yàœ™É?z€¯¢á¿75Position&xÀŸ˜ê?y�™É?z Ø,׿85Position&x§˜ê?y�™É?z€£(Æ¿95Position&x`¯˜ê?y�™É?z`“C�?105Position&x඘ê?y�™É?z€9Ê?115Position&x༘ê?y �™É?zÀA5Ù?125Position&x e×å?yàœ™É?zಀá¿135Position&xq×à?yàœ™É?z Ï€á¿145Position&x@‰×à?y�™É?zÀÉèÖ¿155Position&x _×å?y�™É?z ÝèÖ¿165Position&xÀr×å?y�™É?z § Å¿175Position&x€~×à?y�™É?zà: Å¿185Position&x@’×à?y�™É?zà:„”?195Position&x {×å?y�™É?z@wƒ”?205Position&x‚×å?y�™É?zzÁÊ?215Position&x€™×à?y�™É?zÀ”ÁÊ?225Position&x€Ÿ×à?y �™É?zLyÙ?235Position&x ˆ×å?y �™É?z@yÙ?245Position&x )LØ?yàœ™É?z ¾ á¿255Position&x@€˜Ì?yàœ™É?zàÚ á¿265Position&xàà˜Ì?y�™É?z@àúÕ¿275Position&x LØ?y�™É?z óúÕ¿285Position&x CLØ?y�™É?z@ÔÄÿ295Position&x`¶˜Ì?y�™É?zhÄÿ305Position&x™Ì?y�™É?z g±¡?315Position&xTLØ?y�™É?zౡ?325Position&x `LØ?y�™É?z I�Ì?335Position&xÀ!™Ì?y�™É?z@g�Ì?345Position&x@:™Ì?y �™É?z@5gÚ?355Position&xoLØ?y �™É?z@)gÚ?365Position&xÜ4ò?yàœ™É?z à¢á¿375Position&xè4ò?y�™É?z ë,׿385Position&xÀâ4ò?y�™É?zÀ~(Æ¿395Position&x€ì4ò?y�™É?zÀB�?405Position&x ð4ò?y�™É?zàP9Ê?415Position&x@ó4ò?y �™É?z€*5Ù?425Position&xÀç´ô?y �™É?z€5Ù?435Position&x€ã´ô?y�™É?z/9Ê?445Position&xàà´ô?y�™É?z XA�?455Position&xÀÜ´ô?y�™É?zë(Æ¿465Position&xÓ´ô?y�™É?z ÿ,׿475Position&x@Ö´ô?yàœ™É?zÀâá¿485Position&x@„ ÷?yàœ™É?z@Õâ¿495Position&x@� ÷?yàœ™É?zÀÕØ¿505Position&x ~�ù?yàœ™É?z ¹â¿515Position&x {�ù?yàœ™É?z€èØ¿525Position&x@îû?yàœ™É?z µ;â¿535Position&xÀîû?yàœ™É?zä^Ø¿545Position&x nþ?yàœ™É?zÀ¼;â¿555Position&x nþ?yàœ™É?z`ò^Ø¿565Position&x'÷?y �™É?zÀñÿÙ?575Position&x`§ù?y �™É?z@æÿÙ?585Position&xÀ­ü?y �™É?z å»Ù?595Position&x £‡þ?y �™É?z Ü»Ù?605Position&x€nþ?y�™É?z@?õÉ?615Position&x 'îû?y�™É?zWõÉ?625Position&x Œ�ù?y�™É?zàQ}Ê?635Position&x@’/÷?y�™É?zàÁÊ?645Position&x€˜üö?y�™É?z Ò”?655Position&xÀ‰�ù?y�™É?zÚ?�?665Position&xà#îû?y�™É?z ýÿ‡?675Position&x@nþ?y�™É?z eþ‡?685Position&xÀnþ?y�™É?z Ç|Ç¿695Position&xîû?y�™É?z ¯|Ç¿705Position&xÀ„�ù?y�™É?z±ôÆ¿715Position&xà÷?y�™É?z‡ôÆ¿725Position&xàOœ³?y �™É?zàGçÙ?735Position&x`c´¿y �™É?zQçÙ?745Position&x N6Í¿y �™É?z Q+Ú?755Position&x ›Ø¿y �™É?z Z+Ú?765Position&xÀë1á¿y �™É?z‰`Ù?775Position&x Ö1æ¿y �™É?z`’`Ù?785Position&x`¹ë¿y �™É?z`µ*Ú?795Position&x@R ð¿y �™É?zà¼*Ú?805Position&x€ëjò¿y �™É?z€¾nÚ?815Position&x€ãêô¿y �™É?zàÅnÚ?825Position&x]÷¿y �™É?zàô£Ù?835Position&x Ýù¿y �™É?z`þ£Ù?845Position&x Ýù¿y�™É?z Ë?855Position&x@]÷¿y�™É?z ÜË?865Position&x mâô¿y�™É?zÀµžË?875Position&x@s„ò¿y�™É?zÀ[Ë?885Position&xÙ#ð¿y�™É?zÓÊ?895Position&x ÊGë¿y�™É?z êÒÊ?905Position&xÛ1æ¿y�™É?zÀ%�Ê?915Position&xô1á¿y�™É?z@�Ê?925Position&x€-yØ¿y�™É?z ÚË?935Position&xÀŒοy�™É?zà'ÔÊ?945Position&x vûµ¿y�™É?z€)LÊ?955Position&xв?y�™É?z LÊ?965Position&x€�²?y�™É?z Œk�?975Position&xŸûµ¿y�™É?z`fm�?985Position&x`¤οy�™É?z}ö’?995Position&x EÙ¿y�™É?z`6—?1005Position&x€ú1á¿y�™É?z€Ú÷’?1015Position&xâ1æ¿y�™É?zÂø’?1025Position&x ÐGë¿y�™É?z ‰ì’?1035Position&x Û#ð¿y�™É?z€Ší’?1045Position&x@v„ò¿y�™É?z@T-—?1055Position&x fõ¿y�™É?z Vm›?1065Position&x ]÷¿y�™É?z€•.—?1075Position&x Ýù¿y�™É?z œ/—?1085Position&xÀÝù¿y�™É?zàÑJÅ¿1095Position&xà"]÷¿y�™É?z :KÅ¿1105Position&x€ðûô¿y�™É?zÀׯ¿1115Position&xÀz„ò¿y�™É?z`ÿÆ¿1125Position&xàà#ð¿y�™É?zàþžÆ¿1135Position&x ×Gë¿y�™É?z`ŸÆ¿1145Position&x€õ1æ¿y�™É?zÀªÑÅ¿1155Position&x€2á¿y�™É?zÀÒÅ¿1165Position&x 9ߨ¿y�™É?z ²�Æ¿1175Position&x€Èοy�™É?zàÚ�Æ¿1185Position&x`íûµ¿y�™É?zÀÙ%Ç¿1195Position&x^²?y�™É?zð%Ç¿1205Position&xà'²?yàœ™É?z@‡3Ø¿1215Position&x`æ²?yàœ™É?z@&â¿1225Position&x@Wüµ¿yàœ™É?z€ÿ%â¿1235Position&xüµ¿yàœ™É?z x3Ø¿1245Position&x@ýοyàœ™É?z â¿1255Position&x οyàœ™É?z€}ï׿1265Position&xÀfÙ¿yàœ™É?z€!â¿1275Position&xà6Ù¿yàœ™É?z€mï׿1285Position&x 2á¿yàœ™É?z �á¿1295Position&xÀ2á¿y�™É?zà”׿1305Position&xÀ2æ¿yàœ™É?z`+�á¿1315Position&xàê1æ¿y�™É?z@�׿1325Position&xßGë¿yàœ™É?z@ð׿1335Position&x ã#ð¿yàœ™É?zà ð׿1345Position&x „„ò¿yàœ™É?z@¬×¿1355Position&x€oõ¿yàœ™É?z ÿ«×¿1365Position&x€,]÷¿y�™É?zÀ'¾Ö¿1375Position&x€Ýù¿y�™É?z@¾Ö¿1385Position&x€#Ýù¿yàœ™É?z`uká¿1395Position&xà)]÷¿yàœ™É?z Zká¿1405Position&x€{õ¿yàœ™É?z jâá¿1415Position&x€�„ò¿yàœ™É?z Mâá¿1425Position&x€ç#ð¿yàœ™É?z`Iâ¿1435Position&x çGë¿yàœ™É?zàPâ¿1445Position&xÀü¿y �™É?z ënÚ?1455Position&xà�þ¿y �™É?z`ònÚ?1465Position&x¤yÀy �™É?z€"¤Ù?1475Position&xÀž¹Ày �™É?zà*¤Ù?1485Position&xàŸ¹Ày�™É?z€YË?1495Position&x ¦yÀy�™É?z7Ë?1505Position&x@�xþ¿y�™É?z`ŸË?1515Position&x€£ü¿y�™É?z ^[Ë?1525Position&x€¦ü¿y�™É?z ,0—?1535Position&xà–«þ¿y�™É?z .p›?1545Position&x¨yÀy�™É?z Y1—?1555Position&x ¡¹Ày�™É?z t2—?1565Position&xÀ¦¹Ày�™É?zÀxJÅ¿1575Position&x ©yÀy�™É?zÀÞJÅ¿1585Position&x  ’þ¿y�™É?z`|Æ¿1595Position&xàªü¿y�™É?zà£Æ¿1605Position&x€´ü¿yàœ™É?zÀâ«×¿1615Position&x šþ¿yàœ™É?zӫ׿1625Position&x`®yÀy�™É?zú½Ö¿1635Position&x ¤¹Ày�™É?z€è½Ö¿1645Position&x ª¹Àyàœ™É?z_ká¿1655Position&x­yÀyàœ™É?zÀCká¿1665Position&x «šþ¿yàœ™É?zÀSâá¿1675Position&x ±ü¿yàœ™É?z`6âá¿1685Position&x@¥@y �™É?zD"Ù?1695Position&x  e@y �™É?z L"Ù?1705Position&x€ e@y�™É?z �Ê?1715Position&x@¥@y�™É?zàyÊ?1725Position&x`¥@y�™É?zàÐ&Ž?1735Position&x e@y�™É?z`)Ž?1745Position&x e@y�™É?z 5NÆ¿1755Position&x¥@y�™É?z—NÆ¿1765Position&x@û¤@y�™É?zÖ?׿1775Position&x@e@y�™É?z@Ç?׿1785Position&x@ÿd@yàœ™É?z`N¬á¿1795Position&x@ü¤@yàœ™É?z 3¬á¿18oGUIDae54bbName Custom_TileTransform‰posX7@posY qhï?posZ1ÀrotX RB¾rotY:€f@rotZàò P¾scaleX`³"@scaleYð?scaleZ`³"@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImagekImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156068002/A3867BF96556803BDD1A4E1C0F8A460FE25106EA/ImageSecondaryURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199044/AC54C77CB3013C51A55CB09F511C4596478F9CA2/ImageScalarð?WidthScaleCustomTile8TypeThickness ™™É?StackableStretchLuaScriptLuaScriptStateXmlUIAttachedSnapPoints¥0ePosition&x zÎ?y€œ™É?z€+㥿Rotation&x`L^d>yxŒ”?z€f@1ePosition&x  Í¿y€œ™É?z`Ÿê¥¿Rotation&xÀœ1f¾y€áv@z€f@2ePosition&x@Y Í¿y€œ™É?zà"#ä?Rotation&x@Ê'B>y€|ë‡?z€f@3ePosition&x`ÁÎ?y€œ™É?z@™#ä?Rotation&x€ “e>yæv@z€f@19GUIDe7a7a7Name Custom_ModelTransform‰posXÀ3\$ÀposYÀ´û?posZ€U¥%@rotXà“é¿rotY€B�V@rotZàCE¿scaleX ™™@scaleY ™™@scaleZ ™™@NicknamePrice TrackerDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀZÜ?g€R‘Í?bà ·?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomMesh¸MeshURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/DiffuseURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200456/E4F8201B8E24C0DAB503B7D98A77196BDAD7D66E/NormalURLColliderURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/ConvexMaterialIndexTypeIndexCastShadowsLuaScriptLuaScriptStateXmlUI20GUID46b950Name Custom_ModelTransform‰posX`z\$ÀposY€´û?posZà¦]!@rotXà¬L¿rotY ¤�V@rotZ@¦ñ¿scaleX ™™@scaleY ™™@scaleZ ™™@NicknamePrice TrackerDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r`“È?g€—næ?b@ñ€Å?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomMesh¸MeshURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/DiffuseURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200456/E4F8201B8E24C0DAB503B7D98A77196BDAD7D66E/NormalURLColliderURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/ConvexMaterialIndexTypeIndexCastShadowsLuaScriptLuaScriptStateXmlUI21oGUID3cc34aName Custom_TileTransform‰posX€EÀposY@qhï?posZ1ÀrotX`-Sk>rotY@©€f@rotZ€9¤q>scaleX`³"@scaleYð?scaleZ`³"@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImagekImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156068002/A3867BF96556803BDD1A4E1C0F8A460FE25106EA/ImageSecondaryURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199044/AC54C77CB3013C51A55CB09F511C4596478F9CA2/ImageScalarð?WidthScaleCustomTile8TypeThickness ™™É?StackableStretchLuaScriptLuaScriptStateXmlUIAttachedSnapPoints¥0ePosition&x@j*Í?yž™É?z`�À£¿Rotation&xà‘eP¾yÀß“z?z€f@1ePosition&x`°ïÍ¿yž™É?zÀXÖ£¿Rotation&x Dq(>yà©v@z€f@2ePosition&x`¡÷Í¿yž™É?z`gDä?Rotation&xÀ²£1>y_¿z€f@3ePosition&x@y"Í?yž™É?z@ÃEä?Rotation&x`Á…>y`®v@z€f@22GUIDa00645Name Custom_ModelTransform‰posX€Ÿ[$ÀposY@´û?posZ€³4.@rotX ’à¿rotYÀH�V@rotZ mè¿scaleX ™™@scaleY ™™@scaleZ ™™@NicknamePrice TrackerDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r€Âõì?g€j¼ì?bÀÆ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomMesh¸MeshURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/DiffuseURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200456/E4F8201B8E24C0DAB503B7D98A77196BDAD7D66E/NormalURLColliderURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/ConvexMaterialIndexTypeIndexCastShadowsLuaScriptLuaScriptStateXmlUI23GUIDd2f909Name Custom_ModelTransform‰posX æ[$ÀposY ´û?posZàí)@rotXÀ¶¿rotY ¿�V@rotZE¿scaleX ™™@scaleY ™™@scaleZ ™™@NicknamePrice TrackerDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r Zdë?g o™¹?bà7¸?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomMesh¸MeshURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/DiffuseURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200456/E4F8201B8E24C0DAB503B7D98A77196BDAD7D66E/NormalURLColliderURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/ConvexMaterialIndexTypeIndexCastShadowsLuaScriptLuaScriptStateXmlUI24GUID311d3eName Custom_ModelTransform‰posX X[$ÀposY ´û?posZ 0>1@rotXÀßð¿rotY`Á€V@rotZ€X7¿scaleX ™™@scaleY ™™@scaleZ ™™@NicknamePrice TrackerDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rêÿÏ?gêÿÏ?bêÿÏ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomMesh¸MeshURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/DiffuseURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200456/E4F8201B8E24C0DAB503B7D98A77196BDAD7D66E/NormalURLColliderURLihttps://steamusercontent-a.akamaihd.net/ugc/965367743349096273/0264E0CA1D012A16922388500D10954640337E5C/ConvexMaterialIndexTypeIndexCastShadowsLuaScriptLuaScriptStateXmlUI25¬ÅGUID5b638fNameDeckTransform‰posXã¤?ÀposY€ô?posZ`‰T*@rotX`…©y¾rotY@œ€f@rotZ€f@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?Nickname Market CardsDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsSidewaysCardDeckIDs£0Ë$1Í$2Ë$3¹$4×$5À$6É$7Ö$8¹$9½$10Ò$11Î$12Ø$13Ú$14Ð$15Ä$16Â$17¾$18Ø$19Ã$20¼$21Á$22¸$23Ù$24Ð$25Ñ$26Å$27×$28º$29Ô$30Õ$31Ó$32Ì$33¿$34Ì$35Ò$36¾$37¿$38Ö$39Ä$40Ñ$41Ê$42»$43Ê$44È$45º$46Ï$47À$48Æ$49Ç$50Å$51Û$52Æ$CustomDeck?946FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScript+function onLoad() self.shuffle() endLuaScriptStateXmlUIContainedObjects'À0œGUIDdb6b9aNameCardTransform‰posXàŽB3@posYàS¨ò?posZ@®9ÀrotX  ÆO¿rotYÀl€f@rotZ Øv@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDË$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI1œGUID9c17f5NameCardTransform‰posX@�B3@posY ›»ò?posZàŽB3ÀrotX@d¾n¿rotYÀm€f@rotZ@�Å`¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÍ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI2�GUIDdb6b9aNameCardTransform‰posX` M?ÀposY Öø?posZÀ0†)@rotX «~5>rotY@œ€f@rotZ€f@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDË$SidewaysCardCustomDeck?106FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI3œGUID83ab62NameCardTransform‰posX ¶1@posY€íò?posZ`jf5ÀrotX`mu´?rotY g€f@rotZ mv@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¹$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI4œGUID678003NameCardTransform‰posXà£0B@posY æ�ð?posZ`¸!ÀrotXäö±¾rotYÀm€f@rotZà„Ò¾scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID×$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI5œGUID1cdf68NameCardTransform‰posX ¸1@posY€2ªò?posZàŽB3ÀrotXÀÌ36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI6œGUIDb36550NameCardTransform‰posX`¸!@posY@æ�ð?posZ€®)ÀrotXÀ*óµ>rotYÀm€f@rotZ@x-¶>scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÉ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI7œGUID58248fNameCardTransform‰posX{TD@posY æ�ð?posZ`¸!ÀrotX —‹´¾rotYÀm€f@rotZ 8Ó¾scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÖ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI8œGUID83ab62NameCardTransform‰posX ¶1@posY€íò?posZ`jf5ÀrotX`mu´?rotY g€f@rotZ mv@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¹$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI9œGUID53d2cbNameCardTransform‰posXÀµe%@posYÀX;ô?posZæõ-ÀrotX€Ãv@rotY €f@rotZà‚ @scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID½$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI10œGUIDb792d8NameCardTransform‰posX`ff%@posYÑ�ð?posZ€Âõ-ÀrotX !'D¿rotYàm€f@rotZÀÎ(8¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÒ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI11œGUIDf7e490NameCardTransform‰posX@�B3@posY€Q­ò?posZ�B3ÀrotX 2;p¿rotYÀm€f@rotZ€<²a¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÎ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI12�GUID3183b6NameCardTransform‰posXÀÙÿ4@posYàÌsø?posZ{ÿ:@rotX¢å?rotYಀf@rotZ Äyf@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDØ$SidewaysCardCustomDeck?106FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI13œGUID4260deNameCardTransform‰posXàŽB3@posY …£ò?posZÀ¶!ÀrotX€Þv@rotY h€f@rotZÏ„q¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÚ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI14œGUID2e6dd7NameCardTransform‰posXàef%@posYàóòò?posZÀÁõ-ÀrotXÀ®»p¿rotYÀm€f@rotZ e0b¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÐ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI15œGUIDb7a874NameCardTransform‰posXs•0@posY`;@posZ€îÃ3ÀrotXÀ)´±>rotYÀm€f@rotZ l¢³>scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÄ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI16�GUIDa43f29NameCardTransform‰posX5@posY&áè?posZ€F@rotXàþ$$@rotY #Zf@rotZåe@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÂ$SidewaysCardCustomDeck?106FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI17œGUID24b2adNameCardTransform‰posX@¸1@posYÀÿ´ò?posZ�B3ÀrotX€¾p¿rotYÀm€f@rotZóxa¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¾$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI18œGUID3183b6NameCardTransform‰posXàÌ @@posY æ�ð?posZ`¸!ÀrotX mˆ\>rotY h€f@rotZ€ïìš>scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDØ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI19�GUIDb36550NameCardTransform‰posX €M?ÀposY ù?posZl™)@rotX Ü¥¬<rotY€f@rotZ ê�f@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÃ$SidewaysCardCustomDeck?946FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI20œGUIDfa974eNameCardTransform‰posX ±f%@posYÀÅËô?posZ ®)ÀrotXMv@rotY �€f@rotZ €ú@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI21œGUIDb3f542NameCardTransform‰posX€!@posY ”áõ?posZ`?¯)ÀrotX€¢²o?rotYÀ@f@rotZÀ.v@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÁ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI22œGUID168c87NameCardTransform‰posX ´1@posYÀ6 õ?posZ nf5ÀrotX`!Õ¥?rotYÀd€f@rotZ 4v@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¸$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI23œGUID0952b7NameCardTransform‰posX`�B3@posYË�ð?posZ@¸!ÀrotX@íëI¿rotY€h€f@rotZ Ø?¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÙ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI24œGUID2e6dd7NameCardTransform‰posXàef%@posYàóòò?posZÀÁõ-ÀrotXÀ®»p¿rotYÀm€f@rotZ e0b¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÐ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI25œGUIDeade9aNameCardTransform‰posX`ef%@posYàKËò?posZàÀõ-ÀrotXæv@rotYÀm€f@rotZ P,k¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÑ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI26�GUID76a5d4NameCardTransform‰posXÀÍý8@posYÀ{¨ö?posZ@;�C@rotX`-¸t@rotY ˜`f@rotZàGžf@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÅ$SidewaysCardCustomDeck?106FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI27œGUID678003NameCardTransform‰posXà£0B@posY æ�ð?posZ`¸!ÀrotXäö±¾rotYÀm€f@rotZà„Ò¾scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID×$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI28œGUIDcc24b5NameCardTransform‰posX@¸1@posY@sËò?posZ�B3ÀrotX೜n¿rotYÀm€f@rotZà˺`¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDº$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI29œGUID79159dNameCardTransform‰posX�B3@posYàÿ¢ò?posZ ŽB3ÀrotX€Þv@rotYÀm€f@rotZ@ ”q¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÔ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI30œGUID687a41NameCardTransform‰posX`�B3@posYàÊ�ð?posZ`�B3ÀrotXàÔJ¿rotYÀm€f@rotZ€3?¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÕ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI31œGUID11532dNameCardTransform‰posX �B3@posY€Uêò?posZàŽB3ÀrotX€ñ¦q¿rotYÀm€f@rotZàŸ+c¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÓ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI32œGUIDea989aNameCardTransform‰posXÀŽB3@posYÀœ…ð?posZ`®9ÀrotX@(Æ]¿rotYn€f@rotZ€Þv@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÌ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI33œGUIDc89be8NameCardTransform‰posX@¸1@posY@Y²ò?posZàŽB3ÀrotX`Eq¿rotYÀm€f@rotZà5—b¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¿$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI34œGUIDea989aNameCardTransform‰posXÀŽB3@posYÀœ…ð?posZ`®9ÀrotX@(Æ]¿rotYn€f@rotZ€Þv@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÌ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI35�GUIDb792d8NameCardTransform‰posXà! @ÀposY@¿Tø?posZ ­>#@rotX€Ýû?rotY€ûf@rotZ¸f@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÒ$SidewaysCardCustomDeck?106FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI36œGUID24b2adNameCardTransform‰posX@¸1@posYÀÿ´ò?posZ�B3ÀrotX€¾p¿rotYÀm€f@rotZóxa¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¾$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI37�GUIDc89be8NameCardTransform‰posX9@posYàÙYù?posZ;@rotX€ø"¿rotYÀÿf@rotZÀ¼×f@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¿$SidewaysCardCustomDeck?106FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI38œGUID58248fNameCardTransform‰posX{TD@posY æ�ð?posZ`¸!ÀrotX —‹´¾rotYÀm€f@rotZ 8Ó¾scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÖ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI39œGUIDb7a874NameCardTransform‰posXs•0@posY`;@posZ€îÃ3ÀrotXÀ)´±>rotYÀm€f@rotZ l¢³>scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÄ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI40œGUIDeade9aNameCardTransform‰posX`ef%@posYàKËò?posZàÀõ-ÀrotXæv@rotYÀm€f@rotZ P,k¿scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÑ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI41�GUIDc8c941NameCardTransform‰posXÀäp?ÀposY Öø?posZ``ê+@rotXÀ£“?rotY@�f@rotZ€ÿf@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÊ$SidewaysCardCustomDeck?946FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI42�GUID6dee98NameCardTransform‰posX`Òý4@posY AÈõ?posZ ¸C@rotX+Át@rotYÀR}f@rotZ@£yf@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID»$SidewaysCardCustomDeck?106FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI43œGUIDc8c941NameCardTransform‰posXàŽB3@posY`Eïò?posZÀ®9ÀrotX FfL?rotY l€f@rotZÀÛv@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÊ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI44œGUID15d997NameCardTransform‰posX`¸!@posY@pÚò?posZ€®)ÀrotX ·”>rotYÀm€f@rotZàÿ#Ö¾scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÈ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI45�GUIDcc24b5NameCardTransform‰posX`" @ÀposY ª@ø?posZ`W? @rotX@”2r¾rotY€f@rotZ „~f@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDº$SidewaysCardCustomDeck?106FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI46�GUID981123NameCardTransform‰posX9@posYÀ%'æ?posZ€F@rotX _k$@rotYÀµkf@rotZ`ÃCf@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÏ$SidewaysCardCustomDeck?106FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI47œGUID1cdf68NameCardTransform‰posX ¸1@posY€2ªò?posZàŽB3ÀrotXÀÌ36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI48�GUID6e9a6aNameCardTransform‰posXà¡ÿ4@posY`aû?posZ €@@rotX ×c @rotY ~f@rotZ€€f@scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÆ$SidewaysCardCustomDeck?106FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI49œGUID3a9c5bNameCardTransform‰posXà^�"@posYÀ@ @posZ¯�(ÀrotX`¬¢>rotYÀm€f@rotZ¤U¤>scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÇ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI50œGUID76a5d4NameCardTransform‰posX`¸1@posYàoÚò?posZ`�B3ÀrotXÀ@ô¶¾rotYÀm€f@rotZÀ6ÚξscaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÅ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI51œGUIDb36550NameCardTransform‰posX€¤@3@posYà{˜ó?posZàM!ÀrotX€Ûv$¿rotY€÷€f@rotZ`æò?scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÛ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI52œGUIDb36550NameCardTransform‰posX`¸1@posYæ�ð?posZ`�B3ÀrotX _1©>rotYÀm€f@rotZ€Áºt¾scaleX€®ôÿ?scaleYð?scaleZ€®ôÿ?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDÆ$SidewaysCardCustomDeck>36FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022200216/4CB9BF5EE79A0F3CD79FED647C0B0C22D788F34D/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156058880/083B61397CB061296A2B922703B25D68C2BF2113/NumWidth NumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI26>GUIDbf8683Name Custom_ModelTransform‰posX@¿×?ÀposY€0ˆ @posZ`E‰3@rotXàŽÓm¾rotY îßp@rotZ€f@scaleX33ó?scaleY33ó?scaleZ33ó?Nickname Start PlayerDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r (ý¼?g (ý¼?b (ý¼?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomMeshçMeshURLihttps://steamusercontent-a.akamaihd.net/ugc/866235164175196359/7CE127510E7B6EE59C2323F7B100D08A49A81B9D/DiffuseURLNormalURLColliderURLConvexMaterialIndexTypeIndexCastShadowsLuaScriptLuaScriptStateXmlUI27oGUIDd89cd8Name Custom_TileTransform‰posX€€F@posY@qhï?posZ á1ÀrotXà®Æs¾rotY 9€f@rotZ �Oi¾scaleX`³"@scaleYð?scaleZ`³"@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImagekImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156068002/A3867BF96556803BDD1A4E1C0F8A460FE25106EA/ImageSecondaryURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199044/AC54C77CB3013C51A55CB09F511C4596478F9CA2/ImageScalarð?WidthScaleCustomTile8TypeThickness ™™É?StackableStretchLuaScriptLuaScriptStateXmlUIAttachedSnapPoints¥0ePosition&xª Í?y�™É?zàû�§¿Rotation&xÀMa>yËš”?z€f@1ePosition&x pyÍ¿y�™É?za‰§¿Rotation&xàÜÙA>y áv@z€f@2ePosition&x $|Í¿y�™É?zÀ6 ä?Rotation&xÀ¶T`>y`"ˆ?z€f@3ePosition&x€ö�Í?y�™É?z`¬ ä?Rotation&xµfC>y@æv@z€f@28GUID806006Name BlockSquareTransform‰posX 5ÀposY  úó?posZ =ÀrotX@,y¾rotY€€f@rotZ[šo>scaleX€]@scaleY€Eá?scaleZ€]@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsLuaScriptÖfunction onLoad(save_state) button1 = { click_function = "changeTeam", function_owner = self, label = "Change Team", position = {0, 0.5, 0}, rotation = {0, 0, 0}, width = 450, height = 450, font_size = 80, color = {0.5, 0.5, 0.5}, font_color = {1, 1, 1}, tooltip = "left click Left Team / right click Right Team" } self.createButton(button1) end function changeTeam(obj, color, alt_click) if Player['White'].team == "Diamonds" then Player['White'].team = "Hearts" else Player['White'].team = "Diamonds" end endLuaScriptStateXmlUI29ÛGUID69c179Name BlockSquareTransform‰posXð?posY  úó?posZ=ÀrotXÀwƒ>rotY€€f@rotZ 9Ä[>scaleX€]@scaleY€Eá?scaleZ€]@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r`[[ë?g` ¹?b ¸?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsLuaScriptžfunction onLoad(save_state) button1 = { click_function = "changeTeam", function_owner = self, label = "Change Team", position = {0, 0.5, 0}, rotation = {0, 0, 0}, width = 450, height = 450, font_size = 80, color = {0.5, 0.5, 0.5}, font_color = {1, 1, 1}, tooltip = "" } self.createButton(button1) end function changeTeam(obj, color, alt_click) if Player['Red'].team == "Hearts" then Player['Red'].team = "Clubs" else Player['Red'].team = "Hearts" end endLuaScriptStateXmlUI30àGUID9b3f2cName BlockSquareTransform‰posX7@posY  úó?posZ=ÀrotX€(f¾rotY€€f@rotZà;Qw>scaleX€]@scaleY€Eá?scaleZ€]@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÜÝÝ?g à?b ÍÑÑ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsLuaScript£function onLoad(save_state) button1 = { click_function = "changeTeam", function_owner = self, label = "Change Team", position = {0, 0.5, 0}, rotation = {0, 0, 0}, width = 450, height = 450, font_size = 80, color = {0.5, 0.5, 0.5}, font_color = {1, 1, 1}, tooltip = "" } self.createButton(button1) end function changeTeam(obj, color, alt_click) if Player['Green'].team == "Clubs" then Player['Green'].team = "Spades" else Player['Green'].team = "Clubs" end endLuaScriptStateXmlUI31åGUID2a567bName BlockSquareTransform‰posXÀ?ÔK@posY@ÎEô?posZ ×ø'ÀrotXàú᤾rotYà€f@rotZ Zrè>scaleX€]@scaleY€Eá?scaleZ€]@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r �—î?gÀ‚Ù?bàí¼?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsLuaScript¨function onLoad(save_state) button1 = { click_function = "changeTeam", function_owner = self, label = "Change Team", position = {0, 0.5, 0}, rotation = {0, 0, 0}, width = 450, height = 450, font_size = 80, color = {0.5, 0.5, 0.5}, font_color = {1, 1, 1}, tooltip = "" } self.createButton(button1) end function changeTeam(obj, color, alt_click) if Player['Orange'].team == "Spades" then Player['Orange'].team = "Jokers" else Player['Orange'].team = "Spades" end endLuaScriptStateXmlUI32áGUID0c940fName BlockSquareTransform‰posX€EÀposY  úó?posZ=ÀrotX€øZ€>rotY€€f@rotZ€&~N>scaleX€]@scaleY€Eá?scaleZ€]@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r`.5¾?g€Âõà?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsLuaScript¤function onLoad(save_state) button1 = { click_function = "changeTeam", function_owner = self, label = "Change Team", position = {0, 0.5, 0}, rotation = {0, 0, 0}, width = 450, height = 450, font_size = 80, color = {0.5, 0.5, 0.5}, font_color = {1, 1, 1}, tooltip = "" } self.createButton(button1) end function changeTeam(obj, color, alt_click) if Player['Blue'].team == "Jokers" then Player['Blue'].team = "Diamonds" else Player['Blue'].team = "Jokers" end endLuaScriptStateXmlUI333GUIDcab58fNameFogOfWarTriggerTransform‰posX€ E@posYŠ¿ÀposZ F@rotX€rotYrotZscaleX@x¼1@scaleY`ff@scaleZà¢)@NicknameDescriptionJokers Team ZoneGMNotesAltLookAngle&xyzColorDiffuse1rÀÿÿÏ?gÀÿÿÏ?bÀÿÿÏ?aÐ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorBlackFogHidePointersFogReverseHidingFogSeethroughLuaScriptŽfunction onUpdate() hide = {} team_name = 'Jokers' for _, player in ipairs(Player.getPlayers()) do if player.team ~= team_name then table.insert(hide, player.color) end end for _, occupyingObject in ipairs(self.getObjects()) do occupyingObject.setInvisibleTo(hide) end end function onObjectLeaveZone(zone, object) object.setInvisibleTo({}) endLuaScriptStateXmlUI34ðGUID681522Name BlockSquareTransform‰posX`ðÓK@posY€ÏEô?posZ xw"ÀrotX ”üá>rotY €f@rotZÀ»Î…¾scaleX€]@scaleY€Eá?scaleZ€]@Nickname 4p SwitchDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r �—î?g ‚Ù?b`í¼?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsLuaScriptªfunction onLoad(save_state) button1 = { click_function = "changeTeam", function_owner = self, label = "Change Team", position = {0, 0.5, 0}, rotation = {0, 0, 0}, width = 450, height = 450, font_size = 80, color = {0.5, 0.5, 0.5}, font_color = {1, 1, 1}, tooltip = "" } self.createButton(button1) end function changeTeam(obj, color, alt_click) if Player['Orange'].team == "Spades" then Player['Orange'].team = "Diamonds" else Player['Orange'].team = "Spades" end endLuaScriptStateXmlUI35îGUID25401fName BlockSquareTransform‰posX@ñÓK@posY€ÏEô?posZøÙÀrotX »#à>rotY ùf@rotZà•žÄ>scaleX€]@scaleY€Eá?scaleZ€]@Nickname 3p SwitchDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r �—î?g€‚Ù?bà~í¼?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsLuaScript¨function onLoad(save_state) button1 = { click_function = "changeTeam", function_owner = self, label = "Change Team", position = {0, 0.5, 0}, rotation = {0, 0, 0}, width = 450, height = 450, font_size = 80, color = {0.5, 0.5, 0.5}, font_color = {1, 1, 1}, tooltip = "" } self.createButton(button1) end function changeTeam(obj, color, alt_click) if Player['Orange'].team == "Spades" then Player['Orange'].team = "Hearts" else Player['Orange'].team = "Spades" end endLuaScriptStateXmlUI36õGUID591e62Name Custom_PDFTransform‰posXà5FGÀposYÀj´ï?posZ€ÈW6@rotX€ªëª?rotYvf@rotZ€q3¿scaleX@ƒ6@scaleYð?scaleZ@ƒ6@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomPDF­PDFUrljhttps://steamusercontent-a.akamaihd.net/ugc/2182617746164368092/56B03C8975738098859CB6BC8F3AB158AADF3566/PDFPasswordPDFPagePDFPageOffsetLuaScriptLuaScriptStateXmlUI37MGUID6f8634Name Custom_TileTransform‰posX%b@ÀposY_#ñ?posZ EÀrotX`Ï‘¾rotY€€f@rotZ€f@scaleX@2®@scaleYð?scaleZ@2®@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r@[&ë?g`Wç?bÁ©Õ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2182617746164367104/945244A3C1D9A91F6F2787CFF61DF1DDE1B489BD/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThickness ™™¹?StackableStretchLuaScriptLuaScriptStateXmlUI38MGUID172f00Name Custom_TileTransform‰posXà«¢$ÀposY�Âñ?posZÀñŸEÀrotX@# d¾rotY€€f@rotZ€f@scaleX@2®@scaleYð?scaleZ@2®@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r@[&ë?g`Wç?bÁ©Õ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2182617746164367104/945244A3C1D9A91F6F2787CFF61DF1DDE1B489BD/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThickness ™™¹?StackableStretchLuaScriptLuaScriptStateXmlUI39MGUIDc55aefName Custom_TileTransform‰posX ¾(@posY�Âñ?posZ EÀrotX€qN>rotY€€f@rotZ€f@scaleX@2®@scaleYð?scaleZ@2®@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r@[&ë?g`Wç?bÁ©Õ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2182617746164367104/945244A3C1D9A91F6F2787CFF61DF1DDE1B489BD/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThickness ™™¹?StackableStretchLuaScriptLuaScriptStateXmlUI40MGUID617647Name Custom_TileTransform‰posX‹A@posY`�Âñ?posZ EÀrotX–¾rotY€€f@rotZ€f@scaleX@2®@scaleYð?scaleZ@2®@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r@[&ë?g`Wç?bÁ©Õ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2182617746164367104/945244A3C1D9A91F6F2787CFF61DF1DDE1B489BD/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThickness ™™¹?StackableStretchLuaScriptLuaScriptStateXmlUI41§GUID00bba0Name3DTextTransform‰posX "ùL@posY` ð?posZœÀrotX€V@rotY wv@rotZscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsTexthText3POwnerSteamIDcolorstate&rð?gð?bð?fontSize@LuaScriptLuaScriptStateXmlUI42§GUIDed2d5aName3DTextTransform‰posX ðøL@posYà.ð?posZ ‰"ÀrotX€V@rotY wv@rotZscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsTexthText4POwnerSteamIDcolorstate&rð?gð?bð?fontSize@LuaScriptLuaScriptStateXmlUI43§GUID90ce25Name3DTextTransform‰posXÀ,ùL@posYà.ð?posZ´˜'ÀrotX€V@rotY wv@rotZscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsTexthText5POwnerSteamIDcolorstate&rð?gð?bð?fontSize@LuaScriptLuaScriptStateXmlUI44R7GUID3eda65Name Custom_ModelTransform‰posXÀ�AI@posYÀ—nð?posZà"íB@rotX@Ÿ¾rotYà�f@rotZ€f@scaleX ™™¹?scaleY ™™¹?scaleZ ™™¹?NicknameIFTTT by UglehDescriptionv0.0.1GMNotesAltLookAngle&xyzColorDiffuse&r  5¾?g€Âõà?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomMeshOMeshURLihttps://steamusercontent-a.akamaihd.net/ugc/766103939698379333/6E044FA7595AA0ECCD53F991B7CD56974DC8505A/DiffuseURLihttps://steamusercontent-a.akamaihd.net/ugc/832513197079912705/7F68CA1C3C1528326399904A62CA6D05428EBC84/NormalURLColliderURLConvexMaterialIndexTypeIndexCastShadowsLuaScriptM/--Tabletop Simulator Lua --Trivia Game, grab data from https://ugleh.com/tts/openaijeopardyjson.php saved_data = { White = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Red = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Orange = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Yellow = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Green = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Teal = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Blue = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Purple = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Pink = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Brown = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Black = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Grey = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" } } COLORS = {"White", "Red", "Orange", "Yellow", "Green", "Teal", "Blue", "Purple", "Pink", "Brown", "Black", "Grey"} function onload(data) --Load saved data if data ~= "" then saved_data = JSON.decode(data) end --Setup buttons --For each player color for i, color in pairs(COLORS) do --Create a button self.createButton({ click_function = "click", function_owner = self, label = "", position = {6.5,0.17,5.2 - (i * 0.8)}, rotation = {0,180,0}, width = 400, height = 400, font_size = 250, color = color, font_color = {1,1,1} }) self.createButton({ click_function = "if_this_" .. color, function_owner = self, -- Get label from saved_data["color"]["if_this"], if blank use "IF THIS" label = (saved_data[color]["if_this"] ~= "" and saved_data[color]["if_this"]) or "IF THIS", position = {3.5,0.17,5.2 - (i * 0.8)}, rotation = {0,180,0}, width = 2000, height = 400, font_size = 200, color = {0,0,0}, font_color = color }) _G["if_this_" .. color] = function(object, player_color) if_this_global(color, player_color) end self.createButton({ click_function = "if_this_value_" .. color, function_owner = self, label = (saved_data[color]["if_this_value"] ~= "" and saved_data[color]["if_this_value"]) or "{stored value}", position = {0.35,0.17,5.2 - (i * 0.8)}, rotation = {0,180,0}, width = 1000, height = 400, font_size = 150, color = {0,0,0}, font_color = color, }) _G["if_this_value_" .. color] = function(object, player_color) if_this_value_global(color, player_color) end self.createButton({ click_function = "then_that_" .. color, function_owner = self, label = (saved_data[color]["then_that"] ~= "" and saved_data[color]["then_that"]) or "THEN THAT", position = {-2.8,0.17,5.2 - (i * 0.8)}, rotation = {0,180,0}, width = 2000, height = 400, font_size = 200, color = {0,0,0}, font_color = color }) _G["then_that_" .. color] = function(object, player_color) then_that_global(color, player_color) end self.createButton({ click_function = "then_that_value_" .. color, function_owner = self, label = (saved_data[color]["then_that_value"] ~= "" and saved_data[color]["then_that_value"]) or "{stored value}", position = {-5.9,0.17,5.2 - (i * 0.8)}, rotation = {0,180,0}, width = 1000, height = 400, font_size = 150, color = {0,0,0}, font_color = color }) _G["then_that_value_" .. color] = function(object, player_color) then_that_value_global(color, player_color) end end self.createButton({ click_function = "hideMenu", function_owner = self, label = "Hide Menu", position = {-7.5,0.17,-3.33}, rotation = {0,90,0}, width = 1400, height = 400, font_size = 250, color = {0,0,0}, font_color = {1,1,1} }) self.createButton({ click_function = "showMenu", function_owner = self, label = "SHOW", position = {0,-0.13,0}, rotation = {180,0,0}, width = 750, height = 400, font_size = 250, color = {0,0,0}, font_color = {1,1,1}, scale = {10, 10, 10} }) -- For each player color for i,j in ipairs(Player.getAvailableColors()) do -- If the player color is not in saved_data, skip if (saved_data[j]["if_this"] == "IF Game Loads") then if (saved_data[j]["then_that"] == "THEN Change Team") then playerChangeTeam(j, saved_data[j]) elseif (saved_data[j]["then_that"] == "THEN Change Color") then playerChangeColor(j, saved_data[j]) elseif (saved_data[j]["then_that"] == "THEN Promote") then playerPromote(j, saved_data[j]) elseif (saved_data[j]["then_that"] == "THEN Set Camera Mode") then playerSetCameraMode(j, saved_data[j]) elseif (saved_data[j]["then_that"] == "THEN Blindfold") then playerBlindfold(j, saved_data[j]) end end end end function click() end savedPosition = {} savedRotation = {} function hideMenu() savedPosition = self.getPosition() savedRotation = self.getRotation() self.setScale({0.1, 0.1, 0.1}) self.flip() end function showMenu() self.setScale({1, 1, 1}) self.flip() self.setPosition(savedPosition) end function if_this_global(color_selected, player_color) Player[player_color].showOptionsDialog("Select the players IF THIS", {"IF Sits In Color", "IF Players Turn Start", "IF Players Turn End", "IF Game Loads"}, "IF Sits In Color", function(option_text, option_index, playerColor) editButton(color_selected, option_text, 1) end) end function if_this_value_global(color_selected, player_color) Player[player_color].showInputDialog("Enter the value for IF THIS", "", function(input, playerColor) editButton(color_selected, input, 2) end) end function then_that_global(color_selected, player_color) Player[player_color].showOptionsDialog("Select the players THEN THAT", {"THEN Change Team", "THEN Change Color", "THEN Promote", "THEN Set Camera Mode", "THEN Blindfold"}, "THEN Change Team", function(option_text, option_index, playerColor) editButton(color_selected, option_text, 3) end) end function then_that_value_global(color_selected, player_color) Player[player_color].showInputDialog("Enter the value for THEN THAT", "", function(input, playerColor) editButton(color_selected, input, 4) end) end offsetToKey = {"if_this", "if_this_value", "then_that", "then_that_value"} function editButton(color_selected, text, offset) local colorIndex = 0 for i, color in pairs(COLORS) do if color == color_selected then colorIndex = i end end local math = (colorIndex * 5) - 5 + offset self.editButton({ index = math, label = text, }) saved_data[color_selected][offsetToKey[offset]] = text end function saveData() local data = JSON.encode(saved_data) self.script_state = data end function onSave() saveData() return JSON.encode(saved_data) end function onPlayerChangeColor(player_color) local playerTable = saved_data[player_color] print(playerTable["then_that"]) if (playerTable["if_this"] == "IF Sits In Color") then if (playerTable["then_that"] == "THEN Change Team") then print(playerTable["then_that"]) playerChangeTeam(player_color, playerTable) elseif (playerTable["then_that"] == "THEN Change Color") then playerChangeColor(player_color, playerTable) elseif (playerTable["then_that"] == "THEN Promote") then playerPromote(player_color, playerTable) elseif (playerTable["then_that"] == "THEN Set Camera Mode") then playerSetCameraMode(player_color, playerTable) elseif (playerTable["then_that"] == "THEN Blindfold") then playerBlindfold(player_color, playerTable) end end end function onPlayerTurnStart(player_color_start, player_color_previous) if (saved_data[player_color_start] == nil) then return end local playerTable = saved_data[player_color_start] if (playerTable["if_this"] == "IF Players Turn Start") then if (playerTable["then_that"] == "THEN Change Team") then playerChangeTeam(player_color_start, playerTable) elseif (playerTable["then_that"] == "THEN Change Color") then playerChangeColor(player_color_start, playerTable) elseif (playerTable["then_that"] == "THEN Promote") then playerPromote(player_color_start, playerTable) elseif (playerTable["then_that"] == "THEN Set Camera Mode") then playerSetCameraMode(player_color_start, playerTable) elseif (playerTable["then_that"] == "THEN Blindfold") then playerBlindfold(player_color_start, playerTable) end end end function onPlayerTurnEnd(player_color_end, player_color_next) if (saved_data[player_color_end] == nil) then return end local playerTable = saved_data[player_color_end] log(playerTable) if (playerTable["if_this"] == "IF Players Turn End") then if (playerTable["then_that"] == "THEN Change Team") then playerChangeTeam(player_color_end, playerTable) elseif (playerTable["then_that"] == "THEN Change Color") then playerChangeColor(player_color_end, playerTable) elseif (playerTable["then_that"] == "THEN Promote") then playerPromote(player_color_end, playerTable) elseif (playerTable["then_that"] == "THEN Set Camera Mode") then playerSetCameraMode(player_color_end, playerTable) elseif (playerTable["then_that"] == "THEN Blindfold") then playerBlindfold(player_color_end, playerTable) end end end function playerChangeTeam(player, playerTable) Player[player].team = playerTable["then_that_value"] end function playerChangeColor(player, playerTable) Player[player].changeColor(playerTable["then_that_value"]) end function playerPromote(player, playerTable) Player[player].promote() end function playerSetCameraMode(player, playerTable) Player[player].setCameraMode(playerTable["then_that_value"]) end function playerBlindfold(player, playerTable) if (playerTable["then_that_value"] == "false") then Player[player].blindfolded = false else Player[player].blindfolded = true end endLuaScriptStateY{"Black":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"Blue":{"if_this":"IF Game Loads","if_this_value":"","then_that":"THEN Change Team","then_that_value":"Diamonds"},"Brown":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"Green":{"if_this":"IF Game Loads","if_this_value":"","then_that":"THEN Change Team","then_that_value":"Clubs"},"Grey":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"Orange":{"if_this":"IF Game Loads","if_this_value":"","then_that":"THEN Change Team","then_that_value":"Orange"},"Pink":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"Purple":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"Red":{"if_this":"IF Game Loads","if_this_value":"","then_that":"THEN Change Team","then_that_value":"Hearts"},"Teal":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"White":{"if_this":"IF Game Loads","if_this_value":"","then_that":"THEN Change Team","then_that_value":"Diamonds"},"Yellow":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""}}XmlUI45a7GUID68c279Name Custom_ModelTransform‰posX@J@posYÀ—nð?posZà"íB@rotXÿ¡>rotY@è~f@rotZ€f@scaleX ™™¹?scaleY ™™¹?scaleZ ™™¹?NicknameIFTTT by UglehDescriptionv0.0.1GMNotesAltLookAngle&xyzColorDiffuse&r  5¾?g€Âõà?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomMeshOMeshURLihttps://steamusercontent-a.akamaihd.net/ugc/766103939698379333/6E044FA7595AA0ECCD53F991B7CD56974DC8505A/DiffuseURLihttps://steamusercontent-a.akamaihd.net/ugc/832513197079912705/7F68CA1C3C1528326399904A62CA6D05428EBC84/NormalURLColliderURLConvexMaterialIndexTypeIndexCastShadowsLuaScriptM/--Tabletop Simulator Lua --Trivia Game, grab data from https://ugleh.com/tts/openaijeopardyjson.php saved_data = { White = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Red = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Orange = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Yellow = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Green = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Teal = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Blue = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Purple = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Pink = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Brown = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Black = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" }, Grey = { if_this = "", if_this_value = "", then_that = "", then_that_value = "" } } COLORS = {"White", "Red", "Orange", "Yellow", "Green", "Teal", "Blue", "Purple", "Pink", "Brown", "Black", "Grey"} function onload(data) --Load saved data if data ~= "" then saved_data = JSON.decode(data) end --Setup buttons --For each player color for i, color in pairs(COLORS) do --Create a button self.createButton({ click_function = "click", function_owner = self, label = "", position = {6.5,0.17,5.2 - (i * 0.8)}, rotation = {0,180,0}, width = 400, height = 400, font_size = 250, color = color, font_color = {1,1,1} }) self.createButton({ click_function = "if_this_" .. color, function_owner = self, -- Get label from saved_data["color"]["if_this"], if blank use "IF THIS" label = (saved_data[color]["if_this"] ~= "" and saved_data[color]["if_this"]) or "IF THIS", position = {3.5,0.17,5.2 - (i * 0.8)}, rotation = {0,180,0}, width = 2000, height = 400, font_size = 200, color = {0,0,0}, font_color = color }) _G["if_this_" .. color] = function(object, player_color) if_this_global(color, player_color) end self.createButton({ click_function = "if_this_value_" .. color, function_owner = self, label = (saved_data[color]["if_this_value"] ~= "" and saved_data[color]["if_this_value"]) or "{stored value}", position = {0.35,0.17,5.2 - (i * 0.8)}, rotation = {0,180,0}, width = 1000, height = 400, font_size = 150, color = {0,0,0}, font_color = color, }) _G["if_this_value_" .. color] = function(object, player_color) if_this_value_global(color, player_color) end self.createButton({ click_function = "then_that_" .. color, function_owner = self, label = (saved_data[color]["then_that"] ~= "" and saved_data[color]["then_that"]) or "THEN THAT", position = {-2.8,0.17,5.2 - (i * 0.8)}, rotation = {0,180,0}, width = 2000, height = 400, font_size = 200, color = {0,0,0}, font_color = color }) _G["then_that_" .. color] = function(object, player_color) then_that_global(color, player_color) end self.createButton({ click_function = "then_that_value_" .. color, function_owner = self, label = (saved_data[color]["then_that_value"] ~= "" and saved_data[color]["then_that_value"]) or "{stored value}", position = {-5.9,0.17,5.2 - (i * 0.8)}, rotation = {0,180,0}, width = 1000, height = 400, font_size = 150, color = {0,0,0}, font_color = color }) _G["then_that_value_" .. color] = function(object, player_color) then_that_value_global(color, player_color) end end self.createButton({ click_function = "hideMenu", function_owner = self, label = "Hide Menu", position = {-7.5,0.17,-3.33}, rotation = {0,90,0}, width = 1400, height = 400, font_size = 250, color = {0,0,0}, font_color = {1,1,1} }) self.createButton({ click_function = "showMenu", function_owner = self, label = "SHOW", position = {0,-0.13,0}, rotation = {180,0,0}, width = 750, height = 400, font_size = 250, color = {0,0,0}, font_color = {1,1,1}, scale = {10, 10, 10} }) -- For each player color for i,j in ipairs(Player.getAvailableColors()) do -- If the player color is not in saved_data, skip if (saved_data[j]["if_this"] == "IF Game Loads") then if (saved_data[j]["then_that"] == "THEN Change Team") then playerChangeTeam(j, saved_data[j]) elseif (saved_data[j]["then_that"] == "THEN Change Color") then playerChangeColor(j, saved_data[j]) elseif (saved_data[j]["then_that"] == "THEN Promote") then playerPromote(j, saved_data[j]) elseif (saved_data[j]["then_that"] == "THEN Set Camera Mode") then playerSetCameraMode(j, saved_data[j]) elseif (saved_data[j]["then_that"] == "THEN Blindfold") then playerBlindfold(j, saved_data[j]) end end end end function click() end savedPosition = {} savedRotation = {} function hideMenu() savedPosition = self.getPosition() savedRotation = self.getRotation() self.setScale({0.1, 0.1, 0.1}) self.flip() end function showMenu() self.setScale({1, 1, 1}) self.flip() self.setPosition(savedPosition) end function if_this_global(color_selected, player_color) Player[player_color].showOptionsDialog("Select the players IF THIS", {"IF Sits In Color", "IF Players Turn Start", "IF Players Turn End", "IF Game Loads"}, "IF Sits In Color", function(option_text, option_index, playerColor) editButton(color_selected, option_text, 1) end) end function if_this_value_global(color_selected, player_color) Player[player_color].showInputDialog("Enter the value for IF THIS", "", function(input, playerColor) editButton(color_selected, input, 2) end) end function then_that_global(color_selected, player_color) Player[player_color].showOptionsDialog("Select the players THEN THAT", {"THEN Change Team", "THEN Change Color", "THEN Promote", "THEN Set Camera Mode", "THEN Blindfold"}, "THEN Change Team", function(option_text, option_index, playerColor) editButton(color_selected, option_text, 3) end) end function then_that_value_global(color_selected, player_color) Player[player_color].showInputDialog("Enter the value for THEN THAT", "", function(input, playerColor) editButton(color_selected, input, 4) end) end offsetToKey = {"if_this", "if_this_value", "then_that", "then_that_value"} function editButton(color_selected, text, offset) local colorIndex = 0 for i, color in pairs(COLORS) do if color == color_selected then colorIndex = i end end local math = (colorIndex * 5) - 5 + offset self.editButton({ index = math, label = text, }) saved_data[color_selected][offsetToKey[offset]] = text end function saveData() local data = JSON.encode(saved_data) self.script_state = data end function onSave() saveData() return JSON.encode(saved_data) end function onPlayerChangeColor(player_color) local playerTable = saved_data[player_color] print(playerTable["then_that"]) if (playerTable["if_this"] == "IF Sits In Color") then if (playerTable["then_that"] == "THEN Change Team") then print(playerTable["then_that"]) playerChangeTeam(player_color, playerTable) elseif (playerTable["then_that"] == "THEN Change Color") then playerChangeColor(player_color, playerTable) elseif (playerTable["then_that"] == "THEN Promote") then playerPromote(player_color, playerTable) elseif (playerTable["then_that"] == "THEN Set Camera Mode") then playerSetCameraMode(player_color, playerTable) elseif (playerTable["then_that"] == "THEN Blindfold") then playerBlindfold(player_color, playerTable) end end end function onPlayerTurnStart(player_color_start, player_color_previous) if (saved_data[player_color_start] == nil) then return end local playerTable = saved_data[player_color_start] if (playerTable["if_this"] == "IF Players Turn Start") then if (playerTable["then_that"] == "THEN Change Team") then playerChangeTeam(player_color_start, playerTable) elseif (playerTable["then_that"] == "THEN Change Color") then playerChangeColor(player_color_start, playerTable) elseif (playerTable["then_that"] == "THEN Promote") then playerPromote(player_color_start, playerTable) elseif (playerTable["then_that"] == "THEN Set Camera Mode") then playerSetCameraMode(player_color_start, playerTable) elseif (playerTable["then_that"] == "THEN Blindfold") then playerBlindfold(player_color_start, playerTable) end end end function onPlayerTurnEnd(player_color_end, player_color_next) if (saved_data[player_color_end] == nil) then return end local playerTable = saved_data[player_color_end] log(playerTable) if (playerTable["if_this"] == "IF Players Turn End") then if (playerTable["then_that"] == "THEN Change Team") then playerChangeTeam(player_color_end, playerTable) elseif (playerTable["then_that"] == "THEN Change Color") then playerChangeColor(player_color_end, playerTable) elseif (playerTable["then_that"] == "THEN Promote") then playerPromote(player_color_end, playerTable) elseif (playerTable["then_that"] == "THEN Set Camera Mode") then playerSetCameraMode(player_color_end, playerTable) elseif (playerTable["then_that"] == "THEN Blindfold") then playerBlindfold(player_color_end, playerTable) end end end function playerChangeTeam(player, playerTable) Player[player].team = playerTable["then_that_value"] end function playerChangeColor(player, playerTable) Player[player].changeColor(playerTable["then_that_value"]) end function playerPromote(player, playerTable) Player[player].promote() end function playerSetCameraMode(player, playerTable) Player[player].setCameraMode(playerTable["then_that_value"]) end function playerBlindfold(player, playerTable) if (playerTable["then_that_value"] == "false") then Player[player].blindfolded = false else Player[player].blindfolded = true end endLuaScriptStateh{"Black":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"Blue":{"if_this":"IF Sits In Color","if_this_value":"","then_that":"THEN Change Team","then_that_value":"Diamonds"},"Brown":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"Green":{"if_this":"IF Sits In Color","if_this_value":"","then_that":"THEN Change Team","then_that_value":"Clubs"},"Grey":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"Orange":{"if_this":"IF Sits In Color","if_this_value":"","then_that":"THEN Change Team","then_that_value":"Orange"},"Pink":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"Purple":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"Red":{"if_this":"IF Sits In Color","if_this_value":"","then_that":"THEN Change Team","then_that_value":"Hearts"},"Teal":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""},"White":{"if_this":"IF Sits In Color","if_this_value":"","then_that":"THEN Change Team","then_that_value":"Diamonds"},"Yellow":{"if_this":"","if_this_value":"","then_that":"","then_that_value":""}}XmlUI463GUIDb1e585NameCustom_AssetbundleTransform‰posX v`7@posY³Èõ?posZ@Ø«:@rotX`{™™¾rotY W€f@rotZÜä¶¾scaleX efþ?scaleY efþ?scaleZ efþ?NicknameStock Trading PhaseDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r Zdë?g †™¹?b O¸?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÚAssetbundleURLihttps://steamusercontent-a.akamaihd.net/ugc/267231170580138054/83B9C07DD90D4FA8F3DE016617A6BF0BC935D9FF/AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptïfunction onLoad() self.createButton({ label = "", click_function = "broadcast", function_owner = self, position = {0,0.25,0}, rotation = {0,0,0}, width = 1200, height = 1200, font_size = 0 }) end function broadcast(obj, color, alt_click) local playercolor broadcastToAll(" Stock Trading Phase", color) --print(clickPlayer.steam_name ..' ('.. clickPlayer.color ..') has finished their turn.') --print(playerColorClicked) self.AssetBundle.playTriggerEffect(0) end LuaScriptStateXmlUI47.GUIDa86311NameCustom_AssetbundleTransform‰posXÀ©?@posY³Èõ?posZ@Ø«:@rotX`´œo>rotY`v€f@rotZ ��x¾scaleX efþ?scaleY efþ?scaleZ efþ?NicknameMarket Card PhaseDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r  ¿?gñðà?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÚAssetbundleURLihttps://steamusercontent-a.akamaihd.net/ugc/267231170580138054/83B9C07DD90D4FA8F3DE016617A6BF0BC935D9FF/AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptìfunction onLoad() self.createButton({ label = "", click_function = "broadcast", function_owner = self, position = {0,0.25,0}, rotation = {0,0,0}, width = 1200, height = 1200, font_size = 0 }) end function broadcast(obj, color, alt_click) local playercolor broadcastToAll("Market Card Phase", color) --print(clickPlayer.steam_name ..' ('.. clickPlayer.color ..') has finished their turn.') --print(playerColorClicked) self.AssetBundle.playTriggerEffect(0) end LuaScriptStateXmlUI48õ GUID6027f3NameCustom_AssetbundleTransform‰posX`X5ÀposY ¥^ò?posZÀrotXdp¢>rotY E€f@rotZ`?×�¾scaleX ÌÌü?scaleY ÌÌü?scaleZ ÌÌü?NicknameWhite's MoneyDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÂAssetbundleURLQhttps://drive.google.com/uc?export=download&id=1tXEzUADVcphi61pC_4gkA-a42E6LUiv5AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptåfunction onSave() local data_to_save = {countValue=countValue} saved_data = JSON.encode(data_to_save) return saved_data end function onLoad(saved_data) if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) countValue = loaded_data.countValue else countValue = 0 end result = 0 a = 0 b = 0 self.createButton({ label=tostring(countValue), click_function="none", function_owner=self, position={0, 0.1, -0.15}, height=0, width=0, font_size=500, font_color={1, 1, 1} }) self.createButton({ click_function="subFromCount", function_owner=self, position={-0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) self.createButton({ click_function="addToCount", function_owner=self, position={0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) end function addToCount(_, color) if color == 'White' then self.AssetBundle.playTriggerEffect(1) a = self.UI.getAttribute("White", "value") calculate() printToAll("[ffffff]" .. Player["White"].steam_name .. "[-] has earned $" .. self.UI.getAttribute("White", "value") .. ".") end end function subFromCount(_, color) if color == 'White' then self.AssetBundle.playTriggerEffect(0) b = self.UI.getAttribute("White", "value") calculate() end end function calculate() initialResult = result result = result + a - b if tonumber(result) < 0 then printToAll("[ffffff]" .. Player["White"].steam_name .. "[-] has paid only $" .. initialResult .. ". ($" .. math.abs(initialResult - b) .. " left to pay!)") result = 0 elseif tonumber(b) > 0 then printToAll("[ffffff]" .. Player["White"].steam_name .. "[-] has paid $" .. b .. ".") end countValue = result updateDisplay() a = 0 b = 0 end function updateValue(player,value,id) if value == "" then value = 0 end value = math.abs(value) self.UI.setAttribute(id, "value", value) self.UI.setAttribute(id, "text", value) end function updateDisplay() self.editButton({index=0, label=tostring(countValue)}) endLuaScriptState{"countValue":0}XmlUIÛ 49î GUID7c52f9NameCustom_AssetbundleTransform‰posX€ãæï?posYà3õ?posZ Œ‹%ÀrotX}Lá¾rotY`û€f@rotZÀ¦Ô>scaleX`ÌÌø?scaleY`ÌÌø?scaleZ`ÌÌø?NicknameRed's DonationsDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r Zdë?gàK™¹?b ¸?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÂAssetbundleURLQhttps://drive.google.com/uc?export=download&id=1tXEzUADVcphi61pC_4gkA-a42E6LUiv5AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptÞfunction onSave() local data_to_save = {countValue=countValue} saved_data = JSON.encode(data_to_save) return saved_data end function onLoad(saved_data) if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) countValue = loaded_data.countValue else countValue = 0 end result = 0 a = 0 b = 0 self.createButton({ label=tostring(countValue), click_function="none", function_owner=self, position={0, 0.1, -0.15}, height=0, width=0, font_size=500, font_color={0.85, 0.09, 0.09} }) self.createButton({ click_function="subFromCount", function_owner=self, position={-0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) self.createButton({ click_function="addToCount", function_owner=self, position={0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) end function addToCount(_, color) if color == 'Red' then self.AssetBundle.playTriggerEffect(1) a = self.UI.getAttribute("Red", "value") calculate() printToAll("[DA1917]" .. Player["Red"].steam_name .. "[-] has earned $" .. self.UI.getAttribute("Red", "value") .. ".") end end function subFromCount(_, color) if color == 'Red' then self.AssetBundle.playTriggerEffect(0) b = self.UI.getAttribute("Red", "value") calculate() end end function calculate() initialResult = result result = result + a - b if tonumber(result) < 0 then printToAll("[DA1917]" .. Player["Red"].steam_name .. "[-] has paid only $" .. initialResult .. ". ($" .. math.abs(initialResult - b) .. " left to pay!)") result = 0 elseif tonumber(b) > 0 then printToAll("[DA1917]" .. Player["Red"].steam_name .. "[-] has paid $" .. b .. ".") end countValue = result updateDisplay() a = 0 b = 0 end function updateValue(player,value,id) if value == "" then value = 0 end value = math.abs(value) self.UI.setAttribute(id, "value", value) self.UI.setAttribute(id, "text", value) end function updateDisplay() self.editButton({index=0, label=tostring(countValue)}) endLuaScriptState{"countValue":0}XmlUIÙ 50 GUIDe6e3dbNameCustom_AssetbundleTransform‰posX`§’F@posYÀ3õ?posZ û›%ÀrotX@:\¾rotYà}f@rotZC€Œ¾scaleX`ÌÌø?scaleY`ÌÌø?scaleZ`ÌÌø?NicknameOrange's DonationsDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r �—î?gÀtÙ?bàGí¼?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÂAssetbundleURLQhttps://drive.google.com/uc?export=download&id=1tXEzUADVcphi61pC_4gkA-a42E6LUiv5AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptöfunction onSave() local data_to_save = {countValue=countValue} saved_data = JSON.encode(data_to_save) return saved_data end function onLoad(saved_data) if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) countValue = loaded_data.countValue else countValue = 0 end result = 0 a = 0 b = 0 self.createButton({ label=tostring(countValue), click_function="none", function_owner=self, position={0, 0.1, -0.15}, height=0, width=0, font_size=500, font_color={0.95, 0.39, 0.11} }) self.createButton({ click_function="subFromCount", function_owner=self, position={-0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) self.createButton({ click_function="addToCount", function_owner=self, position={0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) end function addToCount(_, color) if color == 'Orange' then self.AssetBundle.playTriggerEffect(1) a = self.UI.getAttribute("Orange", "value") calculate() printToAll("[F3631C]" .. Player["Orange"].steam_name .. "[-] has earned $" .. self.UI.getAttribute("Orange", "value") .. ".") end end function subFromCount(_, color) if color == 'Orange' then self.AssetBundle.playTriggerEffect(0) b = self.UI.getAttribute("Orange", "value") calculate() end end function calculate() initialResult = result result = result + a - b if tonumber(result) < 0 then printToAll("[F3631C]" .. Player["Orange"].steam_name .. "[-] has paid only $" .. initialResult .. ". ($" .. math.abs(initialResult - b) .. " left to pay!)") result = 0 elseif tonumber(b) > 0 then printToAll("[F3631C]" .. Player["Orange"].steam_name .. "[-] has paid $" .. b .. ".") end countValue = result updateDisplay() a = 0 b = 0 end function updateValue(player,value,id) if value == "" then value = 0 end value = math.abs(value) self.UI.setAttribute(id, "value", value) self.UI.setAttribute(id, "text", value) end function updateDisplay() self.editButton({index=0, label=tostring(countValue)}) endLuaScriptState{"countValue":0}XmlUIÜ 51þ GUID574659NameCustom_AssetbundleTransform‰posX €7@posYà¥^ò?posZÀrotX f¨o>rotY€f@rotZ@þÅ€¾scaleX ÌÌü?scaleY ÌÌü?scaleZ ÌÌü?NicknameGreen's MoneyDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r€¯�Ô?g`VVæ?b@ðÅ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÂAssetbundleURLQhttps://drive.google.com/uc?export=download&id=1tXEzUADVcphi61pC_4gkA-a42E6LUiv5AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptîfunction onSave() local data_to_save = {countValue=countValue} saved_data = JSON.encode(data_to_save) return saved_data end function onLoad(saved_data) if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) countValue = loaded_data.countValue else countValue = 0 end result = 0 a = 0 b = 0 self.createButton({ label=tostring(countValue), click_function="none", function_owner=self, position={0, 0.1, -0.15}, height=0, width=0, font_size=500, font_color={0.32, 0.70, 0.16} }) self.createButton({ click_function="subFromCount", function_owner=self, position={-0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) self.createButton({ click_function="addToCount", function_owner=self, position={0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) end function addToCount(_, color) if color == 'Green' then self.AssetBundle.playTriggerEffect(1) a = self.UI.getAttribute("Green", "value") calculate() printToAll("[30B22A]" .. Player["Green"].steam_name .. "[-] has earned $" .. self.UI.getAttribute("Green", "value") .. ".") end end function subFromCount(_, color) if color == 'Green' then self.AssetBundle.playTriggerEffect(0) b = self.UI.getAttribute("Green", "value") calculate() end end function calculate() initialResult = result result = result + a - b if tonumber(result) < 0 then printToAll("[30B22A]" .. Player["Green"].steam_name .. "[-] has paid only $" .. initialResult .. ". ($" .. math.abs(initialResult - b) .. " left to pay!)") result = 0 elseif tonumber(b) > 0 then printToAll("[30B22A]" .. Player["Green"].steam_name .. "[-] has paid $" .. b .. ".") end countValue = result updateDisplay() a = 0 b = 0 end function updateValue(player,value,id) if value == "" then value = 0 end value = math.abs(value) self.UI.setAttribute(id, "value", value) self.UI.setAttribute(id, "text", value) end function updateDisplay() self.editButton({index=0, label=tostring(countValue)}) endLuaScriptState{"countValue":0}XmlUIÛ 52ñ GUID44bf41NameCustom_AssetbundleTransform‰posX€=ªEÀposYà` õ?posZÀrotXôb>rotY[�f@rotZ€Ò´ ¾scaleX ÌÌü?scaleY ÌÌü?scaleZ ÌÌü?Nickname Blue's MoneyDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r`ô4¾?g€Âõà?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÂAssetbundleURLQhttps://drive.google.com/uc?export=download&id=1tXEzUADVcphi61pC_4gkA-a42E6LUiv5AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptãfunction onSave() local data_to_save = {countValue=countValue} saved_data = JSON.encode(data_to_save) return saved_data end function onLoad(saved_data) if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) countValue = loaded_data.countValue else countValue = 0 end result = 0 a = 0 b = 0 self.createButton({ label=tostring(countValue), click_function="none", function_owner=self, position={0, 0.1, -0.15}, height=0, width=0, font_size=500, font_color={0.11, 0.52, 1} }) self.createButton({ click_function="subFromCount", function_owner=self, position={-0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) self.createButton({ click_function="addToCount", function_owner=self, position={0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) end function addToCount(_, color) if color == 'Blue' then self.AssetBundle.playTriggerEffect(1) a = self.UI.getAttribute("Blue", "value") calculate() printToAll("[1E87FF]" .. Player["Blue"].steam_name .. "[-] has earned $" .. self.UI.getAttribute("Blue", "value") .. ".") end end function subFromCount(_, color) if color == 'Blue' then self.AssetBundle.playTriggerEffect(0) b = self.UI.getAttribute("Blue", "value") calculate() end end function calculate() initialResult = result result = result + a - b if tonumber(result) < 0 then printToAll("[1E87FF]" .. Player["Blue"].steam_name .. "[-] has paid only $" .. initialResult .. ". ($" .. math.abs(initialResult - b) .. " left to pay!)") result = 0 elseif tonumber(b) > 0 then printToAll("[1E87FF]" .. Player["Blue"].steam_name .. "[-] has paid $" .. b .. ".") end countValue = result updateDisplay() a = 0 b = 0 end function updateValue(player,value,id) if value == "" then value = 0 end value = math.abs(value) self.UI.setAttribute(id, "value", value) self.UI.setAttribute(id, "text", value) end function updateDisplay() self.editButton({index=0, label=tostring(countValue)}) endLuaScriptState{"countValue":0}XmlUIÚ 53GUID7f7e20NameCustom_AssetbundleTransform‰posX`óý6@posY 3õ?posZ@Ê\%ÀrotXQï<>rotY €f@rotZ`¶€¾scaleX`ÌÌø?scaleY`ÌÌø?scaleZ`ÌÌø?NicknameGreen's DonationsDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r@¯�Ô?g`VVæ?bÀïÅ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÂAssetbundleURLQhttps://drive.google.com/uc?export=download&id=1tXEzUADVcphi61pC_4gkA-a42E6LUiv5AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptîfunction onSave() local data_to_save = {countValue=countValue} saved_data = JSON.encode(data_to_save) return saved_data end function onLoad(saved_data) if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) countValue = loaded_data.countValue else countValue = 0 end result = 0 a = 0 b = 0 self.createButton({ label=tostring(countValue), click_function="none", function_owner=self, position={0, 0.1, -0.15}, height=0, width=0, font_size=500, font_color={0.32, 0.70, 0.16} }) self.createButton({ click_function="subFromCount", function_owner=self, position={-0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) self.createButton({ click_function="addToCount", function_owner=self, position={0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) end function addToCount(_, color) if color == 'Green' then self.AssetBundle.playTriggerEffect(1) a = self.UI.getAttribute("Green", "value") calculate() printToAll("[30B22A]" .. Player["Green"].steam_name .. "[-] has earned $" .. self.UI.getAttribute("Green", "value") .. ".") end end function subFromCount(_, color) if color == 'Green' then self.AssetBundle.playTriggerEffect(0) b = self.UI.getAttribute("Green", "value") calculate() end end function calculate() initialResult = result result = result + a - b if tonumber(result) < 0 then printToAll("[30B22A]" .. Player["Green"].steam_name .. "[-] has paid only $" .. initialResult .. ". ($" .. math.abs(initialResult - b) .. " left to pay!)") result = 0 elseif tonumber(b) > 0 then printToAll("[30B22A]" .. Player["Green"].steam_name .. "[-] has paid $" .. b .. ".") end countValue = result updateDisplay() a = 0 b = 0 end function updateValue(player,value,id) if value == "" then value = 0 end value = math.abs(value) self.UI.setAttribute(id, "value", value) self.UI.setAttribute(id, "text", value) end function updateDisplay() self.editButton({index=0, label=tostring(countValue)}) endLuaScriptState{"countValue":0}XmlUIÛ 54õ GUIDbf655aNameCustom_AssetbundleTransform‰posX Ï©EÀposYà3õ?posZ 8„%ÀrotXÀº`…>rotY €f@rotZàŸbn¾scaleX`ÌÌø?scaleY`ÌÌø?scaleZ`ÌÌø?NicknameBlue's DonationsDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r`ó4¾?g€Âõà?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÂAssetbundleURLQhttps://drive.google.com/uc?export=download&id=1tXEzUADVcphi61pC_4gkA-a42E6LUiv5AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptãfunction onSave() local data_to_save = {countValue=countValue} saved_data = JSON.encode(data_to_save) return saved_data end function onLoad(saved_data) if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) countValue = loaded_data.countValue else countValue = 0 end result = 0 a = 0 b = 0 self.createButton({ label=tostring(countValue), click_function="none", function_owner=self, position={0, 0.1, -0.15}, height=0, width=0, font_size=500, font_color={0.11, 0.52, 1} }) self.createButton({ click_function="subFromCount", function_owner=self, position={-0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) self.createButton({ click_function="addToCount", function_owner=self, position={0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) end function addToCount(_, color) if color == 'Blue' then self.AssetBundle.playTriggerEffect(1) a = self.UI.getAttribute("Blue", "value") calculate() printToAll("[1E87FF]" .. Player["Blue"].steam_name .. "[-] has earned $" .. self.UI.getAttribute("Blue", "value") .. ".") end end function subFromCount(_, color) if color == 'Blue' then self.AssetBundle.playTriggerEffect(0) b = self.UI.getAttribute("Blue", "value") calculate() end end function calculate() initialResult = result result = result + a - b if tonumber(result) < 0 then printToAll("[1E87FF]" .. Player["Blue"].steam_name .. "[-] has paid only $" .. initialResult .. ". ($" .. math.abs(initialResult - b) .. " left to pay!)") result = 0 elseif tonumber(b) > 0 then printToAll("[1E87FF]" .. Player["Blue"].steam_name .. "[-] has paid $" .. b .. ".") end countValue = result updateDisplay() a = 0 b = 0 end function updateValue(player,value,id) if value == "" then value = 0 end value = math.abs(value) self.UI.setAttribute(id, "value", value) self.UI.setAttribute(id, "text", value) end function updateDisplay() self.editButton({index=0, label=tostring(countValue)}) endLuaScriptState{"countValue":0}XmlUIÚ 55ù GUIDb6f454NameCustom_AssetbundleTransform‰posX Ì15ÀposYÀ3õ?posZ`Ñ£%ÀrotX`€^>rotY ãf@rotZ€"rŒ¾scaleX`ÌÌø?scaleY`ÌÌø?scaleZ`ÌÌø?NicknameWhite's DonationsDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÂAssetbundleURLQhttps://drive.google.com/uc?export=download&id=1tXEzUADVcphi61pC_4gkA-a42E6LUiv5AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptåfunction onSave() local data_to_save = {countValue=countValue} saved_data = JSON.encode(data_to_save) return saved_data end function onLoad(saved_data) if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) countValue = loaded_data.countValue else countValue = 0 end result = 0 a = 0 b = 0 self.createButton({ label=tostring(countValue), click_function="none", function_owner=self, position={0, 0.1, -0.15}, height=0, width=0, font_size=500, font_color={1, 1, 1} }) self.createButton({ click_function="subFromCount", function_owner=self, position={-0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) self.createButton({ click_function="addToCount", function_owner=self, position={0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) end function addToCount(_, color) if color == 'White' then self.AssetBundle.playTriggerEffect(1) a = self.UI.getAttribute("White", "value") calculate() printToAll("[ffffff]" .. Player["White"].steam_name .. "[-] has earned $" .. self.UI.getAttribute("White", "value") .. ".") end end function subFromCount(_, color) if color == 'White' then self.AssetBundle.playTriggerEffect(0) b = self.UI.getAttribute("White", "value") calculate() end end function calculate() initialResult = result result = result + a - b if tonumber(result) < 0 then printToAll("[ffffff]" .. Player["White"].steam_name .. "[-] has paid only $" .. initialResult .. ". ($" .. math.abs(initialResult - b) .. " left to pay!)") result = 0 elseif tonumber(b) > 0 then printToAll("[ffffff]" .. Player["White"].steam_name .. "[-] has paid $" .. b .. ".") end countValue = result updateDisplay() a = 0 b = 0 end function updateValue(player,value,id) if value == "" then value = 0 end value = math.abs(value) self.UI.setAttribute(id, "value", value) self.UI.setAttribute(id, "text", value) end function updateDisplay() self.editButton({index=0, label=tostring(countValue)}) endLuaScriptState{"countValue":0}XmlUIÛ 56ê GUIDa22b6aNameCustom_AssetbundleTransform‰posXÀ7_ò?posY€¦^ò?posZÀrotX Úð>rotY@Bf@rotZ€Â§>scaleX ÌÌü?scaleY ÌÌü?scaleZ ÌÌü?Nickname Red's MoneyDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r Zdë?g K™¹?b`¸?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÂAssetbundleURLQhttps://drive.google.com/uc?export=download&id=1tXEzUADVcphi61pC_4gkA-a42E6LUiv5AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptÞfunction onSave() local data_to_save = {countValue=countValue} saved_data = JSON.encode(data_to_save) return saved_data end function onLoad(saved_data) if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) countValue = loaded_data.countValue else countValue = 0 end result = 0 a = 0 b = 0 self.createButton({ label=tostring(countValue), click_function="none", function_owner=self, position={0, 0.1, -0.15}, height=0, width=0, font_size=500, font_color={0.85, 0.09, 0.09} }) self.createButton({ click_function="subFromCount", function_owner=self, position={-0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) self.createButton({ click_function="addToCount", function_owner=self, position={0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) end function addToCount(_, color) if color == 'Red' then self.AssetBundle.playTriggerEffect(1) a = self.UI.getAttribute("Red", "value") calculate() printToAll("[DA1917]" .. Player["Red"].steam_name .. "[-] has earned $" .. self.UI.getAttribute("Red", "value") .. ".") end end function subFromCount(_, color) if color == 'Red' then self.AssetBundle.playTriggerEffect(0) b = self.UI.getAttribute("Red", "value") calculate() end end function calculate() initialResult = result result = result + a - b if tonumber(result) < 0 then printToAll("[DA1917]" .. Player["Red"].steam_name .. "[-] has paid only $" .. initialResult .. ". ($" .. math.abs(initialResult - b) .. " left to pay!)") result = 0 elseif tonumber(b) > 0 then printToAll("[DA1917]" .. Player["Red"].steam_name .. "[-] has paid $" .. b .. ".") end countValue = result updateDisplay() a = 0 b = 0 end function updateValue(player,value,id) if value == "" then value = 0 end value = math.abs(value) self.UI.setAttribute(id, "value", value) self.UI.setAttribute(id, "text", value) end function updateDisplay() self.editButton({index=0, label=tostring(countValue)}) endLuaScriptState{"countValue":0}XmlUIÙ 57GUID90a6e2NameCustom_AssetbundleTransform‰posX€o‰F@posYÀ¥^ò?posZÀrotXW/‡¾rotYàe€f@rotZàÙ$y¾scaleX ÌÌü?scaleY ÌÌü?scaleZ ÌÌü?NicknameOrange's MoneyDescriptionGMNotesAltLookAngle&xyzColorDiffuse&r �—î?g€tÙ?bàFí¼?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomAssetbundleÂAssetbundleURLQhttps://drive.google.com/uc?export=download&id=1tXEzUADVcphi61pC_4gkA-a42E6LUiv5AssetbundleSecondaryURLMaterialIndexTypeIndexLoopingEffectIndexLuaScriptöfunction onSave() local data_to_save = {countValue=countValue} saved_data = JSON.encode(data_to_save) return saved_data end function onLoad(saved_data) if saved_data ~= "" then local loaded_data = JSON.decode(saved_data) countValue = loaded_data.countValue else countValue = 0 end result = 0 a = 0 b = 0 self.createButton({ label=tostring(countValue), click_function="none", function_owner=self, position={0, 0.1, -0.15}, height=0, width=0, font_size=500, font_color={0.95, 0.39, 0.11} }) self.createButton({ click_function="subFromCount", function_owner=self, position={-0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) self.createButton({ click_function="addToCount", function_owner=self, position={0.8, 0.12, 0.68}, height=200, width=360, color={0,0,0,0} }) end function addToCount(_, color) if color == 'Orange' then self.AssetBundle.playTriggerEffect(1) a = self.UI.getAttribute("Orange", "value") calculate() printToAll("[F3631C]" .. Player["Orange"].steam_name .. "[-] has earned $" .. self.UI.getAttribute("Orange", "value") .. ".") end end function subFromCount(_, color) if color == 'Orange' then self.AssetBundle.playTriggerEffect(0) b = self.UI.getAttribute("Orange", "value") calculate() end end function calculate() initialResult = result result = result + a - b if tonumber(result) < 0 then printToAll("[F3631C]" .. Player["Orange"].steam_name .. "[-] has paid only $" .. initialResult .. ". ($" .. math.abs(initialResult - b) .. " left to pay!)") result = 0 elseif tonumber(b) > 0 then printToAll("[F3631C]" .. Player["Orange"].steam_name .. "[-] has paid $" .. b .. ".") end countValue = result updateDisplay() a = 0 b = 0 end function updateValue(player,value,id) if value == "" then value = 0 end value = math.abs(value) self.UI.setAttribute(id, "value", value) self.UI.setAttribute(id, "text", value) end function updateDisplay() self.editButton({index=0, label=tostring(countValue)}) endLuaScriptState{"countValue":0}XmlUIÜ 58µGUID84aad5Name3DTextTransform‰posX`¯”EÀposYà†çò?posZÀ« ÀrotX€V@rotYrotZscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsTextvTextBlue's DonationsOwnerSteamIDcolorstate&rð?gð?bð?fontSize@LuaScriptLuaScriptStateXmlUI59¶GUID2b5f29Name3DTextTransform‰posX@ ö4ÀposY ‡çò?posZ@Ó¥ ÀrotX€V@rotYrotZscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsTextwTextWhite's DonationsOwnerSteamIDcolorstate&rð?gð?bð?fontSize@LuaScriptLuaScriptStateXmlUI60´GUID7314cdName3DTextTransform‰posXä$ð?posY ‡çò?posZ ¡Ÿ ÀrotX€V@rotYrotZscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsTextuTextRed's DonationsOwnerSteamIDcolorstate&rð?gð?bð?fontSize@LuaScriptLuaScriptStateXmlUI61¶GUIDcc5214Name3DTextTransform‰posX Ÿ7@posY€‡çò?posZ@Lh ÀrotX€V@rotYrotZscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsTextwTextGreen's DonationsOwnerSteamIDcolorstate&rð?gð?bð?fontSize@LuaScriptLuaScriptStateXmlUI62·GUID50d6adName3DTextTransform‰posX`øªF@posY‡çò?posZ \œ ÀrotX€V@rotYrotZscaleXð?scaleYð?scaleZð?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsTextxTextOrange's DonationsOwnerSteamIDcolorstate&rð?gð?bð?fontSize@LuaScriptLuaScriptStateXmlUI63»GUID4ee1f2Name Custom_ModelTransform‰posXposY#ÀposZrotXrotYC _¿rotZscaleX@scaleYð?scaleZÀÌÌü?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rð?gð?bð?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomMeshçMeshURLihttps://steamusercontent-a.akamaihd.net/ugc/879750610978796176/4A5A65543B98BCFBF57E910D06EC984208223D38/DiffuseURLjhttps://steamusercontent-a.akamaihd.net/ugc/1836902512978660357/7A32A39FD692F3CEE69729A5B7E2C6AF1D00970E/NormalURLColliderURLConvexMaterialIndexTypeIndexCustomShader‰SpecularColor&rð?gð?bð?SpecularIntensitySpecularSharpness@FresnelStrengthCastShadowsLuaScriptLuaScriptStateXmlUIAttachedSnapPointsu0ePosition&x‚ª Ày‡ö$@z @.@Rotation&x V x¾y R€f@zŒ >1ePosition&xÀ\ªÀy‡ö$@z ).@Rotation&x@ìO}¾yÀ€f@zÀOyp>2ePosition&xdÿÀy‡ö$@zÀ.@Rotation&x`¾B¾yÀB€f@z@#y¾3ePosition&xÀF«@y‡ö$@z@ïÿ-@Rotation&x`ðz>y F€f@z {²]¾4ePosition&x@uPÕ¿y‡ö$@z€.@Rotation&x Ðßr>y@C€f@zÀRîq¾5ePosition&xN@y‡ö$@zÜÿ-@Rotation&x€Uá>>y €f@z€WG¾64 LGUIDb3d1dcNameCustom_Model_BagTransform‰posX@.@posY`(ûò?posZ;@rotX@,�>rotY@0f@rotZ@g§‘¾scaleX`ß]@scaleY�7Ú?scaleZç@Nickname Salt SharesDescriptionGMNotesAltLookAngle&xyzColorDiffuse1rð?gð?bð?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsMaterialIndexÿÿÿÿMeshIndexÿÿÿÿCustomMeshèMeshURLjhttps://steamusercontent-a.akamaihd.net/ugc/1666858152071990826/9AD455F2CBAEC01B2CBCDDB8B6DC4CE48D14B545/DiffuseURLNormalURLColliderURLConvexMaterialIndexTypeIndexCastShadowsBagOrderLuaScript) local allTextColors = { {1, 1, 1}, -- White {0, 0, 0, 1}, -- Black {0.5, 0.5, 0.5}, -- Grey {0.856, 0.1, 0.094}, -- Red {0.956, 0.392, 0.113}, -- Orange {0.905, 0.898, 0.172}, -- Yellow {0.192, 0.701, 0.168}, -- Green {0.129, 0.694, 0.607}, -- Teal {0.118, 0.53, 1}, -- Blue {0.627, 0.125, 0.941}, -- Purple {0.96, 0.439, 0.807}, -- Pink {0.443, 0.231, 0.09}, -- Brown } local defaultCustomValues = { labelPositionX = 0, labelPositionY = 4, labelPositionZ = 0, labelFontColor = 1, labelScale = 1, stylesLocked = false, stylesSoftLocked = false } local customValues = defaultCustomValues function none() end function onLoad(savedValues) if savedValues == nil or savedValues == "" then customValues = defaultCustomValues else customValues = JSON.decode(savedValues) end delayedRefreshLabel() if customValues.stylesSoftLocked == true then self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) elseif not customValues.stylesLocked then createContextMenuItems() end end function onSave() savedValues = JSON.encode(customValues) return savedValues end function delayedRefreshLabel() Wait.frames(refreshLabel, 1) end function refreshLabel() local buttons = self.getButtons() if buttons and #buttons > 0 then self.removeButton(0) end function removeContextMenuItemByLabel(labelName) local contextMenu = getContextMenu() for i, item in ipairs(contextMenu) do if item.label == labelName then removeContextMenuItem(i) break end end end function confirmValues() self.clearContextMenu() customValues.stylesLocked = true end self.createButton({ click_function = "none", function_owner = self, label = self.getQuantity(), position = {customValues.labelPositionX, customValues.labelPositionY, customValues.labelPositionZ}, rotation = {0, 0, 0}, font_size = 1000, color = {1, 1, 1, 1}, font_color = allTextColors[customValues.labelFontColor], interactable = false, width = 0, height = 0, scale = {customValues.labelScale, customValues.labelScale, customValues.labelScale} }) end function onObjectEnterContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function onObjectLeaveContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function createContextMenuItems() self.addContextMenuItem("Move Label Up", function() customValues.labelPositionY = customValues.labelPositionY + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Down", function() customValues.labelPositionY = customValues.labelPositionY - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Left", function() customValues.labelPositionX = customValues.labelPositionX - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Right", function() customValues.labelPositionX = customValues.labelPositionX + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Forward", function() customValues.labelPositionZ = customValues.labelPositionZ + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Lbl Backwards", function() customValues.labelPositionZ = customValues.labelPositionZ - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Up", function() customValues.labelScale = customValues.labelScale + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Down", function() customValues.labelScale = customValues.labelScale - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Next Color", function() if customValues.labelFontColor >= #allTextColors then customValues.labelFontColor = 1 else customValues.labelFontColor = customValues.labelFontColor + 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Previous Color", function() if customValues.labelFontColor == 0 then customValues.labelFontColor = #allTextColors else customValues.labelFontColor = customValues.labelFontColor - 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Reset Label", function() customValues = defaultCustomValues delayedRefreshLabel() end, true) self.addContextMenuItem("Soft Lock Styles", function() self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) customValues.stylesSoftLocked = true end, false) self.addContextMenuItem("Lock Styles", function() confirmValues() end, false) end function tryObjectEnter(object) if object.getQuantity() > 1 then return false else return true end end LuaScriptState�{"labelFontColor":1,"labelPositionX":0,"labelPositionY":0.599999999999999,"labelPositionZ":-1,"labelScale":0.6,"stylesLocked":true,"stylesSoftLocked":false}XmlUIContainedObjectsc$0 GUID639bd6NameCardTransform‰posXÉF@posY G1ö?posZ ÞÙ@@rotX3i ?rotY  €f@rotZ©Çú>scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameSaltDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‡SidewaysCardCustomDeck>96FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI1 GUIDf6d133NameCardTransform‰posX�’@posY@y2ö?posZ eõ@@rotX@@�n¿rotYàÄ~f@rotZ ˜²p¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameSaltDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‡SidewaysCardCustomDeck>96FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI2 GUIDb34289NameCardTransform‰posX³ü"@posYà¢2ö?posZ€O@@rotX€¢Þ%¿rotY âf@rotZ ‡‡o?scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameSaltDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‡SidewaysCardCustomDeck>96FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI3 GUID066b7eNameCardTransform‰posXà /#@posY€ø/ö?posZÀËe?@rotXàïx’?rotY €f@rotZ@ñ‡Ž?scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameSaltDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‡SidewaysCardCustomDeck>96FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI4 GUID9946d0NameCardTransform‰posX Ÿ!@posY@>2ö?posZ ƒ)@@rotX@k�m¿rotYà¯f@rotZÀJUT¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameSaltDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‡SidewaysCardCustomDeck>96FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI5 GUID1d1409NameCardTransform‰posX`º� @posY è1ö?posZ`Æ#@@rotX€&�\?rotY €f@rotZÜð1?scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameSaltDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‡SidewaysCardCustomDeck>96FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI6 GUIDee7fe6NameCardTransform‰posX[‰ @posYç1ö?posZ€A@@rotX€NN?rotYÀ"€f@rotZ€ö§ ¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameSaltDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‡SidewaysCardCustomDeck>96FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI7 GUID326c7dNameCardTransform‰posXAÆ@posY@3ö?posZ øŸ@@rotXÀ{‘Q?rotYà€f@rotZÀÃìM?scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameSaltDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‡SidewaysCardCustomDeck>96FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI8 GUID4f9597NameCardTransform‰posX ç*@posY@73ö?posZ K³@@rotX€‘QQ¿rotY éf@rotZ@¥>¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameSaltDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‡SidewaysCardCustomDeck>96FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI9 GUID44da9dNameCardTransform‰posX@®·.@posY`6�ö?posZ C;@rotXàçè6?rotY€f@rotZ ã6ð¾scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameSaltDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‡SidewaysCardCustomDeck>96FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUIChildObjectsU0MGUIDcb8113Name Custom_TileTransform‰posXàOél>posY ùÿß¿posZ@€'Š>rotX.5¿½rotY c…Æ>rotZÜ¥¬½scaleX`ħÔ?scaleYÀW @scaleZ@à?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀ¹¹é?gÀZá?b@œœÌ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167172301186/02E7A11F97FE9EE60830649EE5D1B43CF9CC4FE8/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThicknessIáÒ?StackableStretchLuaScriptLuaScriptStateXmlUI65/LGUID89379aNameCustom_Model_BagTransform‰posX`9ÀposY : ó?posZÀ;@rotX 3_²¾rotYÀm€f@rotZþtܾscaleX³\@scaleYà¨Ú?scaleZ€'@Nickname Wheat SharesDescriptionGMNotesAltLookAngle&xyzColorDiffuse1rð?gð?bð?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsMaterialIndexÿÿÿÿMeshIndexÿÿÿÿCustomMeshèMeshURLjhttps://steamusercontent-a.akamaihd.net/ugc/1666858152071990826/9AD455F2CBAEC01B2CBCDDB8B6DC4CE48D14B545/DiffuseURLNormalURLColliderURLConvexMaterialIndexTypeIndexCastShadowsBagOrderLuaScript) local allTextColors = { {1, 1, 1}, -- White {0, 0, 0, 1}, -- Black {0.5, 0.5, 0.5}, -- Grey {0.856, 0.1, 0.094}, -- Red {0.956, 0.392, 0.113}, -- Orange {0.905, 0.898, 0.172}, -- Yellow {0.192, 0.701, 0.168}, -- Green {0.129, 0.694, 0.607}, -- Teal {0.118, 0.53, 1}, -- Blue {0.627, 0.125, 0.941}, -- Purple {0.96, 0.439, 0.807}, -- Pink {0.443, 0.231, 0.09}, -- Brown } local defaultCustomValues = { labelPositionX = 0, labelPositionY = 4, labelPositionZ = 0, labelFontColor = 1, labelScale = 1, stylesLocked = false, stylesSoftLocked = false } local customValues = defaultCustomValues function none() end function onLoad(savedValues) if savedValues == nil or savedValues == "" then customValues = defaultCustomValues else customValues = JSON.decode(savedValues) end delayedRefreshLabel() if customValues.stylesSoftLocked == true then self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) elseif not customValues.stylesLocked then createContextMenuItems() end end function onSave() savedValues = JSON.encode(customValues) return savedValues end function delayedRefreshLabel() Wait.frames(refreshLabel, 1) end function refreshLabel() local buttons = self.getButtons() if buttons and #buttons > 0 then self.removeButton(0) end function removeContextMenuItemByLabel(labelName) local contextMenu = getContextMenu() for i, item in ipairs(contextMenu) do if item.label == labelName then removeContextMenuItem(i) break end end end function confirmValues() self.clearContextMenu() customValues.stylesLocked = true end self.createButton({ click_function = "none", function_owner = self, label = self.getQuantity(), position = {customValues.labelPositionX, customValues.labelPositionY, customValues.labelPositionZ}, rotation = {0, 0, 0}, font_size = 1000, color = {1, 1, 1, 1}, font_color = allTextColors[customValues.labelFontColor], interactable = false, width = 0, height = 0, scale = {customValues.labelScale, customValues.labelScale, customValues.labelScale} }) end function onObjectEnterContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function onObjectLeaveContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function createContextMenuItems() self.addContextMenuItem("Move Label Up", function() customValues.labelPositionY = customValues.labelPositionY + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Down", function() customValues.labelPositionY = customValues.labelPositionY - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Left", function() customValues.labelPositionX = customValues.labelPositionX - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Right", function() customValues.labelPositionX = customValues.labelPositionX + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Forward", function() customValues.labelPositionZ = customValues.labelPositionZ + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Lbl Backwards", function() customValues.labelPositionZ = customValues.labelPositionZ - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Up", function() customValues.labelScale = customValues.labelScale + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Down", function() customValues.labelScale = customValues.labelScale - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Next Color", function() if customValues.labelFontColor >= #allTextColors then customValues.labelFontColor = 1 else customValues.labelFontColor = customValues.labelFontColor + 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Previous Color", function() if customValues.labelFontColor == 0 then customValues.labelFontColor = #allTextColors else customValues.labelFontColor = customValues.labelFontColor - 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Reset Label", function() customValues = defaultCustomValues delayedRefreshLabel() end, true) self.addContextMenuItem("Soft Lock Styles", function() self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) customValues.stylesSoftLocked = true end, false) self.addContextMenuItem("Lock Styles", function() confirmValues() end, false) end function tryObjectEnter(object) if object.getQuantity() > 1 then return false else return true end end LuaScriptState¡{"labelFontColor":6,"labelPositionX":0,"labelPositionY":-1.27675647831893E-15,"labelPositionZ":-1,"labelScale":0.6,"stylesLocked":true,"stylesSoftLocked":false}XmlUIContainedObjectsm$0¡GUIDc1cffdNameCardTransform‰posX Kr<ÀposY ÄKö?posZ ä‡@@rotXàXça?rotY Ì€f@rotZ€¼Q?scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameWheatDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDùSidewaysCardCustomDeck>56FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI1¡GUIDd0fde3NameCardTransform‰posX`>’;ÀposYàÍLö?posZ {@@rotX J^d¿rotYà³€f@rotZ@.­I¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameWheatDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDùSidewaysCardCustomDeck>56FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI2¡GUIDfc7283NameCardTransform‰posX 8s;ÀposYàGLö?posZà�u@@rotX`Øv@rotY`<�f@rotZ` Cr¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameWheatDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDùSidewaysCardCustomDeck>56FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI3¡GUID292d57NameCardTransform‰posXÔ€;ÀposY(Nö?posZ ð‰@@rotX@vlt¿rotYø€f@rotZ ídL¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameWheatDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDùSidewaysCardCustomDeck>56FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI4¡GUID4cd12bNameCardTransform‰posX Ôz;ÀposY@,Lö?posZ€!<@@rotXÞv@rotY`k�f@rotZàwþb¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameWheatDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDùSidewaysCardCustomDeck>56FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI5¡GUIDb99589NameCardTransform‰posXE4;ÀposY&Zö?posZg©@@rotX@ßj`¿rotY@¿�f@rotZ€@v@scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameWheatDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDùSidewaysCardCustomDeck>56FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI6¡GUID134d5bNameCardTransform‰posX`Î0;ÀposYóWö?posZ€ªÕ@@rotX#Wr¿rotY`Š‚f@rotZ€?v@scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameWheatDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDùSidewaysCardCustomDeck>56FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI7¡GUID91133cNameCardTransform‰posX Ï‹;ÀposY ãJö?posZÀM•@@rotX@Øv@rotY�f@rotZ C=d¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameWheatDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDùSidewaysCardCustomDeck>56FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI8¡GUID8a43cbNameCardTransform‰posXÀ ;ÀposY`(Kö?posZ€Ó~@@rotXàÕv@rotY@s€f@rotZž[¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameWheatDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDùSidewaysCardCustomDeck>56FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI9¡GUIDa805abNameCardTransform‰posX€É9ÀposY¾]ö?posZ :?@rotX`‘_¿rotY`þ‚f@rotZ v@scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameWheatDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDùSidewaysCardCustomDeck>56FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUIChildObjectsU0MGUIDb55ff9Name Custom_TileTransform‰posX €1i>posY`ùÿß¿posZ€¾¬|>rotXà¿Sš½rotYÀ#èà>rotZ Ü¥¼½scaleX@ƧÔ?scaleY@¨ª @scaleZ€ÿÿß?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀ¹¹é?gÀZá?b@œœÌ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167172303459/9F867476339D03819813AA0631A5A219B5DD18A4/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThickness 03Ó?StackableStretchLuaScriptLuaScriptStateXmlUI667LGUIDba355aNameCustom_Model_BagTransform‰posXÀÿÿï¿posY Kó?posZ ;@rotXÀ™¾rotY€²€f@rotZ ­~‹¾scaleXÀ‹[@scaleYÀšÛ?scaleZ@f@NicknameRubber SharesDescriptionGMNotesAltLookAngle&xyzColorDiffuse1rð?gð?bð?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsMaterialIndexÿÿÿÿMeshIndexÿÿÿÿCustomMeshèMeshURLjhttps://steamusercontent-a.akamaihd.net/ugc/1666858152071990826/9AD455F2CBAEC01B2CBCDDB8B6DC4CE48D14B545/DiffuseURLNormalURLColliderURLConvexMaterialIndexTypeIndexCastShadowsBagOrderLuaScript) local allTextColors = { {1, 1, 1}, -- White {0, 0, 0, 1}, -- Black {0.5, 0.5, 0.5}, -- Grey {0.856, 0.1, 0.094}, -- Red {0.956, 0.392, 0.113}, -- Orange {0.905, 0.898, 0.172}, -- Yellow {0.192, 0.701, 0.168}, -- Green {0.129, 0.694, 0.607}, -- Teal {0.118, 0.53, 1}, -- Blue {0.627, 0.125, 0.941}, -- Purple {0.96, 0.439, 0.807}, -- Pink {0.443, 0.231, 0.09}, -- Brown } local defaultCustomValues = { labelPositionX = 0, labelPositionY = 4, labelPositionZ = 0, labelFontColor = 1, labelScale = 1, stylesLocked = false, stylesSoftLocked = false } local customValues = defaultCustomValues function none() end function onLoad(savedValues) if savedValues == nil or savedValues == "" then customValues = defaultCustomValues else customValues = JSON.decode(savedValues) end delayedRefreshLabel() if customValues.stylesSoftLocked == true then self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) elseif not customValues.stylesLocked then createContextMenuItems() end end function onSave() savedValues = JSON.encode(customValues) return savedValues end function delayedRefreshLabel() Wait.frames(refreshLabel, 1) end function refreshLabel() local buttons = self.getButtons() if buttons and #buttons > 0 then self.removeButton(0) end function removeContextMenuItemByLabel(labelName) local contextMenu = getContextMenu() for i, item in ipairs(contextMenu) do if item.label == labelName then removeContextMenuItem(i) break end end end function confirmValues() self.clearContextMenu() customValues.stylesLocked = true end self.createButton({ click_function = "none", function_owner = self, label = self.getQuantity(), position = {customValues.labelPositionX, customValues.labelPositionY, customValues.labelPositionZ}, rotation = {0, 0, 0}, font_size = 1000, color = {1, 1, 1, 1}, font_color = allTextColors[customValues.labelFontColor], interactable = false, width = 0, height = 0, scale = {customValues.labelScale, customValues.labelScale, customValues.labelScale} }) end function onObjectEnterContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function onObjectLeaveContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function createContextMenuItems() self.addContextMenuItem("Move Label Up", function() customValues.labelPositionY = customValues.labelPositionY + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Down", function() customValues.labelPositionY = customValues.labelPositionY - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Left", function() customValues.labelPositionX = customValues.labelPositionX - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Right", function() customValues.labelPositionX = customValues.labelPositionX + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Forward", function() customValues.labelPositionZ = customValues.labelPositionZ + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Lbl Backwards", function() customValues.labelPositionZ = customValues.labelPositionZ - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Up", function() customValues.labelScale = customValues.labelScale + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Down", function() customValues.labelScale = customValues.labelScale - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Next Color", function() if customValues.labelFontColor >= #allTextColors then customValues.labelFontColor = 1 else customValues.labelFontColor = customValues.labelFontColor + 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Previous Color", function() if customValues.labelFontColor == 0 then customValues.labelFontColor = #allTextColors else customValues.labelFontColor = customValues.labelFontColor - 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Reset Label", function() customValues = defaultCustomValues delayedRefreshLabel() end, true) self.addContextMenuItem("Soft Lock Styles", function() self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) customValues.stylesSoftLocked = true end, false) self.addContextMenuItem("Lock Styles", function() confirmValues() end, false) end function tryObjectEnter(object) if object.getQuantity() > 1 then return false else return true end end LuaScriptStatež{"labelFontColor":12,"labelPositionX":0,"labelPositionY":0.599999999999999,"labelPositionZ":-1,"labelScale":0.6,"stylesLocked":true,"stylesSoftLocked":false}XmlUIContainedObjectsw$0¢GUID4ee2baNameCardTransform‰posX€hŽ ÀposY rdö?posZc)A@rotX…ŒE?rotY`:€f@rotZ þ`¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameRubberDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDZSidewaysCardCustomDeck>66FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI1¢GUID8bef36NameCardTransform‰posXÀyŠ ÀposYÀfö?posZ€…¶@@rotXàX»j¿rotYu€f@rotZ€\¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameRubberDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDZSidewaysCardCustomDeck>66FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI2¢GUIDad9a42NameCardTransform‰posXÀoçÀposY`eö?posZ€ö?@rotXÀà-t?rotY †€f@rotZ`Ie¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameRubberDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDZSidewaysCardCustomDeck>66FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI3¢GUID41a4c6NameCardTransform‰posX`hÀposY@Oeö?posZþR@@rotX@Œb¿rotYà€f@rotZ`;êU¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameRubberDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDZSidewaysCardCustomDeck>66FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI4¢GUID2df0deNameCardTransform‰posX ™~ÀposYÀfö?posZ C}@@rotXÀQp¿rotYÀr€f@rotZ`ÓGI¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameRubberDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDZSidewaysCardCustomDeck>66FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI5¢GUID9f71ddNameCardTransform‰posXÀõ³ÀposY€£fö?posZ`ü5@@rotX ]œf¿rotY€Ùf@rotZ€»°X¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameRubberDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDZSidewaysCardCustomDeck>66FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI6¢GUID9c5249NameCardTransform‰posXÀÑ”ÀposYàÏeö?posZ@«I@@rotX@øØm¿rotY@ïf@rotZ”oX¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameRubberDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDZSidewaysCardCustomDeck>66FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI7¢GUIDec6378NameCardTransform‰posX@ãÀposY ]fö?posZ @s@@rotXàCDC¿rotY`<€f@rotZÀ35S?scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameRubberDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDZSidewaysCardCustomDeck>66FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI8¢GUIDbff754NameCardTransform‰posXÀ”ÀposYàxeö?posZ@ s@@rotX FÍh¿rotYà"€f@rotZÒ§=¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameRubberDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDZSidewaysCardCustomDeck>66FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI9¢GUIDabdb9dNameCardTransform‰posX`°fÀposY@Ëeö?posZÀ•¯@@rotX€F@\¿rotY €f@rotZþ5¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameRubberDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardIDZSidewaysCardCustomDeck>66FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUIChildObjectsU0MGUIDececb5Name Custom_TileTransform‰posXÀ<>“¾posY@ùÿß¿posZàÏìz¾rotX@N†•½rotY@ÿe²¾rotZÀ¹¥ë;scaleX ħÔ?scaleY€¼: @scaleZàÿÿß?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀ¹¹é?gÀZá?b@œœÌ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167172302354/620748A0E36A8F7C8D070D019E69C32D8A4FF0DA/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThickness`…Ó?StackableStretchLuaScriptLuaScriptStateXmlUI676LGUIDc5f517NameCustom_Model_BagTransform‰posX"ÀposY€; ó?posZàÿÿ:@rotX ¨·ë>rotY@¯€f@rotZ€·Òà¾scaleX´\@scaleY€¨Ú?scaleZà&@NicknameCoffee SharesDescriptionGMNotesAltLookAngle&xyzColorDiffuse1rð?gð?bð?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsMaterialIndexÿÿÿÿMeshIndexÿÿÿÿCustomMeshèMeshURLjhttps://steamusercontent-a.akamaihd.net/ugc/1666858152071990826/9AD455F2CBAEC01B2CBCDDB8B6DC4CE48D14B545/DiffuseURLNormalURLColliderURLConvexMaterialIndexTypeIndexCastShadowsBagOrderLuaScript) local allTextColors = { {1, 1, 1}, -- White {0, 0, 0, 1}, -- Black {0.5, 0.5, 0.5}, -- Grey {0.856, 0.1, 0.094}, -- Red {0.956, 0.392, 0.113}, -- Orange {0.905, 0.898, 0.172}, -- Yellow {0.192, 0.701, 0.168}, -- Green {0.129, 0.694, 0.607}, -- Teal {0.118, 0.53, 1}, -- Blue {0.627, 0.125, 0.941}, -- Purple {0.96, 0.439, 0.807}, -- Pink {0.443, 0.231, 0.09}, -- Brown } local defaultCustomValues = { labelPositionX = 0, labelPositionY = 4, labelPositionZ = 0, labelFontColor = 1, labelScale = 1, stylesLocked = false, stylesSoftLocked = false } local customValues = defaultCustomValues function none() end function onLoad(savedValues) if savedValues == nil or savedValues == "" then customValues = defaultCustomValues else customValues = JSON.decode(savedValues) end delayedRefreshLabel() if customValues.stylesSoftLocked == true then self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) elseif not customValues.stylesLocked then createContextMenuItems() end end function onSave() savedValues = JSON.encode(customValues) return savedValues end function delayedRefreshLabel() Wait.frames(refreshLabel, 1) end function refreshLabel() local buttons = self.getButtons() if buttons and #buttons > 0 then self.removeButton(0) end function removeContextMenuItemByLabel(labelName) local contextMenu = getContextMenu() for i, item in ipairs(contextMenu) do if item.label == labelName then removeContextMenuItem(i) break end end end function confirmValues() self.clearContextMenu() customValues.stylesLocked = true end self.createButton({ click_function = "none", function_owner = self, label = self.getQuantity(), position = {customValues.labelPositionX, customValues.labelPositionY, customValues.labelPositionZ}, rotation = {0, 0, 0}, font_size = 1000, color = {1, 1, 1, 1}, font_color = allTextColors[customValues.labelFontColor], interactable = false, width = 0, height = 0, scale = {customValues.labelScale, customValues.labelScale, customValues.labelScale} }) end function onObjectEnterContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function onObjectLeaveContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function createContextMenuItems() self.addContextMenuItem("Move Label Up", function() customValues.labelPositionY = customValues.labelPositionY + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Down", function() customValues.labelPositionY = customValues.labelPositionY - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Left", function() customValues.labelPositionX = customValues.labelPositionX - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Right", function() customValues.labelPositionX = customValues.labelPositionX + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Forward", function() customValues.labelPositionZ = customValues.labelPositionZ + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Lbl Backwards", function() customValues.labelPositionZ = customValues.labelPositionZ - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Up", function() customValues.labelScale = customValues.labelScale + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Down", function() customValues.labelScale = customValues.labelScale - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Next Color", function() if customValues.labelFontColor >= #allTextColors then customValues.labelFontColor = 1 else customValues.labelFontColor = customValues.labelFontColor + 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Previous Color", function() if customValues.labelFontColor == 0 then customValues.labelFontColor = #allTextColors else customValues.labelFontColor = customValues.labelFontColor - 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Reset Label", function() customValues = defaultCustomValues delayedRefreshLabel() end, true) self.addContextMenuItem("Soft Lock Styles", function() self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) customValues.stylesSoftLocked = true end, false) self.addContextMenuItem("Lock Styles", function() confirmValues() end, false) end function tryObjectEnter(object) if object.getQuantity() > 1 then return false else return true end end LuaScriptState�{"labelFontColor":4,"labelPositionX":0,"labelPositionY":0.599999999999999,"labelPositionZ":-1,"labelScale":0.6,"stylesLocked":true,"stylesSoftLocked":false}XmlUIContainedObjectsw$0¢GUIDcbc735NameCardTransform‰posX f-ÀposY@}Kö?posZ À1A@rotX€fw?rotY€,€f@rotZ€à60?scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoffeeDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‘SidewaysCardCustomDeck>46FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI1¢GUID48cf45NameCardTransform‰posXN.ÀposY`=Mö?posZ`ì}A@rotXàÆi¿rotY U€f@rotZÀªA¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoffeeDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‘SidewaysCardCustomDeck>46FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI2¢GUID2d25a8NameCardTransform‰posXÀ'Ï-ÀposYKö?posZy«@@rotX@çv@rotY·�f@rotZàóf¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoffeeDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‘SidewaysCardCustomDeck>46FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI3¢GUID2f5cdcNameCardTransform‰posXà±],ÀposYà¹Zö?posZÀ5Ç@@rotXÀT Q¿rotYÀ¨€f@rotZ <v@scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoffeeDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‘SidewaysCardCustomDeck>46FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI4¢GUIDf72354NameCardTransform‰posX@§³,ÀposY QZö?posZàmd@@rotX€™uW¿rotY à€f@rotZ€Bv@scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoffeeDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‘SidewaysCardCustomDeck>46FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI5¢GUID4673e6NameCardTransform‰posX@²Ö+ÀposY Yö?posZ@'ç@@rotX@}¶g¿rotY€J�f@rotZ@9v@scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoffeeDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‘SidewaysCardCustomDeck>46FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI6¢GUID610063NameCardTransform‰posX4Î,ÀposY`Zö?posZ»õ@@rotX€I‡[¿rotYà-�f@rotZ Cv@scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoffeeDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‘SidewaysCardCustomDeck>46FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI7¢GUID6cf0c3NameCardTransform‰posXà$1-ÀposYà›Mö?posZàÀA@rotX 8`c¿rotY7€f@rotZ@…ÙQ¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoffeeDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‘SidewaysCardCustomDeck>46FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI8¢GUID0ea360NameCardTransform‰posX Ú+ÀposY`G]ö?posZ <Õ@@rotX@ÀÐK¿rotY �f@rotZ€8v@scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoffeeDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‘SidewaysCardCustomDeck>46FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI9¢GUID6616bdNameCardTransform‰posX ÎY)ÀposYÀ\^ö?posZ;Ô@@rotX@ßMU¿rotY‚f@rotZ`ÿ~v@scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoffeeDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID‘SidewaysCardCustomDeck>46FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUIChildObjectsU0MGUID5f7477Name Custom_TileTransform‰posXàâ)c>posY`ùÿß¿posZ âÐr>rotXà´f ½rotYàž¼>rotZ@³¼scaleX@ŧÔ?scaleY ¢ª @scaleZ`à?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀ¹¹é?gÀZá?b@œœÌ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167172304544/B90DC45E07CFAEB9D026C54C06F994B50769C7CB/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThickness€43Ó?StackableStretchLuaScriptLuaScriptStateXmlUI68 LGUID61fdacNameCustom_Model_BagTransform‰posX1ÀposYLó?posZ;@rotXà„�í>rotYf@rotZ��ß¾scaleX Š[@scaleYà™Û?scaleZ@f@Nickname Coal SharesDescriptionGMNotesAltLookAngle&xyzColorDiffuse1rð?gð?bð?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsMaterialIndexÿÿÿÿMeshIndexÿÿÿÿCustomMeshèMeshURLjhttps://steamusercontent-a.akamaihd.net/ugc/1666858152071990826/9AD455F2CBAEC01B2CBCDDB8B6DC4CE48D14B545/DiffuseURLNormalURLColliderURLConvexMaterialIndexTypeIndexCastShadowsBagOrderLuaScript) local allTextColors = { {1, 1, 1}, -- White {0, 0, 0, 1}, -- Black {0.5, 0.5, 0.5}, -- Grey {0.856, 0.1, 0.094}, -- Red {0.956, 0.392, 0.113}, -- Orange {0.905, 0.898, 0.172}, -- Yellow {0.192, 0.701, 0.168}, -- Green {0.129, 0.694, 0.607}, -- Teal {0.118, 0.53, 1}, -- Blue {0.627, 0.125, 0.941}, -- Purple {0.96, 0.439, 0.807}, -- Pink {0.443, 0.231, 0.09}, -- Brown } local defaultCustomValues = { labelPositionX = 0, labelPositionY = 4, labelPositionZ = 0, labelFontColor = 1, labelScale = 1, stylesLocked = false, stylesSoftLocked = false } local customValues = defaultCustomValues function none() end function onLoad(savedValues) if savedValues == nil or savedValues == "" then customValues = defaultCustomValues else customValues = JSON.decode(savedValues) end delayedRefreshLabel() if customValues.stylesSoftLocked == true then self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) elseif not customValues.stylesLocked then createContextMenuItems() end end function onSave() savedValues = JSON.encode(customValues) return savedValues end function delayedRefreshLabel() Wait.frames(refreshLabel, 1) end function refreshLabel() local buttons = self.getButtons() if buttons and #buttons > 0 then self.removeButton(0) end function removeContextMenuItemByLabel(labelName) local contextMenu = getContextMenu() for i, item in ipairs(contextMenu) do if item.label == labelName then removeContextMenuItem(i) break end end end function confirmValues() self.clearContextMenu() customValues.stylesLocked = true end self.createButton({ click_function = "none", function_owner = self, label = self.getQuantity(), position = {customValues.labelPositionX, customValues.labelPositionY, customValues.labelPositionZ}, rotation = {0, 0, 0}, font_size = 1000, color = {1, 1, 1, 1}, font_color = allTextColors[customValues.labelFontColor], interactable = false, width = 0, height = 0, scale = {customValues.labelScale, customValues.labelScale, customValues.labelScale} }) end function onObjectEnterContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function onObjectLeaveContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function createContextMenuItems() self.addContextMenuItem("Move Label Up", function() customValues.labelPositionY = customValues.labelPositionY + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Down", function() customValues.labelPositionY = customValues.labelPositionY - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Left", function() customValues.labelPositionX = customValues.labelPositionX - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Right", function() customValues.labelPositionX = customValues.labelPositionX + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Forward", function() customValues.labelPositionZ = customValues.labelPositionZ + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Lbl Backwards", function() customValues.labelPositionZ = customValues.labelPositionZ - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Up", function() customValues.labelScale = customValues.labelScale + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Down", function() customValues.labelScale = customValues.labelScale - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Next Color", function() if customValues.labelFontColor >= #allTextColors then customValues.labelFontColor = 1 else customValues.labelFontColor = customValues.labelFontColor + 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Previous Color", function() if customValues.labelFontColor == 0 then customValues.labelFontColor = #allTextColors else customValues.labelFontColor = customValues.labelFontColor - 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Reset Label", function() customValues = defaultCustomValues delayedRefreshLabel() end, true) self.addContextMenuItem("Soft Lock Styles", function() self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) customValues.stylesSoftLocked = true end, false) self.addContextMenuItem("Lock Styles", function() confirmValues() end, false) end function tryObjectEnter(object) if object.getQuantity() > 1 then return false else return true end end LuaScriptState�{"labelFontColor":3,"labelPositionX":0,"labelPositionY":0.599999999999999,"labelPositionZ":-1,"labelScale":0.6,"stylesLocked":true,"stylesSoftLocked":false}XmlUIContainedObjectsc$0 GUID86efc6NameCardTransform‰posX€¶¸4ÀposY@Ùeö?posZ ¾A@rotX`^\¿rotY €f@rotZ`]Q¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoalDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼SidewaysCardCustomDeck>76FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI1 GUID75c33eNameCardTransform‰posXàv¾4ÀposY`Ódö?posZàwr@@rotX€åv@rotY`¾f@rotZÀ· ^¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoalDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼SidewaysCardCustomDeck>76FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI2 GUID997badNameCardTransform‰posX`z¦4ÀposY ·dö?posZ „�@@rotX âv@rotY<f@rotZ€ÊBb¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoalDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼SidewaysCardCustomDeck>76FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI3 GUID18e6a3NameCardTransform‰posXÀôå4ÀposY ³dö?posZàÐŒ@@rotX áv@rotYÀŒf@rotZ T3a¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoalDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼SidewaysCardCustomDeck>76FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI4 GUIDf91d4eNameCardTransform‰posX ¹Ù4ÀposY“bö?posZ ’µ@@rotX€Úv@rotYàf@rotZ ˆžn¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoalDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼SidewaysCardCustomDeck>76FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI5 GUIDf48432NameCardTransform‰posXõî5ÀposY`âaö?posZ` "A@rotX Þv@rotY€ €f@rotZ`Ú&c¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoalDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼SidewaysCardCustomDeck>76FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI6 GUIDebace8NameCardTransform‰posX¯ó4ÀposY`hdö?posZ EÙ@@rotX@Þv@rotYàí~f@rotZÀÝ^¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoalDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼SidewaysCardCustomDeck>76FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI7 GUIDc16eb6NameCardTransform‰posXàOò4ÀposY€Ýdö?posZ ­5@@rotX€èv@rotY ³f@rotZ@'âF¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoalDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼SidewaysCardCustomDeck>76FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI8 GUID9278cdNameCardTransform‰posX 5ÀposY´dö?posZ­‘@@rotXàâv@rotYáf@rotZÀc¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoalDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼SidewaysCardCustomDeck>76FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI9 GUIDc81f98NameCardTransform‰posXÀ0ù2ÀposY?fö?posZàä@@rotX ž5w¿rotY uf@rotZ€ç6S¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameCoalDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID¼SidewaysCardCustomDeck>76FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUIChildObjectsU0MGUID20a02cName Custom_TileTransform‰posX ¢5�¾posYà÷ÿß¿posZ (¼�¾rotX "r½rotY sf’¾rotZ K§;scaleX@ŧÔ?scaleY¾: @scaleZ`à?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀ¹¹é?gÀZá?b@œœÌ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167172306116/58C3FE2023D372D27516C4C95D6F05C9CA393FBE/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThickness …Ó?StackableStretchLuaScriptLuaScriptStateXmlUI69LGUID246826NameCustom_Model_BagTransform‰posX @posY€: ó?posZ ;@rotX üו¾rotY€Šf@rotZ ÿðá¾scaleX´\@scaleY€¨Ú?scaleZ '@Nickname Tea SharesDescriptionGMNotesAltLookAngle&xyzColorDiffuse1rð?gð?bð?aLayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsMaterialIndexÿÿÿÿMeshIndexÿÿÿÿCustomMeshèMeshURLjhttps://steamusercontent-a.akamaihd.net/ugc/1666858152071990826/9AD455F2CBAEC01B2CBCDDB8B6DC4CE48D14B545/DiffuseURLNormalURLColliderURLConvexMaterialIndexTypeIndexCastShadowsBagOrderLuaScript) local allTextColors = { {1, 1, 1}, -- White {0, 0, 0, 1}, -- Black {0.5, 0.5, 0.5}, -- Grey {0.856, 0.1, 0.094}, -- Red {0.956, 0.392, 0.113}, -- Orange {0.905, 0.898, 0.172}, -- Yellow {0.192, 0.701, 0.168}, -- Green {0.129, 0.694, 0.607}, -- Teal {0.118, 0.53, 1}, -- Blue {0.627, 0.125, 0.941}, -- Purple {0.96, 0.439, 0.807}, -- Pink {0.443, 0.231, 0.09}, -- Brown } local defaultCustomValues = { labelPositionX = 0, labelPositionY = 4, labelPositionZ = 0, labelFontColor = 1, labelScale = 1, stylesLocked = false, stylesSoftLocked = false } local customValues = defaultCustomValues function none() end function onLoad(savedValues) if savedValues == nil or savedValues == "" then customValues = defaultCustomValues else customValues = JSON.decode(savedValues) end delayedRefreshLabel() if customValues.stylesSoftLocked == true then self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) elseif not customValues.stylesLocked then createContextMenuItems() end end function onSave() savedValues = JSON.encode(customValues) return savedValues end function delayedRefreshLabel() Wait.frames(refreshLabel, 1) end function refreshLabel() local buttons = self.getButtons() if buttons and #buttons > 0 then self.removeButton(0) end function removeContextMenuItemByLabel(labelName) local contextMenu = getContextMenu() for i, item in ipairs(contextMenu) do if item.label == labelName then removeContextMenuItem(i) break end end end function confirmValues() self.clearContextMenu() customValues.stylesLocked = true end self.createButton({ click_function = "none", function_owner = self, label = self.getQuantity(), position = {customValues.labelPositionX, customValues.labelPositionY, customValues.labelPositionZ}, rotation = {0, 0, 0}, font_size = 1000, color = {1, 1, 1, 1}, font_color = allTextColors[customValues.labelFontColor], interactable = false, width = 0, height = 0, scale = {customValues.labelScale, customValues.labelScale, customValues.labelScale} }) end function onObjectEnterContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function onObjectLeaveContainer(container, enter_object) self.editButton({index = 0, label = self.getQuantity()}) end function createContextMenuItems() self.addContextMenuItem("Move Label Up", function() customValues.labelPositionY = customValues.labelPositionY + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Down", function() customValues.labelPositionY = customValues.labelPositionY - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Left", function() customValues.labelPositionX = customValues.labelPositionX - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Right", function() customValues.labelPositionX = customValues.labelPositionX + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Label Forward", function() customValues.labelPositionZ = customValues.labelPositionZ + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Move Lbl Backwards", function() customValues.labelPositionZ = customValues.labelPositionZ - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Up", function() customValues.labelScale = customValues.labelScale + 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Scale Text Down", function() customValues.labelScale = customValues.labelScale - 0.2 delayedRefreshLabel() end, true) self.addContextMenuItem("Next Color", function() if customValues.labelFontColor >= #allTextColors then customValues.labelFontColor = 1 else customValues.labelFontColor = customValues.labelFontColor + 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Previous Color", function() if customValues.labelFontColor == 0 then customValues.labelFontColor = #allTextColors else customValues.labelFontColor = customValues.labelFontColor - 1 end delayedRefreshLabel() end, true) self.addContextMenuItem("Reset Label", function() customValues = defaultCustomValues delayedRefreshLabel() end, true) self.addContextMenuItem("Soft Lock Styles", function() self.clearContextMenu() self.addContextMenuItem("Unlock Styles", function() self.clearContextMenu() createContextMenuItems() customValues.stylesSoftLocked = false end, false) customValues.stylesSoftLocked = true end, false) self.addContextMenuItem("Lock Styles", function() confirmValues() end, false) end function tryObjectEnter(object) if object.getQuantity() > 1 then return false else return true end end LuaScriptStatež{"labelFontColor":7,"labelPositionX":0,"labelPositionY":-0.200000000000001,"labelPositionZ":-1,"labelScale":0.6,"stylesLocked":true,"stylesSoftLocked":false}XmlUIContainedObjectsY$0ŸGUIDb2cff0NameCardTransform‰posXÀ‚ ×?posYàáJö?posZ €PA@rotXÀ@z9?rotYà€f@rotZ€+&??scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameTeaDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID$SidewaysCardCustomDeck>86FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI1ŸGUID9f8853NameCardTransform‰posX ¯§?posYàDLö?posZàF½@@rotX åv@rotY7f@rotZ UF¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameTeaDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID$SidewaysCardCustomDeck>86FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI2ŸGUID7e2f1bNameCardTransform‰posXàuvÖ?posYÀìKö?posZ µ“@@rotX æés¿rotY Œf@rotZ€æ@N¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameTeaDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID$SidewaysCardCustomDeck>86FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI3ŸGUIDeaed45NameCardTransform‰posX€ô­þ?posYpKö?posZ@§TA@rotXÀœ?rotY`Þf@rotZ Øq86FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI4ŸGUID55a5e1NameCardTransform‰posX ýèï¿posY€MKö?posZ WEA@rotX ÚÃj¿rotY@(€f@rotZ`)½0¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameTeaDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID$SidewaysCardCustomDeck>86FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI5ŸGUIDcd23ecNameCardTransform‰posX ²æ?posYÉLö?posZÀ�@@rotXï0f¿rotY ±f@rotZ IµB¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameTeaDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID$SidewaysCardCustomDeck>86FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI6ŸGUID236fd5NameCardTransform‰posX ƒ(è¿posY ÐLö?posZæA@rotX€´f¿rotYàüf@rotZÀze¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameTeaDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID$SidewaysCardCustomDeck>86FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI7ŸGUIDafdab1NameCardTransform‰posX@À‡è?posY–Kö?posZÀÎ@@rotX€!T¿rotYà›f@rotZ€&Öc¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameTeaDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID$SidewaysCardCustomDeck>86FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI8ŸGUIDc6e500NameCardTransform‰posX °4à¿posYÀ®Kö?posZ€ A@rotX@IÛ7¿rotY`ÿf@rotZ@ZOB¿scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameTeaDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID$SidewaysCardCustomDeck>86FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUI9ŸGUIDd223e5NameCardTransform‰posX€ß—é?posY RKö?posZà…˜@@rotXÀŒq\?rotY ôf@rotZà°Ê??scaleXÀ’ºö?scaleYð?scaleZÀ’ºö?NicknameTeaDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀÒÒæ?gÀÒÒæ?bÀÒÒæ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCardID$SidewaysCardCustomDeck>86FaceURLjhttps://steamusercontent-a.akamaihd.net/ugc/2448340905022199896/D79BF0E4B4443EA8CAB87CDB22324D559812B8CE/BackURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167156059056/F40416A4022AB00FDD2F2DAE711E0196A9A01261/NumWidthNumHeightBackIsHiddenUniqueBackTypeLuaScriptLuaScriptStateXmlUIChildObjectsU0MGUIDcbf80dName Custom_TileTransform‰posX �޾posY€÷ÿß¿posZ Á �¾rotXÀü8”½rotYà‰¿µ¾rotZ@F´î;scaleX@ŧÔ?scaleY࣪ @scaleZàÿÿß?NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse&rÀ¹¹é?gÀZá?b@œœÌ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsCustomImageImageURLjhttps://steamusercontent-a.akamaihd.net/ugc/2479873167172305256/73ED19CDA28C9A930B7F8EE63DA684D4088AC58A/ImageSecondaryURLImageScalarð?WidthScaleCustomTile8TypeThickness@33Ó?StackableStretchLuaScriptLuaScriptStateXmlUI70ZGUID3ee5c2NameFogOfWarTriggerTransform‰posXàÚ»(@posY p= @posZ€®1ÀrotX€rotYrotZscaleX€ëÑ%@scaleY`ff@scaleZ`f&6@NicknameDescriptionClubs Team ZoneGMNotesAltLookAngle&xyzColorDiffuse1rÀÿÿÏ?gÀÿÿÏ?bÀÿÿÏ?aÐ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorBlackFogHidePointersFogReverseHidingFogSeethroughLuaScript¶function updateVisibility() local hide = {} local team_name = 'Clubs' for _, player in ipairs(Player.getPlayers()) do if player.team ~= team_name then table.insert(hide, player.color) end end for _, occupyingObject in ipairs(self.getObjects()) do occupyingObject.setInvisibleTo(hide) end end function onLoad() updateVisibility() end -- Called when a player joins the table function onPlayerConnect(player) updateVisibility() end -- Called when a player changes their color function onPlayerChangeColor(player, previousColor) updateVisibility() end -- If you have an event for team changes, use it; otherwise you might handle team changes via a custom function function onPlayerChangeTeam(player, previousTeam) updateVisibility() end function onObjectLeaveZone(zone, object) updateVisibility() object.setInvisibleTo({}) end function onObjectEnterZone(zone, object) updateVisibility() end LuaScriptStateXmlUI71\GUID6612e7NameFogOfWarTriggerTransform‰posX T9$ÀposY p= @posZ€®1ÀrotX€rotYrotZscaleX€ëÑ%@scaleY`ff@scaleZ`f&6@NicknameDescriptionHearts Team ZoneGMNotesAltLookAngle&xyzColorDiffuse1rÀÿÿÏ?gÀÿÿÏ?bÀÿÿÏ?aÐ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorBlackFogHidePointersFogReverseHidingFogSeethroughLuaScript·function updateVisibility() local hide = {} local team_name = 'Hearts' for _, player in ipairs(Player.getPlayers()) do if player.team ~= team_name then table.insert(hide, player.color) end end for _, occupyingObject in ipairs(self.getObjects()) do occupyingObject.setInvisibleTo(hide) end end function onLoad() updateVisibility() end -- Called when a player joins the table function onPlayerConnect(player) updateVisibility() end -- Called when a player changes their color function onPlayerChangeColor(player, previousColor) updateVisibility() end -- If you have an event for team changes, use it; otherwise you might handle team changes via a custom function function onPlayerChangeTeam(player, previousTeam) updateVisibility() end function onObjectLeaveZone(zone, object) updateVisibility() object.setInvisibleTo({}) end function onObjectEnterZone(zone, object) updateVisibility() end LuaScriptStateXmlUI72\GUID3b90d6NameFogOfWarTriggerTransform‰posX eÜ@@posY p= @posZ€®1ÀrotX€rotYrotZscaleX€ëÑ%@scaleY`ff@scaleZ`f&6@NicknameDescriptionSpades Team ZoneGMNotesAltLookAngle&xyzColorDiffuse1rÀÿÿÏ?gÀÿÿÏ?bÀÿÿÏ?aÐ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorBlackFogHidePointersFogReverseHidingFogSeethroughLuaScript·function updateVisibility() local hide = {} local team_name = 'Spades' for _, player in ipairs(Player.getPlayers()) do if player.team ~= team_name then table.insert(hide, player.color) end end for _, occupyingObject in ipairs(self.getObjects()) do occupyingObject.setInvisibleTo(hide) end end function onLoad() updateVisibility() end -- Called when a player joins the table function onPlayerConnect(player) updateVisibility() end -- Called when a player changes their color function onPlayerChangeColor(player, previousColor) updateVisibility() end -- If you have an event for team changes, use it; otherwise you might handle team changes via a custom function function onPlayerChangeTeam(player, previousTeam) updateVisibility() end function onObjectLeaveZone(zone, object) updateVisibility() object.setInvisibleTo({}) end function onObjectEnterZone(zone, object) updateVisibility() end LuaScriptStateXmlUI73`GUIDa05458NameFogOfWarTriggerTransform‰posX`.@ÀposY p= @posZ€®1ÀrotX€rotYrotZscaleX€ëÑ%@scaleY`ff@scaleZ`f&6@NicknameDescriptionDiamonds Team ZoneGMNotesAltLookAngle&xyzColorDiffuse1rÀÿÿÏ?gÀÿÿÏ?bÀÿÿÏ?aÐ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorBlackFogHidePointersFogReverseHidingFogSeethroughLuaScript¹function updateVisibility() local hide = {} local team_name = 'Diamonds' for _, player in ipairs(Player.getPlayers()) do if player.team ~= team_name then table.insert(hide, player.color) end end for _, occupyingObject in ipairs(self.getObjects()) do occupyingObject.setInvisibleTo(hide) end end function onLoad() updateVisibility() end -- Called when a player joins the table function onPlayerConnect(player) updateVisibility() end -- Called when a player changes their color function onPlayerChangeColor(player, previousColor) updateVisibility() end -- If you have an event for team changes, use it; otherwise you might handle team changes via a custom function function onPlayerChangeTeam(player, previousTeam) updateVisibility() end function onObjectLeaveZone(zone, object) updateVisibility() object.setInvisibleTo({}) end function onObjectEnterZone(zone, object) updateVisibility() end LuaScriptStateXmlUI74¢GUIDd50dc5Name BlockSquareTransform‰posXàzôJÀposYÀÊöð?posZ ÿ¢1ÀrotX@ Õ˾rotYÔUø¾rotZ`ò£Ú¾scaleX Ga$@scaleY ™™¹?scaleZÀ#è8@NicknameDescriptionGMNotesAltLookAngle&xyzColorDiffuse1r€ßßß?g€ßßß?b€ßßß?a`7™Ë?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsLuaScriptLuaScriptStateXmlUIAttachedSnapPointsE0ePosition&x áVÊ¿y à?zÀÚW×?Rotation&x@Zxv@y Û€f@z€ksf@1ePosition&x9éÇ?yàÿÿß?z ¨W×?Rotation&x€@|v@yÀ €f@z¸~f@2ePosition&x WÊ¿y`à?z@­³¿?Rotation&x€Û{v@y` €f@z@àrf@3ePosition&x féÇ?y@à?z€Z³¿?Rotation&x€1|v@yÖ€f@z@çf@4ePosition&x jVÊ¿y à?z Þ÷½¿Rotation&xžv@y@¾€f@zàprf@5ePosition&xà¸éÇ?yÿÿß?zÀYø½¿Rotation&x€‡�P?yÀÖ€f@z 8€f@6ePosition&xÀöVÊ¿y€à?z ÔèÖ¿Rotation&xàÒl1?y€óf@z`­sf@7ePosition&x€vêÇ?yÀà?z çèÖ¿Rotation&xÀùWÐ?y Ý€f@z £™f@75\GUIDdf37ddNameFogOfWarTriggerTransform‰posXÀÜPKÀposY 2H @posZÀP²1ÀrotX€rotYrotZscaleX€ëÑ%@scaleY`ff@scaleZ`f&6@NicknameDescriptionJokers Team ZoneGMNotesAltLookAngle&xyzColorDiffuse1rÀÿÿÏ?gÀÿÿÏ?bÀÿÿÏ?aÐ?LayoutGroupSortIndexValueLockedGridSnapIgnoreFoWMeasureMovementDragSelectableAutoraiseStickyTooltipGridProjectionHideWhenFaceDownHandsFogColorBlackFogHidePointersFogReverseHidingFogSeethroughLuaScript·function updateVisibility() local hide = {} local team_name = 'Jokers' for _, player in ipairs(Player.getPlayers()) do if player.team ~= team_name then table.insert(hide, player.color) end end for _, occupyingObject in ipairs(self.getObjects()) do occupyingObject.setInvisibleTo(hide) end end function onLoad() updateVisibility() end -- Called when a player joins the table function onPlayerConnect(player) updateVisibility() end -- Called when a player changes their color function onPlayerChangeColor(player, previousColor) updateVisibility() end -- If you have an event for team changes, use it; otherwise you might handle team changes via a custom function function onPlayerChangeTeam(player, previousTeam) updateVisibility() end function onObjectLeaveZone(zone, object) updateVisibility() object.setInvisibleTo({}) end function onObjectEnterZone(zone, object) updateVisibility() end LuaScriptStateXmlUI