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
 

k/d ratio

modyfikacja

  • Nie możesz napisać tematu
  • Nie możesz odpowiedzieć
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Ę !

 

 





  


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

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

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Logowanie


  • Potrzebujesz konta? Zarejestruj się!