Доброе утро, вы зашли как гость.
Новые сообщения | Поиск
  • Страница 1 из 2
  • 1
  • 2
  • »
Готовая сборка Match-сервера
Суббота, 22.01.2011, 22:48
Пост 1
GAVVVR

Удаленные
с
Всем привет.
В связи с тем, что моя сборка стала пользоваться спросом и уже прошла некоторые тесты, посчу ссылки на скачивание тут.
Версия для windows
Версия для linux
По этим ссылкам можно всегда скачать самую последнюю версию.
Более подробно о сборке можно прочесть тут.
Если возникают какие-то вопросы или наши косяк, пишите в этой теме.
Профиль
Понедельник, 24.01.2011, 19:22
Пост 2
GAVVVR

Удаленные
с
Сегодня добавлена приятная мелочь: при выполнении конфигов dm/tdm.cfg, значение mp_teamplay меняется и карта сразу же перезагружается для смены режима игры.
Профиль
Понедельник, 24.01.2011, 19:38
Пост 3
Assassin1996

Удаленные
с
GAVVVR, лол. что за плагин? для смены мапы? я тут смотрю у тя sm_reloadmap добавлена. По подробней плз :3
Профиль
Понедельник, 24.01.2011, 19:56
Пост 4
Kirtanus

Удаленные
с
GAVVVR, как я понял ты добавил в тдм.кфг команду sm_reloadmap.
спасибо что нашел этот плагин - а то мне влом было искать его)


Отредактировано Kirtanus - Понедельник, 24.01.2011, 20:01
Профиль
Понедельник, 24.01.2011, 20:02
Пост 5
GAVVVR

Удаленные
с
Assassin1996, все очень просто.
Задача: Замутить возможность менять режим игры в пару кликов мышью.
Решение: Делаем два конфига, которые меняют mp_teamplay и перезагружают карту, добавляем конфиги в админское меню.
Проблема: Поспрашивав на форумах и погуглив сам, я пришел к выводу, что всроенной команды для перезагрузки карты (как restart в c.s. 1.6) в source не существует.
Решение проблемы: плагин Reload Map, который добавляет команду sm_reloadmap, перезагружающую карту. Плагин очень прост и работает так: берет название текущей карты и выполняет "changelevel <текущая карта>"
Прошу не беспокоиться на тему: ой, еще плагин добавился, нагрузка на сервер...
SM плагины написаны на языке sourcepawn, адаптированный под source engine язык pawn. Сам pawn предназначен для низкоуровневых устройств, поэтому плагины на SM очень маленькие и нересурсоемкие.
Kirtanus, честно говоря, наткнулся на него случайно, искал совсем другое. Но он оооочень маленький и я включил его в сборку.


Отредактировано GAVVVR - Понедельник, 24.01.2011, 20:03
Профиль
Понедельник, 24.01.2011, 20:15
Пост 6
Assassin1996

Удаленные
с
GAVVVR, ty
Профиль
Пятница, 28.01.2011, 14:37
Пост 7
Dog

Удаленные
с
Quote (GAVVVR)
Решение проблемы: плагин Reload Map, который добавляет команду sm_reloadmap, перезагружающую карту. Плагин очень прост и работает так: берет название текущей карты и выполняет "changelevel <текущая карта>"

У меня есть идея получше:
Code
#pragma semicolon 1

#include <sourcemod>

new Handle:tdm;

public Plugin:myinfo =  
{
  name = "Teamplay changer",
  author = "The Dog",
  description = "Changes teamplay and restarts map if needed",
  version = "1.0",
  url = "http://www.hl2dm-university.ru"
};

public OnPluginStart()
{
  tdm = FindConVar("mp_teamplay");
  RegAdminCmd("sm_tp", Change_Teamplay, ADMFLAG_RCON);
}

public Action:Change_Teamplay(client,args)
{
  if (args < 1)
  {
   ReplyToCommand(client, "[SM] Usage: sm_tp <teamplay 1/0>");
   return Plugin_Handled;
  }

  new String:string[255];
  new String:descript[128];
  new String:map[128];
  GetGameDescription(descript, sizeof(descript));
  GetCmdArgString(string, sizeof(string));
  if(StrEqual(string, "1"))
  {
   if(StrEqual(descript, "Team Deathmatch"))
   {
    if(!GetConVarBool(tdm))
     ServerCommand("mp_teamplay %s", string);
   }
   else
   {
    if(!GetConVarBool(tdm))
     ServerCommand("mp_teamplay %s", string);
    GetCurrentMap(map, sizeof(map));
    ServerCommand("changelevel %s", map);
   }
  }
  else if(StrEqual(string, "0"))
  {
   if(StrEqual(descript, "Deathmatch"))
   {
    if(GetConVarBool(tdm))
     ServerCommand("mp_teamplay %s", string);
   }
   else
   {
    if(GetConVarBool(tdm))
     ServerCommand("mp_teamplay %s", string);
    GetCurrentMap(map, sizeof(map));
    ServerCommand("changelevel %s", map);
   }
  }
  else
   ReplyToCommand(client, "[SM] Usage: sm_tp <teamplay 1/0>");  
  return Plugin_Handled;
}

Сменит карту только в случае необходимости.
Профиль
Пятница, 28.01.2011, 14:56
Пост 8
GAVVVR

Удаленные
с
Dog, расскажи на словах, что он делает.
А то даже я не понял :D
Я хотел научиться кодить на павн, но пока нету времени.
Quote (Dog)
Сменит карту только в случае необходимости.

Когда он он проверяет условия необходимости? Что конкретно делает sm_tp и в какой из конфигов ты предлагаешь его включить?
Профиль
Пятница, 28.01.2011, 15:07
Пост 9
Dog

Удаленные
с
GAVVVR, в общем, ты вводишь sm_tp 1/0, он проверяет тип игры, если он "Deathmatch", а ты ввёл sm_tp 1, то он меняет карту на эту же, такая же ситуация с "Team Deathmatch"/sm_tp 0, потом проверяет значение mp_teamplay, если оно не такое, то становится таковым. Но смена карты идёт после смены значения mp_teamplay.
Вообще размер массива string лучше поменять на 2 (0/1 + символ конца строки, незачем память лишнюю тратить).
Quote (GAVVVR)
Что конкретно делает sm_tp и в какой из конфигов ты предлагаешь его включить?

Замени mp_teamplay на sm_tp.
Профиль
Пятница, 28.01.2011, 16:10
Пост 10
GAVVVR

Удаленные
с
Quote (Dog)
Замени mp_teamplay на sm_tp.

В КУ конфигах? Или в dm.cfg и tdm.cfg?
Dog, мне кажется, что ты не очень хорошо знаком с этой сборкой и поэтому изобретаешь велосипед, либо я что-то не так понимаю.
Пока я не увидел никаких преимуществ. Использования sm_tp
Зачем писать sm_tp 0, если стоит тимплей 0 и это видно нажатием кнопки tab?
Аналгично - зачем выполнять dm.cfg в этой сборке, если мы видим, что тимплей 0?
Или ты предлагаешь заменить mp_teamplay на sm_tp непосредственно в CU конфигах?
Профиль
Пятница, 28.01.2011, 16:14
Пост 11
Fkk

Удаленные
с
Dog, я несколько раз перечитал той пост не увидел преимуществ xD
Профиль
Пятница, 28.01.2011, 18:07
Пост 12
Dog

Удаленные
с
GAVVVR, в любых конфигах, содержащих переменную mp_teamplay. Эффект будет тот же, как и от reload map, только он НЕ будет перезагружать карту, если это не надо. Вот допустим: у тебя паблик сервер, работает в режиме ффа, тут тебе приспичило поиграть кв, sm_tp 1 включит тимплей и сменит мапу на эту же, потом ты запускаешь ещё раз конфиг, но sm_tp 1 уже не будет менять мапу, он лишь изменит значение mp_teamplay на 1 (а т.к. пример на паблике ффа, то очевидно, что после смены мапы тимплей будет включён, но переменная будет равна 0). Надеюсь, смог донести, что хотел.
Профиль
Пятница, 28.01.2011, 18:27
Пост 13
GAVVVR

Удаленные
с
Dog, я примерно понял.
Идея такая же, как в скрипте на ES от Weirdie, где управление осуществлялось через #.#.
Однако, количество заходов в меню на SM при этом не уменьшится. Как было 2, так и останется (если режим не подходящий). Поэтому смысла в этом не вижу и идея мне не очень понравилась.
Профиль
Пятница, 28.01.2011, 18:30
Пост 14
Dog

Удаленные
с
Quote (GAVVVR)
Идея такая же, как в скрипте на ES от Weirdie, где управление осуществлялось через #.#

Ага, именно так.
Quote (GAVVVR)
Однако, количество заходов в меню на SM при этом не уменьшится. (...) Поэтому смысла в этом не вижу

Ну я себе сделал консольные команды sm_duel и sm_cw, удобно, в меню лезть не надо. :)
Если интересует:
Code
#pragma semicolon 1

#include <sourcemod>

new Handle:tdmconfig, Handle:config1v1;

public Plugin:myinfo =   
{
   name = "Config Control",
   author = "The Dog",
   description = "Easy access to execute configurations.",
   version = "1.0",
   url = "http://www.hl2dm-university.ru"
};

public OnPluginStart()
{
   config1v1 = CreateConVar("sv_config_duel", "cu1v1", "Name of configuration file for duel matches");
   tdmconfig = CreateConVar("sv_config_tdm", "cutdm", "Name of configuration file for tdm matches");
   RegAdminCmd("sm_cw", Launch_Clanwar, ADMFLAG_RCON);
   RegAdminCmd("sm_duel", Launch_Duel, ADMFLAG_RCON);
   // AutoExecConfig(true, "configcontrol");
}

public Action:Launch_Clanwar(client,args)
{
   if(args >= 1)
   {
    ReplyToCommand(client, "[SM] Usage: sm_cw");
    return Plugin_Handled;    
   }
   new String:temp[64];
   GetConVarString(tdmconfig, temp, sizeof(temp));
   ServerCommand("exec %s", temp);
   return Plugin_Handled;
}
public Action:Launch_Duel(client,args)
{
   if(args >= 1)
   {
    ReplyToCommand(client, "[SM] Usage: sm_duel");
    return Plugin_Handled;    
   }
   new String:temp[64];
   GetConVarString(config1v1, temp, sizeof(temp));
   ServerCommand("exec %s", temp);
   return Plugin_Handled;
}
Профиль
Воскресенье, 30.01.2011, 01:04
Пост 15
GAVVVR

Удаленные
с
DooMeR нашел классную программу для удобного создания и управления админами и группами админов - KVManager.
Профиль
Воскресенье, 27.02.2011, 14:45
Пост 16
GAVVVR

Удаленные
с
Обновил сборку, добавил самый новый фикс очков, и обновленный автоспек, обновил конфиги. Прочие подробности тут.
Профиль
Понедельник, 28.02.2011, 00:15
Пост 17
Fkk

Удаленные
с
GAVVVR, Будет правильный счет?
Наконецта!!!!
Профиль
Понедельник, 28.02.2011, 00:23
Пост 18
GAVVVR

Удаленные
с
2Faka, да, счет верный. Плагин с фиксами от 8го ферваля (новее, чем в КУ сборке) Вот пример :D
Профиль
Понедельник, 28.02.2011, 11:51
Пост 19
Vels

Удаленные
с
Как правильно запустить плагин autorecorder?

sm_autorecorder 1; sm_record все включал не пишет совсем.

Команду: sm_autorecord_minplayers ставил как 1 так и 0. Тоже не пишет.

Профиль
Понедельник, 28.02.2011, 15:34
Пост 20
GAVVVR

Удаленные
с
Vels, сорри, если я тебя обижу вопросом - но СТВ у тебя точно включен?
Для записи ТОЛЬКО матчей нужно, чтобы:
-sm_autorecorder 0
-СТВ бот был включен;
-Плагин autorecorder был включен (включен он или нет можно проверить командой sm plugins list)
-Когда необходимо начать запись, выполнялась команда sm_record (это команда плагина авторекорд, которая выполняет команду сервера tv_record <время, карта>)

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

Профиль
Понедельник, 28.02.2011, 18:39
Пост 21
GAVVVR

Удаленные
с
Сраные КУ конфиги с кучей ошибок, ни хрена не проверены. Сорри, народ.
Quote
//warmode on
sourcemod/sm_warmode_on.cfg

exec пропущен, вармод не включается. Сообщу, когда поправлю сборку.
Профиль
Понедельник, 28.02.2011, 18:51
Пост 22
Vels

Удаленные
с
GAVVVR, да всё включено, но я хотел добиться результата, чтобы демка писалась только тогда, когда на сервере кто-то есть и как минимум 2 человека. А не так, чтобы оно писалось постоянно.
PS Захожу на сервер, пишу sm_record. Демка все равно не появляется на сервере.


Отредактировано Vels - Понедельник, 28.02.2011, 18:55
Профиль
Понедельник, 28.02.2011, 18:56
Пост 23
GAVVVR

Удаленные
с
Vels, проверь, запущен ли плагин.
У меня работает sm_record.
Исправил ошибку в сборке.
Профиль
Понедельник, 28.02.2011, 19:01
Пост 24
Vels

Удаленные
с
А какие именно ошибки в сборке были? Думаю проще подправить вручную. Чем заново скачивать.
PS У меня была включена команда sm_autorecord, отключать как я понял?

Плюс, autorecorder.cfg хранится в cfg\sourcemod. Настройки плагина считываются из этого файла или их надо отдельно записать к server.cfg например?



Отредактировано Vels - Понедельник, 28.02.2011, 19:03
Профиль
Понедельник, 28.02.2011, 19:13
Пост 25
GAVVVR

Удаленные
с
Quote (Vels)
А какие именно ошибки в сборке были? Думаю проще подправить вручную. Чем заново скачивать.

В cutdm и cu1v1 пропущен exec в этом месте.
Quote

//warmode on
exec sourcemod/sm_warmode_on.cfg



Quote (Vels)
Плюс, autorecorder.cfg хранится в cfg\sourcemod. Настройки плагина считываются из этого файла или их надо отдельно записать к server.cfg например?

Настройки авторекордера считываются из autorecorder.cfg в cfg\sourcemod при каждой каждой его перезагрузки. Если ты хочешь юзать непрерывную запись, то тут все сложнее. Лучше, чтобы плагин не перезагружался вообще. Чтобы авторекордер не перезагружался, его нужно настроить соответствующим образом в /hl2mp/addons/sourcemod/configs/plugin_settings.cfg, но я пока не умею этого делать.
Quote (Vels)
PS У меня была включена команда sm_autorecord, отключать как я понял?

Если не хочешь, чтобы он писал все подряд-отключай.
Профиль
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: