Plugin pentru slot si admini

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

28 Sep 2016, 22:04

Salutare extream, am incercat mai multe pluginuri pentru slot si admini, dar nu merge nici unul... Puteti sa imi dati voi un plugin (functional) care daca serverul este 32/32 si un admin sau un slot vrea sa se conecteze da kick unui player obisnuit. App nu vreau acele setari din amxx.cfg :)

Multumesc.
RoyalServer
User avatar
-ToTo-
Membru, skill +2
Membru, skill +2
Posts: 502
Joined: 30 Jul 2016, 21:28
Detinator Steam: Da
CS Status: Muncă
SteamID: id/totooffices/
Fond eXtream: 0
Location: Botosani
Has thanked: 10 times
Been thanked: 5 times

29 Sep 2016, 10:56

:heavy_check_mark:
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
static const PLUGIN[] = "Advanced Admin Slots"
static const VERSION[] = "0.1.0"
static const AUTHOR[] = "SAMURAI"
new g_cmdLoopback[16]
new g_maxplayers
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_cvar("amx_reservation","3")
#if defined HIDE_RESERVEDSLOTS
                 set_task(7.1, "set_maxplayers", 147258369)
#endif
                 format(g_cmdLoopback, 15, "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")
 
                 g_maxplayers = get_maxplayers()
}
#if defined HIDE_RESERVEDSLOTS
public set_maxplayers() {
  if(get_cvar_num("amx_reservation") > 0)
        set_cvar_num("sv_visiblemaxplayers", g_maxplayers - 1)
}
#endif
public ackSignal(id) {
  server_cmd("kick #%d %s", get_user_userid(id),("Dropped due to slot reservation"))
}
public client_authorized(id) {
  new players = get_playersnum(1)
  new limit = g_maxplayers - 1
  new resType = get_cvar_num("amx_reservation")
  if(!resType) return PLUGIN_CONTINUE
  new who
  if(players > limit) {
        if(get_user_flags(id) & ADMIN_RESERVATION) {
          switch(resType) {
                case 1:
                  who = kickShortestPlayingTime()
                case 2:
                  who = kickLongestPlayingTime()
                case 3:
                  who = kickLag()
                case 4:
who = steamCon()
                case 5:
who = fraGS()
          }
          if(who) {
                new name[32]
                get_user_name(who, name, 31)
                client_cmd(id, ("echo ^"* %s was kicked to free this slot^""), name)
          }
          return PLUGIN_CONTINUE
        }
        client_cmd(id, g_cmdLoopback)
        return PLUGIN_HANDLED
  }
  return PLUGIN_CONTINUE
}
kickShortestPlayingTime() {
  new who = 0, itime, shortest = 0x7fffffff
  for(new i = 1; i <= g_maxplayers; ++i) {
        if(!is_user_connected(i) && !is_user_connecting(i))
          continue
        if(get_user_flags(i) & ADMIN_RESERVATION)
          continue
        itime = get_user_time(i)
        if(shortest > itime) {
          shortest = itime
          who = i
        }
  }
  if(who) {
        client_cmd(who,("echo ^"Dropped due to shortest playing time to free slot for an admin^";%s"), g_cmdLoopback)
  }
  return who
}
kickLongestPlayingTime() {
  new who = 0, itime, longest = -1
  for(new i = 1; i <= g_maxplayers; ++i) {
        if(!is_user_connected(i) && !is_user_connecting(i))
          continue
        if(get_user_flags(i) & ADMIN_RESERVATION)
          continue
        itime = get_user_time(i)
        if(longest < itime) {
          longest = itime
          who = i
        }
  }
  if(who) {
        client_cmd(who,("echo ^"Dropped due to longest playing time to free slot for an admin^";%s"), g_cmdLoopback)
  }
  return who
}
kickLag() {
  new who = 0, ping, loss, worst = -1
  for(new i = 1; i <= g_maxplayers; ++i) {
        if(!is_user_connected(i) && !is_user_connecting(i))
          continue
        if(get_user_flags(i) & ADMIN_RESERVATION)
          continue
        get_user_ping(i, ping, loss)
        if(ping > worst) {
          worst = ping
          who = i
        }
  }
  if(who) {
        client_cmd(who,("echo ^"Dropped due to high ping to free slot for an admin^";%s"), g_cmdLoopback)
  }
  return who
}
steamCon() {
  new who = 0, ping, loss, worst = -1
 
  for(new i = 1; i <= g_maxplayers; ++i) {
        if(!is_user_connected(i) && !is_user_connecting(i))
          continue
        new uid[32]
        get_user_authid(i,uid,31)
        if(equal(uid,"STEAM_ID_PENDING"))
        continue
        get_user_ping(i, ping, loss)  
        if(ping > worst) {
          worst = ping
          who = i
        }
  }
  if(who) {
        client_cmd(who,"echo Dropped because has entered one player with STEAM, Free Slot for him;disconnect")
  }
  return who
}
fraGS() {
  new who = 0
 
  for(new i = 1; i <= g_maxplayers; ++i) {
        if(!is_user_connected(i) && !is_user_connecting(i))
          continue
        if( get_user_flags(i) & ADMIN_RESERVATION  )
          continue
        new frags = get_user_frags(i) 
        new deaths = get_user_deaths(i)
        if(frags < deaths) {
          who = i
        }
  }
  if(who) {
        client_cmd(who,"echo Dropped because your are an nood;disconnect")
  }
  return who
}
Furien Remade Level || Class || Power || Quest || Event
IP : 188.212.100.219:27015

diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

29 Sep 2016, 16:09

o sa-l incerc si revin cu edit, dar am incercat o versiune a pluginului...
diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

29 Sep 2016, 19:23

am pus pluginul pe server, dar cand e 32/32 si incerc sa ma conectez nu ma lasa...
diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

02 Oct 2016, 03:16

up inca caut un plugin care sa mearga
User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2756
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 13 times

02 Oct 2016, 09:30

a | Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Alex"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	// Add your code here...
}

public client_connect(id) {
	if(is_user_bot(id) || is_user_hltv(id))
		return PLUGIN_HANDLED;
		
	if(get_playersnum() >= 31)
	{
		new Jucator = GetRandomPlayer("ae", "CT");
		
		server_cmd("kick #%d", get_user_userid(Jucator));
	}
	
	return PLUGIN_HANDLED;
}

GetRandomPlayer(const Flags[]="", const Team[]="") {
	new players[32], num;
	get_players(players, num);
	return num > 0 ? players[random(inum)] : 0;
}
diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

02 Oct 2016, 20:08

o sa-l incerc si revin cu un raspuns
diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

02 Oct 2016, 20:35

am incercat sa-l compilez si:....

Code: Select all

AMX Mod X Compiler 1.8.3-manual
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team

slot.sma(34) : error 017: undefined symbol "inum"
slot.sma(35) : warning 203: symbol is never used: "Team"
slot.sma(35) : warning 203: symbol is never used: "Flags"

1 Error.
Compilarea a esuat!
diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

05 Oct 2016, 18:23

up, inca caut un plugin functional
diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

05 Oct 2016, 18:24

up, inca caut un plugin functional
diavolu111
Membru, skill +1
Membru, skill +1
Posts: 419
Joined: 11 Oct 2014, 18:18
Detinator Steam: Da
Fond eXtream: 0
Location: Alba Iulia
Has thanked: 28 times
Been thanked: 6 times
Contact:

09 Oct 2016, 22:35

tot nu am gasit nimic care sa mearga... ma puteti ajuta?
User avatar
<AMXX|SDK>D3luxe
Membru, skill 0
Membru, skill 0
Posts: 90
Joined: 04 Sep 2016, 09:19
Detinator Steam: Nu
CS Status: Loading ...
Detinator server CS: Jb/Fury.Freakz.Ro
Fond eXtream: 0

10 Oct 2016, 21:48

Aici | Afiseaza codul
#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 31

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; 
//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(); 
} 
} 
}
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: Dot [Bot], Google [Bot], MrPower, Yandex [Bot] and 54 guests