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

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

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

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

GameName Wins v0.7

, Отображает в названии игры количество террористов, КТ и победы.
Статус пользователя eat1k
сообщение 25.11.2018, 16:31
Сообщение #1
Стаж: 11 лет

Сообщений: 52
Благодарностей: 25
Полезность: 272


Автор: w0w (я).

Текущая версия: 0.7

Changelog
  • 0.7: Оптимизация кода (спасибо georgeml)
    • get_players_num_ex вместо get_players_ex.
    • change_task вместо remove_task + set_task.
  • 0.6: Убран хардкод: set_task заменён на set_task_ex и get_players на get_players_ex (спасибо iceeedr).
  • 0.5.1: Исправлена ошибка с set_task при старте карты.
  • 0.5:
    • #define UPDATE_INTERVAL заменён на квар gamename_wins_update_interval: период обновления данных в gamename.
    • Добавлено автоматические создание и загрузка конфигурационного файла с кварами: "amxmodx/configs/plugins/gamename_wins.cfg".
  • 0.3:
    • Изменён метод подсчёта количества игроков. Так же, обновление количества игроков теперь происходит раз в 10 секунд, можно уменьшить число в UPDATE_INTERVAL.
    • Добавлен квар gamename_wins_mode.
      • 0 - подсчитывает всех живых и не живых игроков.
      • 1 - подсчитывает только живых игроков.
  • 0.2: Переделано на более лучший метод с полным использованием ReAPI, таким образом, убран fakemeta. Спасибо fantom и wopox1337.
  • 0.1: Релиз.


Требования:
  • AMX Mod X 1.8.3 или выше.
  • ReAPI.


Отображает в названии игры количество террористов, КТ (в зависимости от квара gamename_wins_mode всех игроков -0- или же только живых -1-) и победы обеих команд.
<количество КТ> CT « <победы КТ>:<победы Т> » T <количество Т>

Конфигурационный файл с кварами создаётся и загружается автоматически: "amxmodx/configs/plugins/gamename_wins.cfg".

Настройки в конфигурационном файле:
  • gamename_wins_mode принимает значение 0 или 1. Если 0, то подсчитывает всех игроков. Если 1, то подсчитывает только живых игроков.
  • gamename_wins_update_interval отвечает за каждые сколько секунд будут обновляться данные.


Официальные страницы поддержки плагина на:


Отредактировал: eat1k, - 26.11.2018, 19:15
Прикрепленные файлы:
Прикрепленный файл  gamename_wins.sma ( 2,85 килобайт ) Кол-во скачиваний: 90
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   Цитировать сообщение
Статус пользователя eat1k
сообщение 26.11.2018, 0:53
Сообщение #2
Стаж: 11 лет

Сообщений: 52
Благодарностей: 25
Полезность: 272

Плагин обновлён до версии 0.6:
  • Убран хардкод: set_task заменён на set_task_ex и get_players на get_players_ex (спасибо iceeedr).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя georgeml
сообщение 26.11.2018, 8:44
Сообщение #3
Стаж: 12 лет

Сообщений: 1467
Благодарностей: 439
Полезность: 423

Хоть бы в обновлениях ума набирались. Взяли дерьмо, приукрасили и вуаля- обнова.. Даже коллеги с соседнего форума не хотят комментировать. Уже устали
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Affl
сообщение 26.11.2018, 11:36
Сообщение #4


Стаж: 15 лет

Сообщений: 1573
Благодарностей: 1182
Полезность: 1042

georgeml, почитал ваши посты. Как вы, однако, любите вонять во всех темах. Вспомните, когда на этом форуме вообще в последний раз был опубликован хоть какой-нибудь плагин? То, что ТС вносит частичку правильного коммьюнити, которым оно было года 3-4 назад, когда здесь просили и получали помощь по плагинам, заслуживает хотя бы молчаливого одобрения.


WAR3FT Пивка для Рывка 202 lvl
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя eat1k
сообщение 26.11.2018, 15:56
Сообщение #5
Стаж: 11 лет

Сообщений: 52
Благодарностей: 25
Полезность: 272

Цитата(georgeml @ 26.11.2018, 8:44) *
Хоть бы в обновлениях ума набирались. Взяли дерьмо, приукрасили и вуаля- обнова.. Даже коллеги с соседнего форума не хотят комментировать. Уже устали


Конкретные предложения есть или только не нужная болтовня?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя georgeml
сообщение 26.11.2018, 17:17
Сообщение #6
Стаж: 12 лет

Сообщений: 1467
Благодарностей: 439
Полезность: 423

eat1k, Не принимайте близко.. Срывает голову, когда встречаются извращения
Код:
/*
* Author contact: http://t.me/twisternick or:
* - Official resource topic on Russian forum: https://dev-cs.ru/threads/4323/
* - Official resource topic on English forum: https://forums.alliedmods.net/showthread.php?t=312282
* - Official resource topic on Spanish forum: https://amxmodx-es.com/Thread-GameName-Wins...91696#pid191696
*
* Changelog:
* - 0.6: set_task changed to set_task_ex and get_players to get_players_ex (thanks to iceeedr)
* - 0.5.1: Fixed an issue regarding set_task when map starts.
* - 0.5:
* - CVar gamename_wins_update_interval instead of #define UPDATE_INTERVAL.
* - Added automatic creation and execution of a configuration file with CVars: "amxmodx/configs/plugins/gamename_wins.cfg".
* - 0.3:
* - Changed the method of counting the number of players. Moreover, the update of the number of players now occurs every 10 seconds, you can reduce the number in UPDATE_INTERVAL.
* - Added CVar gamename_wins_mode.
* - 0: counting all players (alive and dead).
* - 1: counting only alive players.
* - 0.2: Redone to a better method with full use of ReAPI, so fakemeta is removed. Thanks to fantom and wopox1337.
* - 0.1: Release.
*/

#include <amxmodx>
#include <amxmisc>
#include <reapi>

#pragma semicolon 1

new g_iCvarMode;
new g_pCvarInterval;

enum (+= 100)
{
TASK_INTERVAL
};

public plugin_init()
{
register_plugin("GameName Wins", "0.6", "w0w");
RegisterHookChain(RG_RoundEnd, "func_SetGameDesc", true);

//чем не угодил register_cvar ? Хочется функций от АМХ > 182. Запомним...
new pCvar = create_cvar("gamename_wins_mode", "0", FCVAR_NONE, "Counting all players (0) or alive only (1)", true, 0.0, true, 1.0);
bind_pcvar_num(pCvar, g_iCvarMode);

//Этот квар будет меняться в процессе игры? Сомнительно..
g_pCvarInterval = create_cvar("gamename_wins_update_interval", "10.0", FCVAR_NONE, "Period of info updates", true, 0.1);
hook_cvar_change(g_pCvarInterval, "CallBack_CvarChange");
//Отвратительно неудобно и непривычно для многих. Прописать 2 квара в amxx.cfg- проще простого
AutoExecConfig(true, "gamename_wins");

func_SetGameDesc(); // тут нет игроков. Поверьте (или проверьте, если не верите)
set_task_ex(get_pcvar_float(g_pCvarInterval), "func_SetGameDesc", TASK_INTERVAL, .flags = SetTask_Repeat);
}

public func_SetGameDesc()
{
new iNumT, iNumCT; func_GetPlayersNum(iNumT, iNumCT); //Куда ветвимся? Какой в этом смысл, если ветка вызывается из одной функции

new szText[64];
formatex(szText, charsmax(szText), "%d CT « %d:%d » T %d", iNumCT, get_member_game(m_iNumCTWins), get_member_game(m_iNumTerroristWins), iNumT);

set_member_game(m_GameDesc, szText);
}

func_GetPlayersNum(&iCountT = 0, &iCountCT = 0)
{
new iPlayers[MAX_PLAYERS], iPlayerCount;
//В plugin_init Вы полюбили АМХ последних версий.. помним.
//Тогда, зачем эти телодвижения, если есть get_playersnum_ex? Если по нелогичным причинам не "нравится" сразу получать количесво игроков, то можно было и без iPlayerCount обойтись.
//Что помешало записать сразу в iCountT
get_players_ex(iPlayers, iPlayerCount, g_iCvarMode == 0 ? GetPlayers_MatchTeam : (GetPlayers_ExcludeDead|GetPlayers_MatchTeam), "TERRORIST");
iCountT = iPlayerCount;

get_players_ex(iPlayers, iPlayerCount, g_iCvarMode == 0 ? GetPlayers_MatchTeam : (GetPlayers_ExcludeDead|GetPlayers_MatchTeam), "CT");
iCountCT = iPlayerCount;
}

public CallBack_CvarChange(pcvar, const szOldValue[], const szNewValue[])
{
if(pcvar == g_pCvarInterval)
{
//Для любителей АМХ > 182 сделан change_task
remove_task(TASK_INTERVAL);
func_SetGameDesc();
set_task_ex(str_to_float(szNewValue), "func_SetGameDesc", TASK_INTERVAL, .flags = SetTask_Repeat);
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя eat1k
сообщение 26.11.2018, 17:31
Сообщение #7
Стаж: 11 лет

Сообщений: 52
Благодарностей: 25
Полезность: 272

georgeml, хорошо - уже прогресс а не пустые слова. Зачем использовать register_cvar когда есть более продвинутый create_cvar?
Да, любой из двух кваров может меняться во время игры. Ничего что может быть сперва неудобно использовать конфиги в amxmodx/configs/plugins, пора привыкнуть при переходе на AMXX >= 1.8.3 использовать нормальные конфиги а не писать квары отдельно.

func_SetGameDesc(); // тут нет игроков. Поверьте (или проверьте, если не верите)
К чему это? И так понятно что не будет игроков при старте карты, как раз по этой причине и устанавливается.

//Куда ветвимся? Какой в этом смысл, если ветка вызывается из одной функции
Да, есть смысл заменить, раньше был другой код, поэтому не изменилось. Про get_playersnum_ex и правда, не заметил как-то что есть такое, спасибо. change_task тоже полезно в этом случае, спасибо за предложения.

Отредактировал: eat1k, - 26.11.2018, 18:10
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя eat1k
сообщение 26.11.2018, 19:15
Сообщение #8
Стаж: 11 лет

Сообщений: 52
Благодарностей: 25
Полезность: 272

Обновлено до 0.7. Оптимизация кода (спасибо georgeml)
  • get_playersnum_ex вместо get_players_ex
  • change_task вместо remove_task + set_task
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: