Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

CodMod_Stary - Wlasny kolor hud na zyczenie


BulgaR
 Udostępnij

Rekomendowane odpowiedzi

W tym poradniku pokaze w jaki sposob dodac wlasny kolor hud na zyczenie gracza.

 

Pierw gdzies na gorze dodajemy:

new hud_gracza[MAX_PLAYERS+1], hud_klasy_gracza[MAX_PLAYERS+1][MAX_CLASS+1]
new String:nazwy_hud[][] =
{
	"#ADFF2F", // 0
	"#ADFF2F", // 1
	"#008000", // 2
	"#FFFF00", // 3
	"#FFFFFF", // 4
	"#FFA500", // 5
	"#FF0000", // 6
	"#1E90FF", // 7
	"#00FFFF", // 8
	"#808000", // 9
	"#9400D3", // 10
	"#8B4513", // 11
	"#FF00FF" // 12
};
new String:opis_hud[][] =
{
	"Domyslny", // 0
	"Zielonozolty", // 1
	"Zielony", // 2
	"Zolty", // 3
	"Bialy", // 4
	"Pomaranczowy ", // 5
	"Czerwony", // 6
	"Niebieski", // 7
	"Morski", // 8
	"Oliwkowy", // 9
	"Fioletowy", // 10
	"Brazowy", // 11
	"Rozowy" // 12
};

teraz szukamy:

public OnClientPutInServer(client)
{

i dodajemy do srodka:

hud_gracza[client] = 0;

oraz zamieniamy:

for(new i = 1; i < sizeof nazwy_klas; i ++)
{
	poziom_klasy_gracza[client][i] = 1;
	doswiadczenie_klasy_gracza[client][i] = 0;
	inteligencja_klasy_gracza[client][i] = 0;
	zdrowie_klasy_gracza[client][i] = 0;
	obrazenia_klasy_gracza[client][i] = 0;
	wytrzymalosc_klasy_gracza[client][i] = 0;
	kondycja_klasy_gracza[client][i] = 0;
}

na:

for(new i = 1; i < sizeof nazwy_klas; i ++)
{
	poziom_klasy_gracza[client][i] = 1;
	doswiadczenie_klasy_gracza[client][i] = 0;
	inteligencja_klasy_gracza[client][i] = 0;
	zdrowie_klasy_gracza[client][i] = 0;
	obrazenia_klasy_gracza[client][i] = 0;
	wytrzymalosc_klasy_gracza[client][i] = 0;
	kondycja_klasy_gracza[client][i] = 0;
	hud_klasy_gracza[client][i] = 0;
}

nastepnie przechodzimy do:

public Action:DataBaseConnect()
{

i zamieniamy

SQL_FastQuery(sql, "CREATE TABLE IF NOT EXISTS `codmod` (`id` INT(11) NOT NULL AUTO_INCREMENT, `steamid` VARCHAR(48) NOT NULL, `klasa` VARCHAR(48) NOT NULL, `lvl` INT(11) DEFAULT 1, `xp` INT(14), `inteligencja` INT(9), `zdrowie` INT(9), `obrazenia` INT(9), `wytrzymalosc` INT(9), `kondycja` INT(9), PRIMARY KEY (`id`), UNIQUE KEY `klasaid` (`klasa`,`steamid`)) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;");

na

SQL_FastQuery(sql, "CREATE TABLE IF NOT EXISTS `codmod` (`id` INT(11) NOT NULL AUTO_INCREMENT, `steamid` VARCHAR(48) NOT NULL, `klasa` VARCHAR(48) NOT NULL, `lvl` INT(11) DEFAULT 1, `xp` INT(14), `inteligencja` INT(9), `zdrowie` INT(9), `obrazenia` INT(9), `wytrzymalosc` INT(9), `kondycja` INT(9), `hudkolor` INT(9), PRIMARY KEY (`id`), UNIQUE KEY `klasaid` (`klasa`,`steamid`)) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;");

teraz szukamy:

public Action:ZapiszDane(client)
{

i zamieniamy

Format(tmp, sizeof(tmp), "INSERT INTO `codmod` (`steamid`, `klasa`, `lvl`, `xp`, `inteligencja`, `zdrowie`, `obrazenia`, `wytrzymalosc`, `kondycja`) VALUES ('%s', '%s', %d, %d, %d, %d, %d, %d, %d) ON DUPLICATE KEY UPDATE `lvl`=VALUES(`lvl`), `xp`=VALUES(`xp`), `inteligencja`=VALUES(`inteligencja`), `zdrowie`=VALUES(`zdrowie`), `obrazenia`=VALUES(`obrazenia`), `wytrzymalosc`=VALUES(`wytrzymalosc`), `kondycja`=VALUES(`kondycja`);", authid, nazwy_klas[klasa_gracza[client]], poziom_gracza[client], doswiadczenie_gracza[client], inteligencja_gracza[client], zdrowie_gracza[client], obrazenia_gracza[client], wytrzymalosc_gracza[client], kondycja_gracza[client]);

na

Format(tmp, sizeof(tmp), "INSERT INTO `codmod` (`steamid`, `klasa`, `lvl`, `xp`, `inteligencja`, `zdrowie`, `obrazenia`, `wytrzymalosc`, `kondycja`, `hudkolor`) VALUES ('%s', '%s', %d, %d, %d, %d, %d, %d, %d, %d) ON DUPLICATE KEY UPDATE `lvl`=VALUES(`lvl`), `xp`=VALUES(`xp`), `inteligencja`=VALUES(`inteligencja`), `zdrowie`=VALUES(`zdrowie`), `obrazenia`=VALUES(`obrazenia`), `wytrzymalosc`=VALUES(`wytrzymalosc`), `kondycja`=VALUES(`kondycja`), `hudkolor`=VALUES(`hudkolor`);", authid, nazwy_klas[klasa_gracza[client]], poziom_gracza[client], doswiadczenie_gracza[client], inteligencja_gracza[client], zdrowie_gracza[client], obrazenia_gracza[client], wytrzymalosc_gracza[client], kondycja_gracza[client], hud_gracza[client]);

nastepnie przechodzimy do:

public Action:WczytajDane(client, klasa)
{

i pod

kondycja_gracza[client] = kondycja_klasy_gracza[client][klasa];

dodajemy

hud_gracza[client] = hud_klasy_gracza[client][klasa];

i znow szukamy:

public Action:Prethink(client)
{

i zamieniamy

PrintHintText(client, "[Klasa: <b>%s</b>]\n[Xp: <b>%0.1f</b>/<b>100.0%%</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]", nazwy_klas[klasa_gracza[client]], procent_gracza, poziom_gracza[client], nazwy_itemow[informacje_itemu_gracza[client][0]], moc_itemu[client]);

na

PrintHintText(client, "<font color='%s'>[Klasa: <b>%s</b>]\n[Xp: <b>%0.1f</b>/<b>100.0%%</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_hud[hud_gracza[client]], nazwy_klas[klasa_gracza[client]], procent_gracza, poziom_gracza[client], nazwy_itemow[informacje_itemu_gracza[client][0]], moc_itemu[client]);

oraz (opcjonalnie)

PrintHintText(client, "[Klasa: <b>%s</b>]\n[Xp: <b>%0.1f</b>/<b>100.0%%</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_klas[klasa_gracza[target]], procent_gracza, poziom_gracza[target], nazwy_itemow[informacje_itemu_gracza[target][0]], moc_itemu[target]);

na

PrintHintText(client, "<font color='%s'>[Klasa: <b>%s</b>]\n[Xp: <b>%0.1f</b>/<b>100.0%%</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_hud[hud_gracza[target]], nazwy_klas[klasa_gracza[target]], procent_gracza, poziom_gracza[target], nazwy_itemow[informacje_itemu_gracza[target][0]], moc_itemu[target]);

teraz gdzies na koncu dodajemy:

public Action:HudMenu(client)
{
	if(klasa_gracza[client])
	{
		if(IsPlayerAlive(client))
		{
			new String:lista[512];
			new Handle:menu = CreateMenu(HudMenu_Handler);
			SetMenuTitle(menu, "HudKolor:");
			for(new i = 1; i < sizeof nazwy_hud; i ++)
			{
				Format(lista, sizeof(lista), "%s", opis_hud[i]);
				AddMenuItem(menu, "1", lista);
			}

			DisplayMenu(menu, client, 250);
		}
		else
			PrintToChat(client, "[COD:MW] Musisz byc zywy aby moc zmienic kolor hud!");
	}
	else
		PrintToChat(client, "[COD:MW] Musisz miec wybrana klase aby moc zmienic kolor hud!");
}
public HudMenu_Handler(Handle:classhandle, MenuAction:action, client, Position)
{
	if(action == MenuAction_Select)
	{
		new String:Item[32];
		GetMenuItem(classhandle, Position, Item, sizeof(Item));
		Position++;

		if(StrEqual(Item, "1"))
		{
			if(!zapisz_dane[client])
				zapisz_dane[client] = 1;

			hud_gracza[client] = Position;
			PrintToChat(client, "[COD:MW] Zmieniles kolor swojego hud na %s.", opis_hud[Position]);
			HudMenu(client);
		}
	}
	else if(action == MenuAction_End)
		CloseHandle(classhandle);
}

nastepnie przechodzimy do:

public Action:Komendy(client, args)
{

i gdzies w srodku pod public WyrzucItem dodajemy:

else if(strcmp(text, "/hud", false) == 0 || strcmp(text, "/kolor", false) == 0)
	HudMenu(client);

teraz szukamy:

public Action:WybierzKlase(client)
{

i pod

kondycja_klasy_gracza[client][klasa_g] = kondycja_gracza[client];

dodajemy

hud_klasy_gracza[client][klasa_g] = hud_gracza[client];

nastepnie zamieniamy

Format(tmp, sizeof(tmp), "SELECT `lvl`, `xp`, `inteligencja`, `zdrowie`, `obrazenia`, `wytrzymalosc`, `kondycja`, `klasa` FROM `codmod` WHERE steamid = '%s';", authid);

na

Format(tmp, sizeof(tmp), "SELECT `lvl`, `xp`, `inteligencja`, `zdrowie`, `obrazenia`, `wytrzymalosc`, `kondycja`, `hudkolor`, `klasa` FROM `codmod` WHERE steamid = '%s';", authid);

nastepnie zamieniamy caly:

public WybierzKlase2(Handle:owner, Handle:query, const String:error[], any:client)
{

na

public WybierzKlase2(Handle:owner, Handle:query, const String:error[], any:client)
{
	if(query == INVALID_HANDLE)
	{
		LogError("Load error: %s", error);
		return;
	}
	if(SQL_GetRowCount(query))
	{
		new poziom = 1, doswiadczenie = 0, inteligencja = 0, zdrowie = 0, obrazenia = 0, wytrzymalosc = 0, kondycja = 0, hud = 0;
		new String:klasa[512];
		while(SQL_MoreRows(query))
		{
			while(SQL_FetchRow(query))
			{
				poziom = SQL_FetchInt(query, 0);
				doswiadczenie = SQL_FetchInt(query, 1);
				inteligencja = SQL_FetchInt(query, 2);
				zdrowie = SQL_FetchInt(query, 3);
				obrazenia = SQL_FetchInt(query, 4);
				wytrzymalosc = SQL_FetchInt(query, 5);
				kondycja = SQL_FetchInt(query, 6);
				hud = SQL_FetchInt(query, 7);

				SQL_FetchString(query, 8, klasa, sizeof(klasa));
				for(new i = 1; i < sizeof nazwy_klas; i ++)
				{
					if(StrEqual(nazwy_klas[i], klasa))
					{
						poziom_klasy_gracza[client][i] = poziom;
						doswiadczenie_klasy_gracza[client][i] = doswiadczenie;
						inteligencja_klasy_gracza[client][i] = inteligencja;
						zdrowie_klasy_gracza[client][i] = zdrowie;
						obrazenia_klasy_gracza[client][i] = obrazenia;
						wytrzymalosc_klasy_gracza[client][i] = wytrzymalosc;
						kondycja_klasy_gracza[client][i] = kondycja;
						hud_klasy_gracza[client][i] = hud;
					}
				}
			}
		}
	}

	WybierzKlaseMenu(client);
	polaczony_raz[client] = 0;
}

Jezeli zrobiles wszystko tak jak wyzej to powinienes miec dzialajaca zmiane koloru hud na zyczenie.

 

Uwaga, jezeli modyfikujesz swoj zapis, musisz usunac aktualny plik zapisu lub go zmodyfikowac poprzez dodanie nowej kolumny do pliku. Jezeli tego nie zrobisz serwer bedzie wyswietlac bledy.

 

I teraz jak zmodyfikowac liste kolorow, wszystkie zmiany wprowadzasz w:

new String:nazwy_hud[][] =

oraz w opisie danego koloru. Powyzsze kolory to tylko moja propozycja, kolor mozna sobie wybrac dowolny jak i tresc do kolorowania.

 

Autorem poradnika jest @Linux`.

Oryginalny temat: [cs:go]CodMod_Stary - Wlasny kolor hud na zyczenie - Tutoriale - AMXX.pl: Support AMX Mod X

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

×
×
  • Dodaj nową pozycję...