{"id":155,"date":"2026-04-24T12:18:16","date_gmt":"2026-04-24T10:18:16","guid":{"rendered":"https:\/\/luci.postcatz.com\/?page_id=155"},"modified":"2026-05-02T22:17:20","modified_gmt":"2026-05-02T20:17:20","slug":"settings","status":"publish","type":"page","link":"https:\/\/luci.postcatz.com\/index.php\/settings\/","title":{"rendered":"Settings"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This is for Settings and Config Stuff. Still <strong>Work in Progress. <\/strong><\/p>\n\n\n<ul class=\"wp-block-latest-posts__list wp-block-latest-posts\"><li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/luci.postcatz.com\/index.php\/2026\/05\/02\/spawn-config\/\">Spawn Config<\/a><\/li>\n<\/ul>\n\n<div data-post-id=\"221\" class=\"insert-page insert-page-221 \"><h1 class=\"insert-page-title\">Spawn Config<\/h1>\n<p class=\"wp-block-paragraph\">You can find my configuration File on <a href=\"https:\/\/github.com\/luciwien\/Code\/blob\/56225c92e50b24d8c0c5b4b61a769895d0484506\/CS\/Config\/cfg\/spawns.cfg\" data-type=\"link\" data-id=\"https:\/\/github.com\/luciwien\/Code\/blob\/56225c92e50b24d8c0c5b4b61a769895d0484506\/CS\/Config\/cfg\/spawns.cfg\">Github <\/a>or below. You have to Copy that file into your CS2 Install Folder under cfg:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8230; SteamLibrary\\steamapps\\common\\Counter-Strike Global Offensive\\game\\csgo\\cfg<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Game you have to open the console and execute the Spawn File like so &#8220;exec spawns.cfg&#8221;. Afterwards you can load the respective spawns with &#8220;mirage.t&#8221; or &#8220;mirage.ct&#8221;<\/p>\n\n\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-1&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-1-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-1\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">spawns.cfg<\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-1\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-1-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<pre class=\"wp-block-code\"><code>\/\/ how to use it \n\/\/ put it in your CSGO Folder at\n\/\/ B:\\SteamLibrary\\steamapps\\common\\Counter-Strike Global Offensive\\game\\csgo\\cfg\n\/\/ you probably have it installed at \n\/\/ C:\\Program Files (x86)\\Steam\\steamapps\\common\\Counter-Strike Global Offensive\\game\\csgo\\cfg\n\necho [I]  &gt; &gt; &gt; &gt; = = = Loaded all Spawns = = = &lt; &lt; &lt; &lt;\necho [I]  &gt; ancient.ct   || ancient.t \necho [I]  &gt; anubis.ct    || anubis.t \necho [I]  &gt; mirage.ct    || mirage.t \necho [I]  &gt; dust.ct      || dust.t \necho [I]  &gt; vertigo.ct   || vertigo.t \necho [I]  &gt; train.ct     || train.t \necho [I]  &gt; overpass.ct  || overpass.t \necho [I]  &gt; nuke.ct      || nuke.t \necho [I]  &gt; inferno.ct   || inferno.t \necho [I]  &gt;  \necho [I]  &gt; &gt; &gt; &gt; &gt; Keybindings\necho [I]  &gt; Load Spawns in Console with Commands above\necho [I]  &gt; &gt; N -&gt; Teleports you to the current Spawn\necho [I]  &gt; &gt; M -&gt; Sets the next spawn you to the next Spawn\nbind N\nbind M\necho [I]  &gt; Reset Bindings\necho [I]  &gt; &gt; to bind the Keys back to the old ones use the commands above\necho [I]  &gt; &gt; [Console] bind [player 0]: \"n\" = &gt;&gt; THIS IS THE COMMAND \"+radialradio\" \necho [I]  &gt; &gt; for example bind n \"+radialradio\"\necho [I]  &gt;  \n\n\nbind n thisPos;\nbind m nextPos; \n\nalias mirage.ct \"alias thisPos mirage.ct1.pos;alias nextPos mirage.ct2\"\nalias mirage.ct1 \"alias thisPos \"mirage.ct1.pos\";alias nextPos mirage.ct2;say mirage ct spawn 1 of 6\"\nalias mirage.ct2 \"alias thisPos \"mirage.ct2.pos\";alias nextPos mirage.ct3;say mirage ct spawn 2 of 6\"\nalias mirage.ct3 \"alias thisPos \"mirage.ct3.pos\";alias nextPos mirage.ct4;say mirage ct spawn 3 of 6\"\nalias mirage.ct4 \"alias thisPos \"mirage.ct4.pos\";alias nextPos mirage.ct5;say mirage ct spawn 4 of 6\"\nalias mirage.ct5 \"alias thisPos \"mirage.ct5.pos\";alias nextPos mirage.ct6;say mirage ct spawn 5 of 6\"\nalias mirage.ct6 \"alias thisPos \"mirage.ct6.pos\";alias nextPos mirage.ct1;say mirage ct spawn 6 of 6\"\n\nalias mirage.ct1.pos \"setpos -1720 -1896 -204.26\"\nalias mirage.ct2.pos \"setpos -1655 -1976 -204.06\"\nalias mirage.ct3.pos \"setpos -1776 -1800 -202.93\"\nalias mirage.ct4.pos \"setpos -1656 -1800 -204.06\"\nalias mirage.ct5.pos \"setpos -1655 -1976 -204.06\"\nalias mirage.ct6.pos \"setpos -1776 -1976 -202.78\"\n\nbind n thisPos;\nbind m nextPos; \nalias mirage.t \"alias thisPos mirage.t1.pos;alias nextPos mirage.t2\"\nalias mirage.t1 \"alias thisPos \"mirage.t1.pos\";alias nextPos mirage.t2;say mirage t spawn 1 of 10\"\nalias mirage.t2 \"alias thisPos \"mirage.t2.pos\";alias nextPos mirage.t3;say mirage t spawn 2 of 10\"\nalias mirage.t3 \"alias thisPos \"mirage.t3.pos\";alias nextPos mirage.t4;say mirage t spawn 3 of 10\"\nalias mirage.t4 \"alias thisPos \"mirage.t4.pos\";alias nextPos mirage.t5;say mirage t spawn 4 of 10\"\nalias mirage.t5 \"alias thisPos \"mirage.t5.pos\";alias nextPos mirage.t6;say mirage t spawn 5 of 10\"\nalias mirage.t6 \"alias thisPos \"mirage.t6.pos\";alias nextPos mirage.t7;say mirage t spawn 6 of 10\"\nalias mirage.t7 \"alias thisPos \"mirage.t7.pos\";alias nextPos mirage.t8;say mirage t spawn 7 of 10\"\nalias mirage.t8 \"alias thisPos \"mirage.t8.pos\";alias nextPos mirage.t9;say mirage t spawn 8 of 10\"\nalias mirage.t9 \"alias thisPos \"mirage.t9.pos\";alias nextPos mirage.t10;say mirage t spawn 9 of 10\"\nalias mirage.t10 \"alias thisPos \"mirage.t10.pos\";alias nextPos mirage.t1;say mirage t spawn 9 of 10\"\n\nalias mirage.t1.pos \"setpos 1136 -160 -100.83\"\nalias mirage.t2.pos \"setpos 1136 -256 -101\"\nalias mirage.t3.pos \"setpos 1136 -64.06 -100.93\"\nalias mirage.t4.pos \"setpos 1136.06 31.94 -100.97\"\nalias mirage.t5.pos \"setpos 1296 -352 -104.13\"\nalias mirage.t6.pos \"setpos 1296.04 32.05 -104.13\"\nalias mirage.t7.pos \"setpos 1216.06 -16.06 -101.94\"\nalias mirage.t8.pos \"setpos 1216 -307 -100.98\"\nalias mirage.t9.pos \"setpos 1216 -115 -101.94\"\nalias mirage.t10.pos \"setpos 1216.000000 -211.000000 -100.840805\"\n\nalias vertigo.ct \"alias thisPos vertigo.ct1.pos;alias nextPos vertigo.ct2\"\nalias vertigo.ct1 \"alias thisPos \"vertigo.ct1.pos\";alias nextPos vertigo.ct2;say vertigo ct spawn 1 of 5\"\nalias vertigo.ct2 \"alias thisPos \"vertigo.ct2.pos\";alias nextPos vertigo.ct3;say vertigo ct spawn 2 of 5\"\nalias vertigo.ct3 \"alias thisPos \"vertigo.ct3.pos\";alias nextPos vertigo.ct4;say vertigo ct spawn 3 of 5\"\nalias vertigo.ct4 \"alias thisPos \"vertigo.ct4.pos\";alias nextPos vertigo.ct5;say vertigo ct spawn 4 of 5\"\nalias vertigo.ct5 \"alias thisPos \"vertigo.ct5.pos\";alias nextPos vertigo.ct1;say vertigo ct spawn 5 of 5\"\nalias vertigo.ct1.pos \"setpos -1044.03 924.31 11839.87\"\nalias vertigo.ct2.pos \"setpos -1189.34 862.17 11839.87\"\nalias vertigo.ct3.pos \"setpos -929.63 918.64 11839.87\"\nalias vertigo.ct4.pos \"setpos -860.14 940.28 11839.87\"\nalias vertigo.ct5.pos \"setpos -1126.58 925.89 11839.87\"\n\nalias vertigo.t \"alias thisPos vertigo.t1.pos;alias nextPos vertigo.t2\"\nalias vertigo.t1 \"alias thisPos \"vertigo.t1.pos\";alias nextPos vertigo.t2;say vertigo t spawn 1 of 5\"\nalias vertigo.t2 \"alias thisPos \"vertigo.t2.pos\";alias nextPos vertigo.t3;say vertigo t spawn 2 of 5\"\nalias vertigo.t3 \"alias thisPos \"vertigo.t3.pos\";alias nextPos vertigo.t4;say vertigo t spawn 3 of 5\"\nalias vertigo.t4 \"alias thisPos \"vertigo.t4.pos\";alias nextPos vertigo.t5;say vertigo t spawn 4 of 5\"\nalias vertigo.t5 \"alias thisPos \"vertigo.t5.pos\";alias nextPos vertigo.t1;say vertigo t spawn 5 of 5\"\nalias vertigo.t1.pos \"setpos -1411.31 -1130.31 11551.87\"\nalias vertigo.t2.pos \"setpos -1439.57 -1251.71 11551.87\"\nalias vertigo.t3.pos \"setpos -1439.76 -1322.04 11551.87\"\nalias vertigo.t4.pos \"setpos -1468.84 -1194.40 11551.87\"\nalias vertigo.t5.pos \"setpos -1502.57 -1360.83 11551.87\"\n\n\nalias anubis.ct \"alias thisPos anubis.ct1.pos;alias nextPos anubis.ct2\"\nalias anubis.ct1 \"alias thisPos \"anubis.ct1.pos\";alias nextPos anubis.ct2;say anubis ct spawn 1 of 5\"\nalias anubis.ct2 \"alias thisPos \"anubis.ct2.pos\";alias nextPos anubis.ct3;say anubis ct spawn 2 of 5\"\nalias anubis.ct3 \"alias thisPos \"anubis.ct3.pos\";alias nextPos anubis.ct4;say anubis ct spawn 3 of 5\"\nalias anubis.ct4 \"alias thisPos \"anubis.ct4.pos\";alias nextPos anubis.ct5;say anubis ct spawn 4 of 5\"\nalias anubis.ct5 \"alias thisPos \"anubis.ct5.pos\";alias nextPos anubis.ct1;say anubis ct spawn 5 of 5\"\nalias anubis.ct1.pos \"setpos -360 2120 79.90\"\nalias anubis.ct2.pos \"setpos -400 2192 82.28\"\nalias anubis.ct3.pos \"setpos -476 2216 88.06\"\nalias anubis.ct4.pos \"setpos -560.08 2192.04 82.28\"\nalias anubis.ct5.pos \"setpos -608 2120 79.90\"\n\n\n\nalias anubis.t \"alias thisPos anubis.t1.pos;alias nextPos anubis.t2\"\nalias anubis.t1 \"alias thisPos \"anubis.t1.pos\";alias nextPos anubis.t2;say anubis t spawn 1 of 10\"\nalias anubis.t2 \"alias thisPos \"anubis.t2.pos\";alias nextPos anubis.t3;say anubis t spawn 2 of 10\"\nalias anubis.t3 \"alias thisPos \"anubis.t3.pos\";alias nextPos anubis.t4;say anubis t spawn 3 of 10\"\nalias anubis.t4 \"alias thisPos \"anubis.t4.pos\";alias nextPos anubis.t5;say anubis t spawn 4 of 10\"\nalias anubis.t5 \"alias thisPos \"anubis.t5.pos\";alias nextPos anubis.t6;say anubis t spawn 5 of 10\"\nalias anubis.t6 \"alias thisPos \"anubis.t6.pos\";alias nextPos anubis.t7;say anubis t spawn 6 of 10\"\nalias anubis.t7 \"alias thisPos \"anubis.t7.pos\";alias nextPos anubis.t8;say anubis t spawn 7 of 10\"\nalias anubis.t8 \"alias thisPos \"anubis.t8.pos\";alias nextPos anubis.t9;say anubis t spawn 8 of 10\"\nalias anubis.t9 \"alias thisPos \"anubis.t9.pos\";alias nextPos anubis.t10;say anubis t spawn 9 of 10\"\nalias anubis.t10 \"alias thisPos \"anubis.t10.pos\";alias nextPos anubis.t1;say anubis t spawn 10 of 10\"\nalias anubis.t1.pos \"setpos -128.09 -1632 55.71\"\nalias anubis.t2.pos \"setpos -144 -1568 51.87\"\nalias anubis.t3.pos \"setpos -154 -1503.08 51.87\"\nalias anubis.t4.pos \"setpos -192 -1608 51.87\"\nalias anubis.t5.pos \"setpos -234 -1503.08 51.87\"\nalias anubis.t6.pos \"setpos -264 -1560 51.87\"\nalias anubis.t7.pos \"setpos -304 -1608 51.87\"\nalias anubis.t8.pos \"setpos -328.03 -1528.05 51.87\"\nalias anubis.t9.pos \"setpos -384 -1552 51.87\"\nalias anubis.t10.pos \"setpos -416 -1696 65.87\"\n\n\n \nalias dust.ct \"alias thisPos dust.ct1.pos;alias nextPos dust.ct2\"\nalias dust.ct1 \"alias thisPos \"dust.ct1.pos\";alias nextPos dust.ct2;say dust ct spawn 1 of 5\"\nalias dust.ct2 \"alias thisPos \"dust.ct2.pos\";alias nextPos dust.ct3;say dust ct spawn 2 of 5\"\nalias dust.ct3 \"alias thisPos \"dust.ct3.pos\";alias nextPos dust.ct4;say dust ct spawn 3 of 5\"\nalias dust.ct4 \"alias thisPos \"dust.ct4.pos\";alias nextPos dust.ct5;say dust ct spawn 4 of 5\"\nalias dust.ct5 \"alias thisPos \"dust.ct5.pos\";alias nextPos dust.ct1;say dust ct spawn 5 of 5\"\nalias dust.ct1.pos \"setpos 160.21 2369.64 -56.76\"\nalias dust.ct2.pos \"setpos 182.19 2439.02 -57.55\"\nalias dust.ct3.pos \"setpos 258.16 2480.55 -58.55\"\nalias dust.ct4.pos \"setpos 334.37 2433.73 -57.15\"\nalias dust.ct5.pos \"setpos 351.39 2352.94 -57.34\"\n\nalias dust.t \"alias thisPos dust.t1.pos;alias nextPos dust.t2\"\nalias dust.t1 \"alias thisPos \"dust.t1.pos\";alias nextPos dust.t2;say dust t spawn 1 of 14\"\nalias dust.t2 \"alias thisPos \"dust.t2.pos\";alias nextPos dust.t3;say dust t spawn 2 of 14\"\nalias dust.t3 \"alias thisPos \"dust.t3.pos\";alias nextPos dust.t4;say dust t spawn 3 of 14\"\nalias dust.t4 \"alias thisPos \"dust.t4.pos\";alias nextPos dust.t5;say dust t spawn 4 of 14\"\nalias dust.t5 \"alias thisPos \"dust.t5.pos\";alias nextPos dust.t6;say dust t spawn 5 of 14\"\nalias dust.t6 \"alias thisPos \"dust.t6.pos\";alias nextPos dust.t7;say dust t spawn 6 of 14\"\nalias dust.t7 \"alias thisPos \"dust.t7.pos\";alias nextPos dust.t8;say dust t spawn 7 of 14\"\nalias dust.t8 \"alias thisPos \"dust.t8.pos\";alias nextPos dust.t9;say dust t spawn 8 of 14\"\nalias dust.t9 \"alias thisPos \"dust.t9.pos\";alias nextPos dust.t10;say dust t spawn 9 of 14\"\nalias dust.t10 \"alias thisPos \"dust.t10.pos\";alias nextPos dust.t11;say dust t spawn 10 of 14\"\nalias dust.t11 \"alias thisPos \"dust.t11.pos\";alias nextPos dust.t12;say dust t spawn 11 of 14\"\nalias dust.t12 \"alias thisPos \"dust.t12.pos\";alias nextPos dust.t13;say dust t spawn 12 of 14\"\nalias dust.t13 \"alias thisPos \"dust.t13.pos\";alias nextPos dust.t14;say dust t spawn 13 of 14\"\nalias dust.t14 \"alias thisPos \"dust.t14.pos\";alias nextPos dust.t1;say dust t spawn 14 of 14\"\nalias dust.t1.pos \"setpos -332 -754 138.01\"\nalias dust.t2.pos \"setpos -367.06 -808.07 143.94\"\nalias dust.t3.pos \"setpos -428 -843 156.25\"\nalias dust.t4.pos \"setpos -493 -808 169.33\"\nalias dust.t5.pos \"setpos -533 -754 175.26\"\nalias dust.t6.pos \"setpos -657.27 -755.88 182.18\"\nalias dust.t7.pos \"setpos -696.84 -806.62 180.14\"\nalias dust.t8.pos \"setpos -760.66 -836.17 180.55\"\nalias dust.t9.pos \"setpos -822.37 -795.64 180.70\"\nalias dust.t10.pos \"setpos -980 -754 182.95\"\nalias dust.t11.pos \"setpos -1015.06 -808.07 179.57\"\nalias dust.t12.pos \"setpos -1076 -843 180.31\"\nalias dust.t13.pos \"setpos -1141 -808 179.87\"\nalias dust.t14.pos \"setpos -1181 -754 182.95 \"\n\n\nalias inferno.ct \"alias thisPos inferno.ct1.pos;alias nextPos inferno.ct2\"\nalias inferno.ct1 \"alias thisPos \"inferno.ct1.pos\";alias nextPos inferno.ct2;say inferno ct spawn 1 of 6\"\nalias inferno.ct2 \"alias thisPos \"inferno.ct2.pos\";alias nextPos inferno.ct3;say inferno ct spawn 2 of 6\"\nalias inferno.ct3 \"alias thisPos \"inferno.ct3.pos\";alias nextPos inferno.ct4;say inferno ct spawn 3 of 6\"\nalias inferno.ct4 \"alias thisPos \"inferno.ct4.pos\";alias nextPos inferno.ct5;say inferno ct spawn 4 of 6\"\nalias inferno.ct5 \"alias thisPos \"inferno.ct5.pos\";alias nextPos inferno.ct6;say inferno ct spawn 5 of 6\"\nalias inferno.ct6 \"alias thisPos \"inferno.ct6.pos\";alias nextPos inferno.ct1;say inferno ct spawn 6 of 6\"\nalias inferno.ct1.pos \"setpos 2292.06 2027.69 199.31\"\nalias inferno.ct2.pos \"setpos 2353 1977 198.97\"\nalias inferno.ct3.pos \"setpos 2397 2079 196.48\"\nalias inferno.ct4.pos \"setpos 2472.35 2005.97 197.66\"\nalias inferno.ct5.pos \"setpos 2493.05 2090.04 196.11\"\nalias inferno.ct6.pos \"setpos 2456.83 2153.16 195.90\"\n\nalias inferno.t \"alias thisPos inferno.t1.pos;alias nextPos inferno.t2\"\nalias inferno.t1 \"alias thisPos \"inferno.t1.pos\";alias nextPos inferno.t2;say inferno t spawn 1 of 5\"\nalias inferno.t2 \"alias thisPos \"inferno.t2.pos\";alias nextPos inferno.t3;say inferno t spawn 2 of 5\"\nalias inferno.t3 \"alias thisPos \"inferno.t3.pos\";alias nextPos inferno.t4;say inferno t spawn 3 of 5\"\nalias inferno.t4 \"alias thisPos \"inferno.t4.pos\";alias nextPos inferno.t5;say inferno t spawn 4 of 5\"\nalias inferno.t5 \"alias thisPos \"inferno.t5.pos\";alias nextPos inferno.t1;say inferno t spawn 5 of 5\"\nalias inferno.t1.pos \"setpos -1520.06 430.89 -0.13\"\nalias inferno.t2.pos \"setpos -1586.52 440.79 -0.13\"\nalias inferno.t3.pos \"setpos -1657.23 419.58 -0.13\"\nalias inferno.t4.pos \"setpos -1662.18 288.76 -0.13\"\nalias inferno.t5.pos \"setpos -1675.63 351.78 -0.13\"\n\n\nalias nuke.ct \"alias thisPos nuke.ct1.pos;alias nextPos nuke.ct2\"\nalias nuke.ct1 \"alias thisPos \"nuke.ct1.pos\";alias nextPos nuke.ct2;say nuke ct spawn 1 of 5\"\nalias nuke.ct2 \"alias thisPos \"nuke.ct2.pos\";alias nextPos nuke.ct3;say nuke ct spawn 2 of 5\"\nalias nuke.ct3 \"alias thisPos \"nuke.ct3.pos\";alias nextPos nuke.ct4;say nuke ct spawn 3 of 5\"\nalias nuke.ct4 \"alias thisPos \"nuke.ct4.pos\";alias nextPos nuke.ct5;say nuke ct spawn 4 of 5\"\nalias nuke.ct5 \"alias thisPos \"nuke.ct5.pos\";alias nextPos nuke.ct1;say nuke ct spawn 5 of 5\"\nalias nuke.ct1.pos \"setpos 2504 -344 -288.13\"\nalias nuke.ct2.pos \"setpos 2585.08 -344.04 -288.13\"\nalias nuke.ct3.pos \"setpos 2512.05 -504.04 -284.60\"\nalias nuke.ct4.pos \"setpos 2584.06 -504.02 -288.13\"\nalias nuke.ct5.pos \"setpos 2552.08 -424.03 -288.13\"\n\n \nalias nuke.t \"alias thisPos nuke.t1.pos;alias nextPos nuke.t2\"\nalias nuke.t1 \"alias thisPos \"nuke.t1.pos\";alias nextPos nuke.t2;say nuke t spawn 1 of 7\"\nalias nuke.t2 \"alias thisPos \"nuke.t2.pos\";alias nextPos nuke.t3;say nuke t spawn 2 of 7\"\nalias nuke.t3 \"alias thisPos \"nuke.t3.pos\";alias nextPos nuke.t4;say nuke t spawn 3 of 7\"\nalias nuke.t4 \"alias thisPos \"nuke.t4.pos\";alias nextPos nuke.t5;say nuke t spawn 4 of 7\"\nalias nuke.t5 \"alias thisPos \"nuke.t5.pos\";alias nextPos nuke.t6;say nuke t spawn 5 of 7\"\nalias nuke.t6 \"alias thisPos \"nuke.t6.pos\";alias nextPos nuke.t7;say nuke t spawn 6 of 7\"\nalias nuke.t7 \"alias thisPos \"nuke.t7.pos\";alias nextPos nuke.t1;say nuke t spawn 7 of 7\"\nalias nuke.t1.pos \"setpos -1874 -1076 -352.13\"\nalias nuke.t2.pos \"setpos -1832 -1160 -352.13\"\nalias nuke.t3.pos \"setpos -1807.94 -1089.02 -352.13\nalias nuke.t4.pos \"setpos -1808 -1025 -352.13\"\nalias nuke.t5.pos \"setpos -1929 -1025 -352.13\"\nalias nuke.t6.pos \"setpos 1947.01 -1102.11 -352.13\"\nalias nuke.t7.pos \"setpos -1878.03 -980.08 -352.13\"\n\nalias ancient.ct \"alias thisPos ancient.ct1.pos;alias nextPos ancient.ct2\"\nalias ancient.ct1 \"alias thisPos \"ancient.ct1.pos\";alias nextPos ancient.ct2;say ancient ct spawn 1 of 5\"\nalias ancient.ct2 \"alias thisPos \"ancient.ct2.pos\";alias nextPos ancient.ct3;say ancient ct spawn 2 of 5\"\nalias ancient.ct3 \"alias thisPos \"ancient.ct3.pos\";alias nextPos ancient.ct4;say ancient ct spawn 3 of 5\"\nalias ancient.ct4 \"alias thisPos \"ancient.ct4.pos\";alias nextPos ancient.ct5;say ancient ct spawn 4 of 5\"\nalias ancient.ct5 \"alias thisPos \"ancient.ct5.pos\";alias nextPos ancient.ct1;say ancient ct spawn 5 of 5\"\nalias ancient.ct1.pos \"setpos -192 1696 88.765564\"\nalias ancient.ct2.pos \"setpos -256 1728 88.949203\"\nalias ancient.ct3.pos \"setpos -352 1728 91.644180\"\nalias ancient.ct4.pos \"setpos -448 1728 93.338509\"\nalias ancient.ct5.pos \"setpos -512 1696 88.755043\"\n\n \nalias ancient.t \"alias thisPos ancient.t1.pos;alias nextPos ancient.t2\"\nalias ancient.t1 \"alias thisPos \"ancient.t1.pos\";alias nextPos ancient.t2;say ancient t spawn 1 of 5\"\nalias ancient.t2 \"alias thisPos \"ancient.t2.pos\";alias nextPos ancient.t3;say ancient t spawn 2 of 5\"\nalias ancient.t3 \"alias thisPos \"ancient.t3.pos\";alias nextPos ancient.t4;say ancient t spawn 3 of 5\"\nalias ancient.t4 \"alias thisPos \"ancient.t4.pos\";alias nextPos ancient.t5;say ancient t spawn 4 of 5\"\nalias ancient.t5 \"alias thisPos \"ancient.t5.pos\";alias nextPos ancient.t1;say ancient t spawn 5 of 5\"\nalias ancient.t1.pos \"setpos -328 -2288 -99.255737\"\nalias ancient.t2.pos \"setpos -392 -2224 -99.255737\"\nalias ancient.t3.pos \"setpos -456 -2288 -99.255737\"\nalias ancient.t4.pos \"setpos -520 -2224 -99.255737\"\nalias ancient.t5.pos \"setpos -584.077515 -2288\"\n\n\n\nalias train.ct \"alias thisPos train.ct1.pos;alias nextPos train.ct2\"\nalias train.ct1 \"alias thisPos \"train.ct1.pos\";alias nextPos train.ct2;say train ct spawn 1 of 7\"\nalias train.ct2 \"alias thisPos \"train.ct2.pos\";alias nextPos train.ct3;say train ct spawn 2 of 7\"\nalias train.ct3 \"alias thisPos \"train.ct3.pos\";alias nextPos train.ct4;say train ct spawn 3 of 7\"\nalias train.ct4 \"alias thisPos \"train.ct4.pos\";alias nextPos train.ct5;say train ct spawn 4 of 7\"\nalias train.ct5 \"alias thisPos \"train.ct5.pos\";alias nextPos train.ct6;say train ct spawn 5 of 7\"\nalias train.ct6 \"alias thisPos \"train.ct6.pos\";alias nextPos train.ct7;say train ct spawn 6 of 7\"\nalias train.ct7 \"alias thisPos \"train.ct7.pos\";alias nextPos train.ct1;say train ct spawn 7 of 7\"\nalias train.ct1.pos \"setpos 1600 -1440 -264.13\"\nalias train.ct2.pos \"setpos 1552 -1232 -264.10\"\nalias train.ct3.pos \"setpos 1456 -1328 -264.13\"\nalias train.ct4.pos \"setpos 1496 -1424 -264.05\"\nalias train.ct5.pos \"setpos 1378 -1244 -264.01\"\nalias train.ct6.pos \"setpos 1342 -1431 -263.58\"\nalias train.ct7.pos \"setpos 1462 -1226 -264.13\"\n\n \nalias train.t \"alias thisPos train.t1.pos;alias nextPos train.t2\"\nalias train.t1 \"alias thisPos \"train.t1.pos\";alias nextPos train.t2;say train t spawn 1 of 6\"\nalias train.t2 \"alias thisPos \"train.t2.pos\";alias nextPos train.t3;say train t spawn 2 of 6\"\nalias train.t3 \"alias thisPos \"train.t3.pos\";alias nextPos train.t4;say train t spawn 3 of 6\"\nalias train.t4 \"alias thisPos \"train.t4.pos\";alias nextPos train.t5;say train t spawn 4 of 6\"\nalias train.t5 \"alias thisPos \"train.t5.pos\";alias nextPos train.t6;say train t spawn 5 of 6\"\nalias train.t6 \"alias thisPos \"train.t6.pos\";alias nextPos train.t1;say train t spawn 6 of 6\"\nalias train.t1.pos \"setpos -1955 1326 -108.13\"\nalias train.t2.pos \"setpos -2033 1362.23 -108.13\"\nalias train.t3.pos \"setpos -1925 1394 -108.13\"\nalias train.t4.pos \"setpos -2000 1434.23 -108.13\"\nalias train.t5.pos \"setpos -1850 1256 -108.13\"\nalias train.t6.pos \"setpos -1916 1456.23 -108.13\"\n\n\n\/\/ # region Overpass Spawns\nalias overpass.ct \"alias thisPos overpass.ct1.pos;alias nextPos overpass.ct2\"\nalias overpass.ct1 \"alias thisPos \"overpass.ct1.pos\";alias nextPos overpass.ct2;say overpass ct spawn 1 of 5\"\nalias overpass.ct2 \"alias thisPos \"overpass.ct2.pos\";alias nextPos overpass.ct3;say overpass ct spawn 2 of 5\"\nalias overpass.ct3 \"alias thisPos \"overpass.ct3.pos\";alias nextPos overpass.ct4;say overpass ct spawn 3 of 5\"\nalias overpass.ct4 \"alias thisPos \"overpass.ct4.pos\";alias nextPos overpass.ct5;say overpass ct spawn 4 of 5\"\nalias overpass.ct5 \"alias thisPos \"overpass.ct5.pos\";alias nextPos overpass.ct1;say overpass ct spawn 5 of 5\"\nalias overpass.ct1.pos \"setpos -2199 740 539.87\"\nalias overpass.ct2.pos \"setpos -2275 842 539.87\"\nalias overpass.ct3.pos \"setpos -2273 770 539.87\"\nalias overpass.ct4.pos \"setpos -2343 797 539.87\"\nalias overpass.ct5.pos \"setpos -2190 817 539.87\"\n\n \nalias overpass.t \"alias thisPos overpass.t1.pos;alias nextPos overpass.t2\"\nalias overpass.t1 \"alias thisPos \"overpass.t1.pos\";alias nextPos overpass.t2;say overpass t spawn 1 of 5\"\nalias overpass.t2 \"alias thisPos \"overpass.t2.pos\";alias nextPos overpass.t3;say overpass t spawn 2 of 5\"\nalias overpass.t3 \"alias thisPos \"overpass.t3.pos\";alias nextPos overpass.t4;say overpass t spawn 3 of 5\"\nalias overpass.t4 \"alias thisPos \"overpass.t4.pos\";alias nextPos overpass.t5;say overpass t spawn 4 of 5\"\nalias overpass.t5 \"alias thisPos \"overpass.t5.pos\";alias nextPos overpass.t1;say overpass t spawn 5 of 5\"\nalias overpass.t1.pos \"setpos -1448 -3076 325.5\"\nalias overpass.t2.pos \"setpos -1391 -3262 340.47\"\nalias overpass.t3.pos \"setpos -1327 -3262 333.03\"\nalias overpass.t4.pos \"setpos -1463 -3190 340.48\"\nalias overpass.t5.pos \"setpos -1395 -3190 332.57\"\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n    <div id=\"cs2cg-wrap\">\r\n\r\n    <style>\r\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Share+Tech+Mono&family=Barlow+Condensed:wght@400;600;700&display=swap');\r\n\r\n        #cs2cg-wrap {\r\n            --bg: #0a0c0f;\r\n            --panel: #111318;\r\n            --border: #1e2330;\r\n            --accent: #e8a020;\r\n            --accent2: #ff4d1a;\r\n            --text: #c8d0dc;\r\n            --muted: #4a5568;\r\n            --green: #39ff14;\r\n            --red: #ff3030;\r\n            --blue: #00aaff;\r\n            --yellow: #ffdd00;\r\n            --cyan: #00ffcc;\r\n            --mono: 'Share Tech Mono', monospace;\r\n            --sans: 'Barlow Condensed', sans-serif;\r\n\r\n            background: var(--bg);\r\n            color: var(--text);\r\n            font-family: var(--sans);\r\n            font-size: 15px;\r\n            padding: 32px 20px;\r\n            border-radius: 4px;\r\n            max-width: 960px;\r\n            margin: 0 auto;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        #cs2cg-wrap *, #cs2cg-wrap *::before, #cs2cg-wrap *::after {\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .cs2cg-header {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 14px;\r\n            margin-bottom: 32px;\r\n            border-bottom: 1px solid var(--border);\r\n            padding-bottom: 20px;\r\n        }\r\n\r\n        .cs2cg-header h2 {\r\n            font-family: var(--sans);\r\n            font-size: 26px;\r\n            font-weight: 700;\r\n            letter-spacing: 0.12em;\r\n            text-transform: uppercase;\r\n            color: #fff;\r\n            margin: 0;\r\n            line-height: 1;\r\n        }\r\n\r\n        .cs2cg-header h2 span { color: var(--accent); }\r\n\r\n        .cs2cg-badge {\r\n            background: var(--accent2);\r\n            color: #fff;\r\n            font-family: var(--mono);\r\n            font-size: 10px;\r\n            letter-spacing: 0.1em;\r\n            padding: 3px 8px;\r\n            border-radius: 2px;\r\n            text-transform: uppercase;\r\n        }\r\n\r\n        \/* Layout *\/\r\n        .cs2cg-body {\r\n            display: grid;\r\n            grid-template-columns: 1fr 280px;\r\n            gap: 24px;\r\n            align-items: start;\r\n        }\r\n\r\n        @media (max-width: 680px) {\r\n            .cs2cg-body { grid-template-columns: 1fr; }\r\n        }\r\n\r\n        \/* Form panels *\/\r\n        .cs2cg-section {\r\n            background: var(--panel);\r\n            border: 1px solid var(--border);\r\n            border-radius: 3px;\r\n            margin-bottom: 16px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .cs2cg-section-title {\r\n            font-family: var(--mono);\r\n            font-size: 11px;\r\n            letter-spacing: 0.18em;\r\n            text-transform: uppercase;\r\n            color: var(--accent);\r\n            padding: 10px 16px;\r\n            background: rgba(232, 160, 32, 0.06);\r\n            border-bottom: 1px solid var(--border);\r\n        }\r\n\r\n        .cs2cg-fields {\r\n            padding: 16px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 14px;\r\n        }\r\n\r\n        .cs2cg-field {\r\n            display: grid;\r\n            grid-template-columns: 160px 1fr auto;\r\n            align-items: center;\r\n            gap: 12px;\r\n        }\r\n\r\n        @media (max-width: 520px) {\r\n            .cs2cg-field {\r\n                grid-template-columns: 1fr;\r\n                gap: 6px;\r\n            }\r\n        }\r\n\r\n        .cs2cg-label {\r\n            font-family: var(--mono);\r\n            font-size: 12px;\r\n            color: var(--muted);\r\n            letter-spacing: 0.05em;\r\n        }\r\n\r\n        .cs2cg-val {\r\n            font-family: var(--mono);\r\n            font-size: 13px;\r\n            color: var(--accent);\r\n            min-width: 36px;\r\n            text-align: right;\r\n        }\r\n\r\n        \/* Range slider *\/\r\n        input[type=range].cs2cg-slider {\r\n            -webkit-appearance: none;\r\n            appearance: none;\r\n            width: 100%;\r\n            height: 4px;\r\n            background: var(--border);\r\n            border-radius: 2px;\r\n            outline: none;\r\n            cursor: pointer;\r\n        }\r\n\r\n        input[type=range].cs2cg-slider::-webkit-slider-thumb {\r\n            -webkit-appearance: none;\r\n            width: 14px;\r\n            height: 14px;\r\n            border-radius: 2px;\r\n            background: var(--accent);\r\n            cursor: pointer;\r\n        }\r\n\r\n        input[type=range].cs2cg-slider::-moz-range-thumb {\r\n            width: 14px;\r\n            height: 14px;\r\n            border-radius: 2px;\r\n            background: var(--accent);\r\n            border: none;\r\n            cursor: pointer;\r\n        }\r\n\r\n        \/* Select *\/\r\n        select.cs2cg-select {\r\n            background: #0d0f14;\r\n            border: 1px solid var(--border);\r\n            color: var(--text);\r\n            font-family: var(--mono);\r\n            font-size: 12px;\r\n            padding: 6px 10px;\r\n            border-radius: 2px;\r\n            cursor: pointer;\r\n            width: 100%;\r\n            outline: none;\r\n        }\r\n\r\n        select.cs2cg-select:focus {\r\n            border-color: var(--accent);\r\n        }\r\n\r\n        \/* Toggle \/ checkbox *\/\r\n        .cs2cg-toggle-wrap {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n        }\r\n\r\n        .cs2cg-toggle {\r\n            position: relative;\r\n            width: 36px;\r\n            height: 20px;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .cs2cg-toggle input { opacity: 0; width: 0; height: 0; }\r\n\r\n        .cs2cg-toggle-track {\r\n            position: absolute;\r\n            inset: 0;\r\n            background: var(--border);\r\n            border-radius: 2px;\r\n            cursor: pointer;\r\n            transition: background 0.2s;\r\n        }\r\n\r\n        .cs2cg-toggle-track::after {\r\n            content: '';\r\n            position: absolute;\r\n            left: 3px;\r\n            top: 3px;\r\n            width: 14px;\r\n            height: 14px;\r\n            background: var(--muted);\r\n            border-radius: 1px;\r\n            transition: transform 0.2s, background 0.2s;\r\n        }\r\n\r\n        .cs2cg-toggle input:checked + .cs2cg-toggle-track {\r\n            background: rgba(232, 160, 32, 0.15);\r\n        }\r\n\r\n        .cs2cg-toggle input:checked + .cs2cg-toggle-track::after {\r\n            transform: translateX(16px);\r\n            background: var(--accent);\r\n        }\r\n\r\n        \/* Color swatches *\/\r\n        .cs2cg-colors {\r\n            display: flex;\r\n            gap: 8px;\r\n            align-items: center;\r\n        }\r\n\r\n        .cs2cg-swatch {\r\n            width: 22px;\r\n            height: 22px;\r\n            border-radius: 2px;\r\n            border: 2px solid transparent;\r\n            cursor: pointer;\r\n            transition: border-color 0.15s, transform 0.15s;\r\n        }\r\n\r\n        .cs2cg-swatch:hover { transform: scale(1.15); }\r\n        .cs2cg-swatch.active { border-color: #fff; }\r\n\r\n        .cs2cg-custom-color {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 6px;\r\n        }\r\n\r\n        .cs2cg-custom-color input[type=color] {\r\n            width: 28px;\r\n            height: 22px;\r\n            border: 1px solid var(--border);\r\n            background: none;\r\n            padding: 0;\r\n            cursor: pointer;\r\n            border-radius: 2px;\r\n        }\r\n\r\n        \/* Preview panel *\/\r\n        .cs2cg-preview-panel {\r\n            position: sticky;\r\n            top: 20px;\r\n        }\r\n\r\n        .cs2cg-preview-box {\r\n            background: var(--panel);\r\n            border: 1px solid var(--border);\r\n            border-radius: 3px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .cs2cg-preview-title {\r\n            font-family: var(--mono);\r\n            font-size: 11px;\r\n            letter-spacing: 0.18em;\r\n            text-transform: uppercase;\r\n            color: var(--accent);\r\n            padding: 10px 16px;\r\n            background: rgba(232, 160, 32, 0.06);\r\n            border-bottom: 1px solid var(--border);\r\n        }\r\n\r\n        #cs2cg-canvas-wrap {\r\n            background: #1a1f2e;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            padding: 32px;\r\n            background-image: radial-gradient(circle at center, #232b3d 0%, #0f1218 100%);\r\n        }\r\n\r\n        #cs2cg-canvas {\r\n            display: block;\r\n        }\r\n\r\n        \/* Output *\/\r\n        .cs2cg-output-box {\r\n            background: var(--panel);\r\n            border: 1px solid var(--border);\r\n            border-radius: 3px;\r\n            margin-top: 16px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .cs2cg-output-title {\r\n            font-family: var(--mono);\r\n            font-size: 11px;\r\n            letter-spacing: 0.18em;\r\n            text-transform: uppercase;\r\n            color: var(--cyan);\r\n            padding: 10px 16px;\r\n            background: rgba(0, 255, 204, 0.04);\r\n            border-bottom: 1px solid var(--border);\r\n        }\r\n\r\n        #cs2cg-output {\r\n            font-family: var(--mono);\r\n            font-size: 12px;\r\n            color: #7ec8a0;\r\n            padding: 14px 16px;\r\n            line-height: 1.9;\r\n            white-space: pre;\r\n            overflow-x: auto;\r\n        }\r\n\r\n        .cs2cg-btn {\r\n            display: block;\r\n            width: 100%;\r\n            margin-top: 16px;\r\n            padding: 14px;\r\n            background: var(--accent);\r\n            color: #000;\r\n            font-family: var(--sans);\r\n            font-size: 15px;\r\n            font-weight: 700;\r\n            letter-spacing: 0.12em;\r\n            text-transform: uppercase;\r\n            border: none;\r\n            border-radius: 2px;\r\n            cursor: pointer;\r\n            transition: background 0.15s, transform 0.1s;\r\n        }\r\n\r\n        .cs2cg-btn:hover {\r\n            background: #ffb733;\r\n            transform: translateY(-1px);\r\n        }\r\n\r\n        .cs2cg-btn:active {\r\n            transform: translateY(0);\r\n        }\r\n\r\n        .cs2cg-hint {\r\n            font-family: var(--mono);\r\n            font-size: 11px;\r\n            color: var(--muted);\r\n            margin-top: 10px;\r\n            text-align: center;\r\n            letter-spacing: 0.04em;\r\n        }\r\n    <\/style>\r\n\r\n    <div class=\"cs2cg-header\">\r\n        <h2>CS2 <span>Crosshair<\/span> Generator<\/h2>\r\n        <span class=\"cs2cg-badge\">cfg export<\/span>\r\n    <\/div>\r\n\r\n    <div class=\"cs2cg-body\">\r\n        <!-- LEFT: FORM -->\r\n        <div class=\"cs2cg-form\">\r\n\r\n            <!-- Style -->\r\n            <div class=\"cs2cg-section\">\r\n                <div class=\"cs2cg-section-title\">\/\/ style<\/div>\r\n                <div class=\"cs2cg-fields\">\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshairstyle<\/span>\r\n                        <select class=\"cs2cg-select\" id=\"cg_style\" onchange=\"cs2cg_update()\">\r\n                            <option value=\"0\">0 \u2014 Dot<\/option>\r\n                            <option value=\"1\">1 \u2014 Default static<\/option>\r\n                            <option value=\"2\">2 \u2014 Default (+ anim)<\/option>\r\n                            <option value=\"3\">3 \u2014 Classic static<\/option>\r\n                            <option value=\"4\" selected>4 \u2014 Classic (+ anim)<\/option>\r\n                            <option value=\"5\">5 \u2014 Legacy<\/option>\r\n                        <\/select>\r\n                        <span class=\"cs2cg-val\" id=\"cv_style\">4<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Size & Shape -->\r\n            <div class=\"cs2cg-section\">\r\n                <div class=\"cs2cg-section-title\">\/\/ size &amp; shape<\/div>\r\n                <div class=\"cs2cg-fields\">\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshairsize<\/span>\r\n                        <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_size\" min=\"0\" max=\"10\" step=\"0.5\" value=\"3\" oninput=\"cs2cg_update()\">\r\n                        <span class=\"cs2cg-val\" id=\"cv_size\">3<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshairthickness<\/span>\r\n                        <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_thick\" min=\"0.5\" max=\"3\" step=\"0.5\" value=\"1\" oninput=\"cs2cg_update()\">\r\n                        <span class=\"cs2cg-val\" id=\"cv_thick\">1<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshairgap<\/span>\r\n                        <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_gap\" min=\"-5\" max=\"10\" step=\"0.5\" value=\"-2\" oninput=\"cs2cg_update()\">\r\n                        <span class=\"cs2cg-val\" id=\"cv_gap\">-2<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshair_t<\/span>\r\n                        <div class=\"cs2cg-toggle-wrap\">\r\n                            <label class=\"cs2cg-toggle\">\r\n                                <input type=\"checkbox\" id=\"cg_t\" onchange=\"cs2cg_update()\">\r\n                                <span class=\"cs2cg-toggle-track\"><\/span>\r\n                            <\/label>\r\n                            <span class=\"cs2cg-label\">T-style (no top line)<\/span>\r\n                        <\/div>\r\n                        <span class=\"cs2cg-val\" id=\"cv_t\">0<\/span>\r\n                    <\/div>\r\n\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Dot -->\r\n            <div class=\"cs2cg-section\">\r\n                <div class=\"cs2cg-section-title\">\/\/ center dot<\/div>\r\n                <div class=\"cs2cg-fields\">\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshairdot<\/span>\r\n                        <div class=\"cs2cg-toggle-wrap\">\r\n                            <label class=\"cs2cg-toggle\">\r\n                                <input type=\"checkbox\" id=\"cg_dot\" onchange=\"cs2cg_update()\">\r\n                                <span class=\"cs2cg-toggle-track\"><\/span>\r\n                            <\/label>\r\n                            <span class=\"cs2cg-label\">Enable center dot<\/span>\r\n                        <\/div>\r\n                        <span class=\"cs2cg-val\" id=\"cv_dot\">0<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshairdot_size<\/span>\r\n                        <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_dotsize\" min=\"1\" max=\"5\" step=\"0.5\" value=\"2\" oninput=\"cs2cg_update()\">\r\n                        <span class=\"cs2cg-val\" id=\"cv_dotsize\">2<\/span>\r\n                    <\/div>\r\n\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Outline -->\r\n            <div class=\"cs2cg-section\">\r\n                <div class=\"cs2cg-section-title\">\/\/ outline<\/div>\r\n                <div class=\"cs2cg-fields\">\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshair_drawoutline<\/span>\r\n                        <div class=\"cs2cg-toggle-wrap\">\r\n                            <label class=\"cs2cg-toggle\">\r\n                                <input type=\"checkbox\" id=\"cg_outline\" onchange=\"cs2cg_update()\">\r\n                                <span class=\"cs2cg-toggle-track\"><\/span>\r\n                            <\/label>\r\n                            <span class=\"cs2cg-label\">Enable outline<\/span>\r\n                        <\/div>\r\n                        <span class=\"cs2cg-val\" id=\"cv_outline\">0<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshair_outlinethickness<\/span>\r\n                        <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_outlinethick\" min=\"0.5\" max=\"3\" step=\"0.5\" value=\"1\" oninput=\"cs2cg_update()\">\r\n                        <span class=\"cs2cg-val\" id=\"cv_outlinethick\">1<\/span>\r\n                    <\/div>\r\n\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Color -->\r\n            <div class=\"cs2cg-section\">\r\n                <div class=\"cs2cg-section-title\">\/\/ color &amp; alpha<\/div>\r\n                <div class=\"cs2cg-fields\">\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshaircolor<\/span>\r\n                        <div class=\"cs2cg-colors\" id=\"cg_color_swatches\">\r\n                            <div class=\"cs2cg-swatch active\" data-color=\"1\" style=\"background:#39ff14\" title=\"Green (1)\" onclick=\"cs2cg_setcolor(this,1)\"><\/div>\r\n                            <div class=\"cs2cg-swatch\" data-color=\"2\" style=\"background:#ffdd00\" title=\"Yellow (2)\" onclick=\"cs2cg_setcolor(this,2)\"><\/div>\r\n                            <div class=\"cs2cg-swatch\" data-color=\"3\" style=\"background:#00aaff\" title=\"Blue (3)\" onclick=\"cs2cg_setcolor(this,3)\"><\/div>\r\n                            <div class=\"cs2cg-swatch\" data-color=\"4\" style=\"background:#ff3030\" title=\"Red (4)\" onclick=\"cs2cg_setcolor(this,4)\"><\/div>\r\n                            <div class=\"cs2cg-swatch\" data-color=\"5\" style=\"background:#00ffcc\" title=\"Cyan (5)\" onclick=\"cs2cg_setcolor(this,5)\"><\/div>\r\n                            <div class=\"cs2cg-custom-color\">\r\n                                <div class=\"cs2cg-swatch\" data-color=\"0\" style=\"background:#ffffff\" title=\"Custom (0)\" onclick=\"cs2cg_setcolor(this,0)\"><\/div>\r\n                                <input type=\"color\" id=\"cg_customcolor\" value=\"#ffffff\" onchange=\"cs2cg_customcolor()\" title=\"Custom RGB\">\r\n                            <\/div>\r\n                        <\/div>\r\n                        <span class=\"cs2cg-val\" id=\"cv_color\">1<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\" id=\"cg_rgb_row\" style=\"display:none;\">\r\n                        <span class=\"cs2cg-label\">R \/ G \/ B<\/span>\r\n                        <div style=\"display:flex;gap:8px;align-items:center;\">\r\n                            <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_r\" min=\"0\" max=\"255\" value=\"255\" oninput=\"cs2cg_update()\">\r\n                            <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_g\" min=\"0\" max=\"255\" value=\"255\" oninput=\"cs2cg_update()\">\r\n                            <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_b\" min=\"0\" max=\"255\" value=\"255\" oninput=\"cs2cg_update()\">\r\n                        <\/div>\r\n                        <span class=\"cs2cg-val\" id=\"cv_rgb\">255\/255\/255<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshairalpha<\/span>\r\n                        <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_alpha\" min=\"0\" max=\"255\" value=\"200\" oninput=\"cs2cg_update()\">\r\n                        <span class=\"cs2cg-val\" id=\"cv_alpha\">200<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshairusealpha<\/span>\r\n                        <div class=\"cs2cg-toggle-wrap\">\r\n                            <label class=\"cs2cg-toggle\">\r\n                                <input type=\"checkbox\" id=\"cg_usealpha\" checked onchange=\"cs2cg_update()\">\r\n                                <span class=\"cs2cg-toggle-track\"><\/span>\r\n                            <\/label>\r\n                            <span class=\"cs2cg-label\">Use alpha<\/span>\r\n                        <\/div>\r\n                        <span class=\"cs2cg-val\" id=\"cv_usealpha\">1<\/span>\r\n                    <\/div>\r\n\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Misc -->\r\n            <div class=\"cs2cg-section\">\r\n                <div class=\"cs2cg-section-title\">\/\/ misc<\/div>\r\n                <div class=\"cs2cg-fields\">\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshair_dynamic_splitdist<\/span>\r\n                        <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_splitdist\" min=\"1\" max=\"16\" step=\"1\" value=\"7\" oninput=\"cs2cg_update()\">\r\n                        <span class=\"cs2cg-val\" id=\"cv_splitdist\">7<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_fixedcrosshairgap<\/span>\r\n                        <input type=\"range\" class=\"cs2cg-slider\" id=\"cg_fixedgap\" min=\"-10\" max=\"10\" step=\"0.5\" value=\"3\" oninput=\"cs2cg_update()\">\r\n                        <span class=\"cs2cg-val\" id=\"cv_fixedgap\">3<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshair_sniper_show<\/span>\r\n                        <div class=\"cs2cg-toggle-wrap\">\r\n                            <label class=\"cs2cg-toggle\">\r\n                                <input type=\"checkbox\" id=\"cg_sniper\" onchange=\"cs2cg_update()\">\r\n                                <span class=\"cs2cg-toggle-track\"><\/span>\r\n                            <\/label>\r\n                            <span class=\"cs2cg-label\">Show with sniper scope<\/span>\r\n                        <\/div>\r\n                        <span class=\"cs2cg-val\" id=\"cv_sniper\">0<\/span>\r\n                    <\/div>\r\n\r\n                    <div class=\"cs2cg-field\">\r\n                        <span class=\"cs2cg-label\">cl_crosshair_recoil<\/span>\r\n                        <div class=\"cs2cg-toggle-wrap\">\r\n                            <label class=\"cs2cg-toggle\">\r\n                                <input type=\"checkbox\" id=\"cg_recoil\" onchange=\"cs2cg_update()\">\r\n                                <span class=\"cs2cg-toggle-track\"><\/span>\r\n                            <\/label>\r\n                            <span class=\"cs2cg-label\">Follow recoil<\/span>\r\n                        <\/div>\r\n                        <span class=\"cs2cg-val\" id=\"cv_recoil\">0<\/span>\r\n                    <\/div>\r\n\r\n                <\/div>\r\n            <\/div>\r\n\r\n        <\/div><!-- \/form -->\r\n\r\n        <!-- RIGHT: PREVIEW + OUTPUT -->\r\n        <div class=\"cs2cg-preview-panel\">\r\n\r\n            <div class=\"cs2cg-preview-box\">\r\n                <div class=\"cs2cg-preview-title\">\/\/ live preview<\/div>\r\n                <div id=\"cs2cg-canvas-wrap\">\r\n                    <canvas id=\"cs2cg-canvas\" width=\"180\" height=\"180\"><\/canvas>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"cs2cg-output-box\">\r\n                <div class=\"cs2cg-output-title\">\/\/ generated config<\/div>\r\n                <pre id=\"cs2cg-output\"><\/pre>\r\n            <\/div>\r\n\r\n            <button class=\"cs2cg-btn\" onclick=\"cs2cg_download()\">\u2b07 Download .cfg<\/button>\r\n            <p class=\"cs2cg-hint\">Drop file in: CS2\/game\/csgo\/cfg\/<\/p>\r\n\r\n        <\/div>\r\n    <\/div><!-- \/body -->\r\n\r\n    <\/div><!-- \/wrap -->\r\n\r\n    <script>\r\n    (function() {\r\n\r\n        var selectedColor = 1;\r\n        var colorMap = {\r\n            1: {r:57,  g:255, b:20},\r\n            2: {r:255, g:221, b:0},\r\n            3: {r:0,   g:170, b:255},\r\n            4: {r:255, g:48,  b:48},\r\n            5: {r:0,   g:255, b:204},\r\n        };\r\n\r\n        window.cs2cg_setcolor = function(el, val) {\r\n            selectedColor = val;\r\n            document.querySelectorAll('#cs2cg-wrap .cs2cg-swatch').forEach(function(s){ s.classList.remove('active'); });\r\n            el.classList.add('active');\r\n            document.getElementById('cv_color').textContent = val;\r\n            document.getElementById('cg_rgb_row').style.display = (val === 0) ? '' : 'none';\r\n            cs2cg_update();\r\n        };\r\n\r\n        window.cs2cg_customcolor = function() {\r\n            var hex = document.getElementById('cg_customcolor').value;\r\n            var r = parseInt(hex.slice(1,3),16);\r\n            var g = parseInt(hex.slice(3,5),16);\r\n            var b = parseInt(hex.slice(5,7),16);\r\n            document.getElementById('cg_r').value = r;\r\n            document.getElementById('cg_g').value = g;\r\n            document.getElementById('cg_b').value = b;\r\n            cs2cg_update();\r\n        };\r\n\r\n        function getVal(id) { return parseFloat(document.getElementById(id).value); }\r\n        function getCheck(id) { return document.getElementById(id).checked ? 1 : 0; }\r\n\r\n        function getColor() {\r\n            if (selectedColor !== 0) return colorMap[selectedColor];\r\n            return { r: getVal('cg_r'), g: getVal('cg_g'), b: getVal('cg_b') };\r\n        }\r\n\r\n        window.cs2cg_update = function() {\r\n            \/\/ update display values\r\n            var ids = ['size','thick','gap','alpha','outlinethick','dotsize','splitdist','fixedgap'];\r\n            ids.forEach(function(k){\r\n                var el = document.getElementById('cv_'+k);\r\n                if (el) el.textContent = document.getElementById('cg_'+k).value;\r\n            });\r\n            document.getElementById('cv_t').textContent = getCheck('cg_t');\r\n            document.getElementById('cv_dot').textContent = getCheck('cg_dot');\r\n            document.getElementById('cv_outline').textContent = getCheck('cg_outline');\r\n            document.getElementById('cv_usealpha').textContent = getCheck('cg_usealpha');\r\n            document.getElementById('cv_sniper').textContent = getCheck('cg_sniper');\r\n            document.getElementById('cv_recoil').textContent = getCheck('cg_recoil');\r\n            document.getElementById('cv_style').textContent = document.getElementById('cg_style').value;\r\n\r\n            var rgb = getColor();\r\n            document.getElementById('cv_rgb').textContent = rgb.r+'\/'+rgb.g+'\/'+rgb.b;\r\n\r\n            cs2cg_drawPreview();\r\n            cs2cg_buildOutput();\r\n        };\r\n\r\n        function cs2cg_drawPreview() {\r\n            var canvas = document.getElementById('cs2cg-canvas');\r\n            var ctx = canvas.getContext('2d');\r\n            var w = canvas.width, h = canvas.height;\r\n            var cx = w\/2, cy = h\/2;\r\n\r\n            ctx.clearRect(0,0,w,h);\r\n\r\n            var style    = parseInt(document.getElementById('cg_style').value);\r\n            var size     = getVal('cg_size') * 5;\r\n            var thick    = getVal('cg_thick') * 2.5;\r\n            var gap      = getVal('cg_gap') * 2.5;\r\n            var tStyle   = getCheck('cg_t');\r\n            var dot      = getCheck('cg_dot');\r\n            var dotSize  = getVal('cg_dotsize') * 2;\r\n            var outline  = getCheck('cg_outline');\r\n            var outT     = getVal('cg_outlinethick');\r\n            var alpha    = getCheck('cg_usealpha') ? (getVal('cg_alpha')\/255) : 1;\r\n            var rgb      = getColor();\r\n\r\n            var colStr = 'rgba('+rgb.r+','+rgb.g+','+rgb.b+','+alpha+')';\r\n            var outStr = 'rgba(0,0,0,'+(alpha*0.85)+')';\r\n\r\n            \/\/ helper: draw one line segment\r\n            function drawLine(x1,y1,x2,y2,color,w) {\r\n                ctx.save();\r\n                ctx.strokeStyle = color;\r\n                ctx.lineWidth = w;\r\n                ctx.lineCap = 'square';\r\n                ctx.beginPath();\r\n                ctx.moveTo(x1,y1);\r\n                ctx.lineTo(x2,y2);\r\n                ctx.stroke();\r\n                ctx.restore();\r\n            }\r\n\r\n            if (style === 0) {\r\n                \/\/ dot only\r\n                if (outline) {\r\n                    ctx.save();\r\n                    ctx.fillStyle = outStr;\r\n                    ctx.beginPath();\r\n                    ctx.arc(cx,cy,dotSize+outT,0,Math.PI*2);\r\n                    ctx.fill();\r\n                    ctx.restore();\r\n                }\r\n                ctx.save();\r\n                ctx.fillStyle = colStr;\r\n                ctx.beginPath();\r\n                ctx.arc(cx,cy,dotSize,0,Math.PI*2);\r\n                ctx.fill();\r\n                ctx.restore();\r\n                return;\r\n            }\r\n\r\n            var lineStart = gap + thick\/2;\r\n            var lineEnd   = gap + thick\/2 + size;\r\n\r\n            \/\/ outline pass\r\n            if (outline) {\r\n                var ot = thick + outT*2;\r\n                \/\/ right\r\n                drawLine(cx+lineStart, cy, cx+lineEnd, cy, outStr, ot+outT*2);\r\n                \/\/ left\r\n                drawLine(cx-lineStart, cy, cx-lineEnd, cy, outStr, ot+outT*2);\r\n                \/\/ bottom\r\n                drawLine(cx, cy+lineStart, cx, cy+lineEnd, outStr, ot+outT*2);\r\n                \/\/ top (if not T-style)\r\n                if (!tStyle) drawLine(cx, cy-lineStart, cx, cy-lineEnd, outStr, ot+outT*2);\r\n            }\r\n\r\n            \/\/ color pass\r\n            drawLine(cx+lineStart, cy, cx+lineEnd, cy, colStr, thick);\r\n            drawLine(cx-lineStart, cy, cx-lineEnd, cy, colStr, thick);\r\n            drawLine(cx, cy+lineStart, cx, cy+lineEnd, colStr, thick);\r\n            if (!tStyle) drawLine(cx, cy-lineStart, cx, cy-lineEnd, colStr, thick);\r\n\r\n            \/\/ center dot\r\n            if (dot) {\r\n                if (outline) {\r\n                    ctx.save();\r\n                    ctx.fillStyle = outStr;\r\n                    ctx.beginPath();\r\n                    ctx.arc(cx,cy,dotSize+outT,0,Math.PI*2);\r\n                    ctx.fill();\r\n                    ctx.restore();\r\n                }\r\n                ctx.save();\r\n                ctx.fillStyle = colStr;\r\n                ctx.beginPath();\r\n                ctx.arc(cx,cy,dotSize,0,Math.PI*2);\r\n                ctx.fill();\r\n                ctx.restore();\r\n            }\r\n        }\r\n\r\n        function cs2cg_buildOutput() {\r\n            var style     = document.getElementById('cg_style').value;\r\n            var size      = document.getElementById('cg_size').value;\r\n            var thick     = document.getElementById('cg_thick').value;\r\n            var gap       = document.getElementById('cg_gap').value;\r\n            var tStyle    = getCheck('cg_t');\r\n            var dot       = getCheck('cg_dot');\r\n            var dotSize   = document.getElementById('cg_dotsize').value;\r\n            var outline   = getCheck('cg_outline');\r\n            var outT      = document.getElementById('cg_outlinethick').value;\r\n            var alpha     = document.getElementById('cg_alpha').value;\r\n            var useAlpha  = getCheck('cg_usealpha');\r\n            var color     = selectedColor;\r\n            var rgb       = getColor();\r\n            var splitdist = document.getElementById('cg_splitdist').value;\r\n            var fixedgap  = document.getElementById('cg_fixedgap').value;\r\n            var sniper    = getCheck('cg_sniper');\r\n            var recoil    = getCheck('cg_recoil');\r\n\r\n            var lines = [\r\n                '\/\/ CS2 Crosshair Config',\r\n                '\/\/ Generated by CS2 Crosshair Generator',\r\n                '',\r\n                'cl_crosshairstyle '        + style,\r\n                'cl_crosshairsize '         + size,\r\n                'cl_crosshairthickness '    + thick,\r\n                'cl_crosshairgap '          + gap,\r\n                'cl_crosshair_t '           + tStyle,\r\n                'cl_crosshairdot '          + dot,\r\n                'cl_crosshairdot_size '     + dotSize,\r\n                'cl_crosshair_drawoutline ' + outline,\r\n                'cl_crosshair_outlinethickness ' + outT,\r\n                'cl_crosshaircolor '        + color,\r\n                'cl_crosshaircolor_r '      + rgb.r,\r\n                'cl_crosshaircolor_g '      + rgb.g,\r\n                'cl_crosshaircolor_b '      + rgb.b,\r\n                'cl_crosshairalpha '        + alpha,\r\n                'cl_crosshairusealpha '     + useAlpha,\r\n                'cl_crosshair_dynamic_splitdist ' + splitdist,\r\n                'cl_fixedcrosshairgap '     + fixedgap,\r\n                'cl_crosshair_sniper_show ' + sniper,\r\n                'cl_crosshair_recoil '      + recoil,\r\n            ];\r\n\r\n            document.getElementById('cs2cg-output').textContent = lines.join('\\n');\r\n        }\r\n\r\n        window.cs2cg_download = function() {\r\n            var content = document.getElementById('cs2cg-output').textContent;\r\n            var blob = new Blob([content], {type: 'text\/plain'});\r\n            var url  = URL.createObjectURL(blob);\r\n            var a    = document.createElement('a');\r\n            a.href     = url;\r\n            a.download = 'crosshair.cfg';\r\n            document.body.appendChild(a);\r\n            a.click();\r\n            document.body.removeChild(a);\r\n            URL.revokeObjectURL(url);\r\n        };\r\n\r\n        \/\/ init\r\n        cs2cg_update();\r\n\r\n    })();\r\n    <\/script>\r\n\r\n    \n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is for Settings and Config Stuff. Still Work in Progress.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[],"map":[],"class_list":["post-155","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/pages\/155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/comments?post=155"}],"version-history":[{"count":7,"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/pages\/155\/revisions"}],"predecessor-version":[{"id":247,"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/pages\/155\/revisions\/247"}],"wp:attachment":[{"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/media?parent=155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/categories?post=155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/tags?post=155"},{"taxonomy":"map","embeddable":true,"href":"https:\/\/luci.postcatz.com\/index.php\/wp-json\/wp\/v2\/map?post=155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}