Raised This Month: $ Target: $400
 0% 

purpose of ackSignal() in adminslots


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Owyn
Veteran Member
Join Date: Nov 2007
Old 10-30-2009 , 09:19   Re: ackSignal() in adminslots
Reply With Quote #1

PHP 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_cmdLoopback[16]
new 
g_ResPtr
new g_HidePtr

public plugin_init()
{
    
register_plugin("Slots Reservation"AMXX_VERSION_STR"AMXX Dev Team")
    
register_dictionary("adminslots.txt")
    
register_dictionary("common.txt")
    
g_ResPtr register_cvar("amx_reservation""0")
    
g_HidePtr register_cvar("amx_hideslots""0")
    
    
format(g_cmdLoopback15"amxres%c%c%c%c"random_num('A''Z'), random_num('A''Z'), random_num('A''Z'), random_num('A''Z'))
    
register_clcmd(g_cmdLoopback"ackSignal")
}

public 
plugin_cfg()
{
    
set_task(3.0"MapLoaded")
}

public 
MapLoaded()
{
    if (!
get_pcvar_num(g_HidePtr))
        return

    new 
maxplayers get_maxplayers()
    new 
players get_playersnum(1)
    new 
limit maxplayers get_pcvar_num(g_ResPtr)
    
setVisibleSlots(playersmaxplayerslimit)
}

public 
ackSignal(id)
{
    new 
lReason[64]
    
format(lReason63"%L"id"DROPPED_RES")
    
server_cmd("kick #%d ^"%s^""get_user_userid(id), lReason)
    
    return 
PLUGIN_HANDLED
}

public 
client_authorized(id)
{
     
    new 
maxplayers get_maxplayers()
    new 
players get_playersnum(1)
    new 
limit maxplayers get_pcvar_num(g_ResPtr)
    
  
    if ( 
access(idADMIN_RESERVATION) || (players <= limit) )
    {
        if (
get_pcvar_num(g_HidePtr) == 1)
            
setVisibleSlots(playersmaxplayerslimit)
        return 
PLUGIN_CONTINUE
    
}
    
    
client_cmd(id"%s"g_cmdLoopback)

    return 
PLUGIN_HANDLED
}


public 
client_disconnect(id)
{
    if (!
get_pcvar_num(g_HidePtr))
        return 
PLUGIN_CONTINUE

    
new maxplayers get_maxplayers()
    
    
setVisibleSlots(get_playersnum(1) - 1maxplayersmaxplayers get_pcvar_num(g_ResPtr))
    return 
PLUGIN_CONTINUE
}

setVisibleSlots(playersmaxplayerslimit)
{
    new 
num players 1

    
if (players == maxplayers)
        
num maxplayers
    
else if (players limit)
        
num limit
    
    set_cvar_num
("sv_visiblemaxplayers"num)

__________________
☜ Free Mozy ☂backup\҉sync user
Quote:
Американский форум - Задаёшь вопрос, потом тебе отвечают.
Израильский форум - Задаёшь вопрос, потом тебе задают вопрос.
Русский форум - Задаёшь вопрос, потом тебе долго рассказывают, какой ты мудак.
Owyn is offline
Send a message via ICQ to Owyn
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 10-31-2009 , 05:20   Re: ackSignal() in adminslots
Reply With Quote #2

I also would like to know.
client_cmd delays the kick, but i don't see why it's needed here.
__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 10-31-2009 , 07:55   Re: ackSignal() in adminslots
Reply With Quote #3

Quote:
Originally Posted by ConnorMcLeod View Post
I also would like to know.
client_cmd delays the kick, but i don't see why it's needed here.
Maybe because client_cmd ensures that the client was authenticated by amxx (if it's a player with reserved slot)
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.
joropito is offline
Send a message via MSN to joropito
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:34.


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