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 !
#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 takie znalazłem
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 dzialaja bo tez kiedys je testowalem...Dziekuje 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: 0
0 użytkowników, 0 gości, 0 anonimowych