Участник
Пользователь
- Сообщения
- 391
- Реакции
- 106
- Помог
- 2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
У меня диалог "Выбрана карта ИМЯ" Сменить? ДА НЕТ
Блин....идея мне кажется очень шикарнаяНе у всех серверов есть активные форумы, группы вк и прочее, где каждый день могли бы обсуждаться, какие карты стоит добавить, какие карты стоит убрать. Что если эту функцию реализовать в мапменеджере? Функцию предложений на добавление/удаление карт.
Функцией /add выводилось бы такое меню:
Выберите карту, которую желаете увидеть на сервере:
1. Предложить свою карту.
2. cs_office 10 (50 %)
3. cs_milita 6 (30 %)
Список карт на возможное добавление будет добавлен в /add самой администрацией.
Напротив названия карты будет высвечиваться кол-во игроков проголосовавших за неё и процент, ну и как альтернатива просто лог файл.
Функцией /delete будет отображаться всё тоже самое кроме первого пункта (Предложить свою карту). Будет браться из maps.ini
согласенЕсли у игроков нет толку принять активное участие в группе, то и на сервере можно не ждать
Узнать больше об этом обновлении...Новый форвард:
- mapm_vote_canceled
Новые нативы:
- is_last_round
Фиксы:
- убран варнинг компиляции под амхх выше 1.8.2
- вызов голосования через кмд теперь может использовать заморозку
- убраны ошибки связанные с fraglimit, если не установлен regamedll
Полные изменения
https://github.com/Mistrick/MapMana...mxmodx/scripting/map_manager_informer.sma#L59как сделать что бы при наборе timeleft в чат не выводило что набираешь?
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 PLUGIN_HANDLED;
}
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");
}
}
}
+ return PLUGIN_HANDLED;
}