←  Pytania dotyczące pluginów

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] MVP - brak informacji gdy nie...

Zablokowany

  • +
  • -
MrStrajker - zdjęcie MrStrajker 06.11.2022

Witam,

 

Czy mógłby mi ktoś przerobić plugin na najlepszego gracza rundy?

Aktualnie sytuacja wyglada tak, ze gdy nie ma żadnego najlepszego gracza rundy tzn. 0 kill, 0 headow to na chacie pojawia się informacja:

Najlepszym graczem rundy został (TUTAJ JEST NAZWA SERWERA zamiast nicku - nie wiedzieć czemu) (0 fragow w tym 0 HS)

 

Zależałoby mi, że gdy nie ma żadnego najlepszego gracza to nie pojawia się żadna informacja.

Z góry dziękuje :)

#include <amxmodx>
#include <colorchat>

#define PLUGIN "BestPlayer"
#define VERSION "1.0"
#define AUTHOR "KaMaZZ"

new g_iKills[33]
new g_iDeaths[33]
new g_hs[33]

new bestplayer = 0, g_iMaxPlayers;

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg", "death_event", "a", "1>0");
	register_event("HLTV", "eHLTV", "a", "1=0", "2=0");
	register_logevent("wiadomosc",2,"1=Round_End")
	g_iMaxPlayers = get_maxplayers();
}

public client_connect(id) 
{
	g_iKills[id] = 0
	g_iDeaths[id] = 0
}

public death_event()
{
	new iKiller = read_data(1), iVictim = read_data(2), iHitplace = read_data(3);

	if (iKiller == iVictim)
	{
		g_iDeaths[iKiller]++;
		return;
	}

	g_iKills[iKiller]++;
	g_iDeaths[iVictim]++;

	if(iHitplace)
	{
		g_hs[iKiller]++;
	}
}

public wiadomosc() 
{ 
	if(get_playersnum() < 2)
	return

	for(new i=1; i <= g_iMaxPlayers; i++)
	{
		if (g_iKills[i] > g_iKills[bestplayer] || g_iKills[i] == g_iKills[bestplayer] && g_iDeaths[i] < g_iDeaths[bestplayer] || g_iKills[i] == g_iKills[bestplayer] && g_hs[i] > g_hs[bestplayer])
		{
			bestplayer = i;
		}
	}

	new name[32];
	get_user_name(bestplayer, name, 31);

	new iKills = g_iKills[bestplayer]
	new iHS = g_hs[bestplayer]

	if(iKills >= 5 || iKills == 0)
	{
		ColorChat(0, GREEN, "~^x01 Najlepszym graczem rundy zostal^x03 %s^x01 (^x04%d^x01 fragow w tym^x04 %d^x01 HS)", name, iKills, iHS)
	}
	else if(iKills > 1 && iKills < 5)
	{
		ColorChat(0, GREEN, "~^x01 Najlepszym graczem rundy zostal^x03 %s^x01 (^x04%d^x01 fragi w tym^x04 %d^x01 HS)", name, iKills, iHS)
	}
	else if(iKills == 1)
	{
		ColorChat(0, GREEN, "~^x01 Najlepszym graczem rundy zostal^x03 %s^x01 (^x04%d^x01 frag w tym^x04 %d^x01 HS)", name, iKills, iHS)
	}
}

public eHLTV()
{
	for( new i = 1 ; i <= g_iMaxPlayers ; i++ )
	{
		g_iKills[ i ] = 0;
		g_iDeaths[ i ] = 0;
		g_hs[ i ] = 0;
	}
}
Odpowiedz

  • +
  • -
ori - zdjęcie ori 06.11.2022

Podaj mi jeden konkretny powód dla którego miało by być wprowadzenie zmiany. 

Po 1. Plugin wyswietla taka nazwe jak nie ma zadnego gracza bądz ktoś jest na spect

2. Można to zrobić np aby działało od X graczy Choć moim zdaniem jest to zbędne bo to kolejna rzecz która obciąża w pewnym stopniu serwer i wątpie aby komuś chciało się to dodać. 

3. wątpię aby komuś taki szczegół przeszkadzał. 

Odpowiedz

  • +
  • -
Boski Z Polski - zdjęcie Boski Z Polski 07.11.2022

public wiadomosc() 
{ 
	if(get_playersnum() < 2)
		return
	
	for(new i=1; i <= g_iMaxPlayers; i++)
	{
		if (g_iKills[i] > g_iKills[bestplayer] || g_iKills[i] == g_iKills[bestplayer] && g_iDeaths[i] < g_iDeaths[bestplayer] || g_iKills[i] == g_iKills[bestplayer] && g_hs[i] > g_hs[bestplayer])
		{
			bestplayer = i;
		}
	}
	
	if(bestplayer == 0)
	{
		ColorChat(0, GREEN, "~^x01 Brak najlepszego gracza!");
		return
	}
	
	new name[32];
	get_user_name(bestplayer, name, 31);
	
	new iKills = g_iKills[bestplayer]
	new iHS = g_hs[bestplayer]
	
	if(iKills >= 5 || iKills == 0)
	{
		ColorChat(0, GREEN, "~^x01 Najlepszym graczem rundy zostal^x03 %s^x01 (^x04%d^x01 fragow w tym^x04 %d^x01 HS)", name, iKills, iHS)
	}
	else if(iKills > 1 && iKills < 5)
	{
		ColorChat(0, GREEN, "~^x01 Najlepszym graczem rundy zostal^x03 %s^x01 (^x04%d^x01 fragi w tym^x04 %d^x01 HS)", name, iKills, iHS)
	}
	else if(iKills == 1)
	{
		ColorChat(0, GREEN, "~^x01 Najlepszym graczem rundy zostal^x03 %s^x01 (^x04%d^x01 frag w tym^x04 %d^x01 HS)", name, iKills, iHS)
	}
}
Odpowiedz

  • +
  • -
MrStrajker - zdjęcie MrStrajker 07.11.2022

public wiadomosc() 
{ 
	if(get_playersnum() < 2)
		return
	
	for(new i=1; i <= g_iMaxPlayers; i++)
	{
		if (g_iKills[i] > g_iKills[bestplayer] || g_iKills[i] == g_iKills[bestplayer] && g_iDeaths[i] < g_iDeaths[bestplayer] || g_iKills[i] == g_iKills[bestplayer] && g_hs[i] > g_hs[bestplayer])
		{
			bestplayer = i;
		}
	}
	
	if(bestplayer == 0)
	{
		ColorChat(0, GREEN, "~^x01 Brak najlepszego gracza!");
		return
	}
	
	new name[32];
	get_user_name(bestplayer, name, 31);
	
	new iKills = g_iKills[bestplayer]
	new iHS = g_hs[bestplayer]
	
	if(iKills >= 5 || iKills == 0)
	{
		ColorChat(0, GREEN, "~^x01 Najlepszym graczem rundy zostal^x03 %s^x01 (^x04%d^x01 fragow w tym^x04 %d^x01 HS)", name, iKills, iHS)
	}
	else if(iKills > 1 && iKills < 5)
	{
		ColorChat(0, GREEN, "~^x01 Najlepszym graczem rundy zostal^x03 %s^x01 (^x04%d^x01 fragi w tym^x04 %d^x01 HS)", name, iKills, iHS)
	}
	else if(iKills == 1)
	{
		ColorChat(0, GREEN, "~^x01 Najlepszym graczem rundy zostal^x03 %s^x01 (^x04%d^x01 frag w tym^x04 %d^x01 HS)", name, iKills, iHS)
	}
}

 

Dziekuje bardzo.. leci +

Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 08.11.2022

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
Odpowiedz
Zablokowany