AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   20(21 + HLTV)/22 and server full? Shoul be 21(22 + hltv)/22 and server full.. (https://forums.alliedmods.net/showthread.php?t=89851)

FiFiX 04-11-2009 06:55

20(21 + HLTV)/22 and server full? Shoul be 21(22 + hltv)/22 and server full..
 
Code:

/* AMX Mod X
*  Slots Reservation Plugin
*
* by the AMX Mod X Development Team
*  originally developed by OLO
*
* This file is part of AMX Mod X.
*
*
*  This program is free software; you can redistribute it and/or modify it
*  under the terms of the GNU General Public License as published by the
*  Free Software Foundation; either version 2 of the License, or (at
*  your option) any later version.
*
*  This program is distributed in the hope that it will be useful, but
*  WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
*  General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software Foundation,
*  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*  In addition, as a special exception, the author gives permission to
*  link the code of this program with the Half-Life Game Engine ("HL
*  Engine") and Modified Game Libraries ("MODs") developed by Valve,
*  L.L.C ("Valve"). You must obey the GNU General Public License in all
*  respects for all of the code used other than the HL Engine and MODs
*  from Valve. If you modify this file, you may extend this exception
*  to your version of the file, but you are not obligated to do so. If
*  you do not wish to do so, delete this exception statement from your
*  version.
*/

#include <amxmodx>
#include <amxmisc>

new g_ResPtr;
new g_HidePtr;

public plugin_init()
{
    register_plugin("Slots Reservation", "1.0", "FiFiX");
    g_ResPtr = register_cvar("amx_reservation", "0");
    g_HidePtr = register_cvar("amx_hideslots", "0");
   
    new num = get_maxplayers() - get_pcvar_num(g_HidePtr);
   
    if(get_pcvar_num(g_HidePtr)) set_cvar_num("sv_visiblemaxplayers", num);   
}

public client_authorized(id)
{

    new maxplayers = get_maxplayers();
    new players = get_playersnum(1) ;
    new limit = maxplayers - get_pcvar_num(g_ResPtr);
   
    if (players >= limit) //20/20 || 19/20
    {
        if(get_user_flags(id) & ADMIN_RESERVATION) return PLUGIN_CONTINUE;
   
        if(is_user_bot(id))
            server_cmd("kick #%d", get_user_userid(id));
        else
            server_cmd("kick #%d ^"Server is full.^"", get_user_userid(id));
           
        return PLUGIN_HANDLED; // block connect in other plugins (especially in consgreet)   
    }
    return PLUGIN_CONTINUE;
}

I've created simple hide and reserve slot plugin.
Now tell me is it good? F.E On serwer there is maxplayers 23, one slote is hiden so its 22 and on serwer there is 20 players and HLTV(so 21 but it shows 20) Why another ONE person cant connect?

Nextra 04-11-2009 08:44

Re: Can someone check it?
 
I believe because the client does not know about the additional slot it will just abort with "Server Full". I don't know wether the client triggers client_connect, if he does you could then increase the visible slots.

Othwerise you'd have to let the player connect and decrease the visible slot count afterwards.

ehha 04-11-2009 09:21

Re: Can someone check it?
 
You should kick someone when a admin enters.

FiFiX 04-11-2009 09:40

Re: Can someone check it?
 
Quote:

Originally Posted by ehha (Post 802938)
You should kick someone when a admin enters.

I won't... So any clear answer what should I change?

@ 2up
But there is 20(21hltv)/22(23 hiden) so 1 person should normal connect... With no problem

FiFiX 04-11-2009 11:55

Re: Can someone check it?
 
Ohh, also
get_playersnum


returns HLTV after 48 protocol update?

Exolent[jNr] 04-11-2009 14:26

Re: Can someone check it?
 
You need a descriptive topic title. Fix it before posting again.

Nextra 04-11-2009 15:22

Re: Can someone check it?
 
Quote:

Originally Posted by FiFiX (Post 802944)
I won't... So any clear answer what should I change?

@ 2up
But there is 20(21hltv)/22(23 hiden) so 1 person should normal connect... With no problem

Problem is that the client does not know that you have hidden a slot and will display "Server Full"....

FiFiX 04-11-2009 17:29

Re: Can someone check it?
 
You don''t under stand me... Client should have "server is full' message whet it would be 21(22 + hltv)/22 and he have got this message when it is 20( 21 + hltv/22...

Nextra 04-11-2009 17:41

Re: 20(21 + HLTV)/22 and server full? Shoul be 21(22 + hltv)/22 and server full..
 
Now I got it. Things got confusing with that +1HLTV stuff. I'm sorry but then I don't have an idea.


All times are GMT -4. The time now is 02:28.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.