←  Poradniki oraz Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Dodatek
Własny kolor HUD'a - ustawiany przez g...

Zablokowany

Angel of Death - zdjęcie Angel of Death 12.02.2012

Opis dodatku:

Dodatek ten pozwala graczowi na ustawianie jednego z 5 dostępnych kolorów "informacji" wyświetlanych na HUD, oczywiście można to dowolnie modyfikować jak i dodać własna wersję kolorystyczną HUD'a poprzez edycję/dodanie odpowiednich "case'ów"

Używanie:

Menu otwieramy przy pomocy komendy "/hud"

Wygląda to tak:
Dołączona grafika
Teraz instalacja:

1. Na samej górze dodajemy nową zmienną globalną:
enum { BRAK = 0, pierwszy, drugi ,trzeci}
new kolor[4][33];
new valut

2. Następnie w "write_hud" dodajemy:

new kolorpierwszy = kolor[pierwszy][id]
new kolordrugi = kolor[drugi][id]
new kolortrzeci = kolor[trzeci][id]
i podmieniamy
set_hudmessage(kolorpierwszy, kolordrugi, kolortrzeci, 0.03, 0.20, 0, 6.0, 1.0)

3. W "plugin_init" :

register_clcmd("say /hud","zmianahuda")
vault = nvault_open("kolor")

4. W "client_connect" :

Wczytajhud(id)
if(kolor[pierwszy][id] ==0){
kolor[pierwszy][id] = 255
kolor[drugi][id] = 255
kolor[trzeci][id] = 0
}


5. W "client_disconnect" :

Zapiszhud(id)

6. Na końcu kodu dodajemy zaś:

public Zapiszhud(id){
		new name[64];
		get_user_name(id,name,63)
		strtolower(name)
		new key[256];
		format(key,255,"q-%s",name);
		new data[32]
		formatex(data,charsmax(data),"#%d#%d#%d", kolor[pierwszy][id], kolor[drugi][id], kolor[trzeci][id]);
		nvault_set(vault,key,data);
}

public Wczytajhud(id){
		new name[64];
		get_user_name(id,name,63)
		strtolower(name)
		new key[256];
		format(key,255,"q-%s",name);
		new data[32];
		nvault_get(vault,key,data,31);
		replace_all(data,31,"#"," ");
		new kasa[32] , xp[32] , lvl[32]
		parse(data,kasa, 31, xp, 31, lvl, 31)
		kolor[pierwszy][id] = str_to_num(kasa)
		kolor[drugi][id] = str_to_num(xp)
		kolor[trzeci][id] = str_to_num(lvl)

}


public zmianahuda(id) {
	new tekst[512]
	formatex(tekst, 511, "Jaki kolor huda chcialbys miec?");
	
	new menu = menu_create(tekst, "WyborKoloru");
	
	menu_additem(menu, "Standardowy");
	menu_additem(menu, "Zielony");
	menu_additem(menu, "Czerwony");	
	menu_additem(menu, "Niebieski");
	menu_additem(menu, "Niebieski(jasny)");		
	
	menu_display(id, menu);
}

public WyborKoloru(id, menu, item) {
	if(item == MENU_EXIT) {
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	switch(item)
	{
		case 0:
		{

				kolor[pierwszy][id] = 255
				kolor[drugi][id] = 255
				kolor[trzeci][id] = 1
				zmianahuda(id)
		}
		
		case 1:
		{
			kolor[pierwszy][id] =1
			kolor[drugi][id] = 255
			kolor[trzeci][id] = 1
			zmianahuda(id)
		}
		case 2:
		{
				kolor[pierwszy][id] = 243
				kolor[drugi][id] = 38
				kolor[trzeci][id] = 23
			zmianahuda(id)
		}	
		case 3:
		{
				kolor[pierwszy][id] = 43
				kolor[drugi][id] = 91
				kolor[trzeci][id] = 213
			zmianahuda(id)
		}	
		case 4:
		{
				kolor[pierwszy][id] = 19
				kolor[drugi][id] = 237
				kolor[trzeci][id] = 223
			zmianahuda(id)
		}			
			
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

I to wszystko ;)



Myślę że komuś się przyda, wszelkie błędy/poprawki/dodatki proszę opisywać w tym temacie a zostaną na pewno wzięte pod uwagę i dodane, pozdrawiam Angel i autor dodatku "Mankovsky" ;)
Odpowiedz

  • +
  • -
glut - zdjęcie glut 12.02.2012

Napisz poradnik bardziej przejrzyście bo kod zlewa się z info
Użytkownik glut1997 edytował ten post 12.02.2012 14:55
Odpowiedz

  • +
  • -
Nakupenda. - zdjęcie Nakupenda. 12.02.2012

heh, kod ukradziony :)

Pracowałem kiedyś razem z tzw "Mankovsky'm" i bezczelnie mój pomysł skopiował, kropka w kropke :) .

-> ten dodatek bardziej muli niż jest przydatny na serwerze
Użytkownik Nakupenda. edytował ten post 12.02.2012 16:09
Odpowiedz

Angel of Death - zdjęcie Angel of Death 12.02.2012

heh, kod ukradziony :)

Pracowałem kiedyś razem z tzw "Mankovsky'm" i bezczelnie mój pomysł skopiował, kropka w kropke :) .

-> ten dodatek bardziej muli niż jest przydatny na serwerze


Pokaż mi .sma z datą modyfikacji, lub udowodnij mi to w jakiś sposób bo jak na razie to mamy słowo przeciwko słowu ;)
A jeśli nie potrafisz nic udowodnić to odstaw wycieczki osobiste do danego użytkownika którego tu z nami nie ma i nie może się bronic, bo tylko pogrążasz się w ten sposób, drugim wyjściem jest też przerobienie kodu w taki sposób by "nie mulił serwera" ;]
Skończyłem, to wszystko co mam już do powiedzenia w tym temacie.
Odpowiedz

  • +
  • -
Nakupenda. - zdjęcie Nakupenda. 12.02.2012

@Angel

nie mam zamiaru nic nikomu udowadniać, wiem bo na elite sam to wymyśliłem. sma brak bo zaliczyłem formata, a to nie był szczególnie cenny kod :)
Maniek nie musi sie bronic, on sam dobrze wie
Odpowiedz

  • +
  • -
EmO&Vesp3r - zdjęcie EmO&Vesp3r 29.06.2012

Da ktoś kod na NowyCod ?
Odpowiedz

  • +
  • -
Play4Fun - zdjęcie Play4Fun 01.07.2012

Wcale nie ma errorów.

Spoiler


I co to ma znaczyć, bo nie wiem -

new kolorpierwszy = kolor[pierwszy][id]
new kolordrugi = kolor[drugi][id]
new kolortrzeci = kolor[trzeci][id]
i podmieniamy
set_hudmessage(kolorpierwszy, kolordrugi, kolortrzeci, 0.03, 0.20, 0, 6.0, 1.0)

i podmieniamy ale co?
Użytkownik Play4Fun edytował ten post 01.07.2012 10:31
Odpowiedz

  • +
  • -
Andrzejek - zdjęcie Andrzejek 20.01.2013

Play4Fun, dodaj:

#include <nvault>


Znajdź:

new valut


Zmień:

new vault


A client_connect powinno być chyba:

Wczytajhud(id)


I powinno być ok. Sory za odkopanie tematu :D

Pozdrawiam
Użytkownik Andrzejek edytował ten post 20.01.2013 12:38
Odpowiedz
Zablokowany