←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Zmiana koloru w plmenu [ColorChat]

  • +
  • -
Andrzejek - zdjęcie Andrzejek 03.11.2012

Witam mam pytanie jak zrobić żeby zamiast tego:

ADMIN_TRANSF_1 = ADMIN: %s przeszedl do %s
ADMIN_TRANSF_2 = ADMIN %s: %s przeszedl do %s

Był coś takiego z ColorChat?

ADMIN_TRANSF_1 = ADMIN:^x03 %s^x01 przeszedl do %s
ADMIN_TRANSF_2 = ADMIN^x03 %s: %s^x01 przeszedl do %s

Oraz żeby się nie bugowało, tzn jak jest HLTV na spekcie a wiadomość wyświetla się wszystkim, to zamiast koloru drużyny wyświetla się kolor biały (Kolor obserwatora), mam coś takiego:

new players[32], num;
get_players(players, num);
for(new i=0; i<num; ++i)
ColorChat(players[i], GREEN, "^x01 TEKST TEKST TEKST^x03 /KOMENDA");


public actionTeamMenu(id, key)
{
switch (key)
{
case 7:
{
g_menuOption[id] = (g_menuOption[id] + 1) % (g_cstrike ? 3 : 2);
displayTeamMenu(id, g_menuPosition[id])
}
case 8: displayTeamMenu(id, ++g_menuPosition[id])
case 9: displayTeamMenu(id, --g_menuPosition[id])
default:
{
new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]
new authid[32], authid2[32], name[32], name2[32]

get_user_name(player, name2, 31)
get_user_authid(id, authid, 31)
get_user_authid(player, authid2, 31)
get_user_name(id, name, 31)

log_amx("Cmd: ^"%s<%d><%s><>^" transfer ^"%s<%d><%s><>^" (team ^"%s^")", name, get_user_userid(id), authid, name2, get_user_userid(player), authid2, g_menuOption[id] ? "TERRORIST" : "CT")

show_activity_key("ADMIN_TRANSF_1", "ADMIN_TRANSF_2", name, name2, g_CSTeamNames[g_menuOption[id] % 3]);

if (g_cstrike)
{
if (is_user_alive(player))
{
new deaths = cs_get_user_deaths(player)
user_kill(player, 1)
cs_set_user_deaths(player, deaths)
}
// This modulo math just aligns the option to the CsTeams-corresponding number
cs_set_user_team(player, (g_menuOption[id] % 3) + 1)
cs_reset_user_model(player)
} else {
new limit_setting = get_cvar_num("mp_limitteams")

set_cvar_num("mp_limitteams", 0)
engclient_cmd(player, "jointeam", g_CSTeamNumbers[g_menuOption[id] % 2])
engclient_cmd(player, "joinclass", "1")
set_cvar_num("mp_limitteams", limit_setting)
}

displayTeamMenu(id, g_menuPosition[id])
}
}

return PLUGIN_HANDLED
}
Odpowiedz

  • +
  • -
bolek_stw - zdjęcie bolek_stw 03.11.2012

proste pytanie , dodałeś moduł na początku ?
Odpowiedz

  • +
  • -
speedkill - zdjęcie speedkill 03.11.2012

Sprawdź czy gracz jest połączony, czy nie jest botem oraz hltv. Aby wyświetlić wiadomość w danych kolorach użyj http://amxx.pl/dokum.../f1367/formatex
Odpowiedz

  • +
  • -
Andrzejek - zdjęcie Andrzejek 03.11.2012

Chodzi mi jak zmienić to:

show_activity_key("ADMIN_TRANSF_1", "ADMIN_TRANSF_2", name, name2, g_CSTeamNames[g_menuOption[id] % 3]);


Speedkill sprawdzę twój sposób
Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 05.11.2012

show_activity_key jest stockiem zawartym w amxmisc.inc, zaglądnij sobie tam i napisz swoją funkcję (albo podmień tamtą, jeśli colorchata używasz wszędzie), wtedy uzyskasz pożądany efekt.

Co do bugowania, rozumiem że chcesz wyświetlać nick gracza w kolorze teamu do którego przechodzi? Jeśli tak, to musisz wywołać ColorChat z kolorem tego teamu zamiast GREEN. Jeśli chcesz, żeby na początku się nie wyświetlało na zielono, dodaj ^x04 zaraz na początku wiadomości. Jeśli chcesz wyświetlać 2 kolory teamów w jednej linii - nie da się!
Odpowiedz