Co potrzebujemy:
AMXX Studio lub notatnik, lub dowolny edytor tekstowy (ja używam AMXX Studio bo fajnie wygląda xD)
adminchat.sma, kompilator lokalny.
Wymagania:
Znajomość CTRL+C i CTRL+V oraz CTRL+F.
No to zaczynamy, w poradniku pokaże jak dodać 2 kolory, ale chyba każdy je zrozumie.
Otwieramy plik admichat.sma programem AMXX Studio lub notatnikiem.
Znajdź:
#define MAX_CLR 10Zamień na:
#define MAX_CLR 12
Dzięki tej zmianie maksymalna ilość kolorów została zmieniona z 10 na 12.
Następnie szukamy tej linijki:
new g_Colors[MAX_CLR][] = {"COL_WHITE", "COL_RED", "COL_GREEN", "COL_BLUE", "COL_YELLOW", "COL_MAGENTA", "COL_CYAN", "COL_ORANGE", "COL_OCEAN", "COL_MAROON"}
jak widać tu są podane nazwy kolorów new g_Colors[MAX_CLR][] = {"COL_WHITE", "COL_RED", "COL_GREEN", "COL_BLUE", "COL_YELLOW", "COL_MAGENTA", "COL_CYAN", "COL_ORANGE", "COL_OCEAN", "COL_MAROON", "COL_GOLD", "COL_SILVER"}
Jak widać do linijki zostało dopisane to:, "COL_GOLD", "COL_SILVER"
Teraz pora znaleźć tą linijkę:
new g_Values[MAX_CLR][] = {{255, 255, 255}, {255, 0, 0}, {0, 255, 0}, {0, 0, 255}, {255, 255, 0}, {255, 0, 255}, {0, 255, 255}, {227, 96, 8}, {45, 89, 116}, {103, 44, 38}}
w niej dopisujemy kolory w systemie "RRR GGG BBB"(R=Red,G=Green,B=Blue), definicje w tym systemie moich kolorów to: "102 102 0" oraz "153 153 153" dlatego zmieniamy tą linike na tą:new g_Values[MAX_CLR][] = {{255, 255, 255}, {255, 0, 0}, {0, 255, 0}, {0, 0, 255}, {255, 255, 0}, {255, 0, 255}, {0, 255, 255}, {227, 96, 8}, {45, 89, 116}, {103, 44, 38}, {102, 102, 0}, {153, 153, 153}}
Jak widać do linijki zostało dopisane to:, {102, 102, 0}, {153, 153, 153}
Dobra więc nazwę koloru oraz jego kolor w RGB mamy dopisany, lecz co teraz zrobić aby on nam zadziałał? Jest to bardzo proste
Szukamy linii:
case 'r': a = 1
case 'g': a = 2
case 'b': a = 3
case 'y': a = 4
case 'm': a = 5
case 'c': a = 6
case 'o': a = 7
Jak możecie zauważyć tutaj są wszystkie kolory które można użyć, wystarczy tylko do nich dopisać nasze kolory. Ja dla koloru GOLD dałem literkę "z" a dla koloru SILVER dałem "s" dlatego mój kod wygląda tak:
case 'r': a = 1
case 'g': a = 2
case 'b': a = 3
case 'y': a = 4
case 'm': a = 5
case 'c': a = 6
case 'o': a = 7
case 'e': a = 8
case 'q': a = 9
case 's': a = 10
case 'z': a = 11
Jak widać do linijki zostało dopisane to: case 'e': a = 8
case 'q': a = 9
case 's': a = 10
case 'z': a = 11
To by było na tyle, teraz wystarczy zapisać plik i przekompilować i wrzucić na serwer, i możecie się cieszyć kolorami
Dodałem poprawkę! (udostępniłem kolory które są w standardzie ale nie mają definicji, dałem im litery e i q
Teraz pora na tkz ADMIN_SAY
Znajdź:
#include <amxmodx> #include <amxmisc>Zamień na:
#include <amxmodx> #include <amxmisc> #include <colorchat>
Znajdź:
if (is_user_admin(id)) format(message, 191, "(%L) %s : %s", id, "ADMIN", name, message[1]) else format(message, 191, "(%L) %s : %s", id, "PLAYER", name, message[1])Zamień na:
new Color:cColor;
switch(get_user_team(id)){
case 1:
cColor = RED;
case 2:
cColor = BLUE;
default:
cColor = GREY;
}
if (is_user_admin(id))
format(message, 191, "(%L)^x03 %s^x01 :^x04 %s", id, "ADMIN", name, message[1])
else
format(message, 191, "(%L)^x03 %s^x01 :^x04 %s", id, "PLAYER", name, message[1])
Znajdź:for (new i = 0; i < inum; ++i)
{
// dont print the message to the client that used the cmd if he has ADMIN_CHAT to avoid double printing
if (players[i] != id && get_user_flags(players[i]) & g_AdminChatFlag)
client_print(players[i], print_chat, "%s", message)
}
Zamień na:for (new i = 0; i < inum; ++i)
{
// dont print the message to the client that used the cmd if he has ADMIN_CHAT to avoid double printing
if (players[i] != id && get_user_flags(players[i]) & g_AdminChatFlag)
ColorChat(players[i], cColor, "^x01%s", message)
}
ColorChat(id, cColor, "^x01%s", message)
Copyright @ Grajkownia.com
Użytkownik ~Karol^Ak47 edytował ten post 22:07:02 - 06.05.2010







Do góry










