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.
|
Czy jest plugin kickujacy NS ?
#1
Napisano 22.11.2010 19:28
Czy jest plugin, ktory na serwerze dwuprotokolowym powodowalby kickowanie klienta NS na rzecz klienta STEAM w sytuacji, gdzie jest przykladowo 20/21 slotow (z czego 1 slot jest freeslotem) ?
Pozdrawiam.
#2
Napisano 22.11.2010 19:52
#3
Napisano 22.11.2010 19:55
#4
Napisano 22.11.2010 21:01
#5
Napisano 22.11.2010 21:03
Jeśli masz dedyka to szukaj pluga !
[/align]
#6
Napisano 22.11.2010 21:25
Non Steam Kicker, nie ma sma ani amxx ludzie pisali dla siebie, dla swoich serwerowni pewnie...Jak sie nazywa zatem? czy jest dostepne gdzies jego sma ?
#7
Napisano 22.11.2010 23:28
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Non-Steam kicker"
#define VERSION "1.0"
#define AUTHOR "peku33"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
}
public client_authorized(id)
{
if(get_maxplayers() <= get_playersnum() + 1)
{
new authid[64];
get_user_authid(id, authid, 63);
if(check_nonsteam(authid))
{
server_cmd("kick #%d Slot zarezerwowany dla graczy STEAM", get_user_userid(id));
}
else
{
new players[32], plnum;
get_players(players, plnum, "bhc");
new kickid;
if(plnum > 0)
{
kickid = find_id_to_kick(players, plnum);
}
else
{
get_players(players, plnum, "hc");
kickid = find_id_to_kick(players, plnum);
}
if(kickid)
{
server_cmd("kick #%d Pierwszenstwo maja gracze STEAM", get_user_userid(kickid));
}
else
{
//Brak wolnego slota do gry
server_cmd("kick #%d Brak wolnego slota", get_user_userid(id));
}
}
}
}
public check_nonsteam(authid[])
{
if(containi(authid, "LAN"))
{
return true;
}
return false;
}
public find_id_to_kick(players[32], plnum)
{
new authid[64];
for(new i = 0; i < plnum; i++)
{
get_user_authid(i, authid, 63);
if(check_nonsteam(authid))
{
return i;
}
}
return false;
}
/* 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", 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")
}
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(players, maxplayers, limit)
}
public ackSignal(id)
{
new lReason[64]
format(lReason, 63, "%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(id, ADMIN_RESERVATION) || (players <= limit))
{
if (get_pcvar_num(g_HidePtr) == 1)
setVisibleSlots(players, maxplayers, limit)
return PLUGIN_CONTINUE
}
if(is_steam(id))
{
new tokick = get_fresh_ns()
if(!tokick || !is_user_connected(tokick))
{
ackSignal(id)
return PLUGIN_CONTINUE
}
ackSignal(tokick)
return PLUGIN_CONTINUE
}
ackSignal(id)
return PLUGIN_HANDLED
}
public client_disconnect(id)
{
if (!get_pcvar_num(g_HidePtr))
return PLUGIN_CONTINUE
new maxplayers = get_maxplayers()
setVisibleSlots(get_playersnum(1) - 1, maxplayers, maxplayers - get_pcvar_num(g_ResPtr))
return PLUGIN_CONTINUE
}
stock is_steam(id)
{
static authid[33]
get_user_authid(id, authid, 32)
if(contain(authid, "0:0") != -1 || contain(authid, "0:1") != -1)
{
return true
}
return false
}
stock get_fresh_ns()
{
static who, itime, shortest = 0x7fffffff, players[32], num, i
get_players(players, num)
for(i = 0; i < num; i++)
{
if(is_steam(players[i]) || !is_user_connected(players[i]))
continue
if(get_user_flags(players[i] & ADMIN_RESERVATION))
continue
itime = get_user_time(players[i])
if(shortest > itime )
{
shortest = itime
who = players[i]
}
}
return who
}
stock setVisibleSlots(players, maxplayers, limit)
{
new num = players + 1
if (players == maxplayers)
num = maxplayers
else if (players < limit)
num = limit
set_cvar_num("sv_visiblemaxplayers", num)
}albo to, albo to
Użytkownik Meelo edytował ten post 22.11.2010 23:29
#8
Napisano 23.11.2010 14:31
Dodaje punkcik.
Pozdrawiam.
Dodano 23 listopad 2010 - 19:14:
niestety, ani jeden ani drugi nie dziala
Czy jest mozliwosc by ktos ewentualnie napisal taki plugin komercyjnie?
Użytkownik VirusX edytował ten post 23.11.2010 14:32
#9
Napisano 24.11.2010 12:57
No wlasnie te wyzej pluginy nie dzialajaDziekuje Ci Meelo za pomoc.
Dodaje punkcik.
Pozdrawiam.
Dodano 23 listopad 2010 - 19:14:
niestety, ani jeden ani drugi nie dziala
Czy jest mozliwosc by ktos ewentualnie napisal taki plugin komercyjnie?
#10
Napisano 26.11.2010 22:19
Pisz Do h@ Volty może ci odsprzeda lub udostępni.
#11
Napisano 27.11.2010 09:36
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty









