←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Nowy Plugin
Prośba o napisanie - kick ns na rzecz grac...

Zablokowany

  • +
  • -
feever - zdjęcie feever 09.10.2009

Witam,

nie wiem czy to jest wykonalne, jeśli nie to proszę zamknąc temat :)

A więc, chciałbym plugin który by kickował gracza nonsteam na rzecz gracza steam, niech to będzie np. osoba która jest najkrócej na serwerze.

Dzięki.
Odpowiedz

  • +
  • -
L0rdS^P0l4K - zdjęcie L0rdS^P0l4K 09.10.2009

Fajny pomysł na plugin. Jednak jest dość zaawansowany... trzeba byłoby zrobić dużo zabezpieczeń np. gracz posiadający flagę B czyli rezerwacje slota musi być chroniony... i wtedy plugin musi znowu sprawdzać listę graczy lub przejść do kolejnego gracza który również ma ns i jest najkrócej w grze.
Podziałam pogrzebię bo mi również przyda się taki plugin. Jednak nie obiecuję że sam dokończę go jak również to forum będzie istnieć... wiadomo co Kurek chce zrobić z forum :/ szkoda.
Odpowiedz

  • +
  • -
Portek - zdjęcie Portek 09.10.2009

Sprawdź
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "NS kick"
#define VERSION "1.0"
#define AUTHOR "PortuS"

new const g_kick_reason[] = "Twoje miejsce zajal gracz Steam"
new g_maxplayers
new g_pcvar_reservation

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	g_maxplayers = get_maxplayers()
	g_pcvar_reservation = get_cvar_pointer("amx_reservation")
}

public client_connect(id) {
    if (get_playersnum(1) <= g_maxplayers - get_pcvar_num(g_pcvar_reservation))
        sprawdz(id);
	
}

public sprawdz(id)
{
	new steamid[40]
	
	if(equal(steamid, "STEAM_ID_LAN") || equal(steamid, "VALVE_ID_LAN")) 
	
	if(!get_user_flags(id) == ADMIN_RESERVATION) {
	client_kick(id, g_kick_reason)
}
}

stock client_kick(id, const reason[] = "") {
    server_cmd("kick #%d ^"%s^"", get_user_userid(id), reason)
    server_exec()
}
Odpowiedz

  • +
  • -
feever - zdjęcie feever 09.10.2009

No niestety, ale nie kickuje.
Odpowiedz

  • +
  • -
Portek - zdjęcie Portek 09.10.2009

Jakiś log? Że nie kickuje to za wiele mi nie mówi.

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "NS kick"
#define VERSION "1.0"
#define AUTHOR "PortuS"

new g_maxplayers
new g_pcvar_reservation

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
   
    g_maxplayers = get_maxplayers()
    g_pcvar_reservation = get_cvar_pointer("amx_reservation")
}

public client_connect(id) {
    if (get_playersnum(1) <= g_maxplayers - get_pcvar_num(g_pcvar_reservation))
        sprawdz(id);
   
}

public sprawdz(id)
{
    new steamid[40]
   
    if(equal(steamid, "STEAM_ID_LAN") || equal(steamid, "VALVE_ID_LAN"))
   
	if(!get_user_flags(id) == ADMIN_RESERVATION) 
		{
		server_cmd("kick #%d ^"Twoje miejsce zajal gracz Steam^"", get_user_userid(id));
		}
}	
Odpowiedz
Zablokowany