Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Team Win Map

, Карту выиграла команда
Статус пользователя selya-zek
сообщение 17.11.2016, 7:55
Сообщение #1
Стаж: 15 лет

Сообщений: 157
Благодарностей: 17
Полезность: 93

Всем привет. У меня на сервере карты длятся по победам команды, т.е если одна из команд выигрывает 10 раундов начинается голосование (плагин мапменеджер от мистрика). Нужен плагин который выводил бы в худ сообщение по истечению 10 побед какая команда выиграла карту, было б хорошо если бы еще и предрешающем раунде выводило сообщение типа - Решающий Раунд
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Subb98
сообщение 17.11.2016, 9:49
Сообщение #2


Стаж: 15 лет
Город: Пермь

Сообщений: 216
Благодарностей: 281
Полезность: 1246

Не тестировал:

Код:
#include <amxmodx>

#pragma semicolon 1

new g_WinLimit, g_HudSyncObj;

public plugin_init() {
register_plugin("Teamwin msg", "0.1", "Subb98");
register_event("TeamScore", "EventTeamScore", "a");
g_WinLimit = get_cvar_pointer("mp_winlimit");
g_HudSyncObj = CreateHudSyncObj();
}

public EventTeamScore() {
new Score = read_data(2);
if(Score == g_WinLimit) {
new Team[10];
read_data(1, Team, charsmax(Team));
if(Team[0] == 'T') { // 'TERRORIST'
set_hudmessage(220, 0, .y=0.25, .holdtime=7.0, .channel=-1);
ShowSyncHudMsg(0, g_HudSyncObj, "Победу одержала^nкоманда Террористов!");
} else { // 'CT'
set_hudmessage(0, 140, 220, .y=0.25, .holdtime=7.0, .channel=-1);
ShowSyncHudMsg(0, g_HudSyncObj, "Победу одержала^nкоманда Контр-террористов!");
}
} else if(Score == (g_WinLimit - 1)) { // pre-last round
set_hudmessage(230, 150, .y=0.25, .holdtime=7.0, .channel=-1);
ShowSyncHudMsg(0, g_HudSyncObj, "Решающий раунд!");
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя selya-zek
сообщение 17.11.2016, 16:26
Сообщение #3
Стаж: 15 лет

Сообщений: 157
Благодарностей: 17
Полезность: 93

Subb98, Спасибо, попробую протестить.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя selya-zek
сообщение 17.11.2016, 16:51
Сообщение #4
Стаж: 15 лет

Сообщений: 157
Благодарностей: 17
Полезность: 93

Subb98, Не 3наю почему но что то не работает, ничего не выводится.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя selya-zek
сообщение 17.11.2016, 18:20
Сообщение #5
Стаж: 15 лет

Сообщений: 157
Благодарностей: 17
Полезность: 93

Subb98, Есть один момент в твоем плагине, сообщение выводится как только раунд 3авершился, т.е например карта до 10 побед, идет 8-й раунд, сообщение - Решаюий раунд выводится в конце 8-о раунда как только одна и команд выигрывает тот раунд и сра3у же пропадает ( получается условие -Score == (g_WinLimit) срабатывает в конце 8-го раунда), нужно чтоб это сообщение пока3ывалось в 9-м раунде, весь раунд. Помоги пожалуйста исправить.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Subb98
сообщение 17.11.2016, 21:16
Сообщение #6


Стаж: 15 лет
Город: Пермь

Сообщений: 216
Благодарностей: 281
Полезность: 1246

selya-zek, моя невнимательность, замените:

Код:
if(Score == g_WinLimit) {

на:

Код:
if(Score == get_pcvar_num(g_WinLimit)) {
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя selya-zek
сообщение 18.11.2016, 19:36
Сообщение #7
Стаж: 15 лет

Сообщений: 157
Благодарностей: 17
Полезность: 93

Subb98, С этим кодом каждый раунд выводит кто победил
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Mistrick
сообщение 18.11.2016, 19:43
Сообщение #8


Стаж: 13 лет

Сообщений: 543
Благодарностей: 426
Полезность: 1034

selya-zek, значит у вас квар mp_winlimit равен нулю. В моем плагине есть поддержка этого квара и голосование выводит за 2 раунда до выигрыша одной из команд.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя selya-zek
сообщение 18.11.2016, 21:52
Сообщение #9
Стаж: 15 лет

Сообщений: 157
Благодарностей: 17
Полезность: 93

Цитата(Mistrick @ 18.11.2016, 20:43) *
selya-zek, значит у вас квар mp_winlimit равен нулю. В моем плагине есть поддержка этого квара и голосование выводит за 2 раунда до выигрыша одной из команд.

Как вшить в той плагин, помоги пожалуйста, у меня почему выводит только на доли секунды и сра3у же пропадает.
Вот что я добавил

public Event_NewRound()
{
////////////////////////////////
new iWinLimit2 = get_pcvar_num(g_pCvars[WINLIMIT] -3);
static SyncHUD; if(!SyncHUD) SyncHUD = CreateHudSyncObj();
if(!iWinLimit2 > 0 && (g_iTeamScore[0] >= iWinLimit2 || g_iTeamScore[1] >= iWinLimit2))
{
set_hudmessage(230, 150, 80, .y=0.25, .holdtime=10.0, .channel=-1);
ShowSyncHudMsg(0, SyncHUD, "Решающий раунд!");
}
/////////////////////
}

Почему то выводит только на доли секунды.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Mistrick
сообщение 19.11.2016, 6:27
Сообщение #10


Стаж: 13 лет

Сообщений: 543
Благодарностей: 426
Полезность: 1034

selya-zek, если вы хотите чтобы худ висел весь раунд, вам надо создавать таск, который будет постоянно выводить нужный худ. Смысла вшивать данную функцию в мой плагин нет. Сделайте отдельный.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: