Kod .sma :
Spoiler
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <hamsandwich>
#include <colorchat>
#pragma semicolon 1
new LiczbaZabic[33], LiczbaHS[33], DodajZabicia[33];
new SyncHudObj,SyncHudOb, TxT[1024], Raz[33];
new g_vault, Zapisz, g_StatusTxT, PokazInfo, Obok, RandomRGB;
stock Ignoruj = HAM_IGNORED;
stock Kontynuuj = PLUGIN_CONTINUE;
stock Zatrzym = HAM_HANDLED;
new const Pod[] = { "^n", "" };
new const Float:XY[][] = { {0.01, 0.87}, {0.01, 0.91} };
new const RGB[][] = { {255},{0, 255, 0} };
#define RandomColor random(RGB[0][0]) , random(RGB[0][0]) , random(RGB[0][0])
#define SetColor RGB[1][0] , RGB[1][1] , RGB[1][2]
public plugin_init()
{
register_plugin("Kill&Hs Info", "1.5", "[H]ARDBO[T]");
g_vault = nvault_open("KilliHS_Stats");
register_event("DeathMsg", "eDeath", "a");
Zapisz = get_cvar_pointer("csstats_rank");
PokazInfo = register_cvar("kh_pokaz_info","1"); //gdzie pokazac info // 0=pod SAY lub 1=HUD
Obok = register_cvar("kh_jak_pokazac_w_hud","0"); //jak pokazywac w hud.. 0=linijka pod linijka // 1=linijka obok linijki
RandomRGB = register_cvar("kh_losowe_kolory","0"); //1=losuje ciagle kolory //0=staly kolor
g_StatusTxT = get_user_msgid("StatusText");
SyncHudObj = CreateHudSyncObj();
SyncHudOb = CreateHudSyncObj();
register_clcmd("say /resetstats","ResetStatic");
register_clcmd("say /resetallstats","AdminResetStatic");
}
public ResetStatic(id)
{
ColorChat(id, GREEN, "^x03[Stats Info]^x01 Twoje^x04 Statystyki^x01 zostaly zresetowane!");
LiczbaHS[id] = 0; LiczbaZabic[id] = 0; DodajZabicia[id] = 0; SaveData(id);
}
public AdminResetStatic(id)
{
if(!is_user_admin(id)){ ColorChat(id, RED, "^x03[Stats Info]^x04 Ta komende moze uzyc tylko Admin!"); }
else
{
new Name[33]; get_user_name(id, Name, 32);
ColorChat(0, GREEN, "^x03[Stats Info]^x04 Admin:^x03 %s^x01 zresetowal wszystkie^x03 Statystyki^x01!", Name);
delete_file("addons/amxmodx/data/vault/KilliHS_Stats.vault");
for(new i=0; i<=get_maxplayers(); i++){ LiczbaHS[i] = 0; LiczbaZabic[i] = 0; DodajZabicia[i] = 0; SaveData(i);}
}
}
public eDeath()
{
new iV = read_data(2); new iHS, iA = read_data(1); iHS= read_data(3);
if(iA == iV || !iA) return Ignoruj;
if(iA == iHS)
{
LiczbaHS[iA]+=1;
SaveData(iA);
}
LiczbaZabic[iA]+=1;
if(LiczbaZabic[iA])
{
new Ni[32]; get_user_name(iA, Ni, 32);
set_hudmessage(255, 0, 0, -1.0, 0.05, 1, 6.0, 3.0);
ShowSyncHudMsg(iA, SyncHudOb, "%s!!^n- Jednego Mniej! -",Ni);
DodajZabicia[iA]+=1;
SaveData(iA);
}
if(iA == iHS)
{
new Nj[32]; get_user_name(iV, Nj, 32);
new Ni[32]; get_user_name(iA, Ni, 32);
set_hudmessage(0, 255, 0, -1.0, 0.10, 1, 6.0, 3.0);
ShowSyncHudMsg(iA, SyncHudOb, "%s!!^n%s dostal HeadShota!", Ni, Nj);
DodajZabicia[iA]+=1;
SaveData(iA);
}
return Kontynuuj;
}
public client_disconnect(id)
{
SaveData(id);
Raz[id]=0;
return Zatrzym;
}
public client_authorized(id)
{
set_task(1.0,"ShowHud",id,_,_,"b");
LoadData(id);
Raz[id]=0;
return Kontynuuj;
}
public SetHudMessage(value)
{
new iC = get_pcvar_num(RandomRGB);
switch(value)
{
case 0:
{
switch(iC)
{
case 1: set_hudmessage(RandomColor, XY[0][0], XY[0][1], 0, 1.0, 2.0, 0.1, 0.2, 1);
case 0: set_hudmessage(SetColor, XY[0][0], XY[0][1], 0, 1.0, 2.0, 0.1, 0.2, 1);
}
}
case 1:
{
switch(iC)
{
case 1: set_hudmessage(RandomColor, XY[1][0], XY[1][1], 0, 1.0, 2.0, 0.1, 0.2, 1);
case 0: set_hudmessage(SetColor, XY[1][0], XY[1][1], 0, 1.0, 2.0, 0.1, 0.2, 1);
}
}
}
}
public ShowHud(id)
{
switch(get_pcvar_num(PokazInfo))
{
case 1:
{
switch(get_pcvar_num(Obok)){ case 0: SetHudMessage(0); case 1: SetHudMessage(1); }
ShowSyncHudMsg(id, SyncHudObj," Zabiles: [%i]%s W tym HS: [%i]%s Razem: [%i]",LiczbaZabic[id],Pod[get_pcvar_num(Obok)],LiczbaHS[id],Pod[get_pcvar_num(Obok)],DodajZabicia[id]);
if(Raz[id]<1){ format(TxT,1023,""); message_begin(MSG_ONE, g_StatusTxT, {0,0,0}, id); write_byte(0); write_string(TxT); message_end(); Raz[id]++; }
}
case 0:
{
format(TxT,1023,"Zabiles: [%d] W tym HS: [%d] Razem: [%d]",LiczbaZabic[id],LiczbaHS[id], DodajZabicia[id]);
message_begin(MSG_ONE, g_StatusTxT, {0,0,0}, id);
write_byte(0);
write_string(TxT);
message_end();
Raz[id]=0;
}
}
return Kontynuuj;
}
public SaveData(id)
{
new AuthID[33], NameID[33], IPAdr[33];
new vaultkey[64],vaultdata[256];
switch(get_pcvar_num(Zapisz))
{
case 0: get_user_name(id,NameID,32), format(vaultkey,63,"%s-NameSK",NameID);
case 1: get_user_authid(id,AuthID,32), format(vaultkey,63,"%s-AuthSK",AuthID);
case 2: get_user_ip(id,IPAdr,32, 0), format(vaultkey,63,"%s-IPARDSK",IPAdr);
}
format(vaultdata,255,"%i#%i#%i#",LiczbaHS[id],LiczbaZabic[id],DodajZabicia[id]);
nvault_set(g_vault,vaultkey,vaultdata);
return Kontynuuj;
}
public LoadData(id)
{
new AuthID[33], NameID[33], IPAdr[33];
new vaultkey[64],vaultdata[256];
switch(get_pcvar_num(Zapisz))
{
case 0: get_user_name(id,NameID,32), format(vaultkey,63,"%s-NameSK",NameID);
case 1: get_user_authid(id,AuthID,32), format(vaultkey,63,"%s-AuthSK",AuthID);
case 2: get_user_ip(id,IPAdr,32, 0), format(vaultkey,63,"%s-IPARDSK",IPAdr);
}
format(vaultdata,255,"%i#%i#%i#",LiczbaHS[id],LiczbaZabic[id],DodajZabicia[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new LiczbaHSD[64], LiczbaZabicD[64], DodajZabiciD[64];
parse(vaultdata, LiczbaHSD, 63, LiczbaZabicD, 63, DodajZabiciD, 63);
LiczbaHS[id] = str_to_num(LiczbaHSD);
LiczbaZabic[id] = str_to_num(LiczbaZabicD);
DodajZabicia[id] = str_to_num(DodajZabiciD);
return Kontynuuj;
}
Użytkownik MarWit edytował ten post 23.01.2013 19:39
Dodanie tagów.