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

Zapis rang


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

#1 NEQU#

    Wszechpomocny

  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 11.11.2016 11:32

Witam, mógłby ktoś poprawić zapis? Aktualnie po zmianie mapy wszystko się zeruje.

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

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

new TASK = 666

new poziom[33];
new ranga[][] = {
	"Silver I", "Silver II", "Silver III",	"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 Master Guardian", "Legendary Eagle", "Legendaty Eagle Maste",
	"Supreme Master First CLass", "The Global Elite"
}

new const wymaganezabojstwa[33] = {
		29, 59, 119, 209, 324, 499, 729, 999, 1399, 1849, 
		2299, 2899, 3549, 4999, 5899, 6899, 7999, 9299
}

new g_msgHudSync1, 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");
	
	g_msgHudSync1 = 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(1.0, "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]++
	}
		
	set_hudmessage(0, 255, 255, 0.06, 0.23, 0, 6.0, 12.0)
	ShowSyncHudMsg(id, g_msgHudSync1, "|/|Poziom : %d^n|/|Zabicia: %d/%d^n|/|Ranga : %s^n|/|/sklepsms", poziom[id], zabojstwa[id], wymaganezabojstwa[poziom[id]], ranga[poziom[id]])
	
	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[^x01%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

#2 vanillah

    nie wiem

  • Użytkownik

Reputacja: 125
Zaawansowany

  • Postów:324
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 12.11.2016 13:32

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

powinno chodzić


  • +
  • -
  • 0

Wykonam pluginy, paczki (amxx) kontakt GG: 32263742, Steam: https://steamcommuni...om/id/vankillah

Multi-Head.pl


#3 NEQU#

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 12.11.2016 18:15

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

powinno chodzić

 

Niestety, fragi zapisuje z mapy na mape, przy wyjsciu i wejsciu na serwer też. Jednak jeżeli osiągnę jakąś rangę, zmieni się mapa wszystko wraca do punktu wyjścia - 0 fragów, początkowa ranga.


  • +
  • -
  • 0

#4 vanillah

    nie wiem

  • Użytkownik

Reputacja: 125
Zaawansowany

  • Postów:324
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 12.11.2016 19:58

a gdyby zapisywać tylko zabójstwa, bez poziomów? z tego co widzę to plugin odświeża rangi 


  • +
  • -
  • 0

Wykonam pluginy, paczki (amxx) kontakt GG: 32263742, Steam: https://steamcommuni...om/id/vankillah

Multi-Head.pl


#5 NEQU#

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 12.11.2016 20:59

a gdyby zapisywać tylko zabójstwa, bez poziomów? z tego co widzę to plugin odświeża rangi 

Będę wiedział czy działa za jakieś 30 minut.


  • +
  • -
  • 0

#6 NEQU#

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 12.11.2016 22:09

Niestety, wciąż to samo. Nabijam 20 fragów na 1 mapie, wychodzę zmienia się mapa wracam dobijam resztę do 1 rangi, wychodzę zmienia się mapa i znów powrót do początku.


  • +
  • -
  • 0

#7 Arab

    Pomocny

  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:59
  • Steam:steam
  • Lokalizacja:Polska
Offline

Napisano 13.11.2016 00:16

Ja mam w HUD'zie zrobione na biało RANGA: SILVER 1 a na dole liczba zabójstw nie wiem czy to by cię interesowało


  • +
  • -
  • 0

#8 NEQU#

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 13.11.2016 02:31

Ja mam w HUD'zie zrobione na biało RANGA: SILVER 1 a na dole liczba zabójstw nie wiem czy to by cię interesowało

Jeżeli mają zapis to czemu nie, ważne by nie były czytane z rankingu.


  • +
  • -
  • 0




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

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