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

[ROZWIĄZANE] Prośba o przerobienie pluginu


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 Vanilla

    Zaawansowany

  • Girl

Reputacja: 1
Nowy

  • Postów:90
Offline

Napisano 09.03.2021 15:13

Witam, mam taką prośbe :)
Czy ktoś z tego pluginu, mógłby usunąć bany na CT? Żeby zostało wszystko inne, tylko usunąć bany na CT, probowalam to zrobić ale wyświetlały sie błędy :/, oraz czy po usunięciu wszystkie bany na CT zostaną usunięte, czy są zapisywane w jakiejs bazie danych? :P

 

Link do sma https://www31.zippys...4sj7K/file.html

 

Kod:

#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <cstrike>
#include <jailbreak>
#include <colorchat>

#define PLUGIN "JailCzasGry"
#define VERSION "1"
#define AUTHOR "Vanilla"

new vault;
new pCvarSteam, pCvarTiem, pCvarCtToTT;
new CzasGry[MAX+1];
new dane_gracza[MAX+1];
new nazwa_gracza[MAX+1][64];
new bool:wczytane[MAX+1];

new FlagiAdmina[] = "c"; /* Tutaj zmieniasz flagi z którymi admina nie obowiązuje ograniczenie X CT na Y TT */

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("jail_addct", "DodajGracza", ADMIN_BAN, "jail_addct <name | steamid>");
	register_clcmd("jail_delct", "UsunGracza", ADMIN_BAN, "jail_delct <name | steamid>");
	register_clcmd("jail_menuban", "MenuBan");
	register_clcmd("say /czasgry", "PokazCzasGry");
	
	pCvarTiem = register_cvar("jail_ct_time", "60");
	pCvarCtToTT = register_cvar("jail_tt_to_ct", "6");
	pCvarSteam = register_cvar("jail_ct_steam", "0");
	
	pCvarCtToTT = max(get_pcvar_num(pCvarCtToTT), 1);
	pCvarTiem = get_pcvar_num(pCvarTiem)*60;
	pCvarSteam = get_pcvar_num(pCvarSteam);
	
	valut = nvault_open("banct");
	set_task(1.0, "DodajAmxMod");
}

public DodajAmxMod()
{
	AddMenuItem("\w[\rCS-SZCZECIN.PL\w] Ban na gre jako \rKlawisz", "jail_menuban", ADMIN_BAN, PLUGIN);
}

public OnJoinTeam(id, team, tt, ct)
{
	if(team == 2)
	{
		if(!is_user_steam(id) && pCvarSteam)
		{
			ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] NonSteam nie moze grac w CT!");
			return JAIL_FORCE_TT;
		}
		
		if((ct && (ct*pCvarCtToTT >= tt)) && !(get_user_flags(id) & read_flags(FlagiAdmina)))
		{
			ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] Druzyna CT pelna! Dolaczyles do wiezniow!");
			return JAIL_FORCE_TT;
		}
		
		if(dane_gracza[id] == 2)
		{
			ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] Masz zakaz dolaczania do CT!");
			return JAIL_FORCE_TT;
		}
		
		if(!dane_gracza[id] && ((get_user_time(id,1)+CzasGry[id]) < pCvarTiem) && !(get_user_flags(id) & read_flags(FlagiAdmina)))
		{
			ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] Masz za malo czasu przegrane na serwerze by grac w CT! Potrzebujesz %d minut.", pCvarTiem/60);
			return JAIL_FORCE_TT;
		}
	}
	return JAIL_CONTINUE;
}

public DodajGracza(id)
{
	if(!(get_user_flags(id) & ADMIN_BAN))
	return PLUGIN_HANDLED;

	new name[64], vaultdata[256];
	read_argv(1, name, 63);	
	if(nvault_get(valut, name, vaultdata, 255))
	{
		if(vaultdata[0] == '2')
		{
			client_print(id, print_console, "[JailBreak] Juz jest zbanoway ten gracz (%s)", name);
			return PLUGIN_HANDLED;
		}
		log_amx("Admin <%s> zbanowal gracza <%s>", nazwa_gracza[id], name); 
		nvault_set(valut, name, "2");
		client_print(id, print_console, "[JailBreak] Zbanowales gracza %s", name);
	}
	else
	client_print(id, print_console, "[JailBreak] Taki gracz (%s) jeszcze nie gral na serwerze", name);
	
	return PLUGIN_HANDLED;
}

public UsunGracza(id)
{
	if(!(get_user_flags(id) & ADMIN_BAN))
	return PLUGIN_HANDLED;

	new name[64], vaultdata[256];
	read_argv(1, name, 63);
	if(nvault_get(valut, name, vaultdata, 255))
	{
		log_amx("Admin <%s> odbanowal gracza <%s>", nazwa_gracza[id], name); 
		nvault_set(valut, name, "1");
		client_print(id, print_console, "[JailBreak] Odbanowales gracza %s", name);
	}
	else
	client_print(id, print_console, "[JailBreak] Nie ma takiego gracza (%s)", name);
	
	return PLUGIN_HANDLED;
}

public MenuBan(id)
{
	if(!(get_user_flags(id) & ADMIN_BAN))
	return PLUGIN_HANDLED;
	
	new menu = menu_create("\w[\rCS-SZCZECIN.PL\w] Ban na gre jako \rKlawisz\w:", "Ban_Handled");
	for(new i=1; i<=32; i++)
	{
		if(!is_user_connected(i) || is_user_hltv(i) || i == id)
		continue;
		
		new name[64], num[3];
		get_user_name(i, name, 64);
		num_to_str(i, num, 2);

		add(name, 63, (get_user_team(i) == 1? " \r[TT]": (get_user_team(i) == 2? " \r[CT]": " \r[SPECT]")));
		menu_additem(menu, name, num);
	}
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu);
	return PLUGIN_HANDLED;
}

public Ban_Handled(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		return PLUGIN_CONTINUE;
	}
	new id2, callback, data[3];
	menu_item_getinfo(menu, item, id2, data, 2, _, _, callback);
	id2 = str_to_num(data);
	
	if(dane_gracza[id2] != 2)
	{
		CzasGry[id2] = 0;
		dane_gracza[id2] = 2;
		nvault_set(valut, nazwa_gracza[id2], "2");
		
		if(cs_get_user_team(id2) == CS_TEAM_CT)
		{
			if(is_user_alive(id2))
			user_kill(id2);
			cs_set_user_team(id2, CS_TEAM_T);
		}
		
		log_amx("Admin <%s> zbanowal gracza <%s>", nazwa_gracza[id], nazwa_gracza[id2]); 
		ColorChat(id, TEAM_COLOR, "^x04[JailBreak]^x01 Gracz ^x03%s^x01 zostal zbanowany na gre w CT", nazwa_gracza[id2]);
	}
	else
	ColorChat(id, TEAM_COLOR, "^x04[JailBreak]^x01 Gracz ^x03%s^x01 jest juz zbanowany na CT! ", nazwa_gracza[id2]);
	
	return PLUGIN_CONTINUE;
}

public client_putinserver(id)
{
	dane_gracza[id] = 0;
	CzasGry[id] = 0;
	wczytane[id] = false;
	if(pCvarSteam)
	{
		if(is_user_steam(id))
		{
			get_user_authid(id, nazwa_gracza[id], 63);
			CzasGry[id] = WczytajCzas(id);
		}
		return;
	}
	if(is_user_steam(id))
	get_user_authid(id, nazwa_gracza[id], 63);
	else
	get_user_name(id, nazwa_gracza[id], 63);
	
	CzasGry[id] = WczytajCzas(id);
}

public WczytajCzas(id)
{
	new vaultdata[256];
	wczytane[id] = true;
	
	if(nvault_get(valut, nazwa_gracza[id], vaultdata, 255))
	{
		if(vaultdata[1] == '#')
		{
			new left[10];
			strtok(vaultdata, left, 9, vaultdata, 255, '#', 1);
			return str_to_num(vaultdata);
		}
		else
		dane_gracza[id] = (vaultdata[0]-'0');
	}
	return 0;
}

public client_disconnect(id)
{
	if(pCvarSteam)
	{
		if(is_user_steam(id))
		{
			ZapiszCzas(id);
		}
		return;
	}
	ZapiszCzas(id);
}

public ZapiszCzas(id)
{
	if(!dane_gracza[id] && wczytane[id])
	{
		new czas = CzasGry[id]+get_user_time(id,1);
		if(czas <= pCvarTiem)
		{
			new vaultdata[256];
			formatex(vaultdata, 255, "0#%i", czas);
			nvault_set(valut, nazwa_gracza[id], vaultdata);
		}
		else
		nvault_set(valut, nazwa_gracza[id], "1");
	}
}

public PokazCzasGry(id)
{
	new times = get_user_time(id,1);
	if((times+CzasGry[id]) < pCvarTiem && !dane_gracza[id])
	ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] Spedziles na serwerze^x03 %d^x01 min.", (times+CzasGry[id])/60);
	else
	ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] Przegrales ponad %d minut na serwerze", pCvarTiem/60);
	return PLUGIN_HANDLED;
}    

stock is_user_steam( id ) {
        new g_Steam[ 32 ]
        get_user_authid( id, g_Steam, charsmax( g_Steam ) )
        return bool:( '0' <= g_Steam[ 8 ] <= '1' );
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

 


  • +
  • -
  • 0

#2 Żuk

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

Napisano 09.03.2021 16:33

nie jestem w stanie przetestowac ale zerknij, bany zapisywały się w pliku nvault "banct" w którym też zapisany jest czas gry graczy, aczkolwiek stare bany nie będą brane pod uwage

Spoiler

Użytkownik Żuk edytował ten post 09.03.2021 16:48

  • +
  • -
  • 1

#3 Vanilla

    Zaawansowany

  • Autor tematu
  • Girl

Reputacja: 1
Nowy

  • Postów:90
Offline

Napisano 09.03.2021 17:29

Wszystko dziala, dziekuje za pomoc, leci plusik :DD


  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 09.03.2021 19:57

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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