<div><font size="4">Plugin Information:<br /><br /><font size="2">Ready Up was initially designed to stop players from loading into a new map to find impatient teammates having already started the round. By default, it waits until all players have loaded and then unlocks the door, leaving its functionality there. However, through the use of modules, its functionality can be expanded.<br /><br /><br /><font size="4">What is the framework?<br /><br /><b><font size="2">Ready Up Reloaded</font></b><font size="2"> is a framework; it's essentially a plugin designed to function around several calls (forwards & natives) that other plugins use to talk to it. Without the modules that utilize it, it will simply run in the background, where it would twiddle its thumbs if it had any.<br />After you've installed the framework, you can install additional modules and/or write your own.</font><br /><br /><font size="2"> <br /><font size="4">What are the modules?<br /><br /><font size="2">The modules expand on the capabilities of ready up.<br />When I completed the previous version, several users had asked me to write a version allowing you to use only what you wanted or needed. This is that version!<br /></font></font></font></font></font></font><br /><font size="4"><font size="2"><font size="4"><font size="2"><font size="4"><font size="2"><font size="4"><font size="2"><b>Rotation - </b>This plugin adds a map rotation to the server, optionally adding the !mapvote command.<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;"><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">rur_maprotation_voting </span><span style="color: #007700">- default </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">toggles map voting</span><span style="color: #007700">, use !</span><span style="color: #0000BB">mapvote<br />rur_maprotation_delay </span><span style="color: #007700">- default </span><span style="color: #0000BB">3</span><span style="color: #007700">, </span><span style="color: #0000BB">time in seconds before the next map is loaded</span><span style="color: #007700">; </span><span style="color: #0000BB">all players will be notified</span><span style="color: #007700">.
<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
</div>
</code>
<hr />
</div>
</div></div>
</div>
</div></font></font></font></font></font></font></font></font><br /><font size="4"><font size="2"><font size="4"><font size="2"><font size="4"><font size="2"><font size="4"><font size="2"><font size="4"><font size="2"><font size="4"><font size="2"><font size="4"><font size="2"><b>Timer </b>- This module adds a ready up timer and the !ready command.<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;"><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">sm_readyup_timer_pregame</span><span style="color: #007700">, default </span><span style="color: #0000BB">60</span><span style="color: #007700">, </span><span style="color: #0000BB">time </span><span style="color: #007700">(</span><span style="color: #0000BB">seconds</span><span style="color: #007700">) </span><span style="color: #0000BB">the ready up period lasts after all clients have loaded</span><span style="color: #007700">.<br /></span><span style="color: #0000BB">sm_readyup_timer_readyup</span><span style="color: #007700">, default </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">allows </span><span style="color: #007700">(or </span><span style="color: #0000BB">disables</span><span style="color: #007700">) </span><span style="color: #0000BB">players to say </span><span style="color: #007700">!</span><span style="color: #0000BB">ready to toggle status</span><span style="color: #007700">.
<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
</div>
</code>
<hr />
</div>
</div></div>
</div>
</div></font></font></font></font></font></font></font></font> <br /><font size="4">Installation:<br /><br /><font size="2">1. Place rur_core.cfg in /sourcemod/configs/ - This config is for the base plugin. Required.<br />2. Place rur_core.smx in /sourcemod/plugins/ - This is the base plugin. Required.<br /><b>Rotation module</b><br />1. Place rur_rotation.cfg in /sourcemod/configs/<br />2. Place readyup_rotation.phrases in /sourcemod/translations/<br />3. Place rur_readyup_rotation in /sourcemod/plugins/<br /><b>Timer module</b><br />1. Place readyup_timer.phrases in /sourcemod/translations/<br />2. Place rur_readyup_timer in /sourcemod/plugins/<br /><br /><br /><font size="4">Module Development:<br /><br /><font size="2">The following calls can be found in the <b>readyup.inc<br /></b><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;"><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 /> *<br /> * THE ORDER THE FORWARDS ARE FIRED IN IS AS FOLLOWS:<br /> *<br /> * OnFirstClientLoaded()<br /> * OnAllClientsLoaded()<br /> * OnReadyUpStart()*<br /> * OnReadyUpEnd()*<br /> * OnRoundStart()<br /> * OnRoundEnd()<br /> * OnMapAboutToEnd()**<br /> * * These can be forced by their respective Ex native; for example, OnReadyUpStartEx.<br /> * However, they can only be forced if they have not yet been called by the core plugin<br /> * and OnReadyUpEnd cannot be forced until OnReadyUpStart has been called. OnReadyUpStart<br /> * can be called as soon as the plugin has loaded - even before the first client, if desired.<br /> * OnReadyUpStart also fires as soon as teams swap in versus game modes.<br /> * Note: OnRoundStart always fires when the first survivor leaves the safe area/safe room<br /> * after either and only at this point. However, it cannot fire until OnReadyUpEnd has<br /> * fired. Please keep this in mind as failing to call OnReadyUpEnd could cause the round<br /> * to halt, but this only occurs if another plugin is preventing the readyup period from<br /> * instantly ending (triggering OnRoundStart) when the first survivor leaves the safe area<br /> * after OnAllClientsLoaded has been called.<br /> * ** This fires immediately after OnRoundEnd if it's the last round of the map, or when the survivors<br /> * in coop have successfully completed a level.<br /> *<br /> */<br /><br />/*<br /> *<br /> * This forward is triggered, immediately, when any survivor player leaves the safe area<br /> * for the first time, but ONLY after OnReadyUpEnd has fired. Otherwise the player will just be<br /> * teleported back into the safe area.<br /> *<br /> */<br /></span><span style="color: #0000BB">forward OnRoundStart</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/*<br /> *<br /> * When the survivors successfully clear a level in campaign, as well as when a round ends<br /> * in versus or survival, this forward will be called.<br /> *<br /> */<br /></span><span style="color: #0000BB">forward OnRoundEnd</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/*<br /> *<br /> * Triggers when the first connected user triggers OnClientPostAdminCheck on a new map.<br /> * This will only trigger ONE TIME per map, and will not trigger for a user that disconnects<br /> * prior to this stage.<br /> *<br /> */<br /></span><span style="color: #0000BB">forward OnFirstClientLoaded</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/*<br /> *<br /> * Triggers when the last connecting client successfully clears OnClientPostAdminCheck. When<br /> * a client disconnects from the server, if OnAllClientsLoaded hasn't already been called, it<br /> * will check to see if all clients have loaded.<br /> *<br /> */<br /></span><span style="color: #0000BB">forward OnAllClientsLoaded</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/*<br /> *<br /> * This forward is triggered when all clients have successfully loaded or, in versus game-types<br /> * after a round ends, and when teams have switched sides. This forward fires BEFORE OnRoundStart().<br /> * NOTE: This forward can be forced by another plugin using the OnReadyUpStartEx native, and can be<br /> * forced at any time, even before OnFirstClientLoaded has fired.<br /> *<br /> */<br /></span><span style="color: #0000BB">forward OnReadyUpStart</span><span style="color: #007700">();<br /><br /> </span><span style="color: #FF8000">/*<br /> *<br /> * This forward is fired when the first survivor player leaves the safe area AFTER OnReadyUpEnd has fired.<br /> * Note: It will ALWAYS fire before OnRoundStart, but immediately before if the core plugin is allowed to fire<br /> * OnReadyUpEnd. However, if another plugin called OnReadyUpEndBlock, this forward will only fire when<br /> * another plugin calls it, so it's important that a plugin actually call it if the core plugin is blocked<br /> * from calling it, itself, otherwise the ready up period will never end.<br /> *<br /> */<br /></span><span style="color: #0000BB">forward OnReadyUpEnd</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/*<br /> *<br /> * This forward is called when the last round is completed on a map in versus, or when the survivors in coop<br /> * successfully clear the level.<br /> *<br /> */<br /></span><span style="color: #0000BB">forward OnMapAboutToEnd</span><span style="color: #007700">();<br /><br /> </span><span style="color: #FF8000">/*<br /> *<br /> * This native allows a plugin to force OnreadyUpStart to fire in the core plugin.<br /> * Note: Forcing it in this way only works if it hasn't already been called by the core plugin.<br /> *<br /> */<br /> </span><span style="color: #0000BB">native OnReadyUpStartEx</span><span style="color: #007700">();<br /><br /> </span><span style="color: #FF8000">/*<br /> *<br /> * This native allows a plugin to force OnReadyUpEnd to fire. This is useful if a plugin has disabled the core plugins<br /> * ability to fire OnReadyUpEnd. Correction, it's not useful in this scenario, it's required.<br /> *<br /> */<br /> </span><span style="color: #0000BB">native OnReadyUpEndEx</span><span style="color: #007700">();<br /><br /> </span><span style="color: #FF8000">/*<br /> *<br /> * This native allows a plugin to prevent the core ready up plugin from being able to end the ready up period. This means<br /> * that another plugin must call OnReadyUpEndEx to end the ready up period at some point, or the round will obviously never begin.<br /> *<br /> */<br /> </span><span style="color: #0000BB">native OnReadyUpEndBlock</span><span style="color: #007700">();<br /><br /> </span><span style="color: #FF8000">/*<br /> *<br /> * No explanation needed, here... It really just gives the ready up core plugin back the ability to end the ready up period without<br /> * another plugin having to force it to fire. If a plugin takes away ready up core's ability to do this, it's important to call this<br /> * native if a plugin that blocks it unloads, for any reason.<br /> *<br /> */<br /> </span><span style="color: #0000BB">native OnReadyUpEndAllow</span><span style="color: #007700">();
<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
</div>
</code>
<hr />
</div>
</div></div>
</div>
</div><br /></font> </font></font></font></font></font></font></font></font></font></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...phrases.txt</a>(998 Bytes)
</td>
</tr><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...phrases.txt</a>(620 Bytes)
</td>
</tr><tr>
<td><img class="inlineimg" src="https://forums.allie...attach/cfg.gif"alt="File Type: cfg" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
<td>
<a href="https://forums.allie...ur_core.cfg</a>(222 Bytes)
</td>
</tr><tr>
<td><img class="inlineimg" src="https://forums.allie...attach/cfg.gif"alt="File Type: cfg" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
<td>
<a href="https://forums.allie...otation.cfg</a>(502 Bytes)
</td>
</tr><tr>
<td><img class="inlineimg" src="https://forums.allie.../attach/sp.gif"alt="File Type: sp" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
<td>
<a href="http://www.sourcemod...41"><strong>GetPlugin</strong></a> or
<a href="https://forums.allie...1477944580">GetSource</a> (rur_core.sp - 20.0 KB)
</td>
</tr><tr>
<td><img class="inlineimg" src="https://forums.allie.../attach/sp.gif"alt="File Type: sp" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
<td>
<a href="http://www.sourcemod...42"><strong>GetPlugin</strong></a> or
<a href="https://forums.allie...1477944580">GetSource</a> (rur_readyup_rotation.sp - 8.7 KB)
</td>
</tr><tr>
<td><img class="inlineimg" src="https://forums.allie.../attach/sp.gif"alt="File Type: sp" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
<td>
<a href="http://www.sourcemod...43"><strong>GetPlugin</strong></a> or
<a href="https://forums.allie...1477944580">GetSource</a> (rur_readyup_timer.sp - 5.8 KB)
</td>
</tr><tr>
<td><img class="inlineimg" src="https://forums.allie...attach/inc.gif"alt="File Type: inc" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
<td>
<a href="https://forums.allie...readyup.inc</a>(6.3 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
[L4D2] Ready Up - Reloaded
Temat rozp. Adminek AMXX.PL, 31.10.2016 21:11
Brak odpowiedzi do tego tematu
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych