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
 

WolfIDraV - zdjęcie

WolfIDraV

Rejestracja: 10.11.2016
Aktualnie: Nieaktywny
Poza forum Ostatnio: 02.06.2018 10:00
-----

#749662 Wytrzymalość itemu przerobienie

Napisane przez WolfIDraV w 27.05.2018 12:31

Możliwe, że tak to ma wyglądać jak dobrze rozumiem.

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <codmod>

#define PLUGIN "Wytrzymalosc Itemu"
#define VERSION "1.0"
#define AUTHOR "QTM_Peyote"

#define ZADANIE_POKAZ_WYTRZYMALOSC 35200

new cvar_max_wytrzymalosc, cvar_uszkodzenia_dmg;

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("Damage", "Damage", "b", "2!=0");
	cvar_max_wytrzymalosc = register_cvar("cod_maxperkdurability", "255");
	cvar_uszkodzenia_dmg = register_cvar("cod_perkdamage", "5");
	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 Damage(id) {
	if(!cod_get_user_perk(id))
		return;
	
	wytrzymalosc_perku[id] -= get_pcvar_num(cvar_uszkodzenia_dmg);
	if(wytrzymalosc_perku[id] <= 0) {
		cod_set_user_perk(id, 0);
		client_print(id, print_chat, "Zniszczyli ci item :(");
	}
}

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(255, 255, 255, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, SyncHudObj, "^n^n^n^nWytrzymalosc Itemu: %i/%i", wytrzymalosc_perku[id], get_pcvar_num(cvar_max_wytrzymalosc));
}
public ResetHUD(id)
{
	if(!task_exists(id+ZADANIE_POKAZ_WYTRZYMALOSC))
		set_task(0.1, "PokazWytrzymalosc", id+ZADANIE_POKAZ_WYTRZYMALOSC, _, _, "b");
}
 

  • +
  • -
  • 1