BulgaR Opublikowano Grudzień 3, 2015 o 15:18 Udostępnij Opublikowano Grudzień 3, 2015 o 15:18 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 2 Podziękuj! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
edeeN Opublikowano Grudzień 3, 2015 o 18:11 Udostępnij Opublikowano Grudzień 3, 2015 o 18:11 Zaloguj się lub zarejestruj aby zobaczyć zawartość. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę