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
 

Zdjęcie
Modyfikacja

k/d ratio

modyfikacja

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 Hiko

    Wszechpomocny

  • Użytkownik

Reputacja: 34
Życzliwy

  • Postów:302
Offline

Napisano 23.10.2016 16:48

Witam.

Mam system rang z hudem.

I chciałbym dodać do tego k/d ratio.

Załózmy że mamy range silver 1 i potrzeba 20 killi ale jeszcze 0.5 k/d i wtedy ja dostajemy. 

#include <amxmodx>
#include <hamsandwich>
#include <nvault>

new PLUGIN[] = "Rangi"
new VERSION[] = "1.1"
new AUTHOR[] = "Petpat"

new TASK = 666


new poziom[33];
new ranga[][] = {
"Zabij By miec range",
	"Unranked", "Silver I", "Silver II", "Silver III",
		"Silver IV", "Silver Elite", "Silver Elite Master", "Gold Nova I",
			"Gold Nova II ", "Gold Nova III ", "Gold Nova Master", "Master Guardian I",
		"Master Guardian II", "Master Guardian Elite", "Distinguished MG", "Legendary Eagle",
	"Legendary Eagle Master", "Supreme Master Firstclass", "The Global Elite"
}

new const wymaganezabojstwa[33] = {
	0,
		10, 25, 50, 100, 150, 200, 251, 500, 750, 1000, 
		1200, 1400, 1700, 1900, 2200, 2700, 2904, 3500, 4000, 5000
	
}

new SHO, zapis_sprawdz, zabojstwa[33];
public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHam(Ham_Spawn, "player", "respawn");
	register_event("DeathMsg", "DeathMsg", "a");
	register_message(get_user_msgid("SayText"), "Prefix");

	
	SHO = CreateHudSyncObj();
	
	zapis_sprawdz = nvault_open("ranga")
	if(zapis_sprawdz == INVALID_HANDLE)
		set_fail_state("[BLAD] Nie moge otworzyc pliku");

}

public DeathMsg(){
	new zabil = read_data(1)
	
	if(is_user_alive(zabil) && is_user_connected(zabil)){
		zabojstwa[zabil]++
	}
}

public client_connect(id){
	wczytaj(id)
	Wczytaj_Dane(id)
}

public client_disconnect(id){
	Zapisz_Dane(id)
}

public respawn(id){
	if(!task_exists(id+TASK))
		set_task(0.1, "Hud", id+TASK, .flags = "b");
}

public Hud(id){
	
	id -= TASK;

	
	
	if(!is_user_connected(id)){
		remove_task(id+TASK)
		return PLUGIN_CONTINUE
	}
	
	if(zabojstwa[id] == 0){
		poziom[id] = 0;
	} else if(zabojstwa[id] >= 1) {
		while(zabojstwa[id] >= wymaganezabojstwa[poziom[id]])
			poziom[id]++
	}

	new name[33]
	get_user_name(id,name,32)
	set_hudmessage(0, 255, 0, 0.05, 0.2, 0, 1.0, 1.0, 0.1, 0.1);
	ShowSyncHudMsg(id, SHO, "[CSGO]^n|/|Nick : %s^n|/|Zabicia: %d/%d^n|/|Ranga : %s^n|/|VIP: %s^n", name, zabojstwa[id], wymaganezabojstwa[poziom[id]], ranga[poziom[id]], get_user_flags(id) & ADMIN_LEVEL_H ? "Tak" : "Nie" );
	
	return PLUGIN_CONTINUE;
}

public Zapisz_Dane(id)
{
	new name[64];
	get_user_name(id, name, 63)
	Zapisz_DaneNick(id, name)
}

public Zapisz_DaneNick(id, name[]){
	new vaultkey[128],vaultdata[256]
	formatex(vaultkey, 127 ,"%s-RNG", name);
	formatex(vaultdata, 255, " ^"%d^" ^"%d^"", zabojstwa[id], poziom[id])
	nvault_set(zapis_sprawdz, vaultkey, vaultdata);
}

public Wczytaj_Dane(id){
	new name[32]
	get_user_name(id, name, 31)
	Wczytaj_DaneNick(id, name)
}

public Wczytaj_DaneNick(id, name[])
{
	new vaultkey[128],vaultdata[256]
	formatex(vaultkey, 127, "%s-RNG", name);
	nvault_get(zapis_sprawdz, vaultkey, vaultdata, 255);
	
	if(nvault_get(zapis_sprawdz, vaultkey, vaultdata, 127)) {
		new zabojstwatemp[16], poziomtemp[16];
		parse(vaultdata, zabojstwatemp, 15, poziomtemp, 15)
		
		zabojstwa[id] = str_to_num(zabojstwatemp)
		poziom[id] = str_to_num(poziomtemp)
	}
}

public wczytaj(id){
	zabojstwa[id] = 0;
	poziom[id] = 0;
}

public client_infochanged(id){
	new NowyNick[32], StaryNick[32];
	get_user_info(id, "name", NowyNick, 31);
	get_user_name(id, StaryNick, 31);
	if(!equal(StaryNick, NowyNick)){
		Zapisz_DaneNick(id, StaryNick);
		wczytaj(id);
		Wczytaj_DaneNick(id, NowyNick);
	}
}

public Prefix(msgId,msgDest,msgEnt)
{
	new id = get_msg_arg_int(1);
	if(!is_user_connected(id))
		return PLUGIN_CONTINUE;
		
	new szTmp[256],szTmp2[256];
	get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
	new szPrefix[64];
	
	formatex(szPrefix,charsmax( szPrefix ),"^x04[^x03%s^x04]^x03", ranga[poziom[id]]);
	
	if(!equal(szTmp,"#Cstrike_Chat_All"))	{
		add(szTmp2,charsmax(szTmp2),szPrefix);
		add(szTmp2,charsmax(szTmp2)," ");
		add(szTmp2,charsmax(szTmp2),szTmp);
	}else{
		add(szTmp2,charsmax(szTmp2),szPrefix);
		add(szTmp2,charsmax(szTmp2),"^x03%s1^x01 : %s2");
	}
	set_msg_arg_string(2,szTmp2);
		
	return PLUGIN_CONTINUE;
}



  • +
  • -
  • 0

POMAGAM NA ILE TYLKO POTRAFIĘ !

 

 


#2 Hiko

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 34
Życzliwy

  • Postów:302
Offline

Napisano 23.10.2016 20:22

do zamkniecia poradzilem sobie :)


  • +
  • -
  • 0

POMAGAM NA ILE TYLKO POTRAFIĘ !

 

 






Również z jednym lub większą ilością słów kluczowych: modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych