Problem z pluginem - statystyki na koniec...
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

Dirr
16.04.2019
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
Toldi
16.04.2019
Spr,
public cl_killed(victim, attacker) { if(victim != attacker) stats[attacker][kills] ++ }
Najlepsza odpowiedź
Toldi
16.04.2019
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]) } }