Нужна помощь по client_print_color в [MapModular]

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
215
Реакции
25
Помог
1 раз(а)
Ошибка
Ошибок нет
ОС
Linux
Amx Mod X
AMX Mod X 1.10.0.5406 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Jul 31 2020 14:34:47
Built from: https://github.com/alliedmodders/amxmodx/commit/1027df0
Build ID: 5406:1027df0
Билд
ReHLDS version: 3.8.0.710-dev
Build date: 17:17:57 Feb 1 2021 (2487)
Build from: https://github.com/dreamstalker/rehlds/commit/1690200
ReGamedll
ReGameDLL version: 5.20.0.492-dev
Build date: 15:26:35 Jan 4 2021
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/aae507c
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
Список метамодулей
[ 1] SafeNameAndChat  RUN   -    SafeNameAndChat.so          v1.1             ini  ANY   ANY  
[ 2] Reunion RUN - reunion_mm_i386.so v0.1.0.137 ini Start Never
[ 3] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC5 ini ANY ANY
[ 4] Rechecker RUN - rechecker_mm_i386.so v2.5 ini Chlvl ANY
[ 5] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 6] ReSRDetector RUN - resrdetector_mm_i386.so v0.1.0 ini Chlvl ANY
[ 7] ReSemiclip RUN - resemiclip_mm_i386.so v2.3.9 ini Chlvl ANY
[ 8] AMX Mod X RUN - amxmodx_mm_i386.so v1.10.0.5406 ini Start ANY
[ 9] WHBlocker RUN - whblocker_mm_i386.so v1.5.697 ini Chlvl ANY
[10] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl8 ANY Never
[11] MySQL RUN - mysql_amxx_i386.so v1.10.0.5406 pl8 ANY ANY
[12] Fun RUN - fun_amxx_i386.so v1.10.0.5406 pl8 ANY ANY
[13] Engine RUN - engine_amxx_i386.so v1.10.0.5406 pl8 ANY ANY
[14] FakeMeta RUN - fakemeta_amxx_i386.so v1.10.0.5406 pl8 ANY ANY
[15] CStrike RUN - cstrike_amxx_i386.so v1.10.0.5406 pl8 ANY ANY
[16] CSX RUN - csx_amxx_i386.so v1.10.0.5406 pl8 ANY ANY
[17] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.10.0.5406 pl8 ANY ANY
[18] Hide Cvars RUN - hidecvars_amxx_i386.so v1.0 pl8 ANY ANY
[19] ReAPI RUN - reapi_amxx_i386.so v5.19.0.211-dev pl8 ANY Never
Список плагинов
-
Автор плагина
Mistrick
Версия плагина
Map Manager: Informer 0.0.5
Исходный код
#include <amxmodx>
#include <map_manager>
#include <map_manager_scheduler>

#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif

#define PLUGIN "Map Manager: Informer"
#define VERSION "0.0.5"
#define AUTHOR "Mistrick"

#pragma semicolon 1

#define get_num(%0) get_pcvar_num(g_pCvars[%0])

enum Cvars {
TIMELIMIT,
WINLIMIT,
MAXROUNDS,
NEXTMAP,
EXTENDED_TYPE
};

new g_pCvars[Cvars];

new g_iTeamScore[2];
new g_sCurMap[MAPNAME_LENGTH];
new g_sPrefix[48];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

register_clcmd("say timeleft", "clcmd_timeleft");
register_clcmd("say thetime", "clcmd_thetime");
register_clcmd("say nextmap", "clcmd_nextmap");
register_clcmd("say currentmap", "clcmd_currentmap");

register_event("TeamScore", "event_teamscore", "a");

get_mapname(g_sCurMap, charsmax(g_sCurMap));
}
public plugin_cfg()
{
g_pCvars[TIMELIMIT] = get_cvar_pointer("mp_timelimit");
g_pCvars[WINLIMIT] = get_cvar_pointer("mp_winlimit");
g_pCvars[MAXROUNDS] = get_cvar_pointer("mp_maxrounds");
g_pCvars[NEXTMAP] = get_cvar_pointer("amx_nextmap");
g_pCvars[EXTENDED_TYPE] = get_cvar_pointer("mapm_extended_type");

mapm_get_prefix(g_sPrefix, charsmax(g_sPrefix));
}
public event_teamscore()
{
new team[2]; read_data(1, team, charsmax(team));
g_iTeamScore[(team[0] == 'C') ? 0 : 1] = read_data(2);
}
public clcmd_timeleft(id)
{
if(is_vote_finished()) {
client_print_color(0, print_team_default, "%s^1 %L", g_sPrefix, LANG_PLAYER, "MAPM_CHANGELEVEL_NEXTROUND");
return;
}

new win_limit = get_num(WINLIMIT);
new max_rounds = get_num(MAXROUNDS);

// TODO: need subtract left_wins/left_rounds if mapm_change_type 0 or 1
if((win_limit || max_rounds) && get_num(EXTENDED_TYPE) == EXTEND_ROUNDS) {
new text[128], len;
len = formatex(text, charsmax(text), "%L ", LANG_PLAYER, "MAPM_TIME_TO_END");
if(win_limit) {
new left_wins = win_limit - max(g_iTeamScore[0], g_iTeamScore[1]);
len += formatex(text[len], charsmax(text) - len, "%d %L", left_wins, LANG_PLAYER, "MAPM_WINS");
}
if(win_limit && max_rounds) {
len += formatex(text[len], charsmax(text) - len, " %L ", LANG_PLAYER, "MAPM_TIMELEFT_OR");
}
if(max_rounds) {
new left_rounds = max_rounds - g_iTeamScore[0] - g_iTeamScore[1];
len += formatex(text[len], charsmax(text) - len, "%d %L", left_rounds, LANG_PLAYER, "MAPM_ROUNDS");
}
client_print_color(0, print_team_default, "%s^1 %s.", g_sPrefix, text);
} else {
if (get_num(TIMELIMIT)) {
new a = get_timeleft();
client_print_color(0, id, "%s^1 %L:^3 %d:%02d", g_sPrefix, LANG_PLAYER, "MAPM_TIME_TO_END", (a / 60), (a % 60));
} else {
if(is_vote_will_in_next_round()) {
client_print_color(0, print_team_default, "%s^1 %L", g_sPrefix, LANG_PLAYER, "MAPM_VOTE_IN_NEXTROUND");
} else {
client_print_color(0, print_team_default, "%s^1 %L", g_sPrefix, LANG_PLAYER, "MAPM_NO_TIMELIMIT");
}
}
}
}
public clcmd_thetime(id)
{
new curtime[64]; get_time("%Y/%m/%d - %H:%M:%S", curtime, charsmax(curtime));
client_print_color(0, print_team_default, "%s^3 %L", g_sPrefix, LANG_PLAYER, "MAPM_THETIME", curtime);
}
public clcmd_nextmap(id)
{
if(is_vote_finished()) {
new map[MAPNAME_LENGTH]; get_pcvar_string(g_pCvars[NEXTMAP], map, charsmax(map));
client_print_color(0, id, "%s^1 %L ^3%s^1.", g_sPrefix, LANG_PLAYER, "MAPM_NEXTMAP", map);
} else {
client_print_color(0, id, "%s^1 %L ^3%L^1.", g_sPrefix, LANG_PLAYER, "MAPM_NEXTMAP", LANG_PLAYER, "MAPM_NOT_SELECTED");
}
}
public clcmd_currentmap(id)
{
client_print_color(0, id, "%s^1 %L", g_sPrefix, LANG_PLAYER, "MAPM_CURRENT_MAP", g_sCurMap);
}
Доброй ночи всем!

Мне нужна Ваша помощь по поводу данного плагина.

Меня на сервере появился недобросовестный игрок, который любит спамить такими командами как timeleft, thetime и т.д
На данный момент, когда из игроков кто то вводит команду например timeleft ответ от этой команды видят все.

Хотелось бы сделать так.. чтоб когда игрок ввел в чат например timeleft команду то данная информация выводилось только ему.

В интернете да и тут много информации по поводу client_print_color

В таких строках где client_print_color(0, print_team_default, я заменил на client_print_color(id, print_team_default

Но в строках где есть client_print_color(0, id, не нашел к сожалению никакой информации.

Не знаю..

Будет ли это правильным решением сделать вот так:

client_print_color(0, id, заменить на client_print_color(id, id,

Сами строки с client_print_color(0, id, 88, 107, 109, 114

Вообщем хотелось бы чтоб, всю информацию который выводит данный плагин, выводило только тому... кто её ввел.

Буду очень благодарен за помощь либо советом!
 
В этой теме было размещено решение! Перейти к решению.

Вложения

Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу