Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Modyfikacja

Interp Manager prosba o modyfikacje

modyfikacja

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 mozambik

    Nowy

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:6
Offline

Napisano 15.10.2013 21:19

Witam,

mam problem z Interp Managerem. Nie jestem jakimś specjalistą, jednak troszeczke udało mi się zmodyfikowac ten plugin na swoje potrzeby. Tzn zmniejszylem ilość wyboru interpu od 0.01 do 0.03.    0.04 i 0.05 zostawilem jednak w kodzie, bo byc moze pozniej dodam takze te dwie mozliwosci do wyboru. Usunalem z niego wymuszanie  rate, cl_updaterate i cl_cmdrate, gdyz jest mi potrzebny tylko do interpu.

Natomiast mam inny problem. Jesli w cvarach ustawiam limit ostrzezen dla zmienionego interpu na 3 ostrzezenia, to caly czas ten limit wynosi i tak 5 ostrzezen. Drugi problem z tym polega na tym, ze po przekroczeniu limitu ostrzezen, gracz dostaje bana, jednak ten ban "nie wchodzi". Pojawia sie komunikat, ze gracz zostal zbanowany za zly interp, jednak dalej moze grac na serwerze. To samo dzieje sie, jesli ustawie obsluge amxbans na 1, czyli wlaczona wspolpraca. Nie banuje i nie dodaje bana do amxbans.

Czy ktos moglby mi pomoc i poprawic ten plugin do moich potrzeb?  Z gory bardzo dziekuje.

 

W skrocie:

1) Ustawic poprawne dzialanie zmiany limitu ostrzezen na takie 3-4-5 (3 ostrzezenia,4ostrzezenia,5ostrzezen). Teraz jak zmienie na 3 to dalej jest limit 5

2) Jak wyzej, tylko ze z czasem bana. Do wyboru jest czas bana 0, 1 min, 5 min.  Czy ustawie na 1 czy na 5 i tak dlugosc banuje na 1 min

3) Nie chca "wchodzic" bany. Niby banuje, pojawia sie komunikat, a gracz dalej moze grac na serwerze.

4) Nie chce wspolpracowac z amxbans. Nie dodaje banow do amxbans.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Interp Manager"
#define VERSION "1.0"
#define AUTHOR "Hleb"

#define TASK_SHOWMENU 432

new interp_punish_limit;
new interp_punish_type;
new interp_prefix[33];
new interp_warn[33] = 0;
new interp_type[33];
new interp_check[33];
new interp_amxbans;



public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHam(Ham_Spawn, "player", "client_spawn", 1)
	
	register_cvar("amx_interp_type", "1")
	register_cvar("amx_interp_limit", "5")
	register_cvar("amx_interp_prefix", "[FRAGUARD]")
	register_cvar("amx_interp_amxbans", "0")
	
	interp_punish_limit = get_cvar_num("amx_interp_limit");
	interp_punish_type = get_cvar_num("amx_interp_type");
	interp_amxbans = get_cvar_num("amx_interp_amxbans");
	
	get_cvar_string("amx_interp_prefix", interp_prefix, 32)
}
public client_putinserver(id)
{
    if(!is_user_bot(id))
        eventInGame(id);	
}
public show_menu_(tid) 
{
    new id=tid-TASK_SHOWMENU;
    new iTeam=get_user_team(id);
    new menu_id, keys;
    new menuUp = player_menu_info( id, menu_id, keys );
    if(get_user_flags(id) & ADMIN_IMMUNITY)
    {
    	client_print(id, print_chat, "%s Jestes Administratorem serwera, wiec ustaw swoj interp we wlasnym zakresie!", interp_prefix)
	return PLUGIN_CONTINUE;
    }
    else
    {
	if ( iTeam && (menuUp <= 0 || menu_id < 0) )
    		menu_displayer(id);
	else
		set_task(10.0, "show_menu_", tid);
    }
    return PLUGIN_CONTINUE;
}
public eventInGame(id)
{
    set_task(10.0, "show_menu_", id+TASK_SHOWMENU);
}
public menu_displayer(id)
{
    new menu = menu_create("WYBIERZ SWOJ INTERP!!", "menu_handler")
    menu_additem(menu, "Interp - 0.01", "1", 0)
    menu_additem(menu, "Interp - 0.02", "2", 0)
    menu_additem(menu, "Interp - 0.03", "3", 0)
    menu_display(id, menu, 0)
}
public menu_handler(id, menu, item, type)
{
    if (item == MENU_EXIT)
    {
        return PLUGIN_HANDLED;
    }
    new data[6], iName[64]
    new name[33];
    get_user_name(id, name, 32);
    new iaccess, callback
    menu_item_getinfo(menu, item, iaccess, data,5, iName, 63, callback)
    interp_type[id] = str_to_num(data);
    switch(interp_type[id])
    {
	case 1:
	{
		interp_warn[id] = 0;	
		client_cmd(id, "ex_interp 0.01");
		client_print(id, print_chat, "%s Wybrales interp 0.01. Pilnuj go.", interp_prefix); 
		client_print(0, print_chat, "%s Gracz %s ustawil swoj interp na 0.01", interp_prefix, name)
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	case 2:
	{
		interp_warn[id] = 0;	
		client_cmd(id, "ex_interp 0.02");
		client_print(id, print_chat, "%s Wybrales interp 0.02. Pilnuj go.", interp_prefix); 
		client_print(0, print_chat, "%s Gracz %s ustawil swoj interp na 0.02", interp_prefix, name)
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	case 3:
	{
		interp_warn[id] = 0;	
		client_cmd(id, "ex_interp 0.03");
		client_print(id, print_chat, "%s Wybrales interp 0.03. Pilnuj go.", interp_prefix); 
		client_print(0, print_chat, "%s Gracz %s ustawil swoj interp na 0.03", interp_prefix, name)
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	case 4:
	{
		interp_warn[id] = 0;	
		client_cmd(id, "ex_interp 0.04");
		client_print(id, print_chat, "%s Wybrales interp 0.04. Pilnuj go.", interp_prefix); 
		client_print(0, print_chat, "%s Gracz %s ustawil swoj interp na 0.04", interp_prefix, name)
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	case 5:
	{
		interp_warn[id] = 0;	
		client_cmd(id, "ex_interp 0.05");
		client_print(id, print_chat, "%s Wybrales interp 0.05. Pilnuj go.", interp_prefix); 
		client_print(0, print_chat, "%s Gracz %s ustawil swoj interp na 0.05", interp_prefix, name)
		menu_destroy(menu)
		return PLUGIN_HANDLED
       }
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED
} 
public unregister(h)
{
	unregister_forward(FM_CmdStart, h, 1)
}
public CheckInterp(id, uc_handle, seed)
{
	if(interp_check[id])
	{
		static value
		value = get_uc(uc_handle, UC_LerpMsec)
		if(interp_type[id] == 1 && value > 9)
		{
			interp_warn[id]++;
			client_cmd(id, "ex_interp 0.01");
			client_print(id, print_chat, "%s Auto ustawienie interpu na 0.01 (WIM %d/%d)",interp_prefix, interp_warn[id], interp_punish_limit)
		}
		if(interp_type[id] == 2 && value > 18)
		{
			interp_warn[id]++;
			client_cmd(id, "ex_interp 0.02");
			client_print(id, print_chat, "%s Auto ustawienie interpu na 0.02 (WIM %d/%d)",interp_prefix, interp_warn[id], interp_punish_limit)
		}
		if(interp_type[id] == 3 && value > 28)
		{
			interp_warn[id]++;
			client_cmd(id, "ex_interp 0.03");
			client_print(id, print_chat, "%s Auto ustawienie interpu na 0.03 (WIM %d/%d)",interp_prefix, interp_warn[id], interp_punish_limit)
		}
		if(interp_type[id] == 4 && value > 39)
		{
			interp_warn[id]++;
			client_cmd(id, "ex_interp 0.04");
			client_print(id, print_chat, "%s Auto ustawienie interpu na 0.04 (WIM %d/%d)",interp_prefix, interp_warn[id], interp_punish_limit)
		}
		if(interp_type[id] == 5 && value > 50)
		{
			interp_warn[id]++;
			client_cmd(id, "ex_interp 0.05");
			client_print(id, print_chat, "%s Auto ustawienie interpu na 0.05 (WIM %d/%d)",interp_prefix, interp_warn[id], interp_punish_limit)
		}
		if(interp_warn[id] == interp_punish_limit)
			Punish(id);
		interp_check[id] = false;
	}
}
public Punish(id)
{
	new name[32]
	get_user_name(id, name, 31)
	if(interp_amxbans == 0)
	{
		if (interp_punish_type == 0)
		{
		server_cmd("amx_kick %s ^"Zly Interp^"", name)
		client_cmd(id, "echo ^"%s Zostales wyrzucony z powodu zlego interpu...^"", interp_prefix)
		client_cmd(id, "echo ^"%s Jak juz wybierzesz swoj interp to go przestrzegaj...^"", interp_prefix)
		client_print(0, print_chat, "%s %s zostal rozlaczony za zly interp!",interp_prefix, name)
		}
		else if (interp_punish_type == 1)
		{
		server_cmd("amx_banip %s 1 ^"Zly Interp^"", name)
		client_cmd(id, "echo ^"%s Zostales zbanowany na 1 minute z powodu zlego interpu...^"", interp_prefix)
		client_cmd(id, "echo ^"%s Jak juz wybierzesz swoj interp to go przestrzegaj...^"", interp_prefix)
		client_print(0, print_chat, "%s %s zostal zbanowany na 1 minute za zly interp!",interp_prefix, name)
		}
		else if (interp_punish_type == 2)
		{
		server_cmd("amx_banip %s 5 ^"Zly Interp^"", name)
		client_cmd(id, "echo ^"%s Zostales zbanowany na 5 minut z powodu zlego interpu...^"", interp_prefix)
		client_cmd(id, "echo ^"%s Jak juz wybierzesz swoj interp to go przestrzegaj...^"", interp_prefix)
		client_print(0, print_chat, "%s %s zostal zbanowany na 5 minut za zly interp!",interp_prefix, name)
		}
	}
	else if (interp_amxbans == 1)
	{
		if (interp_punish_type == 0)
		{
		server_cmd("amx_kick %s ^"Zly Interp^"", name)
		client_cmd(id, "echo ^"%s Zostales wyrzucony z powodu zlego interpu...^"", interp_prefix)
		client_cmd(id, "echo ^"%s Jak juz wybierzesz swoj interp to go przestrzegaj...^"", interp_prefix)
		client_print(0, print_chat, "%s %s zostal rozlaczony za zly interp!",interp_prefix, name)
		}
		else if (interp_punish_type == 1)
		{
		server_cmd("amx_ban 1 %s ^"Zly Interp^"", name)
		client_cmd(id, "echo ^"%s Zostales zbanowany na 1 minute z powodu zlego interpu...^"", interp_prefix)
		client_cmd(id, "echo ^"%s Jak juz wybierzesz swoj interp to go przestrzegaj...^"", interp_prefix)
		client_print(0, print_chat, "%s %s zostal zbanowany na 1 minute za zly interp!",interp_prefix, name)
		}
		else if (interp_punish_type == 2)
		{
		server_cmd("amx_ban 5 %s ^"Zly Interp^"", name)
		client_cmd(id, "echo ^"%s Zostales zbanowany na 5 minut z powodu zlego interpu...^"", interp_prefix)
		client_cmd(id, "echo ^"%s Jak juz wybierzesz swoj interp to go przestrzegaj...^"", interp_prefix)
		client_print(0, print_chat, "%s %s zostal zbanowany na 5 minut za zly interp!",interp_prefix, name)
		}
	}
	return PLUGIN_CONTINUE;
}
public client_spawn(id)
{
	if (is_user_connected(id) && (!(is_user_bot(id))))
	{
		interp_check[id] = true;
		static h;
		h = register_forward(FM_CmdStart, "CheckInterp", 1)	
		set_task(0.01, "unregister", h)
	}
}
public client_disconnect(id)
{
	interp_warn[id] = 0;
}
public client_connect(id)
{
	interp_warn[id] = 0;
}
		
    
	


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych