Existing user? Sign in
Sign up
Games
Servers
Useful
User
Pass
2FA
Atentie! Aceasta este versiunea LowFi a topicului! Click
aici
pentru varianta originala.
[Plugin] Kick Player Admin Connect
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Plugins
Author
Message
2093
destroi112
[DEV]
Posted: 05-08-2016, 10:57:53
| Translate post to:
... (
Click for more languages
)
Nume : Kick Player Admin Connect
Descriere : Da kick unui player cand un admin se conecteaza daca svr e full.
Am facut 2 variante una da kick random ->
Spoiler:
#include <amxmodx>
#define PLUGIN "Kick Player Admin Connect"
#define AUTHOR "D3luxe"
#define VERSION "1.0"
#define ADMIN_FLAG ADMIN_RESERVATION
#define ADMIN_NOKICK ADMIN_RESERVATION
#define MAX_PLAYERS_NUMBER 32
new count_max;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
}
public client_connect(id)
{
//verificam daca un admin se conecteaza si apelam functia
if(is_user_connecting(id) && get_user_flags(id) & ADMIN_FLAG)
loop_players();
}
public loop_players()
{
new id;
new Players[32],iNum;
//initializam count max
count_max = 0;
get_players(Players,iNum);
//cautam toti playeri sa vedem daca e numarul maxim atins
for(new i = 0; i < iNum;i++)
{
id = Players[i];
//verificam sa fie toti playeri conectati asta ii include si pe admini
if(is_user_connected(id))
count_max++;
}
//verificam daca count-ul nostru e egal cu nr max de playeri
if(count_max == MAX_PLAYERS_NUMBER)
{
//alegem un player random indexul lui mai exact
new iRandomPlayer = random_num(0,iNum-1);
choose_random(iRandomPlayer);
}
}
public choose_random(client)
{
/*verificam inca odata daca count_max == cu MAX_PLAYERS_NUMBER*/
if(count_max == MAX_PLAYERS_NUMBER)
{
//verificam sa nu fie admin
if(!(get_user_flags(client) & ADMIN_NOKICK) && is_user_connected(client))
{
//ii dam kick si afisam mesajul.
new nume[33];
get_user_name(client,nume,charsmax(nume));
server_cmd( "kick #%d ^"Random kick ,un admin s-a conectat !^"", nume );
}else{
//recursivitate daca playerul nostru e admin rechemam functia si verificam iar playeri
loop_players();
}
}
}
Altul da kick la playerului cu cel mai mare ping ->
Spoiler:
#include <amxmodx>
#define PLUGIN "Kick Player Admin Connect"
#define AUTHOR "D3luxe"
#define VERSION "2.0"
#define ADMIN_FLAG ADMIN_RESERVATION //flagul adminului care intra
#define ADMIN_NOKICK ADMIN_RESERVATION //flagul adminului care nu ia kick cand se alege playerul cu ping
#define MAX_PLAYERS_NUMBER 32 // numarul de playeri la care un player este scos cand intra un admin pe server_cmd
new HighPingPlayer,maxim;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
}
public client_connect(id)
{
if(is_user_connecting(id) && get_user_flags(id) & ADMIN_FLAG)
calc_players();
}
public calc_players()
{
new id;
new Players[32],iNum;
//initializam count max
new count_max = 0;
get_players(Players,iNum);
//cautam toti playeri sa vedem daca e numarul maxim atins
for(new i = 0; i< iNum;i++)
{
id = Players[i];
//verificam sa fie toti playeri conectati aici se pun si admini
if(is_user_connected(id))
count_max++;
}
//verificam daca count-ul nostru e egal cu nr max de playeri
if(count_max == MAX_PLAYERS_NUMBER)
{
//alegem un player random
loop_players();
}
}
public loop_players()
{
new id;
new Players[32],iNum;
get_players(Players,iNum);
maxim = -1;
//primul loop verificam pingul maxim
for(new i = 0; i< iNum;i++)
{
id = Players[i];
if(!is_user_connected(id))
continue;
if(get_user_flags(id) & ADMIN_NOKICK)
continue;
//le punem in loop pentru a verifica pentru fiecare player dupa care se va reseta
new ping,loss;
get_user_ping(id,ping,loss);
//o functie simpla verifica daca pingul playerului este mai mare ca maximul
if(ping > maxim)
maxim = ping;
}
//al 2-lea loop verificam playeri care au pingul maxim.Ultimul player cu cel mai mare ping v-a primi kick
for(new i = 0; i< iNum;i++)
{
id = Players[i];
if(!is_user_connected(id))
continue;
if(get_user_flags(id) & ADMIN_NOKICK)
continue;
new ping,loss;
get_user_ping(id,ping,loss);
//verificam din nou pingul si il comparam cu maximul aflat inainte si stocam playerul
if(maxim == ping)
HighPingPlayer = id;
}
if(HighPingPlayer && is_user_connected(HighPingPlayer))
{
new nume[33];
get_user_name(HighPingPlayer,nume,charsmax(nume));
server_cmd( "kick #%d ^"Ping kick ,un admin s-a conectat !^"", nume );
}else{
//recall loop if HighPingPlayer nu exista si caulculam iar playeri si verificam
calc_players();
}
}
Autor : D3luxe(eu)
Download : Le-am pus mai sus
1
0
CsCatalinGo
[Mentally Stable]
Posted: 05-08-2016, 11:01:54
| Translate post to:
... (
Click for more languages
)
Am adaugat plugin-ul sper sa functioneze ok
Apropo la numele lui ai putea pune ACPK - Admin Connect Player Kick , prescurtat ar fi mai ok , parerea mea
0
0
destroi112
[DEV]
Posted: 05-08-2016, 11:12:03
| Translate post to:
... (
Click for more languages
)
#define ADMIN_FLAG ADMIN_RESERVATION -> flagul adminului la care se da kick cand intra
#define ADMIN_NOKICK ADMIN_RESERVATION -> flagul adminului care nu primeste kick
#define MAX_PLAYERS_NUMBER 32 -> numarul de playeri la care se da kick unui player daca nu functioneaza pune-ti 31
0
0
Legendary.
[Banned user]
Posted: 05-08-2016, 12:55:34
| Translate post to:
... (
Click for more languages
)
Chiar am cautat asta o gramada de timp.
O sa-l probez si o sa-i dau un feedback, revin cu edit
0
0
Adryyy
[HLDS EXPLOITER]
Posted: 06-08-2016, 23:49:15
| Translate post to:
... (
Click for more languages
)
Si l-ai testat de-l postezi?
0
0
destroi112
[DEV]
Posted: 07-08-2016, 15:19:37
| Translate post to:
... (
Click for more languages
)
Adryyy wrote:
Si l-ai testat de-l postezi?
https://forum.wow-freakz.com/Cerere-plugin-t429095.html
Nu e batut in cuie ca o sa merga daca serverul e 32/32 pentru ca functia client_connect e declansata cand un client se conecteaza dar in acelasi timp indexul trebuie sa fie intre 1 si 32 => atunci cand e 32/32 si un player incearca sa se conecteze automat indexul e 33 si nu v-a functiona.
Nu ma crede pe mine ci documentarea ->
http://www.amxmodx.org/doc/index.html?page=source%2Ffunctions%2Fcore%2Fclient_connect.htm
0
0
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Plugins
The time now is 15-08-2025, 08:22:35
Copyright info
Based on phpBB
ro
/
com
B
Login
I forgot my password
World of Warcraft
Login for more...
Download WoW 7.3.5
Misc
eSports
Achievements
Buy reputation with votes
Reputation trades
Forum rules
Ban list
Members list
User guide (FAQ)
World of Warcraft
View details