←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Procentowa wytrzymalosc perku [bład]

Locked

MrSpiryt's Photo MrSpiryt 25.12.2012

Witam, mam plugin od wytrzymalosci perku, jest jeden blad
nawet jesli sie nie zginie to w say pokazuje ze Twoj perku ulegl znisczeniu jego wartosc to X%
W Hud pokazuje normalnie lecz say cos nie tak :)

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <codmod>
#define PLUGIN "[CODMOD] Wytrzymalosc Perku"
#define VERSION "1.0"
#define AUTHOR "QTM_Peyote"
#define ZADANIE_POKAZ_WYTRZYMALOSC 35200
new cvar_max_wytrzymalosc, cvar_uszkodzenia_za_smierc;
new wytrzymalosc_perku[33];
new SyncHudObj;
/*---------
Aby korzystac z natywow
cod_get_perk_durability oraz cod_set_perk_durability
musisz dodac do swojego pluginu:
native cod_set_perk_durability(id, wytrzymalosc); // Ustawia wytrzymalosc perku gracza.
native cod_get_perk_durability(id); // Pobiera wytrzymalosc perku gracza.
-----------*/
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("ResetHUD", "ResetHUD", "abe");
register_event("DeathMsg", "Death", "ade");
cvar_max_wytrzymalosc = register_cvar("cod_maxperkdurability", "100");
cvar_uszkodzenia_za_smierc = register_cvar("cod_perkdamage", "10");
SyncHudObj = CreateHudSyncObj();
}
public plugin_natives()
{
register_native("cod_get_perk_durability", "PobierzWytrzymalosc", 1);
register_native("cod_set_perk_durability", "UstawWytrzymalosc", 1);
}

public cod_perk_changed(id, perk)
wytrzymalosc_perku[id] = perk? get_pcvar_num(cvar_max_wytrzymalosc): 0;

public Death()
{
new id = read_data(2);

if(!cod_get_user_perk(id)) return;

new uszkodzenia_za_smierc = get_pcvar_num(cvar_uszkodzenia_za_smierc);
wytrzymalosc_perku[id] -= (wytrzymalosc_perku[id] > uszkodzenia_za_smierc)? uszkodzenia_za_smierc: wytrzymalosc_perku[id];
if(wytrzymalosc_perku[id] <= 0)
{
  cod_set_user_perk(id, 0);
  client_print(id, print_chat, "[COD:MW] Twoj perk ulegl zniszczeniu.");
}
else
  client_print(id, print_chat, "[COD:MW] Pozostala wytrzymalosc twojego perku to %i%%.", wytrzymalosc_perku[id]);
}
public UstawWytrzymalosc(id, wartosc)
{
new max_wytrzymalosc = get_pcvar_num(cvar_max_wytrzymalosc);
wytrzymalosc_perku[id] = (wartosc > max_wytrzymalosc)? max_wytrzymalosc: wartosc;
}
public PobierzWytrzymalosc(id)
return wytrzymalosc_perku[id];
public PokazWytrzymalosc(id)
{
id -= ZADANIE_POKAZ_WYTRZYMALOSC;

if(!is_user_alive(id))
{
  remove_task(id+ZADANIE_POKAZ_WYTRZYMALOSC);
  return;
}

set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "^n^n^n^n[Wytrzymalosc Perku: %i%%]", wytrzymalosc_perku[id]);
}
public ResetHUD(id)
{
if(!task_exists(id+ZADANIE_POKAZ_WYTRZYMALOSC))
  set_task(0.1, "PokazWytrzymalosc", id+ZADANIE_POKAZ_WYTRZYMALOSC, _, _, "b");
}
Quote
Locked