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

FBPunish


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 Tymo

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:25
Offline

Napisano 02.11.2016 15:16

Cześć.

Mam problem z pluginem FBPunish.

Chodzi o to, że plugin zlicza ilość rzuconych flashy swoim z drużyny - przy np. 5 flashu kickuje. Problem jest w tym, że po zmianie mapy licznik się nie zeruje i ilość ostrzeżeń z poprzedniej mapy przechodzi na kolejną.

 

proszę o pomoc w "dorobieniu" zdarzenia, które będzie resetować licznik ostrzeżeń po zmianie mapy.

/*
	PLUGIN: TeamFlash Punisher
	AUTOR: 	DAWEDOV
	WERSJA: 1.0
	
	CVARY:
	* fb_FlashTypeCount:
		0 - nie naliczaj, daje tylko info o oslepieniu
		1 - naliczaj tylko flashe ktore calkowicie oslepily
		2 - naliczaj wszystkie flashe
	* fb_PunishType:
		0 - brak kary
		1 - zablokuj kupowanie flashbangów
		2 - kick
	* fb_CountToPunish:
		x - ilosc oslepionych przyjaciol po ktorej ma wymierzyc kare
	* fb_ShowInfo
		0 - nie pokazuj informacji o flashu
		1 - pokazuj info tylko zfleszowanemu
		2 - pokazuj info zfleszowanemu i fleszujacemu
	* fb_MakeTeamImmune
		0 - fb oslepia kolegow z druzyny
		1 - fb nie oslepia kolegow z druzyny
	
*/

#include <amxmodx>
#include <fakemeta>
#include <colorchat>

#define PLUGIN "TeamFlash Punisher"
#define VERSION "1.0"
#define AUTHOR "Dawedov"

#define FB_OWNERCHECK_TASK 542
#define FB_EXPLODE_TIME 1.52

new const tag[] = "[Only-DD2.pl]"

new gFlashBangOwner;
new gTeamFlashCounter[33];

new gCvarFlashType;
new gCvarPunishType;
new gCvarCountToPunish;
new gCvarShowInfo;
new gCvarImmune;

new gSyncHudObj;

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	// CVARS
	gCvarFlashType 		= register_cvar("fb_FlashTypeCount","2");
	gCvarPunishType 	= register_cvar("fb_PunishType","1");
	gCvarCountToPunish	= register_cvar("fb_CountToPunish","10");
	gCvarShowInfo		= register_cvar("fb_ShowInfo","1");
	gCvarImmune			= register_cvar("fb_MakeTeamImmune","0");
	
	// Forwards
	register_forward(FM_SetModel, "fmSetModel")
	register_event("ScreenFade","event_ScreenFade","be","4=255","5=255","6=255","7>199")
	
	// HUD
	gSyncHudObj = CreateHudSyncObj();
	
	// Buy cmds
	register_clcmd("flash","BuyCheck");
	register_clcmd("autobuy","BuyCheck");
	register_clcmd("fullupdate","BuyCheck");
	register_clcmd("cl_rebuy","BuyCheck");
	register_clcmd("cl_autobuy","BuyCheck");
}

public fmSetModel(ent, model[]) 
{       
	if(equal(model, "models/w_flashbang.mdl")) 
	{       
		new iEntOwner;
		iEntOwner = pev(ent, pev_owner)

		if(pev_valid(iEntOwner))
			set_task(FB_EXPLODE_TIME,"task_OwnerCheck", FB_OWNERCHECK_TASK+iEntOwner);
	}
} 

public task_OwnerCheck(taskid)
{ 
	gFlashBangOwner = taskid - FB_OWNERCHECK_TASK;
}

public event_ScreenFade(id) 
{
	if(is_user_alive(id))
	{
		if(id != gFlashBangOwner && get_user_team(id) == get_user_team(gFlashBangOwner))
		{
			if(get_pcvar_num(gCvarFlashType))
			{
				new flashalpha = read_data(7)
				if((get_pcvar_num(gCvarFlashType) == 2 && flashalpha > 0)
				|| flashalpha == 255)
				{
					gTeamFlashCounter[gFlashBangOwner]++;
					ShowHud(gFlashBangOwner);
				}
			}
			if(get_pcvar_num(gCvarShowInfo))
			{
				new name[64];
				get_user_name(gFlashBangOwner,name,63);
				ColorChat(id,GREEN,"%s^x04 Zostales oslepiony przez:^x03 %s",tag,name)
				if(get_pcvar_num(gCvarShowInfo) > 1)
				{
					new victimname[64];
					get_user_name(gFlashBangOwner,victimname,63);
					ColorChat(id,GREEN,"%s^x04 Wlasnie oslepiles^x03 %s^x04! Uwazaj jak rzucasz flashe!",tag,victimname)
				}
			}
			if(get_pcvar_num(gCvarImmune))
			{
				message_begin(MSG_ONE, get_user_msgid("ScreenFade"),{0,0,0},id);
				write_short(1<<12);
				write_short(1<<12);
				write_short(1<<12);
				write_byte (0);
				write_byte (0);
				write_byte (0);
				write_byte (0);
				message_end();
			}
		}
	}       
}
public ShowHud(id)
{
	set_hudmessage(255, 0, 0, 0.02, 0.55, 0, 6.0, 5.0)
	ShowSyncHudMsg(id,gSyncHudObj,"Ostrzezenia za FB %i/%i.",gTeamFlashCounter[id],get_pcvar_num(gCvarCountToPunish))
	PunishPlayer(id);
}
public PunishPlayer(id)
{
	if(!is_user_connected(id)
	|| gTeamFlashCounter[id] < get_pcvar_num(gCvarCountToPunish)
	|| get_pcvar_num(gCvarPunishType) != 2)
		return;
	
	server_cmd("kick #%d ^"Zostales wyrzucony za 5-krotne oslepianie kolegow z druzyny!^"",get_user_userid(id))
}
public BuyCheck(id)
{
	if(gTeamFlashCounter[id] >= get_pcvar_num(gCvarCountToPunish) && get_pcvar_num(gCvarPunishType) == 1)
	{
		ColorChat(id,GREEN,"%s^x01 Nie mozesz kupowac flashbangow, oslepiles za duzo kolegow z druzyny!",tag);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public client_connect(id)
{
	gTeamFlashCounter[id] = 0;
}

Z góry dzięki za pomoc.

Załączone pliki


Użytkownik Tymo edytował ten post 02.11.2016 15:20

  • +
  • -
  • 0

#2 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:266
Offline

Napisano 02.11.2016 16:24

niemożliwe zeby cokolwiek w tym pluginie sie zapisalo na kolejna mape


  • +
  • -
  • 0

Cześć


#3 _McHappy

    Wszechwiedzący

  • Support Team

Reputacja: 243
Wszechwidzący

  • Postów:501
  • GG:
  • Imię:Radek
  • Lokalizacja:Tak
Offline

Napisano 02.11.2016 16:31

Możesz ewentualnie zamienić to:

public client_connect(id)
{
	gTeamFlashCounter[id] = 0;
}

na to:

public client_putinserver(id)
{
	gTeamFlashCounter[id] = 0;
}

  • +
  • -
  • 1

#4 Tymo

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:25
Offline

Napisano 04.11.2016 14:32

 

Możesz ewentualnie zamienić to:

public client_connect(id)
{
	gTeamFlashCounter[id] = 0;
}

na to:

public client_putinserver(id)
{
	gTeamFlashCounter[id] = 0;
}

Dzięki, pomogło :)

 

Temat do zamknięcia


  • +
  • -
  • 0




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

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