<div><font face="Arial Black"><font size="7"><font color="DeepSkyBlue">Remember The Teams</font></font></font><font color="DeepSkyBlue"><br /><br /><br /><font size="5">Description</font></font><br />After time runs out and map changes or admin changes the map using <b>amx_map</b>, <br />this plugin saves the current teams and loads them on the next map.<br />This will not work with <i>changelevel <map></i>.<br /><br /><font size="5"><font color="DeepSkyBlue">Requirements</font></font><br />Recommended AMXX 1.8.2 or higher<br /><br /><font size="5"><font color="DeepSkyBlue">Includes</font></font><br />< cstrike ><br />< nvault ><br /><br /><font color="DeepSkyBlue"><font size="5">Installation</font></font><br /><font face="Courier New"><b>1. </b></font> Place the plugin <i>remember_the_teams.amxx</i> into your plugins directory <i>(addons/amxmodx/plugins)</i><br /><font face="Courier New"><b>2. </b></font>Open plugins.ini <i>(addons/amxmodx/configs)</i> and add <i>remember_the_teams.amxx</i> <b>ON TOP</b> of amxmodx base plugins (see example below)<br /><font face="Courier New"><b>3. </b></font>Add <i>mapsdata.txt</i> to your configs directory<br /><font face="Courier New"><b>4. </b></font> Add your server's mapcycle maps (or all valid maps) into <i>mapsdata.txt</i> (each map on a new line)<br /><font face="Courier New"><b>5. </b></font> Reload the map.<br /><br />Example of plugins.ini: <div style="margin: 5px;">
<div class="smallfont" style="margin-bottom: 2px;">
<b>Spoiler</b> <input value="Show" style="margin: 0px; padding: 0px; width: 45px; font-size: 10px;" onclick="if(this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != 'inline')
{ this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'inline'; this.innerText = ''; this.value = 'Hide'; }
else
{ this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value='Show'; }" type="button">
</div>
<div class="alt2" style="border: 1px inset; padding: 6px;">
<div class="spoiler" style="display: none;"><a class="proxied-img-link" href="https://i.gyazo.com/...b2d58164db.png"rel="nofollow noopener"><img class="proxied-img" src="https://forums.alliedmods.net/image-proxy/526bfb6828908839a004263933706de66aed4b2a/68747470733a2f2f692e6779617a6f2e636f6d2f66353237633535396433666137376437633237666665623264353831363464622e706e67" border="0" alt="" /></a></div>
</div>
</div><br />Example of mapsdata.txt: <div style="margin: 5px;">
<div class="smallfont" style="margin-bottom: 2px;">
<b>Spoiler</b> <input value="Show" style="margin: 0px; padding: 0px; width: 45px; font-size: 10px;" onclick="if(this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != 'inline')
{ this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'inline'; this.innerText = ''; this.value = 'Hide'; }
else
{ this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value='Show'; }" type="button">
</div>
<div class="alt2" style="border: 1px inset; padding: 6px;">
<div class="spoiler" style="display: none;"><a class="proxied-img-link" href="https://i.gyazo.com/...9d5843ceae.png"rel="nofollow noopener"><img class="proxied-img" src="https://forums.alliedmods.net/image-proxy/205d734959d628336b3fabeee3c332b4375c5d20/68747470733a2f2f692e6779617a6f2e636f6d2f35353961316565633330353662313762313639346662396435383433636561652e706e67" border="0" alt="" /></a></div>
</div>
</div><br /><font color="DeepSkyBlue"><font size="5">Usage</font></font><br />Just wait for the timelimit to run out or use <b>amx_map <mapname></b><br />Command <b>amx_map</b> works only for the maps you've saved into <i>mapsdata.txt</i>.<br />Why? Before we can start saving the teams, plugin needs to check the arguments when <b>amx_map</b> is used to check if the changed map is valid.<br />So add only VALID maps in <i>mapsdata.txt</i><br /><br /><font color="DeepSkyBlue"><font size="5">Changelog</font></font><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">0.0.1<br /> - Initial release<br /><br />0.0.2<br /> - Added clearing old nVault entries<br /><br />0.0.3<br /> - Some code fix<br /><br />0.0.4<br /> - Blocked jointeam commands 1 minute before map change <br /> and for sometime after change<br /><br />0.0.5<br /> - Added check if someone joins when teams are already written</code><hr />
</div><font color="DeepSkyBlue"><font size="5">Credits</font></font><br />• <a href="https://forums.allie...d.php?t=299124"target="_blank" rel="noopener">This post</a><br />• I took parts of auto-join code from <a href="https://forums.alliedmods.net/showthread.php?p=438587" target="_blank" rel="noopener">Auto Join On Connect</a> by <a href="https://forums.alliedmods.net/member.php?u=3695" target="_blank" rel="noopener">VEN</a><br />• Learned Tries based on how <a href="https://forums.alliedmods.net/showthread.php?t=80858" target="_blank" rel="noopener">this was made</a><br /><br /><font color="DeepSkyBlue"><font size="5">Source</font></font><br /><div style="margin: 5px;">
<div class="smallfont" style="margin-bottom: 2px;">
<b>Spoiler</b> <input value="Show" style="margin: 0px; padding: 0px; width: 45px; font-size: 10px;" onclick="if(this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != 'inline')
{ this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'inline'; this.innerText = ''; this.value = 'Hide'; }
else
{ this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value='Show'; }" type="button">
</div>
<div class="alt2" style="border: 1px inset; padding: 6px;">
<div class="spoiler" style="display: none;"><!-- Code block -->
<div style="margin:20px; margin-top:5px">
<div class="smallfont" style="margin-bottom:2px">Code:</div>
<pre class="alt2" dir="ltr" style="margin: 0px;padding: 6px;border: 1px inset;width: auto; height: px; text-align: left; overflow: auto"><div class="pawn" style="font-family: monospace;"><span style="color: #339900;">#include < amxmodx ></span>
<span style="color: #339900;">#include < amxmisc ></span>
<span style="color: #339900;">#include < cstrike ></span>
<span style="color: #339900;">#include < nvault ></span>
<span style="color: #007700;">new</span> <span style="color: #ff0000;">const</span> VERSION<span style="color: #000000;">[</span><span style="color: #000000;">]</span> = <span style="color: #800080;">"0.0.5"</span>
<span style="color: #007700;">new</span> <span style="color: #ff0000;">const</span> g_File<span style="color: #000000;">[</span><span style="color: #000000;">]</span> = <span style="color: #800080;">"MapTeams"</span>
<span style="color: #007700;">new</span> Trie:g_Trie
<span style="color: #007700;">new</span> Array:g_Array
<span style="color: #007700;">new</span> <span style="color: #ff0000;">bool</span>:Writing = <span style="color: #007700;">false</span>
<span style="color: #007700;">new</span> <span style="color: #ff0000;">bool</span>:MapStart = <span style="color: #007700;">true</span>
<span style="color: #007700;">new</span> <span style="color: #ff0000;">bool</span>:JoinTeam = <span style="color: #007700;">false</span>
<span style="color: #007700;">new</span> g_Team<span style="color: #000000;">[</span><span style="color: #0000dd;">32</span><span style="color: #000000;">]</span>, g_MapsFile<span style="color: #000000;">[</span><span style="color: #0000dd;">64</span><span style="color: #000000;">]</span>
<span style="color: #007700;">new</span> g_TotalMaps, g_iVault
<span style="color: #007700;">enum</span> _:g_szMapNames
<span style="color: #000000;">{</span>
g_szMapName<span style="color: #000000;">[</span><span style="color: #0000dd;">32</span><span style="color: #000000;">]</span>,
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> plugin_init<span style="color: #000000;">(</span><span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #00c0c0;">register_plugin</span> <span style="color: #000000;">(</span><span style="color: #800080;">"Remember The Teams"</span>, VERSION, <span style="color: #800080;">"Rohanlogs"</span><span style="color: #000000;">)</span>
<span style="color: #00c0c0;">register_clcmd</span> <span style="color: #000000;">(</span><span style="color: #800080;">"amx_map"</span>, <span style="color: #800080;">"cmdAmxMap"</span><span style="color: #000000;">)</span>
<span style="color: #00c0c0;">register_clcmd</span> <span style="color: #000000;">(</span><span style="color: #800080;">"jointeam"</span>, <span style="color: #800080;">"cmdJoinTeam"</span><span style="color: #000000;">)</span>
register_message <span style="color: #000000;">(</span> <span style="color: #00c0c0;">get_user_msgid</span><span style="color: #000000;">(</span><span style="color: #800080;">"ShowMenu"</span><span style="color: #000000;">)</span>, <span style="color: #800080;">"MsgShowMenu"</span> <span style="color: #000000;">)</span>
register_message <span style="color: #000000;">(</span> <span style="color: #00c0c0;">get_user_msgid</span><span style="color: #000000;">(</span><span style="color: #800080;">"VGUIMenu"</span><span style="color: #000000;">)</span>, <span style="color: #800080;">"MsgVGUIMenu"</span> <span style="color: #000000;">)</span>
<span style="color: #00c0c0;">get_configsdir</span> <span style="color: #000000;">(</span> g_MapsFile, charsmax<span style="color: #000000;">(</span>g_MapsFile<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #00c0c0;">add</span> <span style="color: #000000;">(</span> g_MapsFile, charsmax<span style="color: #000000;">(</span>g_MapsFile<span style="color: #000000;">)</span>, <span style="color: #800080;">"/mapsdata.txt"</span> <span style="color: #000000;">)</span>
<span style="color: #00c0c0;">set_task</span> <span style="color: #000000;">(</span><span style="color: #0000dd;">0.5</span>, <span style="color: #800080;">"EventMapchange"</span>, <span style="color: #0000dd;">809091</span>, <span style="color: #800080;">""</span>, <span style="color: #0000dd;">0</span>, <span style="color: #800080;">"d"</span>, <span style="color: #0000dd;">1</span><span style="color: #000000;">)</span>
<span style="color: #00c0c0;">set_task</span> <span style="color: #000000;">(</span><span style="color: #0000dd;">60.0</span>, <span style="color: #800080;">"boolJoinTeam"</span>, <span style="color: #0000dd;">809092</span>, <span style="color: #800080;">""</span>, <span style="color: #0000dd;">0</span>, <span style="color: #800080;">"d"</span>, <span style="color: #0000dd;">1</span><span style="color: #000000;">)</span>
g_Trie = TrieCreate<span style="color: #000000;">(</span><span style="color: #000000;">)</span>
g_Array = ArrayCreate<span style="color: #000000;">(</span>g_szMapNames<span style="color: #000000;">)</span>
LoadMaps<span style="color: #000000;">(</span><span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> plugin_precache<span style="color: #000000;">(</span><span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
MapStart = <span style="color: #007700;">true</span>
JoinTeam = <span style="color: #007700;">false</span>
Writing = <span style="color: #007700;">false</span>
<span style="color: #00c0c0;">set_task</span><span style="color: #000000;">(</span><span style="color: #0000dd;">20.0</span>, <span style="color: #800080;">"boolMapStart"</span><span style="color: #000000;">)</span>
ClearOldEntries<span style="color: #000000;">(</span><span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> boolMapStart<span style="color: #000000;">(</span><span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
MapStart = <span style="color: #007700;">false</span>
JoinTeam = <span style="color: #007700;">true</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> boolJoinTeam<span style="color: #000000;">(</span><span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #00c0c0;">remove_task</span><span style="color: #000000;">(</span><span style="color: #0000dd;">809092</span><span style="color: #000000;">)</span>
JoinTeam = <span style="color: #007700;">false</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> ClearOldEntries<span style="color: #000000;">(</span><span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
g_iVault = nvault_open<span style="color: #000000;">(</span>g_File<span style="color: #000000;">)</span>
<span style="color: #0000ff;">if</span> <span style="color: #000000;">(</span>g_iVault == INVALID_HANDLE<span style="color: #000000;">)</span>
<span style="color: #00c0c0;">set_fail_state</span><span style="color: #000000;">(</span><span style="color: #800080;">"Error opening nVault"</span><span style="color: #000000;">)</span>
nvault_prune<span style="color: #000000;">(</span> g_iVault, <span style="color: #0000dd;">0</span>, <span style="color: #00c0c0;">get_systime</span><span style="color: #000000;">(</span><span style="color: #000000;">)</span> - <span style="color: #000000;">(</span><span style="color: #0000dd;">120</span><span style="color: #000000;">)</span> <span style="color: #000000;">)</span> <span style="color: #cf0020;">// 2 minutes</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> LoadMaps<span style="color: #000000;">(</span><span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span>g_TotalMaps<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
TrieClear<span style="color: #000000;">(</span>g_Trie<span style="color: #000000;">)</span>
ArrayClear<span style="color: #000000;">(</span>g_Array<span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> <span style="color: #00c0c0;">file_exists</span><span style="color: #000000;">(</span>g_MapsFile<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #007700;">new</span> f = <span style="color: #00c0c0;">fopen</span><span style="color: #000000;">(</span>g_MapsFile, <span style="color: #800080;">"rt"</span><span style="color: #000000;">)</span>
<span style="color: #ff0000;">static</span> filedata<span style="color: #000000;">[</span><span style="color: #0000dd;">512</span><span style="color: #000000;">]</span>, data<span style="color: #000000;">[</span>g_szMapNames<span style="color: #000000;">]</span>
<span style="color: #0000ff;">while</span><span style="color: #000000;">(</span> !<span style="color: #00c0c0;">feof</span><span style="color: #000000;">(</span>f<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #00c0c0;">fgets</span><span style="color: #000000;">(</span> f, filedata, charsmax<span style="color: #000000;">(</span>filedata<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> !filedata<span style="color: #000000;">[</span><span style="color: #0000dd;">0</span><span style="color: #000000;">]</span> <span style="color: #000000;">)</span> <span style="color: #0000ff;">continue</span>
<span style="color: #00c0c0;">parse</span><span style="color: #000000;">(</span> filedata,
data<span style="color: #000000;">[</span>g_szMapName<span style="color: #000000;">]</span>, charsmax<span style="color: #000000;">(</span> data<span style="color: #000000;">[</span>g_szMapName<span style="color: #000000;">]</span> <span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
ArrayPushArray<span style="color: #000000;">(</span>g_Array, data<span style="color: #000000;">)</span>
TrieSetCell<span style="color: #000000;">(</span> g_Trie, data<span style="color: #000000;">[</span>g_szMapName<span style="color: #000000;">]</span>, g_TotalMaps <span style="color: #000000;">)</span>
g_TotalMaps++
<span style="color: #000000;">}</span>
<span style="color: #00c0c0;">fclose</span><span style="color: #000000;">(</span>f<span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> EventMapchange<span style="color: #000000;">(</span><span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #00c0c0;">remove_task</span><span style="color: #000000;">(</span><span style="color: #0000dd;">809091</span><span style="color: #000000;">)</span>
Writing = <span style="color: #007700;">true</span>
<span style="color: #007700;">new</span> Players<span style="color: #000000;">[</span><span style="color: #0000dd;">32</span><span style="color: #000000;">]</span>, PlayersNum, iPlayer
<span style="color: #00c0c0;">get_players</span><span style="color: #000000;">(</span>Players, PlayersNum, <span style="color: #800080;">"ch"</span><span style="color: #000000;">)</span>
<span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #007700;">new</span> i; i < PlayersNum; i++<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
iPlayer = Players<span style="color: #000000;">[</span>i<span style="color: #000000;">]</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> !<span style="color: #00c0c0;">is_user_connected</span><span style="color: #000000;">(</span>iPlayer<span style="color: #000000;">)</span> <span style="color: #000000;">)</span> <span style="color: #0000ff;">continue</span>
WriteTeams<span style="color: #000000;">(</span>iPlayer<span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> client_authorized<span style="color: #000000;">(</span>id<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span>Writing == <span style="color: #007700;">true</span><span style="color: #000000;">)</span>
WriteTeams<span style="color: #000000;">(</span>id<span style="color: #000000;">)</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span>MapStart == <span style="color: #007700;">false</span><span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span> PLUGIN_CONTINUE
g_Team<span style="color: #000000;">[</span>id<span style="color: #000000;">]</span> = <span style="color: #0000dd;">0</span>
<span style="color: #007700;">new</span> szAuthID<span style="color: #000000;">[</span><span style="color: #0000dd;">33</span><span style="color: #000000;">]</span>, szData<span style="color: #000000;">[</span><span style="color: #0000dd;">10</span><span style="color: #000000;">]</span>
<span style="color: #007700;">new</span> iTimestamp, iDataExists
<span style="color: #00c0c0;">get_user_authid</span><span style="color: #000000;">(</span> id, szAuthID, charsmax<span style="color: #000000;">(</span>szAuthID<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
iDataExists = nvault_lookup<span style="color: #000000;">(</span> g_iVault, szAuthID, szData, charsmax<span style="color: #000000;">(</span>szData<span style="color: #000000;">)</span>, iTimestamp <span style="color: #000000;">)</span>
<span style="color: #0000ff;">if</span> <span style="color: #000000;">(</span>iDataExists<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> <span style="color: #00c0c0;">equal</span><span style="color: #000000;">(</span>szData, <span style="color: #800080;">"CT"</span><span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
g_Team<span style="color: #000000;">[</span>id<span style="color: #000000;">]</span> = <span style="color: #0000dd;">2</span>
<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> <span style="color: #00c0c0;">equal</span><span style="color: #000000;">(</span>szData, <span style="color: #800080;">"T"</span><span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
g_Team<span style="color: #000000;">[</span>id<span style="color: #000000;">]</span> = <span style="color: #0000dd;">1</span>
<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> <span style="color: #00c0c0;">equal</span><span style="color: #000000;">(</span>szData, <span style="color: #800080;">"S"</span><span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
g_Team<span style="color: #000000;">[</span>id<span style="color: #000000;">]</span> = <span style="color: #0000dd;">3</span>
<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> <span style="color: #00c0c0;">equal</span><span style="color: #000000;">(</span>szData, <span style="color: #800080;">"0"</span><span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
g_Team<span style="color: #000000;">[</span>id<span style="color: #000000;">]</span> = <span style="color: #0000dd;">0</span> <span style="color: #cf0020;">//tell me how to switch this</span>
<span style="color: #000000;">}</span>
nvault_remove<span style="color: #000000;">(</span>g_iVault, szAuthID<span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span> PLUGIN_CONTINUE
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> client_putinserver<span style="color: #000000;">(</span>id<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> g_Team<span style="color: #000000;">[</span>id<span style="color: #000000;">]</span> == <span style="color: #0000dd;">3</span> <span style="color: #000000;">)</span>
<span style="color: #00c0c0;">set_task</span><span style="color: #000000;">(</span><span style="color: #0000dd;">1.4</span>, <span style="color: #800080;">"DelaySpecJoin"</span>, id<span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> DelaySpecJoin<span style="color: #000000;">(</span>id<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> !<span style="color: #00c0c0;">is_user_connected</span><span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span> PLUGIN_HANDLED
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> <span style="color: #00c0c0;">is_user_alive</span><span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
user_silentkill<span style="color: #000000;">(</span>id<span style="color: #000000;">)</span>
cs_set_user_team<span style="color: #000000;">(</span>id, CS_TEAM_SPECTATOR<span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span> PLUGIN_HANDLED
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> cmdAmxMap<span style="color: #000000;">(</span>id<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> ~<span style="color: #00c0c0;">get_user_flags</span><span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> & ADMIN_MAP <span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span> PLUGIN_HANDLED
<span style="color: #007700;">new</span> Args<span style="color: #000000;">[</span><span style="color: #0000dd;">32</span><span style="color: #000000;">]</span>
<span style="color: #00c0c0;">read_args</span><span style="color: #000000;">(</span>Args, <span style="color: #0000dd;">31</span><span style="color: #000000;">)</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> TrieKeyExists<span style="color: #000000;">(</span>g_Trie, Args<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #007700;">new</span> Players<span style="color: #000000;">[</span><span style="color: #0000dd;">32</span><span style="color: #000000;">]</span>, PlayersNum, iPlayer
<span style="color: #00c0c0;">get_players</span><span style="color: #000000;">(</span>Players, PlayersNum, <span style="color: #800080;">"ch"</span><span style="color: #000000;">)</span>
<span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #007700;">new</span> i; i < PlayersNum; i++<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
iPlayer = Players<span style="color: #000000;">[</span>i<span style="color: #000000;">]</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span> !<span style="color: #00c0c0;">is_user_connected</span><span style="color: #000000;">(</span>iPlayer<span style="color: #000000;">)</span> <span style="color: #000000;">)</span> <span style="color: #0000ff;">continue</span>
WriteTeams<span style="color: #000000;">(</span>iPlayer<span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #000000;">}</span>
<span style="color: #0000ff;">return</span> PLUGIN_CONTINUE
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> cmdJoinTeam<span style="color: #000000;">(</span>id<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span>MapStart == <span style="color: #007700;">true</span> || JoinTeam == <span style="color: #007700;">false</span><span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span> <span style="color: #000000;">(</span> CS_TEAM_T <= cs_get_user_team<span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> <= CS_TEAM_CT <span style="color: #000000;">)</span> ? PLUGIN_HANDLED : PLUGIN_CONTINUE
<span style="color: #0000ff;">return</span> PLUGIN_CONTINUE
<span style="color: #000000;">}</span>
WriteTeams<span style="color: #000000;">(</span>id<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #007700;">new</span> szAuth<span style="color: #000000;">[</span><span style="color: #0000dd;">35</span><span style="color: #000000;">]</span>
<span style="color: #00c0c0;">get_user_authid</span><span style="color: #000000;">(</span> id , szAuth , charsmax<span style="color: #000000;">(</span>szAuth<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #007700;">new</span> szCT<span style="color: #000000;">[</span><span style="color: #000000;">]</span> = <span style="color: #800080;">"CT"</span>
<span style="color: #007700;">new</span> szT<span style="color: #000000;">[</span><span style="color: #000000;">]</span> = <span style="color: #800080;">"T"</span>
<span style="color: #007700;">new</span> szSPEC<span style="color: #000000;">[</span><span style="color: #000000;">]</span> = <span style="color: #800080;">"S"</span>
<span style="color: #007700;">new</span> szUnassigned<span style="color: #000000;">[</span><span style="color: #000000;">]</span> = <span style="color: #800080;">"0"</span>
<span style="color: #007700;">new</span> CsTeams:szTeam
szTeam = cs_get_user_team<span style="color: #000000;">(</span>id<span style="color: #000000;">)</span>
<span style="color: #0000ff;">switch</span> <span style="color: #000000;">(</span>szTeam<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">case</span> <span style="color: #000000;">(</span>CS_TEAM_CT<span style="color: #000000;">)</span>:
nvault_set<span style="color: #000000;">(</span>g_iVault , szAuth , szCT<span style="color: #000000;">)</span>
<span style="color: #0000ff;">case</span> <span style="color: #000000;">(</span>CS_TEAM_T<span style="color: #000000;">)</span>:
nvault_set<span style="color: #000000;">(</span>g_iVault , szAuth , szT<span style="color: #000000;">)</span>
<span style="color: #0000ff;">case</span> <span style="color: #000000;">(</span>CS_TEAM_SPECTATOR<span style="color: #000000;">)</span>:
nvault_set<span style="color: #000000;">(</span>g_iVault , szAuth , szSPEC<span style="color: #000000;">)</span>
<span style="color: #0000ff;">case</span> <span style="color: #000000;">(</span>CS_TEAM_UNASSIGNED<span style="color: #000000;">)</span>:
nvault_set<span style="color: #000000;">(</span>g_iVault , szAuth , szUnassigned<span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> MsgShowMenu<span style="color: #000000;">(</span>msgid, dest, id<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span>MapStart == <span style="color: #007700;">true</span> || JoinTeam == <span style="color: #007700;">false</span><span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #ff0000;">static</span> team_select<span style="color: #000000;">[</span><span style="color: #000000;">]</span> = <span style="color: #800080;">"#Team_Select"</span>
<span style="color: #ff0000;">static</span> menu_text_code<span style="color: #000000;">[</span>sizeof team_select<span style="color: #000000;">]</span>
get_msg_arg_string<span style="color: #000000;">(</span> <span style="color: #0000dd;">4</span>, menu_text_code, charsmax <span style="color: #000000;">(</span>menu_text_code<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #0000ff;">if</span> <span style="color: #000000;">(</span> !<span style="color: #00c0c0;">equal</span><span style="color: #000000;">(</span>menu_text_code, team_select<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span> PLUGIN_CONTINUE
set_force_team_join_task<span style="color: #000000;">(</span>id, msgid<span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span> PLUGIN_HANDLED
<span style="color: #000000;">}</span>
<span style="color: #0000ff;">return</span> PLUGIN_CONTINUE
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> MsgVGUIMenu<span style="color: #000000;">(</span>msgid, dest, id<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span><span style="color: #000000;">(</span>MapStart == <span style="color: #007700;">true</span> || JoinTeam == <span style="color: #007700;">false</span><span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span> <span style="color: #000000;">(</span> get_msg_arg_int<span style="color: #000000;">(</span><span style="color: #0000dd;">1</span><span style="color: #000000;">)</span> != <span style="color: #0000dd;">2</span> <span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span> PLUGIN_CONTINUE
set_force_team_join_task<span style="color: #000000;">(</span>id, msgid<span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span> PLUGIN_HANDLED
<span style="color: #000000;">}</span>
<span style="color: #0000ff;">return</span> PLUGIN_CONTINUE
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> set_force_team_join_task<span style="color: #000000;">(</span>id, menu_msgid<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #ff0000;">static</span> param_menu_msgid<span style="color: #000000;">[</span><span style="color: #0000dd;">2</span><span style="color: #000000;">]</span>
param_menu_msgid<span style="color: #000000;">[</span><span style="color: #0000dd;">0</span><span style="color: #000000;">]</span> = menu_msgid
<span style="color: #00c0c0;">set_task</span><span style="color: #000000;">(</span> <span style="color: #0000dd;">0.1</span>, <span style="color: #800080;">"task_force_team_join"</span>, id, param_menu_msgid, charsmax <span style="color: #000000;">(</span>param_menu_msgid<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> task_force_team_join<span style="color: #000000;">(</span> menu_msgid<span style="color: #000000;">[</span><span style="color: #000000;">]</span>, id <span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">if</span> <span style="color: #000000;">(</span> <span style="color: #00c0c0;">get_user_team</span><span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> <span style="color: #000000;">)</span>
<span style="color: #0000ff;">return</span>
force_team_join<span style="color: #000000;">(</span> id, menu_msgid<span style="color: #000000;">[</span><span style="color: #0000dd;">0</span><span style="color: #000000;">]</span> <span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> force_team_join<span style="color: #000000;">(</span>id, menu_msgid<span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #ff0000;">static</span> jointeam<span style="color: #000000;">[</span><span style="color: #000000;">]</span> = <span style="color: #800080;">"jointeam"</span>
<span style="color: #ff0000;">static</span> msg_block, joinclass<span style="color: #000000;">[</span><span style="color: #000000;">]</span> = <span style="color: #800080;">"joinclass"</span>
msg_block = get_msg_block<span style="color: #000000;">(</span>menu_msgid<span style="color: #000000;">)</span>
set_msg_block<span style="color: #000000;">(</span>menu_msgid, BLOCK_SET<span style="color: #000000;">)</span>
<span style="color: #0000ff;">switch</span><span style="color: #000000;">(</span> g_Team<span style="color: #000000;">[</span>id<span style="color: #000000;">]</span> <span style="color: #000000;">)</span>
<span style="color: #000000;">{</span>
<span style="color: #0000ff;">case</span><span style="color: #000000;">(</span><span style="color: #0000dd;">1</span><span style="color: #000000;">)</span>:
<span style="color: #00c0c0;">engclient_cmd</span><span style="color: #000000;">(</span>id, jointeam, <span style="color: #800080;">"1"</span><span style="color: #000000;">)</span>
<span style="color: #0000ff;">case</span><span style="color: #000000;">(</span><span style="color: #0000dd;">2</span><span style="color: #000000;">)</span>:
<span style="color: #00c0c0;">engclient_cmd</span><span style="color: #000000;">(</span>id, jointeam, <span style="color: #800080;">"2"</span><span style="color: #000000;">)</span>
<span style="color: #0000ff;">case</span><span style="color: #000000;">(</span><span style="color: #0000dd;">3</span><span style="color: #000000;">)</span>:
<span style="color: #00c0c0;">engclient_cmd</span><span style="color: #000000;">(</span>id, jointeam, <span style="color: #800080;">"5"</span><span style="color: #000000;">)</span>
<span style="color: #0000ff;">case</span><span style="color: #000000;">(</span><span style="color: #0000dd;">0</span><span style="color: #000000;">)</span>:
<span style="color: #00c0c0;">engclient_cmd</span><span style="color: #000000;">(</span>id, jointeam, <span style="color: #800080;">"5"</span><span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #00c0c0;">engclient_cmd</span><span style="color: #000000;">(</span>id, joinclass, <span style="color: #800080;">"3"</span><span style="color: #000000;">)</span>
set_msg_block<span style="color: #000000;">(</span>menu_msgid, msg_block<span style="color: #000000;">)</span>
<span style="color: #000000;">}</span>
<span style="color: #ff0000;">public</span> plugin_end<span style="color: #000000;">(</span> <span style="color: #000000;">)</span>
nvault_close<span style="color: #000000;">(</span> g_iVault <span style="color: #000000;">)</span></div></pre>
</div>
<!-- /Code block --></div>
</div>
</div></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/txt.gif"alt="File Type: txt" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
<td>
<a href="https://forums.allie...apsdata.txt</a>(192 Bytes)
</td>
</tr><tr>
<td><img class="inlineimg" src="https://forums.allie...attach/sma.gif"alt="File Type: sma" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
<td>
<a href="http://www.amxmodx.o...31"><strong>GetPlugin</strong></a> or
<a href="https://forums.allie...1500297757">GetSource</a> (remember_the_teams.sma - 6.2 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

Remember The Teams
Temat rozp. Adminek AMXX.PL, 09.07.2017 19:35
Brak odpowiedzi do tego tematu
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych