<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[AssaultCube - Forum - Mapping and Modding]]></title>
		<link>https://forum.cubers.net/</link>
		<description><![CDATA[AssaultCube - Forum - https://forum.cubers.net]]></description>
		<pubDate>Sat, 04 Apr 2026 13:28:50 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Custom Maps Port/Photogrammetry Concept]]></title>
			<link>https://forum.cubers.net/thread-9165.html</link>
			<pubDate>Sat, 19 Apr 2025 17:26:20 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=18435">3XIX</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9165.html</guid>
			<description><![CDATA[Hey,<br />
<br />
today i wanna show a method how nearly every 3D Artist/Mapper/Modder could bring maps to AC with baked lighting.<br />
<br />
This method (photogrammetry) also will result in the best performance/quality ratio possible. If we go for the optimization step after creating, it does pretty much the same thing i´ve shown few years ago but automaticly and better, comes however with some flaws.<br />
<br />
Here are some concepts:<br />
<br />
Counter Strike 2, Dust2 part (quick&amp;dirty):<br />
<br />
<img src="https://i.imgur.com/ud6NdFT.jpeg" loading="lazy"  alt="[Image: ud6NdFT.jpeg]" class="mycode_img" /><br />
<br />
Dust2, 1v1 aim:<br />
<br />
<img src="https://i.imgur.com/yLJUYez.jpeg" loading="lazy"  alt="[Image: yLJUYez.jpeg]" class="mycode_img" /><br />
<br />
This is pretty much how you could create a map in UE5 or any other engine with Raytracing light, capture it for photogrammetry, optimize and port to AC. However since photogrammetry has its flaws, you shouldn´t add shiny surfaces, plants or other high detailed models to your map, those scans are harder to reconstruct or bring down to the optimal performance level (tris)<br />
<br />
Additionally, while some would like to create maps that way, we also could scan real areas like softair halls etc. and bring more photorealism to the game if that would even fit (character models, weapons etc). I´ve already tested this a little with small scans made by others, since for this we would need a really good camera + fitting location.<br />
<br />
tilbury fort concept:<br />
<br />
<img src="https://i.imgur.com/ws9CUGs.jpeg" loading="lazy"  alt="[Image: ws9CUGs.jpeg]" class="mycode_img" /><br />
<br />
Some editor external shader testing (Unreal Engine 4 tonemapper):<br />
<br />
<img src="https://i.imgur.com/yaHefla.jpeg" loading="lazy"  alt="[Image: yaHefla.jpeg]" class="mycode_img" /><br />
<br />
Iraq destroyed hospital (Not an optimal scan &amp; dirty):<br />
<img src="https://i.imgur.com/CwCKHye.jpeg" loading="lazy"  alt="[Image: CwCKHye.jpeg]" class="mycode_img" /><br />
<br />
This could be just the start of something awesome, but it would need the help of others (scan, create, optimize, port, tex optimizations/fine tuning)<br />
<br />
Each of those steps eat alot of time, if we wanna archive good results. Same goes for custom created maps.<br />
<br />
Some of those concepts i´ve zipped, the idea is to find out how it really performs and what you think (no collisions etc.)<br />
<br />
Dust aim:<br />
<a href="https://workupload.com/file/DsH5tJqwaUT" target="_blank" rel="noopener" class="mycode_url">https://workupload.com/file/DsH5tJqwaUT</a><br />
<br />
Tilbury:<br />
<a href="https://workupload.com/file/7FzztfU52qW" target="_blank" rel="noopener" class="mycode_url">https://workupload.com/file/7FzztfU52qW</a><br />
<br />
Iraq:<br />
<a href="https://workupload.com/file/rb9adXDHMYS" target="_blank" rel="noopener" class="mycode_url">https://workupload.com/file/rb9adXDHMYS</a><br />
<br />
[Make sure to enable Anisotropic Filtering x16 in game, gpu driver]]]></description>
			<content:encoded><![CDATA[Hey,<br />
<br />
today i wanna show a method how nearly every 3D Artist/Mapper/Modder could bring maps to AC with baked lighting.<br />
<br />
This method (photogrammetry) also will result in the best performance/quality ratio possible. If we go for the optimization step after creating, it does pretty much the same thing i´ve shown few years ago but automaticly and better, comes however with some flaws.<br />
<br />
Here are some concepts:<br />
<br />
Counter Strike 2, Dust2 part (quick&amp;dirty):<br />
<br />
<img src="https://i.imgur.com/ud6NdFT.jpeg" loading="lazy"  alt="[Image: ud6NdFT.jpeg]" class="mycode_img" /><br />
<br />
Dust2, 1v1 aim:<br />
<br />
<img src="https://i.imgur.com/yLJUYez.jpeg" loading="lazy"  alt="[Image: yLJUYez.jpeg]" class="mycode_img" /><br />
<br />
This is pretty much how you could create a map in UE5 or any other engine with Raytracing light, capture it for photogrammetry, optimize and port to AC. However since photogrammetry has its flaws, you shouldn´t add shiny surfaces, plants or other high detailed models to your map, those scans are harder to reconstruct or bring down to the optimal performance level (tris)<br />
<br />
Additionally, while some would like to create maps that way, we also could scan real areas like softair halls etc. and bring more photorealism to the game if that would even fit (character models, weapons etc). I´ve already tested this a little with small scans made by others, since for this we would need a really good camera + fitting location.<br />
<br />
tilbury fort concept:<br />
<br />
<img src="https://i.imgur.com/ws9CUGs.jpeg" loading="lazy"  alt="[Image: ws9CUGs.jpeg]" class="mycode_img" /><br />
<br />
Some editor external shader testing (Unreal Engine 4 tonemapper):<br />
<br />
<img src="https://i.imgur.com/yaHefla.jpeg" loading="lazy"  alt="[Image: yaHefla.jpeg]" class="mycode_img" /><br />
<br />
Iraq destroyed hospital (Not an optimal scan &amp; dirty):<br />
<img src="https://i.imgur.com/CwCKHye.jpeg" loading="lazy"  alt="[Image: CwCKHye.jpeg]" class="mycode_img" /><br />
<br />
This could be just the start of something awesome, but it would need the help of others (scan, create, optimize, port, tex optimizations/fine tuning)<br />
<br />
Each of those steps eat alot of time, if we wanna archive good results. Same goes for custom created maps.<br />
<br />
Some of those concepts i´ve zipped, the idea is to find out how it really performs and what you think (no collisions etc.)<br />
<br />
Dust aim:<br />
<a href="https://workupload.com/file/DsH5tJqwaUT" target="_blank" rel="noopener" class="mycode_url">https://workupload.com/file/DsH5tJqwaUT</a><br />
<br />
Tilbury:<br />
<a href="https://workupload.com/file/7FzztfU52qW" target="_blank" rel="noopener" class="mycode_url">https://workupload.com/file/7FzztfU52qW</a><br />
<br />
Iraq:<br />
<a href="https://workupload.com/file/rb9adXDHMYS" target="_blank" rel="noopener" class="mycode_url">https://workupload.com/file/rb9adXDHMYS</a><br />
<br />
[Make sure to enable Anisotropic Filtering x16 in game, gpu driver]]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[cargo by RKTnoob]]></title>
			<link>https://forum.cubers.net/thread-9152.html</link>
			<pubDate>Wed, 30 Aug 2023 22:39:14 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=15284">RKTnoob</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9152.html</guid>
			<description><![CDATA[cargo, a map I didn't finish for the last compo finally got finished.<br />
<img src="https://i.postimg.cc/k6X4XSSz/20230830-22-32-30-cargo-TDM.jpg" loading="lazy"  alt="[Image: 20230830-22-32-30-cargo-TDM.jpg]" class="mycode_img" /><img src="https://i.postimg.cc/rRDw5LQ9/20230830-22-32-46-cargo-TDM.jpg" loading="lazy"  alt="[Image: 20230830-22-32-46-cargo-TDM.jpg]" class="mycode_img" /><img src="https://i.postimg.cc/G87pBpJ2/20230830-22-33-13-cargo-TDM.jpg" loading="lazy"  alt="[Image: 20230830-22-33-13-cargo-TDM.jpg]" class="mycode_img" /><br />
There's a bunch of new textures on it, so I'll just upload all my stuff, as there's quite a lot of it, I can't sort all that to pick the exact ones. (overwrite anything if asked)<br />
Textures:<br />
<a href="https://fastupload.io/en/wu9segXd5V59x1Z/file" target="_blank" rel="noopener" class="mycode_url">https://fastupload.io/en/wu9segXd5V59x1Z/file</a> (364MB)<br />
Map:<br />
<a href="https://fastupload.io/QvMhptMoNu84lN9/file" target="_blank" rel="noopener" class="mycode_url">https://fastupload.io/QvMhptMoNu84lN9/file</a>]]></description>
			<content:encoded><![CDATA[cargo, a map I didn't finish for the last compo finally got finished.<br />
<img src="https://i.postimg.cc/k6X4XSSz/20230830-22-32-30-cargo-TDM.jpg" loading="lazy"  alt="[Image: 20230830-22-32-30-cargo-TDM.jpg]" class="mycode_img" /><img src="https://i.postimg.cc/rRDw5LQ9/20230830-22-32-46-cargo-TDM.jpg" loading="lazy"  alt="[Image: 20230830-22-32-46-cargo-TDM.jpg]" class="mycode_img" /><img src="https://i.postimg.cc/G87pBpJ2/20230830-22-33-13-cargo-TDM.jpg" loading="lazy"  alt="[Image: 20230830-22-33-13-cargo-TDM.jpg]" class="mycode_img" /><br />
There's a bunch of new textures on it, so I'll just upload all my stuff, as there's quite a lot of it, I can't sort all that to pick the exact ones. (overwrite anything if asked)<br />
Textures:<br />
<a href="https://fastupload.io/en/wu9segXd5V59x1Z/file" target="_blank" rel="noopener" class="mycode_url">https://fastupload.io/en/wu9segXd5V59x1Z/file</a> (364MB)<br />
Map:<br />
<a href="https://fastupload.io/QvMhptMoNu84lN9/file" target="_blank" rel="noopener" class="mycode_url">https://fastupload.io/QvMhptMoNu84lN9/file</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Handy Utils (useful scripts)]]></title>
			<link>https://forum.cubers.net/thread-9151.html</link>
			<pubDate>Tue, 15 Aug 2023 19:06:10 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=16805">Infinity</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9151.html</guid>
			<description><![CDATA[I want to give you some updated scripts:<br />
- In <span style="font-weight: bold;" class="mycode_b">autoexec</span>, there are some misc settings, as toggleconsole on F, demo viewing binds (arrows) or inter menu (bind with “<span style="font-weight: bold;" class="mycode_b">M</span>”): <a href="https://www.mediafire.com/file/jyyk1gpfqq0hfd2/autoexec.cfg/file" target="_blank" rel="noopener" class="mycode_url">https://www.mediafire.com/file/jyyk1gpfq...c.cfg/file</a><br />
<br />
- <span style="font-weight: bold;" class="mycode_b">Teamkillers menu</span> is another modification of the script made by Thrawn, just adapted and colored. Really useful to hatch an eye to teamkillers. I binded it in letter “<span style="font-weight: bold;" class="mycode_b">C</span>”: <a href="https://www.mediafire.com/file/yngv5pufnszyq8q/teamkillers_menu.cfg/file" target="_blank" rel="noopener" class="mycode_url">https://www.mediafire.com/file/yngv5pufn...u.cfg/file</a>]]></description>
			<content:encoded><![CDATA[I want to give you some updated scripts:<br />
- In <span style="font-weight: bold;" class="mycode_b">autoexec</span>, there are some misc settings, as toggleconsole on F, demo viewing binds (arrows) or inter menu (bind with “<span style="font-weight: bold;" class="mycode_b">M</span>”): <a href="https://www.mediafire.com/file/jyyk1gpfqq0hfd2/autoexec.cfg/file" target="_blank" rel="noopener" class="mycode_url">https://www.mediafire.com/file/jyyk1gpfq...c.cfg/file</a><br />
<br />
- <span style="font-weight: bold;" class="mycode_b">Teamkillers menu</span> is another modification of the script made by Thrawn, just adapted and colored. Really useful to hatch an eye to teamkillers. I binded it in letter “<span style="font-weight: bold;" class="mycode_b">C</span>”: <a href="https://www.mediafire.com/file/yngv5pufnszyq8q/teamkillers_menu.cfg/file" target="_blank" rel="noopener" class="mycode_url">https://www.mediafire.com/file/yngv5pufn...u.cfg/file</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Weapon Port from SoF Payback & AC]]></title>
			<link>https://forum.cubers.net/thread-9142.html</link>
			<pubDate>Tue, 20 Jun 2023 14:52:21 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=18435">3XIX</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9142.html</guid>
			<description><![CDATA[Hey,<br />
<br />
some guns ported from Arctic Combat &amp; Soldier of Fortune.<br />
<br />
MP5:<br />
<img src="https://i.imgur.com/hxL0Vg5.jpg" loading="lazy"  alt="[Image: hxL0Vg5.jpg]" class="mycode_img" /><br />
<br />
Sniper:<br />
<img src="https://i.imgur.com/6MuqgLa.jpg" loading="lazy"  alt="[Image: 6MuqgLa.jpg]" class="mycode_img" /><br />
<br />
Glock 17:<br />
<img src="https://i.imgur.com/1jwA4QT.jpg" loading="lazy"  alt="[Image: 1jwA4QT.jpg]" class="mycode_img" /><br />
<br />
M4 Shotgun:<br />
<img src="https://i.imgur.com/fM0PdnP.jpg" loading="lazy"  alt="[Image: fM0PdnP.jpg]" class="mycode_img" /><br />
<br />
M14:<br />
<img src="https://i.imgur.com/7IDaX2m.jpg" loading="lazy"  alt="[Image: 7IDaX2m.jpg]" class="mycode_img" /><br />
<br />
G36:<br />
<img src="https://i.imgur.com/rlWWxBp.jpg" loading="lazy"  alt="[Image: rlWWxBp.jpg]" class="mycode_img" /><br />
<br />
<br />
Including new sounds. No world/menu md2 models (due to animations). No model backface removal. (for easier editing, if someone wanna make md2 versions). Tried to make it a mod-package but sounds didnt worked that way, therefore you have to go to the path "packages\audio\weapon" and rename it to "weapon_old", go to packages\models\weapons" and rename to "weapons_old" (Original backup). After that you can drag the packages folder into AssaultCube´s installation directory.<br />
<br />
Edit: Bukz put them into mod-packages, download links in his post. (Thanks)]]></description>
			<content:encoded><![CDATA[Hey,<br />
<br />
some guns ported from Arctic Combat &amp; Soldier of Fortune.<br />
<br />
MP5:<br />
<img src="https://i.imgur.com/hxL0Vg5.jpg" loading="lazy"  alt="[Image: hxL0Vg5.jpg]" class="mycode_img" /><br />
<br />
Sniper:<br />
<img src="https://i.imgur.com/6MuqgLa.jpg" loading="lazy"  alt="[Image: 6MuqgLa.jpg]" class="mycode_img" /><br />
<br />
Glock 17:<br />
<img src="https://i.imgur.com/1jwA4QT.jpg" loading="lazy"  alt="[Image: 1jwA4QT.jpg]" class="mycode_img" /><br />
<br />
M4 Shotgun:<br />
<img src="https://i.imgur.com/fM0PdnP.jpg" loading="lazy"  alt="[Image: fM0PdnP.jpg]" class="mycode_img" /><br />
<br />
M14:<br />
<img src="https://i.imgur.com/7IDaX2m.jpg" loading="lazy"  alt="[Image: 7IDaX2m.jpg]" class="mycode_img" /><br />
<br />
G36:<br />
<img src="https://i.imgur.com/rlWWxBp.jpg" loading="lazy"  alt="[Image: rlWWxBp.jpg]" class="mycode_img" /><br />
<br />
<br />
Including new sounds. No world/menu md2 models (due to animations). No model backface removal. (for easier editing, if someone wanna make md2 versions). Tried to make it a mod-package but sounds didnt worked that way, therefore you have to go to the path "packages\audio\weapon" and rename it to "weapon_old", go to packages\models\weapons" and rename to "weapons_old" (Original backup). After that you can drag the packages folder into AssaultCube´s installation directory.<br />
<br />
Edit: Bukz put them into mod-packages, download links in his post. (Thanks)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[AC 1.3+ modpackages .zip downloads]]></title>
			<link>https://forum.cubers.net/thread-9138.html</link>
			<pubDate>Mon, 12 Jun 2023 01:19:57 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=124">Bukz</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9138.html</guid>
			<description><![CDATA[<span style="font-size: x-small;" class="mycode_size">Original post regarding older weapon mods in this thread:</span><br />
<span style="font-size: x-small;" class="mycode_size">I don't know the authors or the licensing information on these files, as the source I obtained them from did not provide them. I provided credit and licensing information where I could. If you recognize a mod and can provide author/license information I will gladly update the modpackages to credit the original creators and provide license files! I did NOT create any of the models in this thread, I am simply repackaging them as AC 1.3 modpackages for convenience/the benefit of the community. I personally believe the modding community is the most important part of this community (aside from well...players) and I'm sad to see that without Akimbo it has more or less died. So here are some weapon mods to play around with!</span><br />
<hr class="mycode_hr" />
These modpackages are really easy to install, just download any of the .zip files linked in this thread, and drop them in the "mods" folder in your AssaultCube installation folder. Launch AC, navigate to Settings Menu &gt; Mod package settings - if you did everything properly, you should see something similar to this:<br />
<br />
<img src="https://i.postimg.cc/fb0RRmbh/modmenu.jpg" loading="lazy"  alt="[Image: modmenu.jpg]" class="mycode_img" /><br />
<br />
Click on the mod you want to enable, and click "Add to the list of used mod packages". Restart AC, and enjoy the mod! This same menu can be used to disable the mod(s) anytime you wish, just remember you have to restart AC for the modpackages changes to take effect since different models need to be loaded.<br />
<br />
<hr class="mycode_hr" />
<span style="font-size: x-large;" class="mycode_size">WEAPON MODS</span><br />
<hr class="mycode_hr" />
Custom Assault Rifle - AR15 /w custom weapon and reload sounds by |BC|Matasar:<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/0QHthSrM/20230621-12-07-14-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-12-07-14-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/dWVywDBI#oX5zB3OABHe3jIDX2IFk5Epz5hsQT3QT1SgameLe6vk" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/dWVywDBI#oX5zB3OABH...SgameLe6vk</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom Assault Rifle - G36 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<img src="https://i.postimg.cc/DyHkftZr/20230621-05-39-19-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-05-39-19-ac-shine-TDM.jpg]" class="mycode_img" /><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/BTl1nJKZ#mJXMXA06Tdkw_2SotGFwThmR5DD9IbX4ozwLi9f_G38" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/BTl1nJKZ#mJXMXA06Td...zwLi9f_G38</a></span><br />
<br />
Custom Sniper Rifle:<br />
<img src="https://i.postimg.cc/8cLypy2r/20230612-00-30-07-ac-shine-TDM-Sniper.jpg" loading="lazy"  alt="[Image: 20230612-00-30-07-ac-shine-TDM-Sniper.jpg]" class="mycode_img" /><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/EGdhjTJb#aqtZje1mwxyoKPBahHelqXEY6J7l1GvQ7IXigrfF38c" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/EGdhjTJb#aqtZje1mwx...IXigrfF38c</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom Sniper Rifle - M04A3 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/BnwYpSY5/20230621-09-03-07-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-09-03-07-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/kGFVRKRL#6BKCAkYiqOKnB_oE1ZdGITMAXzFYKy6nO4LKDjmZZOY" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/kGFVRKRL#6BKCAkYiqO...4LKDjmZZOY</a></span><br />
<br />
Custom Shotgun w/ ejecting shell animation:<br />
<img src="https://i.postimg.cc/jds6ndN1/20230612-00-30-47-ac-shine-TDM-Shotty.jpg" loading="lazy"  alt="[Image: 20230612-00-30-47-ac-shine-TDM-Shotty.jpg]" class="mycode_img" /><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/NS9SSbID#MO1qhzK47GvVUxDpA8GF4J5ewlEuOSe6JJ1VWyjJA4I" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/NS9SSbID#MO1qhzK47G...J1VWyjJA4I</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom Shotgun - M4 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/Ssv3w15Y/20230621-08-20-10-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-08-20-10-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/UPEEgJSJ#D13O-35_VkO_x2PuAVw-OzcuhfbJPoUVFnMnD6z2qIc" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/UPEEgJSJ#D13O-35_Vk...nMnD6z2qIc</a></span><br />
<br />
Custom Carbine /w lever action animation:<br />
<img src="https://i.postimg.cc/T1QDJgm4/20230612-00-31-18-ac-shine-TDM-Carbine.jpg" loading="lazy"  alt="[Image: 20230612-00-31-18-ac-shine-TDM-Carbine.jpg]" class="mycode_img" /><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/UD9nGajJ#o7mr8zlL7qtzI_CoIQ3hDWzjpVz6CA44jIpWhFooAds" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/UD9nGajJ#o7mr8zlL7q...IpWhFooAds</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom Carbine - M14 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<span style="font-size: small;" class="mycode_size"><img src="https://i.postimg.cc/T29KBpV6/20230621-09-18-43-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-09-18-43-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/IGtDHKxL#EAizTAfz3PADum7ZfpNMRZedfRR3V9pm3nCAsYB_iGk" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/IGtDHKxL#EAizTAfz3P...nCAsYB_iGk</a></span><br />
<br />
<span style="font-size: small;" class="mycode_size">Custom SMG:</span><br />
<span style="font-size: small;" class="mycode_size"><img src="https://i.postimg.cc/9fTwNvZT/20230612-00-33-26-ac-shine-TDM-SMG.jpg" loading="lazy"  alt="[Image: 20230612-00-33-26-ac-shine-TDM-SMG.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/VG8SwYLS#ihgde7BYN2r3n7e31lX2e_nQ7LoPhRm3x-p4WvLTntE" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/VG8SwYLS#ihgde7BYN2...-p4WvLTntE</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-8978.html" target="_blank" rel="noopener" class="mycode_url">Custom SMG - Minigun /w spinning barrels animation by kemoni221</a>**<br />
<span style="font-size: small;" class="mycode_size"><img src="https://i.postimg.cc/LsVJdRDd/20230621-10-03-16-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-10-03-16-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/5bN3mC4K#ecZoPqBiH5vWmIXf8TZBaZa02VrUBIjISFa7CeYCq9s" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/5bN3mC4K#ecZoPqBiH5...Fa7CeYCq9s</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom SMG - MP5 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<span style="font-size: small;" class="mycode_size"><img src="https://i.postimg.cc/Wp0Hh0nL/20230621-06-24-08-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-06-24-08-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/hbt2iKrY#cp4OgzBNgg9kbOiqAF-0fJ77Pjzsgp4Wb36DZN7BSRM" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/hbt2iKrY#cp4OgzBNgg...36DZN7BSRM</a></span><br />
<br />
Custom Pistol:<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/9X1RSPRx/20230612-00-33-55-ac-shine-TDM-Pistol.jpg" loading="lazy"  alt="[Image: 20230612-00-33-55-ac-shine-TDM-Pistol.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/Za9GEabA#4l6GrBLDgsUdC9Aw7B0PnnnTMZCxyyCD0IRiGJ2_b8w" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/Za9GEabA#4l6GrBLDgs...IRiGJ2_b8w</a></span><br />
<br />
Custom Pistol 2 /w custom weapon sound:<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/zfLZKP18/20230620-16-50-44-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230620-16-50-44-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/AOMDyAjT#He1kjOKRPvXHNTV2n-U1EgrRhTnFM9WRJlCeIbS2pa0" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/AOMDyAjT#He1kjOKRPv...lCeIbS2pa0</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom Pistol - Glock 17 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/VLSnf0Cy/20230621-08-03-00-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-08-03-00-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/NXlgECQL#DCPKh0lc7_AA7JAa71sS0zqGAMS2MnniheSjMOp6qZA" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/NXlgECQL#DCPKh0lc7_...eSjMOp6qZA</a></span><br />
<br />
Custom Pistol - Desert Eagle .50 cal by Victor Santanna:<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/2ycFHDqm/20230621-15-11-47-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-15-11-47-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/EC1SSTgQ#DFPv7LEE2iotXV-9YxhQGMRtXTA-_KoaC8G2tR5KAmY" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/EC1SSTgQ#DFPv7LEE2i...8G2tR5KAmY</a></span><br />
<br />
Custom Knife /w blade wiping animation:<br />
<img src="https://i.postimg.cc/ZnDqqc64/20230612-00-34-20-ac-shine-TDM-Knife.jpg" loading="lazy"  alt="[Image: 20230612-00-34-20-ac-shine-TDM-Knife.jpg]" class="mycode_img" /><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/gCESGLwB#tlQYkRYiq16Qghc2_iQwtS8FZwbFKC9UnPZ2aseQaBY" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/gCESGLwB#tlQYkRYiq1...PZ2aseQaBY</a></span><br />
<br />
<span style="font-size: medium;" class="mycode_size">Custom Grenade:</span><br />
<img src="https://i.postimg.cc/RVHmf4Bc/20230612-01-14-12-ac-shine-TDM-Grenade.jpg" loading="lazy"  alt="[Image: 20230612-01-14-12-ac-shine-TDM-Grenade.jpg]" class="mycode_img" /><span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/pGsHDbRR#wFXhOY70CNFS2Kte2iCc9NfGFKv99GjUzBasw_o19UM" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/pGsHDbRR#wFXhOY70CN...Basw_o19UM</a></span><br />
<br />
<span style="font-size: small;" class="mycode_size">I really like the blade wiping animation on the knife, whoever created it obviously knew exactly what they were doing!</span>]]></description>
			<content:encoded><![CDATA[<span style="font-size: x-small;" class="mycode_size">Original post regarding older weapon mods in this thread:</span><br />
<span style="font-size: x-small;" class="mycode_size">I don't know the authors or the licensing information on these files, as the source I obtained them from did not provide them. I provided credit and licensing information where I could. If you recognize a mod and can provide author/license information I will gladly update the modpackages to credit the original creators and provide license files! I did NOT create any of the models in this thread, I am simply repackaging them as AC 1.3 modpackages for convenience/the benefit of the community. I personally believe the modding community is the most important part of this community (aside from well...players) and I'm sad to see that without Akimbo it has more or less died. So here are some weapon mods to play around with!</span><br />
<hr class="mycode_hr" />
These modpackages are really easy to install, just download any of the .zip files linked in this thread, and drop them in the "mods" folder in your AssaultCube installation folder. Launch AC, navigate to Settings Menu &gt; Mod package settings - if you did everything properly, you should see something similar to this:<br />
<br />
<img src="https://i.postimg.cc/fb0RRmbh/modmenu.jpg" loading="lazy"  alt="[Image: modmenu.jpg]" class="mycode_img" /><br />
<br />
Click on the mod you want to enable, and click "Add to the list of used mod packages". Restart AC, and enjoy the mod! This same menu can be used to disable the mod(s) anytime you wish, just remember you have to restart AC for the modpackages changes to take effect since different models need to be loaded.<br />
<br />
<hr class="mycode_hr" />
<span style="font-size: x-large;" class="mycode_size">WEAPON MODS</span><br />
<hr class="mycode_hr" />
Custom Assault Rifle - AR15 /w custom weapon and reload sounds by |BC|Matasar:<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/0QHthSrM/20230621-12-07-14-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-12-07-14-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/dWVywDBI#oX5zB3OABHe3jIDX2IFk5Epz5hsQT3QT1SgameLe6vk" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/dWVywDBI#oX5zB3OABH...SgameLe6vk</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom Assault Rifle - G36 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<img src="https://i.postimg.cc/DyHkftZr/20230621-05-39-19-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-05-39-19-ac-shine-TDM.jpg]" class="mycode_img" /><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/BTl1nJKZ#mJXMXA06Tdkw_2SotGFwThmR5DD9IbX4ozwLi9f_G38" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/BTl1nJKZ#mJXMXA06Td...zwLi9f_G38</a></span><br />
<br />
Custom Sniper Rifle:<br />
<img src="https://i.postimg.cc/8cLypy2r/20230612-00-30-07-ac-shine-TDM-Sniper.jpg" loading="lazy"  alt="[Image: 20230612-00-30-07-ac-shine-TDM-Sniper.jpg]" class="mycode_img" /><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/EGdhjTJb#aqtZje1mwxyoKPBahHelqXEY6J7l1GvQ7IXigrfF38c" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/EGdhjTJb#aqtZje1mwx...IXigrfF38c</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom Sniper Rifle - M04A3 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/BnwYpSY5/20230621-09-03-07-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-09-03-07-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/kGFVRKRL#6BKCAkYiqOKnB_oE1ZdGITMAXzFYKy6nO4LKDjmZZOY" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/kGFVRKRL#6BKCAkYiqO...4LKDjmZZOY</a></span><br />
<br />
Custom Shotgun w/ ejecting shell animation:<br />
<img src="https://i.postimg.cc/jds6ndN1/20230612-00-30-47-ac-shine-TDM-Shotty.jpg" loading="lazy"  alt="[Image: 20230612-00-30-47-ac-shine-TDM-Shotty.jpg]" class="mycode_img" /><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/NS9SSbID#MO1qhzK47GvVUxDpA8GF4J5ewlEuOSe6JJ1VWyjJA4I" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/NS9SSbID#MO1qhzK47G...J1VWyjJA4I</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom Shotgun - M4 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/Ssv3w15Y/20230621-08-20-10-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-08-20-10-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/UPEEgJSJ#D13O-35_VkO_x2PuAVw-OzcuhfbJPoUVFnMnD6z2qIc" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/UPEEgJSJ#D13O-35_Vk...nMnD6z2qIc</a></span><br />
<br />
Custom Carbine /w lever action animation:<br />
<img src="https://i.postimg.cc/T1QDJgm4/20230612-00-31-18-ac-shine-TDM-Carbine.jpg" loading="lazy"  alt="[Image: 20230612-00-31-18-ac-shine-TDM-Carbine.jpg]" class="mycode_img" /><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/UD9nGajJ#o7mr8zlL7qtzI_CoIQ3hDWzjpVz6CA44jIpWhFooAds" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/UD9nGajJ#o7mr8zlL7q...IpWhFooAds</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom Carbine - M14 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<span style="font-size: small;" class="mycode_size"><img src="https://i.postimg.cc/T29KBpV6/20230621-09-18-43-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-09-18-43-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/IGtDHKxL#EAizTAfz3PADum7ZfpNMRZedfRR3V9pm3nCAsYB_iGk" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/IGtDHKxL#EAizTAfz3P...nCAsYB_iGk</a></span><br />
<br />
<span style="font-size: small;" class="mycode_size">Custom SMG:</span><br />
<span style="font-size: small;" class="mycode_size"><img src="https://i.postimg.cc/9fTwNvZT/20230612-00-33-26-ac-shine-TDM-SMG.jpg" loading="lazy"  alt="[Image: 20230612-00-33-26-ac-shine-TDM-SMG.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/VG8SwYLS#ihgde7BYN2r3n7e31lX2e_nQ7LoPhRm3x-p4WvLTntE" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/VG8SwYLS#ihgde7BYN2...-p4WvLTntE</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-8978.html" target="_blank" rel="noopener" class="mycode_url">Custom SMG - Minigun /w spinning barrels animation by kemoni221</a>**<br />
<span style="font-size: small;" class="mycode_size"><img src="https://i.postimg.cc/LsVJdRDd/20230621-10-03-16-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-10-03-16-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/5bN3mC4K#ecZoPqBiH5vWmIXf8TZBaZa02VrUBIjISFa7CeYCq9s" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/5bN3mC4K#ecZoPqBiH5...Fa7CeYCq9s</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom SMG - MP5 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<span style="font-size: small;" class="mycode_size"><img src="https://i.postimg.cc/Wp0Hh0nL/20230621-06-24-08-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-06-24-08-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/hbt2iKrY#cp4OgzBNgg9kbOiqAF-0fJ77Pjzsgp4Wb36DZN7BSRM" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/hbt2iKrY#cp4OgzBNgg...36DZN7BSRM</a></span><br />
<br />
Custom Pistol:<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/9X1RSPRx/20230612-00-33-55-ac-shine-TDM-Pistol.jpg" loading="lazy"  alt="[Image: 20230612-00-33-55-ac-shine-TDM-Pistol.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/Za9GEabA#4l6GrBLDgsUdC9Aw7B0PnnnTMZCxyyCD0IRiGJ2_b8w" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/Za9GEabA#4l6GrBLDgs...IRiGJ2_b8w</a></span><br />
<br />
Custom Pistol 2 /w custom weapon sound:<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/zfLZKP18/20230620-16-50-44-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230620-16-50-44-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/AOMDyAjT#He1kjOKRPvXHNTV2n-U1EgrRhTnFM9WRJlCeIbS2pa0" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/AOMDyAjT#He1kjOKRPv...lCeIbS2pa0</a></span><br />
<br />
**<a href="https://forum.cubers.net/thread-9142.html" target="_blank" rel="noopener" class="mycode_url">Custom Pistol - Glock 17 /w custom weapon and reload sounds ported by 3XIX:</a>**<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/VLSnf0Cy/20230621-08-03-00-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-08-03-00-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/NXlgECQL#DCPKh0lc7_AA7JAa71sS0zqGAMS2MnniheSjMOp6qZA" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/NXlgECQL#DCPKh0lc7_...eSjMOp6qZA</a></span><br />
<br />
Custom Pistol - Desert Eagle .50 cal by Victor Santanna:<br />
<span style="font-size: large;" class="mycode_size"><img src="https://i.postimg.cc/2ycFHDqm/20230621-15-11-47-ac-shine-TDM.jpg" loading="lazy"  alt="[Image: 20230621-15-11-47-ac-shine-TDM.jpg]" class="mycode_img" /></span><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/EC1SSTgQ#DFPv7LEE2iotXV-9YxhQGMRtXTA-_KoaC8G2tR5KAmY" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/EC1SSTgQ#DFPv7LEE2i...8G2tR5KAmY</a></span><br />
<br />
Custom Knife /w blade wiping animation:<br />
<img src="https://i.postimg.cc/ZnDqqc64/20230612-00-34-20-ac-shine-TDM-Knife.jpg" loading="lazy"  alt="[Image: 20230612-00-34-20-ac-shine-TDM-Knife.jpg]" class="mycode_img" /><br />
<span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/gCESGLwB#tlQYkRYiq16Qghc2_iQwtS8FZwbFKC9UnPZ2aseQaBY" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/gCESGLwB#tlQYkRYiq1...PZ2aseQaBY</a></span><br />
<br />
<span style="font-size: medium;" class="mycode_size">Custom Grenade:</span><br />
<img src="https://i.postimg.cc/RVHmf4Bc/20230612-01-14-12-ac-shine-TDM-Grenade.jpg" loading="lazy"  alt="[Image: 20230612-01-14-12-ac-shine-TDM-Grenade.jpg]" class="mycode_img" /><span style="font-size: large;" class="mycode_size">Download: <a href="https://mega.nz/file/pGsHDbRR#wFXhOY70CNFS2Kte2iCc9NfGFKv99GjUzBasw_o19UM" target="_blank" rel="noopener" class="mycode_url">https://mega.nz/file/pGsHDbRR#wFXhOY70CN...Basw_o19UM</a></span><br />
<br />
<span style="font-size: small;" class="mycode_size">I really like the blade wiping animation on the knife, whoever created it obviously knew exactly what they were doing!</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Help me find an old script. (tools.cfg and config/docsection.cfg)]]></title>
			<link>https://forum.cubers.net/thread-9137.html</link>
			<pubDate>Sun, 11 Jun 2023 21:40:43 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=124">Bukz</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9137.html</guid>
			<description><![CDATA[V-Man really did a fantastic job creating tools.cfg many, many years ago and at the very least I would like to play around with some of the commands, but I might even make whatever changes are necessary to "port" it to AC 1.3 (with his permission of course)<br />
<br />
I'm looking for the most recent version that I can find but please post any copy that you may have of the old tools.cfg by V-Man!<br />
<br />
EDIT: XRD came through and found a copy of it, if you have a newer version of it please post it below! I am still looking for the accompanying config/docsection.cfg that was packaged along with tools.cfg as well<br />
<br />
<div class="codeblock"><div class="title"> <a href="#" onclick="selectCode(this); return false;">[SELECT ALL]</a> Code:</div><div class="body" dir="ltr"><code>// tools.cfg -- A collection of useful CubeScript tools by V-Man -- version 1.1.0.11, 4/2/2011<br />
// *************************************************************************************************************<br />
// integer, float, and number checks by Kirin.<br />
alias isfloat [strcmp (+f &#36;arg1 0) &#36;arg1]<br />
alias isint [strcmp (+ &#36;arg1 0) &#36;arg1]<br />
alias isnumber [|| (isfloat &#36;arg1) (isint &#36;arg1)]<br />
alias iseven [! (mod &#36;arg1 2)]<br />
// rndposneg -- generates a random number, positive or negative, with a given absolute value -- by V-Man<br />
alias rndposneg [result (concatword (at ["" -] (rnd 2)) (rnd &#36;arg1))]<br />
// Ranged random int script by DES|Bukz and V-Man<br />
alias rrnd [+ (rnd (- &#36;arg2 &#36;arg1)) &#36;arg1] // Result may not equal or exceed max<br />
// Ranged random floating point int script by DES|Bukz and V-Man<br />
// rrndf min max decimal - /echo (rrndf 3 3.14 2) - Outputs a random number from 3 to 3.14 with two decimal places.<br />
alias rrndf [divf (+f (rnd (*f (-f &#36;arg2 &#36;arg1) (pow 10 &#36;arg3))) (*f &#36;arg1 (pow 10 &#36;arg3))) (pow 10 &#36;arg3)]<br />
alias rndattract [<br />
 tmpresult = (average &#36;arg3 (rrnd (- &#36;arg1 &#36;arg3) (+ &#36;arg2 &#36;arg3)))<br />
 tmpresult = (average &#36;tmpresult &#36;arg3)<br />
 result &#36;tmpresult] // rndattract (min) (max) (attractor)<br />
alias larger [if (&gt;=f &#36;arg1 &#36;arg2) [result &#36;arg1] [result &#36;arg2]] // returns the larger of two numbers<br />
alias smaller [if (&lt;=f &#36;arg1 &#36;arg2) [result &#36;arg1] [result &#36;arg2]] // returns the smaller of two numbers<br />
alias whatpercent [result (*f (divf (- &#36;arg3 &#36;arg1) (- &#36;arg2 &#36;arg1)) 100)] // Returns percentage of given value<br />
alias percentrange [result (*f (- &#36;arg2 &#36;arg1) (divf &#36;arg3 100))] // Returns a value that is a given percent<br />
// *************************************************************************************************************<br />
// absval, square, and sqrt -- calculate absolute value, square, and square root -- by V-Man and Kirin<br />
alias absval [if (&lt;f 0 &#36;arg1) [result &#36;arg1] [result (*f &#36;arg1 -1)]]<br />
alias square [result (*f &#36;arg1 &#36;arg1)]<br />
alias sqrt [<br />
 arg1 = (absval &#36;arg1)<br />
 x = (divf (+f &#36;arg1 1) 2)<br />
 tmp_iters = 0<br />
 sqrt_perr = (absval (-f (square &#36;arg1) &#36;arg1))<br />
 sqrt_err = (absval (-f (square &#36;x) &#36;arg1))<br />
 while [(|| (&lt;f &#36;sqrt_err &#36;sqrt_perr) (&lt; &#36;tmp_iters 5))] [<br />
  -=f x (divf (-f (square &#36;x) &#36;arg1) (*f 2 &#36;x))<br />
  sqrt_perr = &#36;sqrt_err<br />
  sqrt_err = (absval (-f (square &#36;x) &#36;arg1))<br />
  += tmp_iters 1]<br />
 result &#36;x]<br />
// *************************************************************************************************************<br />
// Exponent script made by Kirin (iterative pow algorithm, exponents are forced into integers)<br />
alias pow [<br />
 alias pow_exp &#36;arg2<br />
 alias pow_base &#36;arg1<br />
 if (= &#36;pow_exp 0) [result 1] [<br />
 if (&lt; &#36;pow_exp 0) [*= pow_exp -1] []<br />
 -= pow_exp 1<br />
 loop i &#36;pow_exp [*=f pow_base &#36;arg1]<br />
 if (&gt; &#36;arg2 0) [result &#36;pow_base] [result (divf 1 &#36;pow_base)]]]<br />
alias fac [tmpfac = 1<br />
loop fa (- &#36;arg1 1) [*=f tmpfac (+ &#36;fa 2)]<br />
result &#36;tmpfac] // Factorial<br />
// *************************************************************************************************************<br />
// roundf by Gibstick -- returns the nearest integer<br />
alias roundf [<br />
if (&gt;= (+f (&#36;arg1) 0.5) (+ (&#36;arg1) 1.0)) [<br />
(+ (&#36;arg1) 1)] [<br />
(+ (&#36;arg1) 0)]]<br />
// average by V-Man -- input the list of numbers to be rounded as a single argument in brackets<br />
alias average [<br />
avsum = 0<br />
loop i &#36;numargs [+=f avsum (getalias (concatword "arg" (+ &#36;i 1)))]<br />
divf &#36;avsum &#36;numargs]<br />
// "average 1 3 3 7" returns 3.5<br />
// *************************************************************************************************************<br />
//[Kirin] format float/int to a precision; e.g.,  /echo (formatprec 123.456 2) outputs 123.45<br />
alias formatprec [<br />
fp_number = &#36;arg1<br />
fp_mag = (pow 10 &#36;arg2)<br />
*=f fp_number &#36;fp_mag<br />
-= fp_number 0<br />
fp_number = (divf &#36;fp_number &#36;fp_mag)<br />
result &#36;fp_number]<br />
// *************************************************************************************************************<br />
// Contributions from Yarukinasu<br />
alias div=f [&#36;arg1 = (divf (getalias &#36;arg1) &#36;arg2)] // Something that should have been an ident this whole time...<br />
// Natural, decimal, and binary logarithms by V-Man and Yarukinasu<br />
alias logn [<br />
 tmplog = (absval &#36;arg1); ecount = 0<br />
 while [(&gt; &#36;tmplog 2)] [div=f tmplog 2.718281828459045; += ecount 1]<br />
 while [(&lt;=f &#36;tmplog 0.56)] [*=f tmplog 2.718281828459045; -= ecount 1]<br />
 tmp_log = (divf (-f &#36;tmplog 1) &#36;tmplog)<br />
 loop ln 30 [+=f tmp_log (divf (pow (divf (-f &#36;tmplog 1) &#36;tmplog) (+ &#36;ln 2)) (+ &#36;ln 2))]<br />
 result (+f &#36;tmp_log &#36;ecount)]<br />
alias log2 [<br />
 tmpval = (absval &#36;arg1); tmpres = 0<br />
 while [(&lt; &#36;tmpval 1)] [-=f tmpres 1; *=f tmpval 2]<br />
 while [(&gt;= &#36;tmpval 2)] [+=f tmpres 1; div=f tmpval 2]<br />
 tmpfp = 1<br />
 while [(&gt;=f &#36;tmpfp 0.000001)] [div=f tmpfp 2; *=f tmpval &#36;tmpval<br />
  if (&gt;= &#36;tmpval 2) [div=f tmpval 2; +=f tmpres &#36;tmpfp]]<br />
 result &#36;tmpres]<br />
alias log10 [result (divf (logn &#36;arg1) (logn 10))] // Using natural log is a tiny bit more accurate<br />
// Greatest Common Divisor and Lowest Common Multiple by Yarukinasu; condensed by V-Man<br />
alias GCD [storeargs &#36;arg1 &#36;arg2 0<br />
while [(!= &#36;tmp2 0)] [<br />
 tmp3 = &#36;tmp2<br />
 tmp2 = (modf &#36;tmp1 &#36;tmp2)<br />
 tmp1 = &#36;tmp3]<br />
result &#36;tmp1] // Euclidean algorithm<br />
alias LCM [tmplcm = 1<br />
 loop l &#36;numargs [tmplcm = (div (* &#36;tmplcm (getalias (concatword arg (+ &#36;l 1)))) (GCD &#36;tmplcm (getalias (concatword arg (+ &#36;l 1)))))]<br />
result &#36;tmplcm]<br />
// *************************************************************************************************************<br />
// Trigonometric functions based on the Taylor Series; scripted by V-Man<br />
alias sin [<br />
tmpsin = &#36;arg1<br />
while [(&gt;f &#36;tmpsin 3.14159265358979)] [-=f tmpsin 6.28318530717958]<br />
while [(&lt;f &#36;tmpsin -3.14159265358979)] [+=f tmpsin 6.28318530717958]<br />
tmp_sin = &#36;tmpsin<br />
loop sn 9 [if (iseven &#36;sn) [<br />
  -=f tmp_sin (divf (pow &#36;tmpsin (+ (* &#36;sn 2) 3)) (fac (+ (* &#36;sn 2) 3)))] [<br />
  +=f tmp_sin (divf (pow &#36;tmpsin (+ (* &#36;sn 2) 3)) (fac (+ (* &#36;sn 2) 3)))]]<br />
result &#36;tmp_sin] // Sine of an angle, in radians<br />
alias cos [<br />
tmpcos = &#36;arg1<br />
while [(&gt;f &#36;tmpcos 6.28318530717958)] [-=f tmpcos 6.28318530717958]<br />
while [(&lt;f &#36;tmpcos 0)] [+=f tmpcos 6.28318530717958]<br />
tmp_cos = 1<br />
loop cs 9 [if (iseven &#36;cs) [<br />
 -=f tmp_cos (divf (pow &#36;tmpcos (+ (* &#36;cs 2) 2)) (fac (+ (* &#36;cs 2) 2)))] [<br />
 +=f tmp_cos (divf (pow &#36;tmpcos (+ (* &#36;cs 2) 2)) (fac (+ (* &#36;cs 2) 2)))]]<br />
result &#36;tmp_cos] // Cosine of an angle, in radians<br />
alias tan [divf (sin &#36;arg1) (cos &#36;arg1)] // Tangent<br />
alias cosecant [divf 1 (sin &#36;arg1)]<br />
alias secant [divf 1 (cos &#36;arg1)]<br />
alias cotangent [divf (cos &#36;arg1) (sin &#36;arg1)]<br />
alias torads [result (*f (divf &#36;arg1 180) 3.1415927)] // Convert from degrees to radians, by Yarukinasu<br />
alias todegs [result (divf (*f &#36;arg1 180) 3.1415927)] // Convert from radians to degrees, by Yarukinasu<br />
alias numpi [result (concatword (divf (roundf (*f (divf &#36;arg1 3.1415927) 1000)) 1000) pi)] // Express a number as rounded multiples of pi<br />
// *************************************************************************************************************<br />
// check2add -- a sane way to generically standardize check-based alias and keybind addition<br />
alias addcheck [if (strstr (getalias &#36;arg1) &#36;arg2) [] [add2alias &#36;arg1 &#36;arg2]]<br />
alias add2list [if (strcmp "" (getalias &#36;arg1)) [&#36;arg1 = &#36;arg2] [&#36;arg1 = (concat (getalias &#36;arg1) &#36;arg2)]]]<br />
// Some commonly-used native aliases that do not get emptied:<br />
alias addcheck_msa [addcheck mapstartalways &#36;arg1]<br />
alias addcheck_si [addcheck start_intermission &#36;arg1]<br />
alias addcheck_onquit [addcheck onQuit &#36;arg1]<br />
alias addcheck_sb [addcheck sbconnect &#36;arg1]<br />
// A way to add aliases to be cleared OnQuit:<br />
alias addlistonquit [alias_list = &#36;arg1; loop i (listlen &#36;alias_list) [addOnQuit (concat "delalias" (at &#36;alias_list &#36;i))]]<br />
// example: addlistonquit [newalias newalias1 newalias2 newalias3 newalias4 newalias5]<br />
// They will be cleared on quitting the game, if users prefer to keep saved.cfg clear.<br />
// *************************************************************************************************************<br />
// initialize -- for the introduction of large lists of new aliases<br />
alias checkinit [if (checkalias &#36;arg1) [] [alias &#36;arg1 &#36;arg2]] // Defines an alias if the alias does not exist yet<br />
alias initialize [loop i (listlen &#36;arg1) [checkinit (at &#36;arg1 &#36;i) &#36;arg2]]<br />
// initialize [qwer wert erty rtyu tyui yuio uiop asdf sdfg dfgh fghj ghjk hjlk zxcv xcvb cvbn vbnm] 0<br />
// All 17 aliases are defined as 0 if they (each) do not already exist<br />
// *************************************************************************************************************<br />
// storeargs -- conveniently store arguments into tmp aliases -- by V-Man<br />
alias storeargs [<br />
loop st &#36;numargs [<br />
 alias (concatword "tmp" (+ &#36;st 1)) (getalias (concatword "arg" (+ &#36;st 1)))]<br />
] // storeargs &#36;arg1 &#36;arg2 &#36;arg3 &#36;arg4 &#36;arg5<br />
// stores arguments in tmp1, tmp2, tmp3, tmp4, tmp5 for future use<br />
// *************************************************************************************************************<br />
// serial and nestalias -- quickly create a nested alias or a series of multiple, numbered aliases (and delete them)<br />
alias serial [<br />
tmp_command = &#36;arg3<br />
serialnum = 0<br />
loop sa &#36;arg2 [<br />
if (checkalias (concatword &#36;arg1 &#36;sa)) [] [alias (concatword &#36;arg1 &#36;sa) (tmp_command)]<br />
+= serialnum 1]] // serial (base name) (number to make) [meta-command]<br />
// Uses &#36;serialnum as its counting variable<br />
// Will not make the alias if the alias already exists<br />
alias delserial [<br />
loop ds &#36;arg2 [<br />
 delalias (concatword &#36;arg1 &#36;ds)]] // delserial (base name) (number to delete up to)<br />
alias nestalias [<br />
storeargs &#36;arg1 &#36;arg2 &#36;arg3 &#36;arg4<br />
nestnum = 0<br />
tmp_alias = &#36;tmp4<br />
loop nn &#36;tmp2 [<br />
 tmp_alias = (concat "alias" &#36;tmp1 "[" &#36;tmp_alias "]" ";" (tmp3))<br />
 += nestnum 1]<br />
alias &#36;tmp1 &#36;tmp_alias] // nestalias (alias name) (number of layers) [side meta-command] (end command)<br />
// Uses &#36;nestnum as its counting variable; you can use "delalias" as the end command for a self-deleting alias<br />
// *************************************************************************************************************<br />
// self-recursive alias maker -- creates an alias which calls itself -- by V-Man<br />
alias recursive [<br />
storeargs &#36;arg1 &#36;arg2 &#36;arg3<br />
if (isnumber &#36;tmp1) [<br />
 echo You must use a string for the alias!] [<br />
 alias (getalias tmp1) (concat (getalias tmp3) ";" "sleep" (getalias tmp2) (getalias tmp1))]<br />
delserial tmp 4]<br />
// recursive (name of alias) (sleep time) (command)<br />
// recursive rave 500 [scalelights 99 1337]<br />
// "rave" can then be added into mapstartalways using addcheck_msa<br />
alias stoploop [push &#36;arg1 []] // stoploop rave<br />
// *************************************************************************************************************<br />
// bloop -- A backward loop -- by V-Man<br />
alias bloop [loop &#36;arg1 &#36;arg2 [&#36;arg1 = (- (+ (* (getalias &#36;arg1) -1) &#36;arg2) 1); arg3]]<br />
// bloop i 10 [echo &#36;i]<br />
// 9 8 7 6 5 4 3 2 1 0<br />
// sloop -- add sleep to a loop -- idea by macm, abused by V-Man<br />
alias sloop [<br />
storeargs &#36;arg1 &#36;arg2 &#36;arg3 &#36;arg4<br />
if (isnumber &#36;tmp1) [<br />
 echo You must use a string for the alias!] [<br />
 (getalias tmp1) = 0<br />
 if (isint &#36;tmp3) [<br />
 sloopme] [echo You must use an integer for the sleep!]]]<br />
alias sloopme [<br />
  if (&lt; (getalias (getalias tmp1)) &#36;tmp2) [<br />
 &nbsp;&nbsp;tmp4<br />
 &nbsp;&nbsp;+= (getalias tmp1) 1<br />
 &nbsp;&nbsp;sleep &#36;tmp3 [sloopme]] []]<br />
// sloop (alias to use as counter) (number of loops) (sleep time) (command)<br />
// sloop temp 5 500 [echo Number (concatword (getalias temp) !)]<br />
// *************************************************************************************************************<br />
alias add2bind [if (strstr (keybind &#36;arg1) &#36;arg2) [] [bind &#36;arg1 (concat (keybind &#36;arg1) ";" &#36;arg2)]]<br />
// findbind -- A method of back-searching for key commands, phrases, or aliases in keybinds<br />
alias bindcheck [if (strstr (keybind &#36;arg1) &#36;arg2) [result 1] [result 0]]<br />
alias keylist [ MOUSE1 MOUSE2 MOUSE3 MOUSE4 MOUSE5 MOUSE6 MOUSE7 MOUSE8 BACKSPACE TAB CLEAR RETURN PAUSE ESCAPE SPACE EXCLAIM QUOTEDBL HASH DOLLAR AMPERSAND QUOTE LEFTPAREN RIGHTPAREN ASTERISK PLUS COMMA MINUS PERIOD SLASH 0 1 2 3 4 5 6 7 8 9 COLON SEMICOLON LESS EQUALS GREATER QUESTION AT LEFTBRACKET BACKSLASH RIGHTBRACKET CARET UNDERSCORE BACKQUOTE a b c d e f g h i j k l m n o p q r s t u v w x y z DELETE KP0 KP1 KP2 KP3 KP4 KP5 KP6 KP7 KP8 KP9 KP_PERIOD KP_DIVIDE KP_MULTIPLY KP_MINUS KP_PLUS KP_ENTER KP_EQUALS UP DOWN RIGHT LEFT INSERT HOME END PAGEUP PAGEDOWN F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 NUMLOCK CAPSLOCK SCROLLOCK RSHIFT LSHIFT RCTRL LCTRL RALT LALT RMETA LMETA LSUPER RSUPER MODE COMPOSE HELP PRINT SYSREQ BREAK MENU SZ UE OE AE ] // listlen = 144<br />
alias findbind [<br />
alias bindloopresult []<br />
alias itemtofind &#36;arg1<br />
loop i 144 [<br />
 if (bindcheck (at &#36;keylist &#36;i) &#36;itemtofind) [<br />
  alias bindloopresult (concat &#36;bindloopresult (at &#36;keylist &#36;i))] []]<br />
result &#36;bindloopresult]<br />
// Method for dealing with multiple results in findbind:<br />
alias numbinds [listlen (findbind &#36;arg1)] // number of keys having the designated term in their binds<br />
// add2bind every key that has the designated term:<br />
alias add2eachbind [<br />
alias addition &#36;arg2<br />
if (findbind &#36;arg1) [<br />
loop i (numbinds &#36;itemtofind) [add2bind (at (findbind &#36;itemtofind) &#36;i) &#36;addition]]] <br />
// Example:<br />
// add2eachbind reload [echo "reloading..."]<br />
// ifbind -- encase an already-existing keybind in a conditional statement -- by V-Man<br />
alias ifbind [<br />
bind &#36;arg1 (concat [if] &#36;arg2 (concatword "[" (if &#36;arg4 [result (keybind &#36;arg1)] [result &#36;arg3]) "]") (concatword "[" (if &#36;arg4 [result &#36;arg3] [result (keybind &#36;arg1)]) "]"))]<br />
// ifbind (key) (condition) (command) (Use normal keybind if condition is 1 or 0?)<br />
// ifbind V [&#36;connected] [showmenu voicecom] 0<br />
// Takes the current bind in key "V" and makes it the "if not" (0) argument in an encasing "if" statement depending on &#36;connected (thus, the provided command is executed when &#36;connected evaluates to 1).<br />
// *************************************************************************************************************<br />
// delfromlist -- A set of tools to modify lists<br />
alias delfromlistend [<br />
 tmp_list1 = []<br />
 loop de (- (listlen &#36;arg1) &#36;arg2) [<br />
  add2list tmp_list1 (at &#36;arg1 &#36;de)]<br />
 result (getalias tmp_list1) ]<br />
// echo (delfromlistend &#36;testlist 3)<br />
alias delfromliststart [<br />
 tmp_list2 = []<br />
 loop ds (- (listlen &#36;arg1) &#36;arg2) [<br />
  add2list tmp_list2 (at &#36;arg1 (+ &#36;ds &#36;arg2))]<br />
 result (getalias tmp_list2) ]<br />
// echo (delfromliststart &#36;testlist 3)<br />
alias delfromlist [<br />
 tmp_list3 = []<br />
 loop dl (listlen &#36;arg1) [<br />
  if (strcmp (at &#36;arg1 &#36;dl) &#36;arg2) [] [<br />
 &nbsp;&nbsp;add2list tmp_list3 (at &#36;arg1 &#36;dl)]]<br />
 result (getalias tmp_list3) ]<br />
// echo (delfromlist &#36;testlist k)<br />
alias delfromlist_mult [<br />
 alias tmp_list4 &#36;arg1<br />
 loop mu (listlen &#36;arg2) [alias tmp_list4 (delfromlist &#36;tmp_list4 (at &#36;arg2 &#36;mu))]<br />
 result (getalias tmp_list4) ]<br />
// echo (delfromlist_mult &#36;testlist [a c e g i k])<br />
alias replacestr [<br />
 tmp_list5 = []<br />
 loop rs (listlen &#36;arg1) [<br />
  if (strcmp (at &#36;arg1 &#36;rs) &#36;arg2) [add2list tmp_list5 &#36;arg3] [add2list tmp_list5 (at &#36;arg1 &#36;rs)]]<br />
 result (getalias tmp_list5)]<br />
// replacestr [I do not like CubeScript] "not" "really"<br />
alias swapstrpos [<br />
 tmp_list6 = []<br />
 alias strpos1 (findlist &#36;arg1 &#36;arg2)<br />
 alias strpos2 (findlist &#36;arg1 &#36;arg3)<br />
 loop sw (listlen &#36;arg1) [<br />
  if (= &#36;sw &#36;strpos1) [add2list tmp_list6 &#36;arg3] [<br />
 &nbsp;&nbsp;if (= &#36;sw &#36;strpos2) [add2list tmp_list6 &#36;arg2] [<br />
    add2list tmp_list6 (at &#36;arg1 &#36;sw)]]]<br />
 result (getalias tmp_list6)]<br />
// swapstrpos [I do really like CubeScript] "do" "really"<br />
// insertpos -- modify a list by inserting a specified element into a specified point in the list -- by V-Man<br />
alias insertpos [<br />
 tmp_list7 = []<br />
 loop inp (listlen &#36;arg1) [<br />
  if (= &#36;arg2 &#36;inp) [<br />
 &nbsp;&nbsp;add2list tmp_list7 &#36;arg3 ; add2list tmp_list7 (at &#36;arg1 &#36;inp)] [<br />
 &nbsp;&nbsp;add2list tmp_list7 (at &#36;arg1 &#36;inp)]]<br />
 result (getalias tmp_list7)]<br />
// insertpos (list) (position) (element to add)<br />
// echo (insertpos [I really would enjoy playing TOSOK all day long] 3 not)<br />
alias insertstr [<br />
 if (= (findlist &#36;arg1 &#36;arg2) -1) [echo Specified string not found in list!] [<br />
 insertpos &#36;arg1 (+ (findlist &#36;arg1 &#36;arg2) 1) &#36;arg3]]<br />
// insertstr (list) (element after which to insert new element) (element to add) (next element, if it helps you)<br />
// echo (insertstr [A good Cuber will die for the team!] will sometimes die)<br />
// if there are two instances of the reference element, this script uses the first one.<br />
alias concatlist [<br />
tmp_cnclist = []<br />
loop cncl (listlen &#36;arg1) [tmp_cnclist = (concatword &#36;tmp_cnclist (at &#36;arg1 &#36;cncl))]<br />
result &#36;tmp_cnclist] // echo (concatlist [V - M a n])<br />
alias mv2liststart [result (insertpos (delfromlist &#36;arg1 &#36;arg2) 0 &#36;arg2)] // echo (mv2liststart [fragging love I] I)<br />
// *************************************************************************************************************<br />
// add2menu -- Quickly append to any already-defined menu without having to open its cfg file for editing<br />
alias add2menu [<br />
newmenu &#36;arg1<br />
arg2]<br />
alias add2mainmenu [<br />
add2menu main &#36;arg1]<br />
// *************************************************************************************************************<br />
// conloop -- A generic looping conline checker.<br />
alias if_conline_list [] // instead of "checkinit" to avoid spamz0r<br />
alias if_conline_has [<br />
check_for = &#36;arg1<br />
if (|| (|| (strcmp &#36;arg2 "but_not") (strcmp &#36;arg2 "and_also")) (strcmp &#36;arg2 "or_else")) [<br />
 tmp_other = &#36;arg3<br />
 action_if_yes = &#36;arg4<br />
 action_if_no = &#36;arg5<br />
 if (strcmp &#36;arg2 "but_not") [<br />
  if (&amp;&amp; (strstr &#36;conline &#36;check_for) (! (strstr &#36;conline &#36;tmp_other))) [action_if_yes] [action_if_no]] []<br />
 if (strcmp &#36;arg2 "and_also") [<br />
  if (&amp;&amp; (strstr &#36;conline &#36;check_for) (strstr &#36;conline &#36;tmp_other)) [action_if_yes] [action_if_no]] []<br />
 if (strcmp &#36;arg2 "or_else") [<br />
  if (|| (strstr &#36;conline &#36;check_for) (strstr &#36;conline &#36;tmp_other)) [action_if_yes] [action_if_no]] []<br />
 ] [<br />
 action_if_yes = &#36;arg2<br />
 action_if_no = &#36;arg3<br />
 if (strstr &#36;conline &#36;check_for) [action_if_yes] [action_if_no]]]<br />
alias add2conloop [addcheck if_conline_list &#36;arg1]<br />
recursive conloop 0 [if_conline_list; conline [ ]]<br />
addcheck_msa conloop<br />
// Example:<br />
// add2conloop [if_conline_has "connected: " [whois (findcn (at &#36;conline 1))] []]<br />
// *************************************************************************************************************<br />
// convertcnum and whoisline -- automatically stores the last "whois" info in an alias -- by V-Man<br />
alias convertcnum [<br />
loop co 42 [if (strcmp (at &#36;conline 2) (concatword &#36;co ":")) [tmpcn = &#36;co] []]<br />
result &#36;tmpcn]<br />
add2conloop [<br />
if_conline_has "WHOIS" [<br />
 if (= (listlen &#36;conline) 7) [<br />
  alias whoisline (concat (convertcnum) (at &#36;conline 4) (at &#36;conline 6))<br />
  ] [<br />
  alias whoisline (concat (convertcnum) (at &#36;conline 4) (at &#36;conline 7))]] []]<br />
// whoisline = cn, name, IP<br />
// *************************************************************************************************************<br />
// curplayers -- Returns the number of players in the server or bot game -- by DES|Bukz.<br />
// Modified by V-Wifey and V-Man.<br />
alias curplayers [<br />
 players = 0<br />
 if &#36;connected [<br />
  loop x 21 [if (= (at (pstat_score &#36;x) 4) -1) [] [+= players 1]]<br />
  result &#36;players<br />
 ] [<br />
  loop x 41 [if (strcmp (findpn &#36;x) "") [] [+= players 1]]<br />
  result &#36;players<br />
]]<br />
// *************************************************************************************************************<br />
// validcnumlist by V-Man: counts the number of (non-duplicated) client numbers<br />
alias validcnumlist [<br />
validcnums = []<br />
 if &#36;connected [<br />
  loop n 21 [if (= (at (pstat_score &#36;n) 4) -1) [] [add2list validcnums &#36;n]]<br />
  result &#36;validcnums<br />
 ] [<br />
  loop n 41 [if (strcmp (findpn &#36;n) "") [] [add2list validcnums &#36;n]]<br />
  result &#36;validcnums ]]<br />
// kickbots: kickbots 1 3 5 7 9 kicks multiple bots, by client number<br />
alias kickbots [<br />
 loop o &#36;numargs [<br />
  kickbot (findpn (getalias (concatword "arg" (+ &#36;o 1)))) ]]<br />
// whoisall: WHOIS check on every client in the server<br />
alias whoisall [loop w 21 [whois &#36;w]]<br />
// teamcount: echo (teamcount 1) returns the count for players in RVSF<br />
alias teamcount [<br />
tmp_count = 0<br />
loop p (curplayers) [<br />
 if (= (at (pstat_score (at (validcnumlist) &#36;p)) 4) &#36;arg1) [+= tmp_count 1] []<br />
] result &#36;tmp_count ]<br />
// *************************************************************************************************************<br />
// Bukz' "cur" scripts -- calculates the highest client number, number of enemies, and individual pstat scores<br />
// curhighestcn - Returns the highest client number in the current game. - by DES|Bukz<br />
alias curhighestcn [<br />
 hcn = 0<br />
 if &#36;connected [<br />
  loop q 21 [if (strcmp (findpn &#36;q) "") [] [hcn = &#36;q]]<br />
  ] [<br />
  loop q 41 [if (strcmp (findpn &#36;q) "") [] [hcn = &#36;q]]<br />
  ] result &#36;hcn ]<br />
// curenemies - Returns the current number of enemies the user may have ATM. - by DES|Bukz<br />
// Requires tools.cfg &amp; the "curhighestcn" script.<br />
alias curenemies [<br />
 tmpenemies = 0<br />
 if (|| &#36;connected (curmodeattr bot)) [<br />
  if (curmodeattr team) [<br />
 &nbsp;&nbsp;if (curteam) [<br />
    loop b (+ (curhighestcn) 1) [<br />
  if (= (at (pstat_score &#36;b) 4) 0) [+= tmpenemies 1] []<br />
  ] result &#36;tmpenemies<br />
  ] [<br />
   &nbsp;&nbsp;loop b (+ (curhighestcn) 1) [<br />
      if (= (at (pstat_score &#36;a) 4) 1) [+= tmpenemies 1] []<br />
      ] result &#36;tmpenemies]] [<br />
  tmpenemies = (- (curplayers) 1)<br />
  result &#36;tmpenemies]] [result -1]]<br />
// curdeaths - Returns the number of deaths a client has in the current game. - by DES|Bukz<br />
// Returns -1 if an invalid client number was given.<br />
alias curdeaths [<br />
 tmpdeaths = 0<br />
  if (strcmp (findpn &#36;arg1) "") [result -1] [<br />
 &nbsp;&nbsp;tmpdeaths = (at (pstat_score &#36;arg1) 2)<br />
 &nbsp;&nbsp;result &#36;tmpdeaths ]]<br />
// curfrags - Returns the number of frags a client has in the current game. - by DES|Bukz<br />
// Returns -1 if an invalid client number was given.<br />
alias curfrags [<br />
 tmpfrags = 0<br />
 if (strcmp (findpn &#36;arg1) "") [result -1] [<br />
  tmpfrags = (at (pstat_score &#36;arg1) 1)<br />
  result &#36;tmpfrags ]]<br />
// curratio - Returns the given clients ratio in a floating point decimal by DES|Bukz<br />
// Returns -1 if an invalid client number was given.<br />
alias curratio [<br />
 if (strcmp (findpn &#36;arg1) "") [result -1] [<br />
  alias tmpfrags (at (pstat_score &#36;arg1) 1)<br />
  alias tmpdeaths (at (pstat_score &#36;arg1) 2)<br />
  if (&lt; &#36;tmpdeaths 2) [<br />
 &nbsp;&nbsp;alias tmpratio (concatword &#36;tmpfrags .0)<br />
 &nbsp;&nbsp;] [alias tmpratio (divf &#36;tmpfrags &#36;tmpdeaths)]<br />
  result &#36;tmpratio ]]<br />
  // curscore - Returns the current score (in points) that a given client has ATM by DES|Bukz<br />
alias curscore [<br />
 if (strcmp (findpn &#36;arg1) "") [result -1] [<br />
  tmpscore = (at (pstat_score &#36;arg1) 3)<br />
 &nbsp;&nbsp;result &#36;tmpscore ]]<br />
// *************************************************************************************************************<br />
alias countsound [<br />
registersound &#36;arg1 &#36;arg2 &#36;arg3 &#36;arg4<br />
+= regsounds 1<br />
alias &#36;arg5 (concat "sound" &#36;regsounds)<br />
addlistonquit &#36;arg5]<br />
// countsound weapon&#92;chainsaw [] [] [] chsaw<br />
// registers chainsaw.wav and saves its sound command in alias "chsaw"<br />
regsounds = 98 // If there are 98 sounds registered in sounds.cfg (98 is default)<br />
// *************************************************************************************************************<br />
// Clearing the tools on quit<br />
addcheck_onquit [delserial tmp_list 9]<br />
addcheck_onquit [delserial tmp 9]<br />
addlistonquit [addcheck add2bind add2list addcheck_msa addcheck_si addcheck_onquit addcheck_sb addlistonquit findbind bindcheck bindloopresult fblc itemtofind findbind_loop keylist numbinds add2eachbind addition initialize checkinit if_conline_has check_for has_not action_if_yes action_if_no add2conloop conloop if_conline_list pow pow_exp pow_base roundf average avsum add2menu add2mainmenu players curplayers serial tmp_command serialnum nestalias tmp_name tmp_command tmp_layers nestnum tmp_alias delfromlistend delfromliststart delfromlist delfromlist_mult replacestr swapstrpos mv2liststart tmp_list strpos1 strpos2 validcnumlist validcnums kickbots teamcount tmp_count curhighestcn hcn curenemies tmpenemies curdeaths tmpdeaths curfrags tmpfrags curratio tmpratio storeargs sloop sloopme recursive isfloat isint isnumber iseven rndposneg absval square sqrt x tmp_iters sqrt_perr sqrt_err insertpos insertstr convertcnum tmpcn whoisline shiftsel countsound regsounds larger smaller torads todegs div=f larger smaller GCD LCM tmplcm fac tmpfac sin tmpsin tmp_sin cos tmpcos tmp_cos tan cosecant secant cotangent numpi logn tmplog ecount tmp_log log10 log2 tmpval tmpres tmpfp whatpercent percentrange rndattract tmpresult<br />
alias_list onQuit]<br />
exec config/docsection.cfg</code></div></div>]]></description>
			<content:encoded><![CDATA[V-Man really did a fantastic job creating tools.cfg many, many years ago and at the very least I would like to play around with some of the commands, but I might even make whatever changes are necessary to "port" it to AC 1.3 (with his permission of course)<br />
<br />
I'm looking for the most recent version that I can find but please post any copy that you may have of the old tools.cfg by V-Man!<br />
<br />
EDIT: XRD came through and found a copy of it, if you have a newer version of it please post it below! I am still looking for the accompanying config/docsection.cfg that was packaged along with tools.cfg as well<br />
<br />
<div class="codeblock"><div class="title"> <a href="#" onclick="selectCode(this); return false;">[SELECT ALL]</a> Code:</div><div class="body" dir="ltr"><code>// tools.cfg -- A collection of useful CubeScript tools by V-Man -- version 1.1.0.11, 4/2/2011<br />
// *************************************************************************************************************<br />
// integer, float, and number checks by Kirin.<br />
alias isfloat [strcmp (+f &#36;arg1 0) &#36;arg1]<br />
alias isint [strcmp (+ &#36;arg1 0) &#36;arg1]<br />
alias isnumber [|| (isfloat &#36;arg1) (isint &#36;arg1)]<br />
alias iseven [! (mod &#36;arg1 2)]<br />
// rndposneg -- generates a random number, positive or negative, with a given absolute value -- by V-Man<br />
alias rndposneg [result (concatword (at ["" -] (rnd 2)) (rnd &#36;arg1))]<br />
// Ranged random int script by DES|Bukz and V-Man<br />
alias rrnd [+ (rnd (- &#36;arg2 &#36;arg1)) &#36;arg1] // Result may not equal or exceed max<br />
// Ranged random floating point int script by DES|Bukz and V-Man<br />
// rrndf min max decimal - /echo (rrndf 3 3.14 2) - Outputs a random number from 3 to 3.14 with two decimal places.<br />
alias rrndf [divf (+f (rnd (*f (-f &#36;arg2 &#36;arg1) (pow 10 &#36;arg3))) (*f &#36;arg1 (pow 10 &#36;arg3))) (pow 10 &#36;arg3)]<br />
alias rndattract [<br />
 tmpresult = (average &#36;arg3 (rrnd (- &#36;arg1 &#36;arg3) (+ &#36;arg2 &#36;arg3)))<br />
 tmpresult = (average &#36;tmpresult &#36;arg3)<br />
 result &#36;tmpresult] // rndattract (min) (max) (attractor)<br />
alias larger [if (&gt;=f &#36;arg1 &#36;arg2) [result &#36;arg1] [result &#36;arg2]] // returns the larger of two numbers<br />
alias smaller [if (&lt;=f &#36;arg1 &#36;arg2) [result &#36;arg1] [result &#36;arg2]] // returns the smaller of two numbers<br />
alias whatpercent [result (*f (divf (- &#36;arg3 &#36;arg1) (- &#36;arg2 &#36;arg1)) 100)] // Returns percentage of given value<br />
alias percentrange [result (*f (- &#36;arg2 &#36;arg1) (divf &#36;arg3 100))] // Returns a value that is a given percent<br />
// *************************************************************************************************************<br />
// absval, square, and sqrt -- calculate absolute value, square, and square root -- by V-Man and Kirin<br />
alias absval [if (&lt;f 0 &#36;arg1) [result &#36;arg1] [result (*f &#36;arg1 -1)]]<br />
alias square [result (*f &#36;arg1 &#36;arg1)]<br />
alias sqrt [<br />
 arg1 = (absval &#36;arg1)<br />
 x = (divf (+f &#36;arg1 1) 2)<br />
 tmp_iters = 0<br />
 sqrt_perr = (absval (-f (square &#36;arg1) &#36;arg1))<br />
 sqrt_err = (absval (-f (square &#36;x) &#36;arg1))<br />
 while [(|| (&lt;f &#36;sqrt_err &#36;sqrt_perr) (&lt; &#36;tmp_iters 5))] [<br />
  -=f x (divf (-f (square &#36;x) &#36;arg1) (*f 2 &#36;x))<br />
  sqrt_perr = &#36;sqrt_err<br />
  sqrt_err = (absval (-f (square &#36;x) &#36;arg1))<br />
  += tmp_iters 1]<br />
 result &#36;x]<br />
// *************************************************************************************************************<br />
// Exponent script made by Kirin (iterative pow algorithm, exponents are forced into integers)<br />
alias pow [<br />
 alias pow_exp &#36;arg2<br />
 alias pow_base &#36;arg1<br />
 if (= &#36;pow_exp 0) [result 1] [<br />
 if (&lt; &#36;pow_exp 0) [*= pow_exp -1] []<br />
 -= pow_exp 1<br />
 loop i &#36;pow_exp [*=f pow_base &#36;arg1]<br />
 if (&gt; &#36;arg2 0) [result &#36;pow_base] [result (divf 1 &#36;pow_base)]]]<br />
alias fac [tmpfac = 1<br />
loop fa (- &#36;arg1 1) [*=f tmpfac (+ &#36;fa 2)]<br />
result &#36;tmpfac] // Factorial<br />
// *************************************************************************************************************<br />
// roundf by Gibstick -- returns the nearest integer<br />
alias roundf [<br />
if (&gt;= (+f (&#36;arg1) 0.5) (+ (&#36;arg1) 1.0)) [<br />
(+ (&#36;arg1) 1)] [<br />
(+ (&#36;arg1) 0)]]<br />
// average by V-Man -- input the list of numbers to be rounded as a single argument in brackets<br />
alias average [<br />
avsum = 0<br />
loop i &#36;numargs [+=f avsum (getalias (concatword "arg" (+ &#36;i 1)))]<br />
divf &#36;avsum &#36;numargs]<br />
// "average 1 3 3 7" returns 3.5<br />
// *************************************************************************************************************<br />
//[Kirin] format float/int to a precision; e.g.,  /echo (formatprec 123.456 2) outputs 123.45<br />
alias formatprec [<br />
fp_number = &#36;arg1<br />
fp_mag = (pow 10 &#36;arg2)<br />
*=f fp_number &#36;fp_mag<br />
-= fp_number 0<br />
fp_number = (divf &#36;fp_number &#36;fp_mag)<br />
result &#36;fp_number]<br />
// *************************************************************************************************************<br />
// Contributions from Yarukinasu<br />
alias div=f [&#36;arg1 = (divf (getalias &#36;arg1) &#36;arg2)] // Something that should have been an ident this whole time...<br />
// Natural, decimal, and binary logarithms by V-Man and Yarukinasu<br />
alias logn [<br />
 tmplog = (absval &#36;arg1); ecount = 0<br />
 while [(&gt; &#36;tmplog 2)] [div=f tmplog 2.718281828459045; += ecount 1]<br />
 while [(&lt;=f &#36;tmplog 0.56)] [*=f tmplog 2.718281828459045; -= ecount 1]<br />
 tmp_log = (divf (-f &#36;tmplog 1) &#36;tmplog)<br />
 loop ln 30 [+=f tmp_log (divf (pow (divf (-f &#36;tmplog 1) &#36;tmplog) (+ &#36;ln 2)) (+ &#36;ln 2))]<br />
 result (+f &#36;tmp_log &#36;ecount)]<br />
alias log2 [<br />
 tmpval = (absval &#36;arg1); tmpres = 0<br />
 while [(&lt; &#36;tmpval 1)] [-=f tmpres 1; *=f tmpval 2]<br />
 while [(&gt;= &#36;tmpval 2)] [+=f tmpres 1; div=f tmpval 2]<br />
 tmpfp = 1<br />
 while [(&gt;=f &#36;tmpfp 0.000001)] [div=f tmpfp 2; *=f tmpval &#36;tmpval<br />
  if (&gt;= &#36;tmpval 2) [div=f tmpval 2; +=f tmpres &#36;tmpfp]]<br />
 result &#36;tmpres]<br />
alias log10 [result (divf (logn &#36;arg1) (logn 10))] // Using natural log is a tiny bit more accurate<br />
// Greatest Common Divisor and Lowest Common Multiple by Yarukinasu; condensed by V-Man<br />
alias GCD [storeargs &#36;arg1 &#36;arg2 0<br />
while [(!= &#36;tmp2 0)] [<br />
 tmp3 = &#36;tmp2<br />
 tmp2 = (modf &#36;tmp1 &#36;tmp2)<br />
 tmp1 = &#36;tmp3]<br />
result &#36;tmp1] // Euclidean algorithm<br />
alias LCM [tmplcm = 1<br />
 loop l &#36;numargs [tmplcm = (div (* &#36;tmplcm (getalias (concatword arg (+ &#36;l 1)))) (GCD &#36;tmplcm (getalias (concatword arg (+ &#36;l 1)))))]<br />
result &#36;tmplcm]<br />
// *************************************************************************************************************<br />
// Trigonometric functions based on the Taylor Series; scripted by V-Man<br />
alias sin [<br />
tmpsin = &#36;arg1<br />
while [(&gt;f &#36;tmpsin 3.14159265358979)] [-=f tmpsin 6.28318530717958]<br />
while [(&lt;f &#36;tmpsin -3.14159265358979)] [+=f tmpsin 6.28318530717958]<br />
tmp_sin = &#36;tmpsin<br />
loop sn 9 [if (iseven &#36;sn) [<br />
  -=f tmp_sin (divf (pow &#36;tmpsin (+ (* &#36;sn 2) 3)) (fac (+ (* &#36;sn 2) 3)))] [<br />
  +=f tmp_sin (divf (pow &#36;tmpsin (+ (* &#36;sn 2) 3)) (fac (+ (* &#36;sn 2) 3)))]]<br />
result &#36;tmp_sin] // Sine of an angle, in radians<br />
alias cos [<br />
tmpcos = &#36;arg1<br />
while [(&gt;f &#36;tmpcos 6.28318530717958)] [-=f tmpcos 6.28318530717958]<br />
while [(&lt;f &#36;tmpcos 0)] [+=f tmpcos 6.28318530717958]<br />
tmp_cos = 1<br />
loop cs 9 [if (iseven &#36;cs) [<br />
 -=f tmp_cos (divf (pow &#36;tmpcos (+ (* &#36;cs 2) 2)) (fac (+ (* &#36;cs 2) 2)))] [<br />
 +=f tmp_cos (divf (pow &#36;tmpcos (+ (* &#36;cs 2) 2)) (fac (+ (* &#36;cs 2) 2)))]]<br />
result &#36;tmp_cos] // Cosine of an angle, in radians<br />
alias tan [divf (sin &#36;arg1) (cos &#36;arg1)] // Tangent<br />
alias cosecant [divf 1 (sin &#36;arg1)]<br />
alias secant [divf 1 (cos &#36;arg1)]<br />
alias cotangent [divf (cos &#36;arg1) (sin &#36;arg1)]<br />
alias torads [result (*f (divf &#36;arg1 180) 3.1415927)] // Convert from degrees to radians, by Yarukinasu<br />
alias todegs [result (divf (*f &#36;arg1 180) 3.1415927)] // Convert from radians to degrees, by Yarukinasu<br />
alias numpi [result (concatword (divf (roundf (*f (divf &#36;arg1 3.1415927) 1000)) 1000) pi)] // Express a number as rounded multiples of pi<br />
// *************************************************************************************************************<br />
// check2add -- a sane way to generically standardize check-based alias and keybind addition<br />
alias addcheck [if (strstr (getalias &#36;arg1) &#36;arg2) [] [add2alias &#36;arg1 &#36;arg2]]<br />
alias add2list [if (strcmp "" (getalias &#36;arg1)) [&#36;arg1 = &#36;arg2] [&#36;arg1 = (concat (getalias &#36;arg1) &#36;arg2)]]]<br />
// Some commonly-used native aliases that do not get emptied:<br />
alias addcheck_msa [addcheck mapstartalways &#36;arg1]<br />
alias addcheck_si [addcheck start_intermission &#36;arg1]<br />
alias addcheck_onquit [addcheck onQuit &#36;arg1]<br />
alias addcheck_sb [addcheck sbconnect &#36;arg1]<br />
// A way to add aliases to be cleared OnQuit:<br />
alias addlistonquit [alias_list = &#36;arg1; loop i (listlen &#36;alias_list) [addOnQuit (concat "delalias" (at &#36;alias_list &#36;i))]]<br />
// example: addlistonquit [newalias newalias1 newalias2 newalias3 newalias4 newalias5]<br />
// They will be cleared on quitting the game, if users prefer to keep saved.cfg clear.<br />
// *************************************************************************************************************<br />
// initialize -- for the introduction of large lists of new aliases<br />
alias checkinit [if (checkalias &#36;arg1) [] [alias &#36;arg1 &#36;arg2]] // Defines an alias if the alias does not exist yet<br />
alias initialize [loop i (listlen &#36;arg1) [checkinit (at &#36;arg1 &#36;i) &#36;arg2]]<br />
// initialize [qwer wert erty rtyu tyui yuio uiop asdf sdfg dfgh fghj ghjk hjlk zxcv xcvb cvbn vbnm] 0<br />
// All 17 aliases are defined as 0 if they (each) do not already exist<br />
// *************************************************************************************************************<br />
// storeargs -- conveniently store arguments into tmp aliases -- by V-Man<br />
alias storeargs [<br />
loop st &#36;numargs [<br />
 alias (concatword "tmp" (+ &#36;st 1)) (getalias (concatword "arg" (+ &#36;st 1)))]<br />
] // storeargs &#36;arg1 &#36;arg2 &#36;arg3 &#36;arg4 &#36;arg5<br />
// stores arguments in tmp1, tmp2, tmp3, tmp4, tmp5 for future use<br />
// *************************************************************************************************************<br />
// serial and nestalias -- quickly create a nested alias or a series of multiple, numbered aliases (and delete them)<br />
alias serial [<br />
tmp_command = &#36;arg3<br />
serialnum = 0<br />
loop sa &#36;arg2 [<br />
if (checkalias (concatword &#36;arg1 &#36;sa)) [] [alias (concatword &#36;arg1 &#36;sa) (tmp_command)]<br />
+= serialnum 1]] // serial (base name) (number to make) [meta-command]<br />
// Uses &#36;serialnum as its counting variable<br />
// Will not make the alias if the alias already exists<br />
alias delserial [<br />
loop ds &#36;arg2 [<br />
 delalias (concatword &#36;arg1 &#36;ds)]] // delserial (base name) (number to delete up to)<br />
alias nestalias [<br />
storeargs &#36;arg1 &#36;arg2 &#36;arg3 &#36;arg4<br />
nestnum = 0<br />
tmp_alias = &#36;tmp4<br />
loop nn &#36;tmp2 [<br />
 tmp_alias = (concat "alias" &#36;tmp1 "[" &#36;tmp_alias "]" ";" (tmp3))<br />
 += nestnum 1]<br />
alias &#36;tmp1 &#36;tmp_alias] // nestalias (alias name) (number of layers) [side meta-command] (end command)<br />
// Uses &#36;nestnum as its counting variable; you can use "delalias" as the end command for a self-deleting alias<br />
// *************************************************************************************************************<br />
// self-recursive alias maker -- creates an alias which calls itself -- by V-Man<br />
alias recursive [<br />
storeargs &#36;arg1 &#36;arg2 &#36;arg3<br />
if (isnumber &#36;tmp1) [<br />
 echo You must use a string for the alias!] [<br />
 alias (getalias tmp1) (concat (getalias tmp3) ";" "sleep" (getalias tmp2) (getalias tmp1))]<br />
delserial tmp 4]<br />
// recursive (name of alias) (sleep time) (command)<br />
// recursive rave 500 [scalelights 99 1337]<br />
// "rave" can then be added into mapstartalways using addcheck_msa<br />
alias stoploop [push &#36;arg1 []] // stoploop rave<br />
// *************************************************************************************************************<br />
// bloop -- A backward loop -- by V-Man<br />
alias bloop [loop &#36;arg1 &#36;arg2 [&#36;arg1 = (- (+ (* (getalias &#36;arg1) -1) &#36;arg2) 1); arg3]]<br />
// bloop i 10 [echo &#36;i]<br />
// 9 8 7 6 5 4 3 2 1 0<br />
// sloop -- add sleep to a loop -- idea by macm, abused by V-Man<br />
alias sloop [<br />
storeargs &#36;arg1 &#36;arg2 &#36;arg3 &#36;arg4<br />
if (isnumber &#36;tmp1) [<br />
 echo You must use a string for the alias!] [<br />
 (getalias tmp1) = 0<br />
 if (isint &#36;tmp3) [<br />
 sloopme] [echo You must use an integer for the sleep!]]]<br />
alias sloopme [<br />
  if (&lt; (getalias (getalias tmp1)) &#36;tmp2) [<br />
 &nbsp;&nbsp;tmp4<br />
 &nbsp;&nbsp;+= (getalias tmp1) 1<br />
 &nbsp;&nbsp;sleep &#36;tmp3 [sloopme]] []]<br />
// sloop (alias to use as counter) (number of loops) (sleep time) (command)<br />
// sloop temp 5 500 [echo Number (concatword (getalias temp) !)]<br />
// *************************************************************************************************************<br />
alias add2bind [if (strstr (keybind &#36;arg1) &#36;arg2) [] [bind &#36;arg1 (concat (keybind &#36;arg1) ";" &#36;arg2)]]<br />
// findbind -- A method of back-searching for key commands, phrases, or aliases in keybinds<br />
alias bindcheck [if (strstr (keybind &#36;arg1) &#36;arg2) [result 1] [result 0]]<br />
alias keylist [ MOUSE1 MOUSE2 MOUSE3 MOUSE4 MOUSE5 MOUSE6 MOUSE7 MOUSE8 BACKSPACE TAB CLEAR RETURN PAUSE ESCAPE SPACE EXCLAIM QUOTEDBL HASH DOLLAR AMPERSAND QUOTE LEFTPAREN RIGHTPAREN ASTERISK PLUS COMMA MINUS PERIOD SLASH 0 1 2 3 4 5 6 7 8 9 COLON SEMICOLON LESS EQUALS GREATER QUESTION AT LEFTBRACKET BACKSLASH RIGHTBRACKET CARET UNDERSCORE BACKQUOTE a b c d e f g h i j k l m n o p q r s t u v w x y z DELETE KP0 KP1 KP2 KP3 KP4 KP5 KP6 KP7 KP8 KP9 KP_PERIOD KP_DIVIDE KP_MULTIPLY KP_MINUS KP_PLUS KP_ENTER KP_EQUALS UP DOWN RIGHT LEFT INSERT HOME END PAGEUP PAGEDOWN F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 NUMLOCK CAPSLOCK SCROLLOCK RSHIFT LSHIFT RCTRL LCTRL RALT LALT RMETA LMETA LSUPER RSUPER MODE COMPOSE HELP PRINT SYSREQ BREAK MENU SZ UE OE AE ] // listlen = 144<br />
alias findbind [<br />
alias bindloopresult []<br />
alias itemtofind &#36;arg1<br />
loop i 144 [<br />
 if (bindcheck (at &#36;keylist &#36;i) &#36;itemtofind) [<br />
  alias bindloopresult (concat &#36;bindloopresult (at &#36;keylist &#36;i))] []]<br />
result &#36;bindloopresult]<br />
// Method for dealing with multiple results in findbind:<br />
alias numbinds [listlen (findbind &#36;arg1)] // number of keys having the designated term in their binds<br />
// add2bind every key that has the designated term:<br />
alias add2eachbind [<br />
alias addition &#36;arg2<br />
if (findbind &#36;arg1) [<br />
loop i (numbinds &#36;itemtofind) [add2bind (at (findbind &#36;itemtofind) &#36;i) &#36;addition]]] <br />
// Example:<br />
// add2eachbind reload [echo "reloading..."]<br />
// ifbind -- encase an already-existing keybind in a conditional statement -- by V-Man<br />
alias ifbind [<br />
bind &#36;arg1 (concat [if] &#36;arg2 (concatword "[" (if &#36;arg4 [result (keybind &#36;arg1)] [result &#36;arg3]) "]") (concatword "[" (if &#36;arg4 [result &#36;arg3] [result (keybind &#36;arg1)]) "]"))]<br />
// ifbind (key) (condition) (command) (Use normal keybind if condition is 1 or 0?)<br />
// ifbind V [&#36;connected] [showmenu voicecom] 0<br />
// Takes the current bind in key "V" and makes it the "if not" (0) argument in an encasing "if" statement depending on &#36;connected (thus, the provided command is executed when &#36;connected evaluates to 1).<br />
// *************************************************************************************************************<br />
// delfromlist -- A set of tools to modify lists<br />
alias delfromlistend [<br />
 tmp_list1 = []<br />
 loop de (- (listlen &#36;arg1) &#36;arg2) [<br />
  add2list tmp_list1 (at &#36;arg1 &#36;de)]<br />
 result (getalias tmp_list1) ]<br />
// echo (delfromlistend &#36;testlist 3)<br />
alias delfromliststart [<br />
 tmp_list2 = []<br />
 loop ds (- (listlen &#36;arg1) &#36;arg2) [<br />
  add2list tmp_list2 (at &#36;arg1 (+ &#36;ds &#36;arg2))]<br />
 result (getalias tmp_list2) ]<br />
// echo (delfromliststart &#36;testlist 3)<br />
alias delfromlist [<br />
 tmp_list3 = []<br />
 loop dl (listlen &#36;arg1) [<br />
  if (strcmp (at &#36;arg1 &#36;dl) &#36;arg2) [] [<br />
 &nbsp;&nbsp;add2list tmp_list3 (at &#36;arg1 &#36;dl)]]<br />
 result (getalias tmp_list3) ]<br />
// echo (delfromlist &#36;testlist k)<br />
alias delfromlist_mult [<br />
 alias tmp_list4 &#36;arg1<br />
 loop mu (listlen &#36;arg2) [alias tmp_list4 (delfromlist &#36;tmp_list4 (at &#36;arg2 &#36;mu))]<br />
 result (getalias tmp_list4) ]<br />
// echo (delfromlist_mult &#36;testlist [a c e g i k])<br />
alias replacestr [<br />
 tmp_list5 = []<br />
 loop rs (listlen &#36;arg1) [<br />
  if (strcmp (at &#36;arg1 &#36;rs) &#36;arg2) [add2list tmp_list5 &#36;arg3] [add2list tmp_list5 (at &#36;arg1 &#36;rs)]]<br />
 result (getalias tmp_list5)]<br />
// replacestr [I do not like CubeScript] "not" "really"<br />
alias swapstrpos [<br />
 tmp_list6 = []<br />
 alias strpos1 (findlist &#36;arg1 &#36;arg2)<br />
 alias strpos2 (findlist &#36;arg1 &#36;arg3)<br />
 loop sw (listlen &#36;arg1) [<br />
  if (= &#36;sw &#36;strpos1) [add2list tmp_list6 &#36;arg3] [<br />
 &nbsp;&nbsp;if (= &#36;sw &#36;strpos2) [add2list tmp_list6 &#36;arg2] [<br />
    add2list tmp_list6 (at &#36;arg1 &#36;sw)]]]<br />
 result (getalias tmp_list6)]<br />
// swapstrpos [I do really like CubeScript] "do" "really"<br />
// insertpos -- modify a list by inserting a specified element into a specified point in the list -- by V-Man<br />
alias insertpos [<br />
 tmp_list7 = []<br />
 loop inp (listlen &#36;arg1) [<br />
  if (= &#36;arg2 &#36;inp) [<br />
 &nbsp;&nbsp;add2list tmp_list7 &#36;arg3 ; add2list tmp_list7 (at &#36;arg1 &#36;inp)] [<br />
 &nbsp;&nbsp;add2list tmp_list7 (at &#36;arg1 &#36;inp)]]<br />
 result (getalias tmp_list7)]<br />
// insertpos (list) (position) (element to add)<br />
// echo (insertpos [I really would enjoy playing TOSOK all day long] 3 not)<br />
alias insertstr [<br />
 if (= (findlist &#36;arg1 &#36;arg2) -1) [echo Specified string not found in list!] [<br />
 insertpos &#36;arg1 (+ (findlist &#36;arg1 &#36;arg2) 1) &#36;arg3]]<br />
// insertstr (list) (element after which to insert new element) (element to add) (next element, if it helps you)<br />
// echo (insertstr [A good Cuber will die for the team!] will sometimes die)<br />
// if there are two instances of the reference element, this script uses the first one.<br />
alias concatlist [<br />
tmp_cnclist = []<br />
loop cncl (listlen &#36;arg1) [tmp_cnclist = (concatword &#36;tmp_cnclist (at &#36;arg1 &#36;cncl))]<br />
result &#36;tmp_cnclist] // echo (concatlist [V - M a n])<br />
alias mv2liststart [result (insertpos (delfromlist &#36;arg1 &#36;arg2) 0 &#36;arg2)] // echo (mv2liststart [fragging love I] I)<br />
// *************************************************************************************************************<br />
// add2menu -- Quickly append to any already-defined menu without having to open its cfg file for editing<br />
alias add2menu [<br />
newmenu &#36;arg1<br />
arg2]<br />
alias add2mainmenu [<br />
add2menu main &#36;arg1]<br />
// *************************************************************************************************************<br />
// conloop -- A generic looping conline checker.<br />
alias if_conline_list [] // instead of "checkinit" to avoid spamz0r<br />
alias if_conline_has [<br />
check_for = &#36;arg1<br />
if (|| (|| (strcmp &#36;arg2 "but_not") (strcmp &#36;arg2 "and_also")) (strcmp &#36;arg2 "or_else")) [<br />
 tmp_other = &#36;arg3<br />
 action_if_yes = &#36;arg4<br />
 action_if_no = &#36;arg5<br />
 if (strcmp &#36;arg2 "but_not") [<br />
  if (&amp;&amp; (strstr &#36;conline &#36;check_for) (! (strstr &#36;conline &#36;tmp_other))) [action_if_yes] [action_if_no]] []<br />
 if (strcmp &#36;arg2 "and_also") [<br />
  if (&amp;&amp; (strstr &#36;conline &#36;check_for) (strstr &#36;conline &#36;tmp_other)) [action_if_yes] [action_if_no]] []<br />
 if (strcmp &#36;arg2 "or_else") [<br />
  if (|| (strstr &#36;conline &#36;check_for) (strstr &#36;conline &#36;tmp_other)) [action_if_yes] [action_if_no]] []<br />
 ] [<br />
 action_if_yes = &#36;arg2<br />
 action_if_no = &#36;arg3<br />
 if (strstr &#36;conline &#36;check_for) [action_if_yes] [action_if_no]]]<br />
alias add2conloop [addcheck if_conline_list &#36;arg1]<br />
recursive conloop 0 [if_conline_list; conline [ ]]<br />
addcheck_msa conloop<br />
// Example:<br />
// add2conloop [if_conline_has "connected: " [whois (findcn (at &#36;conline 1))] []]<br />
// *************************************************************************************************************<br />
// convertcnum and whoisline -- automatically stores the last "whois" info in an alias -- by V-Man<br />
alias convertcnum [<br />
loop co 42 [if (strcmp (at &#36;conline 2) (concatword &#36;co ":")) [tmpcn = &#36;co] []]<br />
result &#36;tmpcn]<br />
add2conloop [<br />
if_conline_has "WHOIS" [<br />
 if (= (listlen &#36;conline) 7) [<br />
  alias whoisline (concat (convertcnum) (at &#36;conline 4) (at &#36;conline 6))<br />
  ] [<br />
  alias whoisline (concat (convertcnum) (at &#36;conline 4) (at &#36;conline 7))]] []]<br />
// whoisline = cn, name, IP<br />
// *************************************************************************************************************<br />
// curplayers -- Returns the number of players in the server or bot game -- by DES|Bukz.<br />
// Modified by V-Wifey and V-Man.<br />
alias curplayers [<br />
 players = 0<br />
 if &#36;connected [<br />
  loop x 21 [if (= (at (pstat_score &#36;x) 4) -1) [] [+= players 1]]<br />
  result &#36;players<br />
 ] [<br />
  loop x 41 [if (strcmp (findpn &#36;x) "") [] [+= players 1]]<br />
  result &#36;players<br />
]]<br />
// *************************************************************************************************************<br />
// validcnumlist by V-Man: counts the number of (non-duplicated) client numbers<br />
alias validcnumlist [<br />
validcnums = []<br />
 if &#36;connected [<br />
  loop n 21 [if (= (at (pstat_score &#36;n) 4) -1) [] [add2list validcnums &#36;n]]<br />
  result &#36;validcnums<br />
 ] [<br />
  loop n 41 [if (strcmp (findpn &#36;n) "") [] [add2list validcnums &#36;n]]<br />
  result &#36;validcnums ]]<br />
// kickbots: kickbots 1 3 5 7 9 kicks multiple bots, by client number<br />
alias kickbots [<br />
 loop o &#36;numargs [<br />
  kickbot (findpn (getalias (concatword "arg" (+ &#36;o 1)))) ]]<br />
// whoisall: WHOIS check on every client in the server<br />
alias whoisall [loop w 21 [whois &#36;w]]<br />
// teamcount: echo (teamcount 1) returns the count for players in RVSF<br />
alias teamcount [<br />
tmp_count = 0<br />
loop p (curplayers) [<br />
 if (= (at (pstat_score (at (validcnumlist) &#36;p)) 4) &#36;arg1) [+= tmp_count 1] []<br />
] result &#36;tmp_count ]<br />
// *************************************************************************************************************<br />
// Bukz' "cur" scripts -- calculates the highest client number, number of enemies, and individual pstat scores<br />
// curhighestcn - Returns the highest client number in the current game. - by DES|Bukz<br />
alias curhighestcn [<br />
 hcn = 0<br />
 if &#36;connected [<br />
  loop q 21 [if (strcmp (findpn &#36;q) "") [] [hcn = &#36;q]]<br />
  ] [<br />
  loop q 41 [if (strcmp (findpn &#36;q) "") [] [hcn = &#36;q]]<br />
  ] result &#36;hcn ]<br />
// curenemies - Returns the current number of enemies the user may have ATM. - by DES|Bukz<br />
// Requires tools.cfg &amp; the "curhighestcn" script.<br />
alias curenemies [<br />
 tmpenemies = 0<br />
 if (|| &#36;connected (curmodeattr bot)) [<br />
  if (curmodeattr team) [<br />
 &nbsp;&nbsp;if (curteam) [<br />
    loop b (+ (curhighestcn) 1) [<br />
  if (= (at (pstat_score &#36;b) 4) 0) [+= tmpenemies 1] []<br />
  ] result &#36;tmpenemies<br />
  ] [<br />
   &nbsp;&nbsp;loop b (+ (curhighestcn) 1) [<br />
      if (= (at (pstat_score &#36;a) 4) 1) [+= tmpenemies 1] []<br />
      ] result &#36;tmpenemies]] [<br />
  tmpenemies = (- (curplayers) 1)<br />
  result &#36;tmpenemies]] [result -1]]<br />
// curdeaths - Returns the number of deaths a client has in the current game. - by DES|Bukz<br />
// Returns -1 if an invalid client number was given.<br />
alias curdeaths [<br />
 tmpdeaths = 0<br />
  if (strcmp (findpn &#36;arg1) "") [result -1] [<br />
 &nbsp;&nbsp;tmpdeaths = (at (pstat_score &#36;arg1) 2)<br />
 &nbsp;&nbsp;result &#36;tmpdeaths ]]<br />
// curfrags - Returns the number of frags a client has in the current game. - by DES|Bukz<br />
// Returns -1 if an invalid client number was given.<br />
alias curfrags [<br />
 tmpfrags = 0<br />
 if (strcmp (findpn &#36;arg1) "") [result -1] [<br />
  tmpfrags = (at (pstat_score &#36;arg1) 1)<br />
  result &#36;tmpfrags ]]<br />
// curratio - Returns the given clients ratio in a floating point decimal by DES|Bukz<br />
// Returns -1 if an invalid client number was given.<br />
alias curratio [<br />
 if (strcmp (findpn &#36;arg1) "") [result -1] [<br />
  alias tmpfrags (at (pstat_score &#36;arg1) 1)<br />
  alias tmpdeaths (at (pstat_score &#36;arg1) 2)<br />
  if (&lt; &#36;tmpdeaths 2) [<br />
 &nbsp;&nbsp;alias tmpratio (concatword &#36;tmpfrags .0)<br />
 &nbsp;&nbsp;] [alias tmpratio (divf &#36;tmpfrags &#36;tmpdeaths)]<br />
  result &#36;tmpratio ]]<br />
  // curscore - Returns the current score (in points) that a given client has ATM by DES|Bukz<br />
alias curscore [<br />
 if (strcmp (findpn &#36;arg1) "") [result -1] [<br />
  tmpscore = (at (pstat_score &#36;arg1) 3)<br />
 &nbsp;&nbsp;result &#36;tmpscore ]]<br />
// *************************************************************************************************************<br />
alias countsound [<br />
registersound &#36;arg1 &#36;arg2 &#36;arg3 &#36;arg4<br />
+= regsounds 1<br />
alias &#36;arg5 (concat "sound" &#36;regsounds)<br />
addlistonquit &#36;arg5]<br />
// countsound weapon&#92;chainsaw [] [] [] chsaw<br />
// registers chainsaw.wav and saves its sound command in alias "chsaw"<br />
regsounds = 98 // If there are 98 sounds registered in sounds.cfg (98 is default)<br />
// *************************************************************************************************************<br />
// Clearing the tools on quit<br />
addcheck_onquit [delserial tmp_list 9]<br />
addcheck_onquit [delserial tmp 9]<br />
addlistonquit [addcheck add2bind add2list addcheck_msa addcheck_si addcheck_onquit addcheck_sb addlistonquit findbind bindcheck bindloopresult fblc itemtofind findbind_loop keylist numbinds add2eachbind addition initialize checkinit if_conline_has check_for has_not action_if_yes action_if_no add2conloop conloop if_conline_list pow pow_exp pow_base roundf average avsum add2menu add2mainmenu players curplayers serial tmp_command serialnum nestalias tmp_name tmp_command tmp_layers nestnum tmp_alias delfromlistend delfromliststart delfromlist delfromlist_mult replacestr swapstrpos mv2liststart tmp_list strpos1 strpos2 validcnumlist validcnums kickbots teamcount tmp_count curhighestcn hcn curenemies tmpenemies curdeaths tmpdeaths curfrags tmpfrags curratio tmpratio storeargs sloop sloopme recursive isfloat isint isnumber iseven rndposneg absval square sqrt x tmp_iters sqrt_perr sqrt_err insertpos insertstr convertcnum tmpcn whoisline shiftsel countsound regsounds larger smaller torads todegs div=f larger smaller GCD LCM tmplcm fac tmpfac sin tmpsin tmp_sin cos tmpcos tmp_cos tan cosecant secant cotangent numpi logn tmplog ecount tmp_log log10 log2 tmpval tmpres tmpfp whatpercent percentrange rndattract tmpresult<br />
alias_list onQuit]<br />
exec config/docsection.cfg</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[3XIX´s Graphic Update [Stopped]]]></title>
			<link>https://forum.cubers.net/thread-9136.html</link>
			<pubDate>Sat, 03 Jun 2023 03:45:48 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=18435">3XIX</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9136.html</guid>
			<description><![CDATA[Hey hey, <br />
<br />
As you might know by now, i´m working on updating graphic aspects of this game. Some might have asked themself why i haven´t shared the Blossom Map reproduction, the answer is: I prefer sharing the full package and not only single things, i made an exception for the weapon models and will see what else.<br />
<br />
I changed this thread to be a diary of what i try or change/update. Obviously not daily, since i´m doing things step by step and only if i´ve some time for it.<br />
<br />
I´ve also found the issue for performance fluctuations, that however is out of my hands and we´ve to rely on "Flowtron" etc. to fix it. I´m still thinking about creating a map which avoids this issue, that however requires alot of math, since i´m going to add ray traced lighting to it (baked into textures as in the blossom showcase, but with better detail and more bounces)<br />
<br />
Alot of that takes huge amounts of time and mainly pc resources, since baking ray tracing into 8k textures and scaling them down afterwards is prerendering. Due to the hot weather these days i pushed that project to the colder months, otherwise downclocking/overheating.<br />
<br />
<br />
CSGO Workshop Map: Blossom reproduction<br />
<img src="https://i.imgur.com/octXjil.jpeg" loading="lazy"  alt="[Image: octXjil.jpeg]" class="mycode_img" /><br />
<br />
A little test of using reshade as "external shaders", which makes more sense for people to be able to activate and deactivate or not use based on their hardware:<br />
<br />
Blossom with reshade HDR Bloom:<br />
<img src="https://i.imgur.com/cSDBhwV.jpg" loading="lazy"  alt="[Image: cSDBhwV.jpg]" class="mycode_img" /><br />
<br />
AssaultCube´s Sunset map with Reshade:<br />
<img src="https://i.imgur.com/kqjqxsh.jpg" loading="lazy"  alt="[Image: kqjqxsh.jpg]" class="mycode_img" /><br />
<br />
I believe many people dont know that they can use AssaultCube with reshade, therefore the link to it: <a href="https://reshade.me/" target="_blank" rel="noopener" class="mycode_url">https://reshade.me/</a><br />
<br />
And yup, currently working on a HUD/Icon update.(tested a valorant type texture modification on gun textures) That´s basicly how i do this, adding something and remove, and repeat until i believe i found/created the better asset.<br />
<br />
As usual, feel free to let me know what you think and leave ideas etc.]]></description>
			<content:encoded><![CDATA[Hey hey, <br />
<br />
As you might know by now, i´m working on updating graphic aspects of this game. Some might have asked themself why i haven´t shared the Blossom Map reproduction, the answer is: I prefer sharing the full package and not only single things, i made an exception for the weapon models and will see what else.<br />
<br />
I changed this thread to be a diary of what i try or change/update. Obviously not daily, since i´m doing things step by step and only if i´ve some time for it.<br />
<br />
I´ve also found the issue for performance fluctuations, that however is out of my hands and we´ve to rely on "Flowtron" etc. to fix it. I´m still thinking about creating a map which avoids this issue, that however requires alot of math, since i´m going to add ray traced lighting to it (baked into textures as in the blossom showcase, but with better detail and more bounces)<br />
<br />
Alot of that takes huge amounts of time and mainly pc resources, since baking ray tracing into 8k textures and scaling them down afterwards is prerendering. Due to the hot weather these days i pushed that project to the colder months, otherwise downclocking/overheating.<br />
<br />
<br />
CSGO Workshop Map: Blossom reproduction<br />
<img src="https://i.imgur.com/octXjil.jpeg" loading="lazy"  alt="[Image: octXjil.jpeg]" class="mycode_img" /><br />
<br />
A little test of using reshade as "external shaders", which makes more sense for people to be able to activate and deactivate or not use based on their hardware:<br />
<br />
Blossom with reshade HDR Bloom:<br />
<img src="https://i.imgur.com/cSDBhwV.jpg" loading="lazy"  alt="[Image: cSDBhwV.jpg]" class="mycode_img" /><br />
<br />
AssaultCube´s Sunset map with Reshade:<br />
<img src="https://i.imgur.com/kqjqxsh.jpg" loading="lazy"  alt="[Image: kqjqxsh.jpg]" class="mycode_img" /><br />
<br />
I believe many people dont know that they can use AssaultCube with reshade, therefore the link to it: <a href="https://reshade.me/" target="_blank" rel="noopener" class="mycode_url">https://reshade.me/</a><br />
<br />
And yup, currently working on a HUD/Icon update.(tested a valorant type texture modification on gun textures) That´s basicly how i do this, adding something and remove, and repeat until i believe i found/created the better asset.<br />
<br />
As usual, feel free to let me know what you think and leave ideas etc.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[New website for community made content]]></title>
			<link>https://forum.cubers.net/thread-9133.html</link>
			<pubDate>Mon, 24 Oct 2022 23:31:56 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=18753">casual_dev</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9133.html</guid>
			<description><![CDATA[I played AssaultCube for several years and had tons of fun. Not only because of the good mechanics and feeling, but in particular also because of the vast possibilities of modding and the dedicated server feature.<br />
<br />
There have been so many great community contributions in form of maps, textures, models, etc.<br />
<br />
Recently I was googling a few days occassionally how good many of the oldschool games were. So many offered community content and dedicated servers. So many games spawned multiple community websites of various topics. Also so many clans and tournaments. Nowadays this is pretty much gone. It's only anonymous matchmaking and zero possibilities for dedicated servers and modding.<br />
<br />
Then I stumbled upon AssaultCube again and saw it got new updates and even a mobile release. I was hyped. So glad that this is still active. Then after seeing that akimbo is down since a while, I figured I can give something back to the great game, devs and community. AC-Resources.org was born.<br />
<br />
My website AC-Resources.org is a hosting service for all kinds of (legal) AssaultCube community content. You can download and share maps, sprites, textures, models, scripts, mods &amp; more. You can review community content submissions with a 5-star rating system. It's also mobile friendly. It's basically my way of giving something back to the community.<br />
<br />
Maybe someone has use for it. Oh and it is open-source software, so feel free to create issues / make pull requests.<br />
<br />
Link to web app: <a href="https://www.ac-resources.org/" target="_blank" rel="noopener" class="mycode_url">https://www.ac-resources.org/</a>]]></description>
			<content:encoded><![CDATA[I played AssaultCube for several years and had tons of fun. Not only because of the good mechanics and feeling, but in particular also because of the vast possibilities of modding and the dedicated server feature.<br />
<br />
There have been so many great community contributions in form of maps, textures, models, etc.<br />
<br />
Recently I was googling a few days occassionally how good many of the oldschool games were. So many offered community content and dedicated servers. So many games spawned multiple community websites of various topics. Also so many clans and tournaments. Nowadays this is pretty much gone. It's only anonymous matchmaking and zero possibilities for dedicated servers and modding.<br />
<br />
Then I stumbled upon AssaultCube again and saw it got new updates and even a mobile release. I was hyped. So glad that this is still active. Then after seeing that akimbo is down since a while, I figured I can give something back to the great game, devs and community. AC-Resources.org was born.<br />
<br />
My website AC-Resources.org is a hosting service for all kinds of (legal) AssaultCube community content. You can download and share maps, sprites, textures, models, scripts, mods &amp; more. You can review community content submissions with a 5-star rating system. It's also mobile friendly. It's basically my way of giving something back to the community.<br />
<br />
Maybe someone has use for it. Oh and it is open-source software, so feel free to create issues / make pull requests.<br />
<br />
Link to web app: <a href="https://www.ac-resources.org/" target="_blank" rel="noopener" class="mycode_url">https://www.ac-resources.org/</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Map] gema_ninja + gema_ctf_template]]></title>
			<link>https://forum.cubers.net/thread-9130.html</link>
			<pubDate>Sun, 01 May 2022 17:42:39 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=183">Mr.Floppy</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9130.html</guid>
			<description><![CDATA[I guess nobody has been waiting for this, but finally I created my first parkour styled map (GEMA) for AC. It is somewhat inspired by Ninja Warrior, hence the name.<br />
<br />
The map is playable in CTF-mode and separating both teams completely. This was a little tricky to pull off and isn't exactly perfect, but I'd say it works better than what we usually see in GEMA maps. I created a simple template, which has those separated flag bases set up already. From that template I built gema_ninja, so you can use that as an example for how to apply the template.<br />
<br />
I tried my best to work around all the weird and frustrating stuff, that usually keeps me away from GEMA. It certainly isn't the most challenging GEMA you'll find, but it is playable with all primary weapons except Shotgun. So in case AR and Carbine seem too easy, try Sniper or even SMG. ;)<br />
<br />
Download: <a href="https://c.gmx.net/@328149989857432914/e-bcyYLARySPk0GpEXTjDg" target="_blank" rel="noopener" class="mycode_url">gema_ninja+gema_ctf_template</a><br />
<br />
Also, there's a little server (Jack's Backyard [EU] [GEMA]) hosting the map in CTF mode in case you feel like jumping right into it. Would be nice if we had more maps like gema_ninja on there. So get the template and start your (first?) GEMA map today! ;)<br />
<br />
<img src="https://i.imgur.com/PbYF0f5.jpg" loading="lazy"  alt="[Image: PbYF0f5.jpg]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[I guess nobody has been waiting for this, but finally I created my first parkour styled map (GEMA) for AC. It is somewhat inspired by Ninja Warrior, hence the name.<br />
<br />
The map is playable in CTF-mode and separating both teams completely. This was a little tricky to pull off and isn't exactly perfect, but I'd say it works better than what we usually see in GEMA maps. I created a simple template, which has those separated flag bases set up already. From that template I built gema_ninja, so you can use that as an example for how to apply the template.<br />
<br />
I tried my best to work around all the weird and frustrating stuff, that usually keeps me away from GEMA. It certainly isn't the most challenging GEMA you'll find, but it is playable with all primary weapons except Shotgun. So in case AR and Carbine seem too easy, try Sniper or even SMG. ;)<br />
<br />
Download: <a href="https://c.gmx.net/@328149989857432914/e-bcyYLARySPk0GpEXTjDg" target="_blank" rel="noopener" class="mycode_url">gema_ninja+gema_ctf_template</a><br />
<br />
Also, there's a little server (Jack's Backyard [EU] [GEMA]) hosting the map in CTF mode in case you feel like jumping right into it. Would be nice if we had more maps like gema_ninja on there. So get the template and start your (first?) GEMA map today! ;)<br />
<br />
<img src="https://i.imgur.com/PbYF0f5.jpg" loading="lazy"  alt="[Image: PbYF0f5.jpg]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[AC-Map Design/Clipping etc.]]></title>
			<link>https://forum.cubers.net/thread-9129.html</link>
			<pubDate>Wed, 20 Apr 2022 22:30:35 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=18435">3XIX</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9129.html</guid>
			<description><![CDATA[Hey Guys,<br />
<br />
after another 2 years of research i learned alot more about performance aspects, when it comes to 3D art.<br />
<br />
today i wanna show a little map project i´ve made (had to clean it up, since i couldnt get license permissions from Quixel) I still believe it should look decent enough for AC Level, remember that its created with Hardware for AC in mind. Also containers could have seperate textures each, if i find more CC0 sources.<br />
<br />
Some technical info:<br />
Vertices: 1310 (minimum possible, textures give the detail)<br />
Shader Changes: 6<br />
Surface/Material Changes: 7 (Bump/Normal Map texture stored within the alpha channel of a texture, "fake" Normal)<br />
Draw Calls: 1 (Combined all Models to one Model, this reduces CPU usage around 75%)<br />
which is really important, since we effectivly using 1 Core only in CUBE Engine, besides that many developers doing that wrong even in AAA games (combine models/collision, after that games are nearly limited to GPU only) Also having the CPU deliver data faster to the GPU result in more FPS, if GPU isnt maxed.<br />
<br />
The overall environment vertices of 7429 have to be seperated, gun, hud and specificly shadow (doubles vertices)<br />
<br />
Design copied from Line of Sight - Opencage Map:<br />
<img src="https://i.imgur.com/5u0n1Ir.jpg" loading="lazy"  alt="[Image: 5u0n1Ir.jpg]" class="mycode_img" /><br />
<br />
Still, since i didnt really learned more about Assault Cube itself, im thinking about how to Clip it.<br />
I´ve tried to clip it seperate and with playerclips but both seem to be collision only and dont stop bullets.<br />
So, if someone knows how thats done, the map can be released.<br />
<br />
Note: I know that it could be done with walling inside of each container for example, but that would require world quads and world vertices (which are waste of performance, since it only needs clips which doesnt display anything, that way its nearly exact 400 fps on an old Intel HD4000, couldnt test with ATI Xpress 1100 yet, but those who wanna give it a try to test without clips (not final performance) you can use a seperate game client (Make sure to not play online! You wont see anything in most Maps anyway :P) loadmap opencage via console or go to singeplayer, empty map, show all maps, opencage. At moment the map replaces Makke/Barrel Model (Loading times will be increased due to 4k textures)<br />
<br />
Opencage for AC - Alpha:<br />
<a href="https://workupload.com/file/syXhgznSXDs" target="_blank" rel="noopener" class="mycode_url">https://workupload.com/file/syXhgznSXDs</a><br />
<br />
Piece]]></description>
			<content:encoded><![CDATA[Hey Guys,<br />
<br />
after another 2 years of research i learned alot more about performance aspects, when it comes to 3D art.<br />
<br />
today i wanna show a little map project i´ve made (had to clean it up, since i couldnt get license permissions from Quixel) I still believe it should look decent enough for AC Level, remember that its created with Hardware for AC in mind. Also containers could have seperate textures each, if i find more CC0 sources.<br />
<br />
Some technical info:<br />
Vertices: 1310 (minimum possible, textures give the detail)<br />
Shader Changes: 6<br />
Surface/Material Changes: 7 (Bump/Normal Map texture stored within the alpha channel of a texture, "fake" Normal)<br />
Draw Calls: 1 (Combined all Models to one Model, this reduces CPU usage around 75%)<br />
which is really important, since we effectivly using 1 Core only in CUBE Engine, besides that many developers doing that wrong even in AAA games (combine models/collision, after that games are nearly limited to GPU only) Also having the CPU deliver data faster to the GPU result in more FPS, if GPU isnt maxed.<br />
<br />
The overall environment vertices of 7429 have to be seperated, gun, hud and specificly shadow (doubles vertices)<br />
<br />
Design copied from Line of Sight - Opencage Map:<br />
<img src="https://i.imgur.com/5u0n1Ir.jpg" loading="lazy"  alt="[Image: 5u0n1Ir.jpg]" class="mycode_img" /><br />
<br />
Still, since i didnt really learned more about Assault Cube itself, im thinking about how to Clip it.<br />
I´ve tried to clip it seperate and with playerclips but both seem to be collision only and dont stop bullets.<br />
So, if someone knows how thats done, the map can be released.<br />
<br />
Note: I know that it could be done with walling inside of each container for example, but that would require world quads and world vertices (which are waste of performance, since it only needs clips which doesnt display anything, that way its nearly exact 400 fps on an old Intel HD4000, couldnt test with ATI Xpress 1100 yet, but those who wanna give it a try to test without clips (not final performance) you can use a seperate game client (Make sure to not play online! You wont see anything in most Maps anyway :P) loadmap opencage via console or go to singeplayer, empty map, show all maps, opencage. At moment the map replaces Makke/Barrel Model (Loading times will be increased due to 4k textures)<br />
<br />
Opencage for AC - Alpha:<br />
<a href="https://workupload.com/file/syXhgznSXDs" target="_blank" rel="noopener" class="mycode_url">https://workupload.com/file/syXhgznSXDs</a><br />
<br />
Piece]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[The 1.3 Mapping Contest]]></title>
			<link>https://forum.cubers.net/thread-9124.html</link>
			<pubDate>Sun, 16 Jan 2022 20:34:33 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=754">Pi_Halo</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9124.html</guid>
			<description><![CDATA[Theme:<br />
This time around, the theme is going to be a little different. There will be an open theme contest. You can use any theme you want. However, when you submit your map, you must clearly state which theme your map falls under<br />
<br />
Deadline:<br />
Begins now (January 17th) and will run to April 1st<br />
<br />
Judges:<br />
Halo<br />
I know only one judge looks strange. However, I wanted to allow the max number of people to try out the new mapping updates in 1.3 and figured this to be best. <br />
<br />
Scores:<br />
The scoring is undergoing a huge change in this contest. It will be divided into 2 sections worth 25 each. Those sections are gameplay mechanics and detailing. Each section will be broken down into 5 point sections. A possible 50 points is up for grabs out of these sections. There will also be a poll to vote on at the end of the contest in which how ever many votes you receive will be added to your total.<br />
<br />
<br />
Gameplay 25 points (0 out of 5 in each)<br />
Layout 5 (this will be how well your layout is)<br />
Gameplay 5 (how it plays)<br />
Pickups &amp; Spawns 5 (how your pickups and spawns are placed)<br />
Mode 5 (this will be judged based on what mode you suggest your map is for and how well it works for that mode)<br />
Lighting 5 (how well your map is lit overall)<br />
<br />
<br />
<br />
There will be another 25 up for grabs in details (0 out of 5 in each)<br />
Theme 5 (this will be how well you managed the theme you suggest your map is)<br />
Detail 5 (how well it is detailed overall)<br />
Sounds 5 (sound usage)<br />
Textures 5 (how well you used textures)<br />
Models 5 (how well you used mapmodels)<br />
<br />
<br />
<br />
Rules:<br />
* Map can not be previously released before the start of this contest<br />
* No limits on how many maps you can submit (nor limits on how many people can work on a single map)<br />
* No stealing<br />
* No judge was involved in the process of making the map<br />
* Anyone can enter, no requirements are set based off mapping experience<br />
<br />
<br />
Prizes:<br />
A 50 USD amazon gift card will be offered to the winning map. In the case a team/coop map wins, its up to the users to decide between them on how to split the prize. In the event an amazon gift card isn't the winners ideal gift, let me know. I might be able to work with you and get you something of equal value. <br />
<br />
<br />
As of right now, I do not plan on having a newcomer prize this year or a newcomer section. However, if I see enough new mappers are entering, I will change this.<br />
<br />
Any questions, feel free to ask.<br />
<br />
Be nice, and happy mapping! Good luck out there!]]></description>
			<content:encoded><![CDATA[Theme:<br />
This time around, the theme is going to be a little different. There will be an open theme contest. You can use any theme you want. However, when you submit your map, you must clearly state which theme your map falls under<br />
<br />
Deadline:<br />
Begins now (January 17th) and will run to April 1st<br />
<br />
Judges:<br />
Halo<br />
I know only one judge looks strange. However, I wanted to allow the max number of people to try out the new mapping updates in 1.3 and figured this to be best. <br />
<br />
Scores:<br />
The scoring is undergoing a huge change in this contest. It will be divided into 2 sections worth 25 each. Those sections are gameplay mechanics and detailing. Each section will be broken down into 5 point sections. A possible 50 points is up for grabs out of these sections. There will also be a poll to vote on at the end of the contest in which how ever many votes you receive will be added to your total.<br />
<br />
<br />
Gameplay 25 points (0 out of 5 in each)<br />
Layout 5 (this will be how well your layout is)<br />
Gameplay 5 (how it plays)<br />
Pickups &amp; Spawns 5 (how your pickups and spawns are placed)<br />
Mode 5 (this will be judged based on what mode you suggest your map is for and how well it works for that mode)<br />
Lighting 5 (how well your map is lit overall)<br />
<br />
<br />
<br />
There will be another 25 up for grabs in details (0 out of 5 in each)<br />
Theme 5 (this will be how well you managed the theme you suggest your map is)<br />
Detail 5 (how well it is detailed overall)<br />
Sounds 5 (sound usage)<br />
Textures 5 (how well you used textures)<br />
Models 5 (how well you used mapmodels)<br />
<br />
<br />
<br />
Rules:<br />
* Map can not be previously released before the start of this contest<br />
* No limits on how many maps you can submit (nor limits on how many people can work on a single map)<br />
* No stealing<br />
* No judge was involved in the process of making the map<br />
* Anyone can enter, no requirements are set based off mapping experience<br />
<br />
<br />
Prizes:<br />
A 50 USD amazon gift card will be offered to the winning map. In the case a team/coop map wins, its up to the users to decide between them on how to split the prize. In the event an amazon gift card isn't the winners ideal gift, let me know. I might be able to work with you and get you something of equal value. <br />
<br />
<br />
As of right now, I do not plan on having a newcomer prize this year or a newcomer section. However, if I see enough new mappers are entering, I will change this.<br />
<br />
Any questions, feel free to ask.<br />
<br />
Be nice, and happy mapping! Good luck out there!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ac_aleppo]]></title>
			<link>https://forum.cubers.net/thread-9109.html</link>
			<pubDate>Fri, 27 Aug 2021 08:15:02 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=18472">Anemoi</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9109.html</guid>
			<description><![CDATA[Always wanted to try my hand at something new in AC. Tried GEMA and now I've given mapping a shot. Mainly spurred on by Husk I created this map as my first dive into the scene. The map was inspired by war-torn cities like Aleppo and Mosul. The map is small but can work in CTF/KTF/HTF, but I would suggest DM or 1v1/2v2.<br />
<br />
<br />
<br />
<img src="https://i.imgur.com/jhvutKF.jpg" loading="lazy"  alt="[Image: jhvutKF.jpg]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/gWlUGgb.jpeg" loading="lazy"  alt="[Image: gWlUGgb.jpeg]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/VpAt7hJ.jpg" loading="lazy"  alt="[Image: VpAt7hJ.jpg]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/e4T2d7Z.jpg" loading="lazy"  alt="[Image: e4T2d7Z.jpg]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/R7mpPXa.jpg" loading="lazy"  alt="[Image: R7mpPXa.jpg]" class="mycode_img" /><br />
<a href="https://easyupload.io/vhvybw" target="_blank" rel="noopener" class="mycode_url">Download </a>or /getmap ac_aleppo in game is possible (Thanks XRD)<br />
And a final thanks to Husk and Halo for the advice throughout the mapping process and answering my ridiculous questions.<br />
I hope it is good enough to see people enjoying it and I'd love some brutally honest feedback.]]></description>
			<content:encoded><![CDATA[Always wanted to try my hand at something new in AC. Tried GEMA and now I've given mapping a shot. Mainly spurred on by Husk I created this map as my first dive into the scene. The map was inspired by war-torn cities like Aleppo and Mosul. The map is small but can work in CTF/KTF/HTF, but I would suggest DM or 1v1/2v2.<br />
<br />
<br />
<br />
<img src="https://i.imgur.com/jhvutKF.jpg" loading="lazy"  alt="[Image: jhvutKF.jpg]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/gWlUGgb.jpeg" loading="lazy"  alt="[Image: gWlUGgb.jpeg]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/VpAt7hJ.jpg" loading="lazy"  alt="[Image: VpAt7hJ.jpg]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/e4T2d7Z.jpg" loading="lazy"  alt="[Image: e4T2d7Z.jpg]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/R7mpPXa.jpg" loading="lazy"  alt="[Image: R7mpPXa.jpg]" class="mycode_img" /><br />
<a href="https://easyupload.io/vhvybw" target="_blank" rel="noopener" class="mycode_url">Download </a>or /getmap ac_aleppo in game is possible (Thanks XRD)<br />
And a final thanks to Husk and Halo for the advice throughout the mapping process and answering my ridiculous questions.<br />
I hope it is good enough to see people enjoying it and I'd love some brutally honest feedback.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ac_raven - CTF haunted house]]></title>
			<link>https://forum.cubers.net/thread-9105.html</link>
			<pubDate>Sun, 27 Jun 2021 11:45:29 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=11301">YesWeCamp</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9105.html</guid>
			<description><![CDATA[This time I wanted to try something that I hadn't done before. A haunted house with one base in the backyard and one in the frontyard. It was inspired by several real country houses. The lay-out of the house is inspired by Château de Schoonhoven/Kasteel van Schoonhoven. Best in CTF/HTF/TKTF. <br />
<br />
<div class="spoiler_wrap"><div class="spoiler_header"><a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='&lt;img title=&quot;[+]&quot; alt=&quot;[+]&quot; src=&quot;/images/collapse_collapsed.png&quot; class=&quot;expandspoiler&quot; /&gt;Spoiler';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='&lt;img title=&quot;[-]&quot; alt=&quot;[-]&quot; src=&quot;/images/collapse.png&quot; class=&quot;expandspoiler&quot; /&gt;Spoiler';}"><img title="[+]" alt="[+]" src="/images/collapse_collapsed.png" class="expandspoiler" />Spoiler</a></div><div class="spoiler_body" style="display: none;">
<img src="https://i.ibb.co/Vq4BcPZ/20210627-11-28-52-ac-raven-coop.jpg" loading="lazy"  alt="[Image: 20210627-11-28-52-ac-raven-coop.jpg]" class="mycode_img" /><br />
<span style="color: #111111;" class="mycode_color"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><img src="https://i.ibb.co/sCxfMq6/20210627-11-17-04-ac-raven-coop.jpg" loading="lazy"  alt="[Image: 20210627-11-17-04-ac-raven-coop.jpg]" class="mycode_img" /></span></span></span></span><br />
<span style="color: #111111;" class="mycode_color"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><img src="https://i.ibb.co/h8T6CRN/20210627-11-15-31-ac-raven-coop.jpg%5Bcolor=#111111%5D%5Bsize=small%5D%5Bfont=Tahoma,%20Verdana,%20Arial,%20sans-serif%5D" loading="lazy"  alt="[Image: 20210627-11-15-31-ac-raven-coop.jpg%5Bcolo...ans-serif%5D]" class="mycode_img" /></span></span></span></span><br />
<span style="color: #111111;" class="mycode_color"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><img src="https://i.ibb.co/r3C6Pzn/20210627-11-14-58-ac-raven-coop.jpg" loading="lazy"  alt="[Image: 20210627-11-14-58-ac-raven-coop.jpg]" class="mycode_img" /></span></span></span></span></span></span></span><br />
<span style="color: #111111;" class="mycode_color"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><img src="https://i.ibb.co/6RfcKzx/20210627-11-15-56-ac-raven-coop.jpg" loading="lazy"  alt="[Image: 20210627-11-15-56-ac-raven-coop.jpg]" class="mycode_img" /></span></span></span></span></span></span></span></div></div>
Download <a href="https://easyupload.io/58ccgr" target="_blank" rel="noopener" class="mycode_url">HERE</a> - updated thanks BrutalSystem. While I'm at it: thanks RKT and Robtics for some useful advice, and thanks X-Ray-Dog for succeeding in making me package stuff the right way :)<br />
It uses two custom sounds and one custom texture.<br />
Or simply type /getmap ac_raven to get the map in-game.<br />
<br />
Enjoy, and as always: feedback is welcome.]]></description>
			<content:encoded><![CDATA[This time I wanted to try something that I hadn't done before. A haunted house with one base in the backyard and one in the frontyard. It was inspired by several real country houses. The lay-out of the house is inspired by Château de Schoonhoven/Kasteel van Schoonhoven. Best in CTF/HTF/TKTF. <br />
<br />
<div class="spoiler_wrap"><div class="spoiler_header"><a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='&lt;img title=&quot;[+]&quot; alt=&quot;[+]&quot; src=&quot;/images/collapse_collapsed.png&quot; class=&quot;expandspoiler&quot; /&gt;Spoiler';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='&lt;img title=&quot;[-]&quot; alt=&quot;[-]&quot; src=&quot;/images/collapse.png&quot; class=&quot;expandspoiler&quot; /&gt;Spoiler';}"><img title="[+]" alt="[+]" src="/images/collapse_collapsed.png" class="expandspoiler" />Spoiler</a></div><div class="spoiler_body" style="display: none;">
<img src="https://i.ibb.co/Vq4BcPZ/20210627-11-28-52-ac-raven-coop.jpg" loading="lazy"  alt="[Image: 20210627-11-28-52-ac-raven-coop.jpg]" class="mycode_img" /><br />
<span style="color: #111111;" class="mycode_color"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><img src="https://i.ibb.co/sCxfMq6/20210627-11-17-04-ac-raven-coop.jpg" loading="lazy"  alt="[Image: 20210627-11-17-04-ac-raven-coop.jpg]" class="mycode_img" /></span></span></span></span><br />
<span style="color: #111111;" class="mycode_color"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><img src="https://i.ibb.co/h8T6CRN/20210627-11-15-31-ac-raven-coop.jpg%5Bcolor=#111111%5D%5Bsize=small%5D%5Bfont=Tahoma,%20Verdana,%20Arial,%20sans-serif%5D" loading="lazy"  alt="[Image: 20210627-11-15-31-ac-raven-coop.jpg%5Bcolo...ans-serif%5D]" class="mycode_img" /></span></span></span></span><br />
<span style="color: #111111;" class="mycode_color"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><img src="https://i.ibb.co/r3C6Pzn/20210627-11-14-58-ac-raven-coop.jpg" loading="lazy"  alt="[Image: 20210627-11-14-58-ac-raven-coop.jpg]" class="mycode_img" /></span></span></span></span></span></span></span><br />
<span style="color: #111111;" class="mycode_color"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><span style="color: #111111;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><img src="https://i.ibb.co/6RfcKzx/20210627-11-15-56-ac-raven-coop.jpg" loading="lazy"  alt="[Image: 20210627-11-15-56-ac-raven-coop.jpg]" class="mycode_img" /></span></span></span></span></span></span></span></div></div>
Download <a href="https://easyupload.io/58ccgr" target="_blank" rel="noopener" class="mycode_url">HERE</a> - updated thanks BrutalSystem. While I'm at it: thanks RKT and Robtics for some useful advice, and thanks X-Ray-Dog for succeeding in making me package stuff the right way :)<br />
It uses two custom sounds and one custom texture.<br />
Or simply type /getmap ac_raven to get the map in-game.<br />
<br />
Enjoy, and as always: feedback is welcome.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Area 68 (ac_68)]]></title>
			<link>https://forum.cubers.net/thread-9103.html</link>
			<pubDate>Tue, 08 Jun 2021 09:44:07 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=17896">Toriality</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9103.html</guid>
			<description><![CDATA[Hello AC community<br />
<br />
I've built this map in the past few months, hope you all like it! Feel free to give feedback ^^<br />
<br />
<div class="spoiler_wrap"><div class="spoiler_header"><a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='&lt;img title=&quot;[+]&quot; alt=&quot;[+]&quot; src=&quot;/images/collapse_collapsed.png&quot; class=&quot;expandspoiler&quot; /&gt;screenshots';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='&lt;img title=&quot;[-]&quot; alt=&quot;[-]&quot; src=&quot;/images/collapse.png&quot; class=&quot;expandspoiler&quot; /&gt;screenshots';}"><img title="[+]" alt="[+]" src="/images/collapse_collapsed.png" class="expandspoiler" />screenshots</a></div><div class="spoiler_body" style="display: none;">
<img src="https://i.imgur.com/4s46LAL.jpeg" loading="lazy"  alt="[Image: 4s46LAL.jpeg]" class="mycode_img" /><br />
<img src="https://i.imgur.com/WpwDbJm.jpeg" loading="lazy"  alt="[Image: WpwDbJm.jpeg]" class="mycode_img" /><br />
<img src="https://i.imgur.com/BQa5A1F.jpeg" loading="lazy"  alt="[Image: BQa5A1F.jpeg]" class="mycode_img" /></div></div>
<br />
<br />
Download: <a href="https://drive.google.com/file/d/1ZX7i6YAxb6SdmbuzirD69e4sno25tBRY/view?usp=sharing" target="_blank" rel="noopener" class="mycode_url">https://drive.google.com/file/d/1ZX7i6YA...sp=sharing</a>]]></description>
			<content:encoded><![CDATA[Hello AC community<br />
<br />
I've built this map in the past few months, hope you all like it! Feel free to give feedback ^^<br />
<br />
<div class="spoiler_wrap"><div class="spoiler_header"><a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='&lt;img title=&quot;[+]&quot; alt=&quot;[+]&quot; src=&quot;/images/collapse_collapsed.png&quot; class=&quot;expandspoiler&quot; /&gt;screenshots';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='&lt;img title=&quot;[-]&quot; alt=&quot;[-]&quot; src=&quot;/images/collapse.png&quot; class=&quot;expandspoiler&quot; /&gt;screenshots';}"><img title="[+]" alt="[+]" src="/images/collapse_collapsed.png" class="expandspoiler" />screenshots</a></div><div class="spoiler_body" style="display: none;">
<img src="https://i.imgur.com/4s46LAL.jpeg" loading="lazy"  alt="[Image: 4s46LAL.jpeg]" class="mycode_img" /><br />
<img src="https://i.imgur.com/WpwDbJm.jpeg" loading="lazy"  alt="[Image: WpwDbJm.jpeg]" class="mycode_img" /><br />
<img src="https://i.imgur.com/BQa5A1F.jpeg" loading="lazy"  alt="[Image: BQa5A1F.jpeg]" class="mycode_img" /></div></div>
<br />
<br />
Download: <a href="https://drive.google.com/file/d/1ZX7i6YAxb6SdmbuzirD69e4sno25tBRY/view?usp=sharing" target="_blank" rel="noopener" class="mycode_url">https://drive.google.com/file/d/1ZX7i6YA...sp=sharing</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[AssaultCube | Mods | RP]]></title>
			<link>https://forum.cubers.net/thread-9088.html</link>
			<pubDate>Tue, 13 Apr 2021 21:13:59 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.cubers.net/member.php?action=profile&uid=18310">RandomPanda</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.cubers.net/thread-9088.html</guid>
			<description><![CDATA[<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Assaultcube | Mod | Minecraft | #1</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">Added - </span>Ported Minecraft character<br />
<br />
<a href="https://twitter.com/RandomPandaGam3/status/1379169502772924418" target="_blank" rel="noopener" class="mycode_url">https://twitter.com/RandomPandaGam3/stat...2772924418</a><br />
<hr class="mycode_hr" />
<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Assaultcube | Mod | Minecraft | #2</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">ADDED </span>- Seamless, cyclic character animation<br />
<span style="font-weight: bold;" class="mycode_b">ADDED </span>- Environment textures (Grass, Grass &amp; Dirt, Concrete-Block)<br />
<span style="font-weight: bold;" class="mycode_b">NEW </span>- Mapmodels (Foliage, Torch)<br />
<br />
<a href="https://twitter.com/RandomPandaGam3/status/1382057813556355073" target="_blank" rel="noopener" class="mycode_url">https://twitter.com/RandomPandaGam3/stat...3556355073</a>]]></description>
			<content:encoded><![CDATA[<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Assaultcube | Mod | Minecraft | #1</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">Added - </span>Ported Minecraft character<br />
<br />
<a href="https://twitter.com/RandomPandaGam3/status/1379169502772924418" target="_blank" rel="noopener" class="mycode_url">https://twitter.com/RandomPandaGam3/stat...2772924418</a><br />
<hr class="mycode_hr" />
<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Assaultcube | Mod | Minecraft | #2</span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">ADDED </span>- Seamless, cyclic character animation<br />
<span style="font-weight: bold;" class="mycode_b">ADDED </span>- Environment textures (Grass, Grass &amp; Dirt, Concrete-Block)<br />
<span style="font-weight: bold;" class="mycode_b">NEW </span>- Mapmodels (Foliage, Torch)<br />
<br />
<a href="https://twitter.com/RandomPandaGam3/status/1382057813556355073" target="_blank" rel="noopener" class="mycode_url">https://twitter.com/RandomPandaGam3/stat...3556355073</a>]]></content:encoded>
		</item>
	</channel>
</rss>