<div><font size="6"><div align="center"><b><font color="DarkOrchid">MultiMod Manager (Counter Strike)</font></b></div></font><br /><br /><font size="4"><b><font color="DarkOrchid">Introduction</font></b></font><br />Hi :3, this is my first post here. I want to share with you this project that I have published for 2 years now on my personal GitHub. A project that arose from the fact of improving old multimod plugins that had few features and limitations. Now I feel more confident to share it with you, since it is in a stable version. The project is open to new ideas and suggestions to continue improving it even more. I want to thank the collaborators who have participated and those who are still participating, both in the development of ideas, in testing and debugging. Special thanks to metita who has been the one who has helped me the most in testing and debugging.<br /><br />Post in spanish: <a href="https://amxmodx-es.c...Manager--25264"target="_blank" rel="nofollow noopener">https://amxmodx-es.c...r--25264</a><br /><br />(Not tested in CS:CZ)<br /><br /><font size="4"><b><font color="DarkOrchid">Contributors</font></b></font><ul><li>metita</li>
<li>Mía</li>
<li>Totopizza</li>
<li>Roccoxx</li>
<li>r0ma</li>
<li>Maxi605</li>
</ul><br /><font size="4"><b><font color="darkorchid">Requirements</font></b></font><ul><li><a href="https://github.com/a...odders/amxmodx"target="_blank" rel="nofollow noopener">AmxModX</a> >= 1.9.0.5263</li>
<li><a href="https://github.com/d...stalker/rehlds"target="_blank" rel="nofollow noopener">ReHLDS</a> >= 3.9.0.752-dev</li>
<li><a href="https://github.com/s...q/ReGameDLL_CS"target="_blank" rel="nofollow noopener">ReGameDLL</a> >= 5.20.0.516-dev</li>
<li><a href="https://github.com/s1lentq/reapi"target="_blank" rel="nofollow noopener">ReAPI</a> >= 5.19.0.217</li>
<li><a href="https://github.com/rehlds/resemiclip"target="_blank" rel="nofollow noopener">ReSemiclip</a> >= 2.3.9 (Optional)</li>
</ul><br /><font size="4"><b><font color="darkorchid">Features</font></b></font><ul><li>Configurations through JSON file</li>
<li>Votemod</li>
<li>Votemap</li>
<li>Nominations</li>
<li>RTV (Rock The Vote)</li>
<li>Admin commands</li>
<li>Recently played mods and maps</li>
</ul><br /><font size="4"><b><font color="darkorchid">Config file (JSON)</font> (e.g)</b></font><br />addons/amxmodx/configs/multimod_manager/configs.json<br /><div style="margin:20px; margin-top:5px">
<div class="smallfont" style="margin-bottom:2px">Code:</div>
<hr /><code style="margin:0px" dir="ltr" style="text-align:left">{<br /> "global_chat_prefix": "!g[MULTIMOD]",<br /> // !g = ^4 (Green color)<br /> // !t = ^3 (Team color)<br /> // !y = ^1 (con_color cvar)<br /><br /> "adminflags":<br /> {<br /> "menu": "u", // menu access<br /> "managemods": "a", // immunity <br /> "selectmenu": "f", // amx_map command<br /> "forcevotemod": "f",// amx_map command<br /> "votemenu": "j" // amx_vote and other vote commands<br /> },<br /><br /> "rockthevote":<br /> {<br /> "enable": true, // true / false<br /> "cooldown": 120, // min = 0 (disabled)<br /> "minplayers": 3, // min = 0 (disabled) | max = 32<br /> "percentage": 75 // min = 0 (disabled) | max = 100<br /> },<br /><br /> "nomination":<br /> {<br /> "mods": true, // true / false<br /> "maps": true // true / false<br /> },<br /><br /> "admin_max_options_in_menu": 9, // min = 2 | max = 9<br /> "mods_in_menu": 9, // min = 2 | max = 9<br /> "maps_in_menu": 9, // min = 2 | max = 9<br /><br /> "max_recent_mods": 5, // min = 0<br /> "max_recent_maps": 5, // min = 0<br /><br /> "overwrite_mapcycle": true, // true / false (overwrites the mapcycle.txt with the maps of the selected mod)<br /><br /> "resemiclip_path": "", <br /> // Path where the add-on is located<br /> // Leave empty to disable this option ("")<br /> // If the path does not exist, it will be considered as disabled<br /> // E.g.: "addons/resemiclip"<br /><br /> "change_game_description": true, // true / false (Changes the game description with the name of the mod)<br /><br /> "mods":<br /> [<br /> // The first mode will always be the default mode, it cannot be blocked<br /> {<br /> "modname": "GunGame",<br /> // Mod name.<br /> // E.g.: "GunGame"<br /><br /><br /> "mod_tag": "gg",<br /> // Mod tag<br /> // E.g.: "gg"<br /><br /><br /> "mapsfile": "gungame_maps.ini",<br /> // Only the file name along with the extension.<br /> // The file must be located in "addons/amxmodx/configs/multimod_manager/mapsfiles/"<br /> // E.g.: "gungame_maps.ini"<br /><br /><br /> "change_map_type": 0,<br /> // "change_map_type": 0 (The map will change at the end of the map)<br /> // "change_map_type": 1 (The map will change at the end of the round)<br /> // "change_map_type": 2 (Allows to play 1 more round and then changes the map)<br /><br /><br /> "cvars":<br /> [<br /> "sv_gravity 900", "sv_alltalk 1"<br /> ],<br /> // Cvars that are executed when starting the mode, all the ones you want<br /> // Each cvar in quotes and separated by commas<br /> // E.g.: "cvars": [ "sv_gravity 900", "sv_alltalk 1", "hostname My CS Server", "mp_roundtime 6" ]<br /> // Leave "cvars": [ ] // to not load cvars<br /><br /><br /> "plugins":<br /> [<br /> "plugin10.amxx", "plugin20.amxx"<br /> ],<br /> // Plugins that are needed for this mode, all the ones you want<br /> // Each plugin in quotes, separated by commas and with its corresponding extension<br /> // E.g.: "plugins": [ "gungame.amxx", "ultimate_sounds.amxx", "csstats.amxx" ]<br /> // Leave "plugins": [ ] // to not load cvars<br /><br /> "resemiclip_config":<br /> {<br /> "semiclip": "1",<br /> "team": "3", // 0 = all | 1 = T | 2 = CT | 3 = Team<br /> "time": "0",<br /> "crouch": "0",<br /> "effects": "0",<br /> "distance": "250",<br /> "transparency": "0",<br /> "penetfire": "0"<br /> }<br /> },<br /> {<br /> "modname":"DeathMatch",<br /> "mod_tag": "dm",<br /> "mapsfile":"deathmatch_maps.ini",<br /> "change_map_type": 1,<br /> "cvars":<br /> [<br /> "sv_gravity 900", "sv_alltalk 1"<br /> ],<br /> "plugins":<br /> [<br /> "plugin11.amxx", "plugin21.amxx", "plugin33.amxx", "plugin44.amxx", "plugin5.amxx"<br /> ],<br /> "resemiclip_config":<br /> {<br /> "semiclip": "1",<br /> "team": "3",<br /> "time": "0",<br /> "crouch": "0",<br /> "effects": "0",<br /> "distance": "250",<br /> "transparency": "0",<br /> "penetfire": "0"<br /> }<br /> },<br /> {<br /> "modname":"Fruta",<br /> "mod_tag": "fr",<br /> "mapsfile":"fruta_maps.ini",<br /> "change_map_type": 1,<br /> "cvars":<br /> [<br /> "sv_gravity 900", "sv_alltalk 1"<br /> ],<br /> "plugins":<br /> [<br /> "plugin12.amxx", "plugin22.amxx", "plugin32.amxx", "plugin42.amxx"<br /> ],<br /> "resemiclip_config":<br /> {<br /> "semiclip": "1",<br /> "team": "3",<br /> "time": "0",<br /> "crouch": "0",<br /> "effects": "0",<br /> "distance": "250",<br /> "transparency": "0",<br /> "penetfire": "0"<br /> }<br /> },<br /> {<br /> "modname":"Zombie Plague",<br /> "mod_tag": "zp",<br /> "mapsfile":"zp_maps.ini",<br /> "change_map_type": 1,<br /> "cvars":<br /> [<br /> "sv_gravity 900", "sv_alltalk 1"<br /> ],<br /> "plugins":<br /> [<br /> "plugin13.amxx", "plugin23.amxx", "plugin33.amxx", "plugin43.amxx", "plugin53.amxx", "plugin63.amxx", "plugin73.amxx"<br /> ],<br /> "resemiclip_config":<br /> {<br /> "semiclip": "1",<br /> "team": "3",<br /> "time": "0",<br /> "crouch": "0",<br /> "effects": "0",<br /> "distance": "250",<br /> "transparency": "0",<br /> "penetfire": "0"<br /> }<br /> },<br /> {<br /> "modname":"PaintBall",<br /> "mod_tag": "pb",<br /> "mapsfile":"paintball_maps.ini",<br /> "change_map_type": 1,<br /> "cvars":<br /> [<br /> "sv_gravity 900", "sv_alltalk 1"<br /> ],<br /> "plugins":<br /> [<br /> "plugin14.amxx", "plugin24.amxx", "plugin34.amxx", "plugin44.amxx"<br /> ],<br /> "resemiclip_config":<br /> {<br /> "semiclip": "1",<br /> "team": "3",<br /> "time": "0",<br /> "crouch": "0",<br /> "effects": "0",<br /> "distance": "250",<br /> "transparency": "0",<br /> "penetfire": "0"<br /> }<br /> },<br /> {<br /> "modname":"HNS",<br /> "mod_tag": "hns",<br /> "mapsfile":"hns_maps.ini",<br /> "change_map_type": 1,<br /> "cvars":<br /> [<br /> "sv_gravity 900", "sv_alltalk 1"<br /> ],<br /> "plugins":<br /> [<br /> "plugin15.amxx", "plugin25.amxx", "plugin35.amxx", "plugin45.amxx"<br /> ],<br /> "resemiclip_config":<br /> {<br /> "semiclip": "1",<br /> "team": "3",<br /> "time": "0",<br /> "crouch": "0",<br /> "effects": "0",<br /> "distance": "250",<br /> "transparency": "0",<br /> "penetfire": "0"<br /> }<br /> },<br /> {<br /> "modname":"Surf",<br /> "mod_tag": "sf",<br /> "mapsfile":"surf_maps.ini",<br /> "change_map_type": 1,<br /> "cvars":<br /> [<br /> "sv_gravity 900", "sv_alltalk 1"<br /> ],<br /> "plugins":<br /> [<br /> "plugin15.amxx", "plugin25.amxx", "plugin35.amxx"<br /> ],<br /> "resemiclip_config":<br /> {<br /> "semiclip": "1",<br /> "team": "3",<br /> "time": "0",<br /> "crouch": "0",<br /> "effects": "0",<br /> "distance": "250",<br /> "transparency": "0",<br /> "penetfire": "0"<br /> }<br /> }<br /> ]<br />}</code><hr />
</div><font size="4"><b><font color="darkorchid">Say commands</font></b></font><ul><li><b>recentmods</b>: Opens a list of recently played mods.</li>
<li><b>recentmaps</b>: Opens a list of recently played maps of the current mod.</li>
<li><b>currentmod</b>: Shows the current mod.</li>
<li><b>currentmap</b>: Shows the current map.</li>
<li><b>nextmod</b>: Shows the next voted mod.</li>
<li><b>nextmap</b>: Shows the next voted map.</li>
<li><b>timeleft</b>: Shows the remaining time or remaining rounds.</li>
</ul><br /><font size="4"><b><font color="darkorchid">Console commands</font></b></font><ul><li><b>amx_multimod</b>: Opens an admin command menu.</li>
</ul><br /><font size="4"><b><font color="darkorchid">API (natives)</font></b></font><br /><div style="margin:20px; margin-top:5px">
<div class="smallfont" style="margin-bottom:2px">PHP Code:</div>
<div class="alt2">
<hr />
<code style="white-space:nowrap">
<div dir="ltr" style="text-align:left;">
<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/**
<br /> * Return the current mod index based on JSON position.
<br /> *
<br /> * @return (int) Index of the current mod.
<br /> */
<br /></span><span style="color: #0000BB">native mm_get_mod_id</span><span style="color: #007700">();
<br />
<br /></span><span style="color: #FF8000">/**
<br /> * Retrieves mod name.
<br /> *
<br /> * @note If the destination buffer is too small to hold the source string, the
<br /> * destination will be truncated.
<br /> *
<br /> * @param iModId Mod index.
<br /> * @param szOutput Buffer to copy mod name to.
<br /> * @param iLen Buffer size.
<br /> *
<br /> * @return (int) -1 on error.
<br /> * >= 0 Number of cells written.
<br /> */
<br /></span><span style="color: #0000BB">native mm_get_mod_name</span><span style="color: #007700">(const </span><span style="color: #0000BB">iModId</span><span style="color: #007700">, </span><span style="color: #0000BB">szOutput</span><span style="color: #007700">[], const </span><span style="color: #0000BB">iLen</span><span style="color: #007700">);
<br />
<br /></span><span style="color: #FF8000">/**
<br /> * Retrieves mod tag.
<br /> *
<br /> * @note If the destination buffer is too small to hold the source string, the
<br /> * destination will be truncated.
<br /> *
<br /> * @param iModId Mod index.
<br /> * @param szOutput Buffer to copy mod tag to.
<br /> * @param iLen Buffer size.
<br /> *
<br /> * @return (int) -1 on error.
<br /> * >= 0 Number of cells written.
<br /> */
<br /></span><span style="color: #0000BB">native mm_get_mod_tag</span><span style="color: #007700">(const </span><span style="color: #0000BB">iModId</span><span style="color: #007700">, </span><span style="color: #0000BB">szOutput</span><span style="color: #007700">[], const </span><span style="color: #0000BB">iLen</span><span style="color: #007700">);
<br />
<br /></span><span style="color: #FF8000">/**
<br /> * Return the next mod index based on JSON position if nextmod is already chosen.
<br /> *
<br /> * @return (int) -1 if nextmod is not chosen yet.
<br /> * >= 0 Index of the next mod.
<br /> */
<br /></span><span style="color: #0000BB">native mm_get_nextmod_id</span><span style="color: #007700">();
<br />
<br /></span><span style="color: #FF8000">/**
<br /> * Retrieves next mod name.
<br /> *
<br /> * @note If the destination buffer is too small to hold the source string, the
<br /> * destination will be truncated.
<br /> *
<br /> * @param szOutput Buffer to copy mod name to.
<br /> * @param iLen Buffer size.
<br /> *
<br /> * @return (int) -1 on error.
<br /> * >= 0 Number of cells written.
<br /> */
<br /></span><span style="color: #0000BB">native mm_get_nextmod_name</span><span style="color: #007700">(</span><span style="color: #0000BB">szOutput</span><span style="color: #007700">[], const </span><span style="color: #0000BB">iLen</span><span style="color: #007700">);
<br />
<br /></span><span style="color: #FF8000">/**
<br /> * Force a votemod.
<br /> *
<br /> * @return (int) 1 on success, 0 otherwise
<br /> */
<br /></span><span style="color: #0000BB">native mm_force_votemod</span><span style="color: #007700">();
<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
</div>
</code>
<hr />
</div>
</div><font size="4"><b><font color="darkorchid">Compilation</font></b></font><br /><br />Download the repository to any folder, open the multimod_manager.sma file and compile from there with your favorite text editor (Sublime Text, VSCode recommended). It is not necessary to copy the .inc files to the includes folder where you have the compiler, but it is recommended if you compile from there.<br /><br /><font size="4"><b><font color="darkorchid">Repository</font></b></font><br /><br /><a href="https://github.com/F...ltimod-manager"target="_blank" rel="nofollow noopener">https://github.com/F...nager</a></div>
<br /> <div style="padding:6px">
<fieldset class="fieldset">
<legend>Attached Files</legend>
<table cellpadding="0" cellspacing="3" border="0">
<tr>
<td><img class="inlineimg" src="https://forums.allie...attach/zip.gif"alt="File Type: zip" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
<td>
<a href="https://forums.allie...er-main.zip</a>(55.4 KB)
</td>
</tr>
</table>
</fieldset>
</div>
Wyświetl pełny artykuł
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse

MultiMod Manager
Temat rozp. Adminek AMXX.PL, 11.07.2023 08:07
Brak odpowiedzi do tego tematu
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych