Licznik zgonów i asyst
Marox44
20.09.2012
Witam, na potrzeby serwera oraz głównie dla własnego treningu (nauka podstaw) postanowiłem stworzyć licznik, który będzie zapisywał (tylko na czas mapy) nasze zabójstwa, zgony i asysty (jeśli zadaliśmy obrażenia, ale nie zabiliśmy).
Jak więc powinienem się za to zabrać...?
Wiem na pewno, że jeden event musi odpowiadać za zabicia, drugi za obrażenia
Spróbowałem na razie stworzyć zmienne i element w hud'ie.
Prosiłbym o wskazówki jak się do tego zabrać dalej...., może nie koniecznie gotowy kod (chodzi mi tutaj o jakieś minimum samodzielnego wysiłku
)
Pozdrawiam
Jak więc powinienem się za to zabrać...?
Wiem na pewno, że jeden event musi odpowiadać za zabicia, drugi za obrażenia
Spróbowałem na razie stworzyć zmienne i element w hud'ie.
new zabicia[33], zgony[33], asysty[33];
public plugin_init()
{
SyncHudObj = CreateHudSyncObj();
}
public client_authorized(id) set_task(1.0,"ShowHud",id,_,_,"b");
public ShowHud(id)
{
set_hudmessage(52, 114, 53, 0.01, 0.89, 0, 1.0, 2.0, 0.1, 0.2, 1);
ShowSyncHudMsg(id, SyncHudObj,"Zabicia:[%i]^nZgony:[%i]^nAsysty:[%i]",zabicia[id],zgony[id],asysty[id]);
}
Prosiłbym o wskazówki jak się do tego zabrać dalej...., może nie koniecznie gotowy kod (chodzi mi tutaj o jakieś minimum samodzielnego wysiłku

Pozdrawiam
Marox44
20.09.2012
Ok utworzyłem wstępnie takie coś, licznik fragów i zgonów działa dobrze, problem jest z obrażeniami.
Na pewno gołym okiem widać, że nie umiem używać eventu Damage, wydaje mi się , że zmienne są źle poindeksowane.
still not working properly
Na pewno gołym okiem widać, że nie umiem używać eventu Damage, wydaje mi się , że zmienne są źle poindeksowane.
still not working properly

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
#include <amxmodx>
#include <fun>
new KILL[33],DEADS[33],ASYSTY[33];
new SyncHudObj;
new damage[33];
new killerdmg;
new victimdmg;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event( "DeathMsg", "eDeath", "a" );
SyncHudObj = CreateHudSyncObj();
register_event( "HLTV", "NewRound", "a", "1=0", "2=0" );
register_event( "Damage", "Damage", "b", "2!=0" );
}
public Damage (id)
{
victimdmg = read_data(0); // id ofiary
killerdmg = get_user_attacker( id ); // Pobiera id atakującego gracza
damage[victimdmg] = read_data(2);
return PLUGIN_CONTINUE;
}
public eDeath()
{
new attacker=read_data(1);
new victim=read_data(2);
KILL[attacker]++;
DEADS[victim]++;
if (damage[victimdmg]<2) {
ASYSTY[killerdmg]++;
}
return PLUGIN_CONTINUE;
}
public client_authorized(id) set_task(1.0,"ShowHud",id,_,_,"b");
public ShowHud(id)
{
set_hudmessage(25, 155, 53, 0.04, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 1)
ShowSyncHudMsg(id, SyncHudObj,"========^n Zabicia: %i^n Zgony:%i^n Asysty:%i^n ========",KILL[id],DEADS[id],ASYSTY[id]);
}