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

Problem z pluginem - statystyki na koniec rundy [Biohazard]


Najlepsza odpowiedź Toldi, 16.04.2019 20:27

Kod wyżej miał wyeliminować naliczanie samobójstw. Nadal nalicza?

 

@edit: Masz z użyciem DeathMsg. Nie wiem czy sie skompiluje bo nie mam biblioteki biohazard ale powinno.

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <biohazard>
#include <colorchat>

#define PLUGIN "Biohazard stats"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

enum {
	kills = 0,
	infects
}

new stats[33][3] // 0 - zabojstwa, 1 - infekcje, 2 - damage
new g_maxplayers

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHam(Ham_Spawn, "player", "cl_spawn", 1)         
	register_event("DeathMsg", "DeathMsg", "a")
	
	register_logevent("round_end", 2, "1=Round_End")
	
	g_maxplayers = get_maxplayers()
}

public cl_spawn(id)
{
	stats[id][0] = stats[id][1] = 0
}

public DeathMsg()
{
	new attacker = read_data(1)	// zabojca
	new victim = read_data(2)	// ofiara
	
	if(attacker != victim)
		stats[attacker][kills]++;
}

public event_infect(victim, attacker)
{
	stats[attacker][infects] ++
}

public round_end()
{
	for(new id = 1; id <= g_maxplayers; id++)
	{
		if(!is_user_connected(id))
			continue
		
		ColorChat(id, GREEN, "~ Twoje statystyki: (zabojstw - ^3%d^4) (infekcji - ^3%d^4)", stats[id][kills],stats[id][infects])        
	}    
}
Przejdź do postu


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

#1 Dirr

    Pomocny

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:60
  • Imię:Jakub
  • Lokalizacja:Zawiercie
Offline

Napisano 16.04.2019 15:24

Mam taki kod jak poniżej problem tkwi w statystykach zabójstw nie nalicza ich tylko samobójstwo, czyli kill w konsoli zalicza mogę zabić 5 zombie, a w statystykach na koniec rundy jest 0 zabójstw.

Infekcje zalicza normalnie tylko te zabójstwa do poprawy byłby ktoś w stanie to poprawić?

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <biohazard>
#include <colorchat>

#define PLUGIN "Biohazard stats"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

enum {
    kills = 0,
    infects
}

new stats[33][3] // 0 - zabojstwa, 1 - infekcje, 2 - damage
new g_maxplayers

public plugin_init() 
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    RegisterHam(Ham_Spawn, "player", "cl_spawn", 1)            
    RegisterHam(Ham_Killed, "player", "cl_killed", 1)    
    
    register_logevent("round_end", 2, "1=Round_End")
    
    g_maxplayers = get_maxplayers()
}

public cl_spawn(id)
{
    stats[id][0] = stats[id][1] = 0
}

public cl_killed(victim, attacker)
{
    stats[attacker][kills] ++    
}

public event_infect(victim, attacker)
{
    stats[attacker][infects] ++
}

public round_end()
{
    for(new id = 1; id <= g_maxplayers; id++)
    {
        if(!is_user_connected(id))
            continue
            
        ColorChat(id, GREEN, "~ Twoje statystyki: (zabojstw - ^3%d^4) (infekcji - ^3%d^4)", stats[id][kills],stats[id][infects])        
    }    
}

Załączone pliki


  • +
  • -
  • 0

#2 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 16.04.2019 18:24

Spr,

public cl_killed(victim, attacker)
{
	if(victim != attacker)
		stats[attacker][kills] ++   
}

  • +
  • -
  • 0

#3 Dirr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:60
  • Imię:Jakub
  • Lokalizacja:Zawiercie
Offline

Napisano 16.04.2019 19:11

Nadal nie nalicza zabójstw 


  • +
  • -
  • 0

#4 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 16.04.2019 20:27   Najlepsza odpowiedź

Kod wyżej miał wyeliminować naliczanie samobójstw. Nadal nalicza?

 

@edit: Masz z użyciem DeathMsg. Nie wiem czy sie skompiluje bo nie mam biblioteki biohazard ale powinno.

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <biohazard>
#include <colorchat>

#define PLUGIN "Biohazard stats"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

enum {
	kills = 0,
	infects
}

new stats[33][3] // 0 - zabojstwa, 1 - infekcje, 2 - damage
new g_maxplayers

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHam(Ham_Spawn, "player", "cl_spawn", 1)         
	register_event("DeathMsg", "DeathMsg", "a")
	
	register_logevent("round_end", 2, "1=Round_End")
	
	g_maxplayers = get_maxplayers()
}

public cl_spawn(id)
{
	stats[id][0] = stats[id][1] = 0
}

public DeathMsg()
{
	new attacker = read_data(1)	// zabojca
	new victim = read_data(2)	// ofiara
	
	if(attacker != victim)
		stats[attacker][kills]++;
}

public event_infect(victim, attacker)
{
	stats[attacker][infects] ++
}

public round_end()
{
	for(new id = 1; id <= g_maxplayers; id++)
	{
		if(!is_user_connected(id))
			continue
		
		ColorChat(id, GREEN, "~ Twoje statystyki: (zabojstw - ^3%d^4) (infekcji - ^3%d^4)", stats[id][kills],stats[id][infects])        
	}    
}

  • +
  • -
  • 1

#5 Dirr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:60
  • Imię:Jakub
  • Lokalizacja:Zawiercie
Offline

Napisano 16.04.2019 20:48

Wszystko działa jak powinno


  • +
  • -
  • 0




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

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