Список форумов * PWR FACTORY *  -  PWR FACTORY - Only Knife  -  Проблема балансировки команд сервер Knife

Автор Сообщение
bibika
Добавлено: Пн Фев 11, 2019 9:05
Оффлайн
* Главный главнюк *
* Главный главнюк *
Информация
На форуме с: 25.10.2009 Возраст: 37 Сообщения: 7834 Откуда: Питер
Проблема балансировки команд сервер Knife

До меня дошла информация о проблемах балансировки команд на сервере.

Вы бы хотябы тему создавали, если есть проблемы.

С чего вы взяли что там не стоит вообще балансер, он стоит:

https://forums.alliedmods.net/showthread.php?p=705142

/**
* It is modified by Safety1st plugin not the original!
* See one here: https://forums.alliedmods.net/showthread.php?t=79556
*
* Changes are:
* - fixed appearing 'Auto-Team Balance next round' on the screen, thx to ConnorMcLeod.
*/

/* Copyright ゥ 2008, ConnorMcLeod

Instant AutoTeamBalance is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Instant AutoTeamBalance; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/

#include <amxmodx>
#include <cstrike>

#define PLUGIN "Instant AutoTeamBalance"
#define AUTHOR "ConnorMcLeod"
#define VERSION "1.2.0"

#define BALANCE_IMMUNITY ADMIN_RCON

#define MAX_PLAYERS 32

enum {
aTerro,
aCt
}

new bool:g_bImmuned[MAX_PLAYERS+1]

new Float:g_fJoinedTeam[MAX_PLAYERS+1] = {-1.0, ...}

new g_iMaxPlayers
new g_pcvarEnable, g_pcvarImmune, g_pCvarMessage

// true when connected and not a HLTV
new bool:g_bValid[MAX_PLAYERS+1]

new iMsgTextMsg

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

g_pcvarEnable = register_cvar("iatb_active", "1")
g_pcvarImmune = register_cvar("iatb_admins_immunity", "1")
g_pCvarMessage = register_cvar("iatb_message", "Teams Auto Balanced")

register_logevent("LogEvent_JoinTeam", 3, "1=joined team")

register_event("TextMsg", "Auto_Team_Balance_Next_Round", "a", "1=4", "2&#Auto_Team")

g_iMaxPlayers = get_maxplayers()
iMsgTextMsg = get_user_msgid("TextMsg")
}

public LogEvent_JoinTeam()
{
new loguser[80], name[32], id
read_logargv(0, loguser, 79)
parse_loguser(loguser, name, 31)
id = get_user_index(name)

g_fJoinedTeam[id] = get_gametime()
}

public client_authorized(id)
{
g_bImmuned[id] = bool:(get_user_flags(id) & BALANCE_IMMUNITY)
}

public client_putinserver(id)
{
g_bValid[id] = bool:!is_user_hltv(id)
}

public client_disconnect(id)
{
g_bValid[id] = false
}

public Auto_Team_Balance_Next_Round()
{

if(!get_pcvar_num(g_pcvarEnable))
return

if( balance_teams() )
{
new szMessage[128]
get_pcvar_string(g_pCvarMessage, szMessage, charsmax(szMessage))

// this is needed instead of client_print() for correct overlapping
message_begin( MSG_ALL, iMsgTextMsg, _, 0 )
write_byte(print_center)
write_string(szMessage)
message_end()
}
}

cs_set_user_team_custom(id, CsTeams:iTeam)
{
switch(iTeam)
{
case CS_TEAM_T:
{
if( cs_get_user_defuse(id) )
{
cs_set_user_defuse(id, 0)
// set body to 0 ?
}
}
case CS_TEAM_CT:
{
if( user_has_weapon(id, CSW_C4) )
{
engclient_cmd(id, "drop", "weapon_c4")
}
}
}

cs_set_user_team(id, iTeam)

return 1
}

balance_teams()
{
new aTeams[2][MAX_PLAYERS], aNum[2], id

for(id = 1; id <= g_iMaxPlayers; id++)
{
if(!g_bValid[id])
{
continue
}

switch( cs_get_user_team(id) )
{
case CS_TEAM_T:
{
aTeams[aTerro][aNum[aTerro]++] = id
}
case CS_TEAM_CT:
{
aTeams[aCt][aNum[aCt]++] = id
}
default:
{
continue
}
}
}

new iCheck
new iTimes = aNum[aCt] - aNum[aTerro]

if(iTimes > 0)
{
iCheck = aCt
}
else if(iTimes < 0)
{
iCheck = aTerro
}
else
{
return 0
}

iTimes = abs(iTimes/2)

new bool:bTransfered[MAX_PLAYERS+1],
bool:bAdminsImmune = bool:get_pcvar_num(g_pcvarImmune)

new iLast, iCount
while( iTimes > 0 )
{
iLast = 0
for(new i=0; i <aNum[iCheck]; i++)
{
id = aTeams[iCheck][i]
if( g_bImmuned[id] && bAdminsImmune )
{
continue
}
if(bTransfered[id])
{
continue
}
if(g_fJoinedTeam[id] > g_fJoinedTeam[iLast])
{
iLast = id
}
}

if(!iLast)
{
return 0
}

cs_set_user_team_custom(iLast, iCheck ? CS_TEAM_T : CS_TEAM_CT)

bTransfered[iLast] = true
iCount++
iTimes--
}
return 1
}



Плагин активируется при переходе сервера в ДМ режим.

В своё время всё работало, сейчас не знаю, вы все молчите...



Вернуться к началу
Steam Profile
Doormouse
Добавлено: Пн Фев 11, 2019 9:36
Оффлайн
* Админ Only Knife *
* Админ Only Knife *
Информация
На форуме с: 24.12.2013 Возраст: 32 Сообщения: 390
Балансер стоит, ток срабатывает он по окончании раунда. То есть в режиме дм не совсем подходит. Больше беспокоит что некоторые игроки не могут возродиться при попытке зайти на сервер или при смене команды.( перезаходить приходится иногда по несколько раз)
Вернуться к началу
bibika
Добавлено: Пн Фев 11, 2019 9:42
Оффлайн
* Главный главнюк *
* Главный главнюк *
Информация
На форуме с: 25.10.2009 Возраст: 37 Сообщения: 7834 Откуда: Питер
В том то и дело балансер стоит именно тот, который должен работать не дожидаясь конца раунда.



Вернуться к началу
Steam Profile
Doormouse
Добавлено: Пн Фев 11, 2019 10:31
Оффлайн
* Админ Only Knife *
* Админ Only Knife *
Информация
На форуме с: 24.12.2013 Возраст: 32 Сообщения: 390
тогда это странно. Sad
Вернуться к началу
VALENAK
Добавлено: Пн Фев 11, 2019 10:39
Оффлайн
* Новая кровь *
* Новая кровь *
Информация
На форуме с: 06.02.2019 Возраст: 29 Сообщения: 79
Можно же попробовать и другой балансер поставить если этот не работает так как должен работать.
    - добавлено спустя 2 минуты:
По поводу возрождения нужен другой knife dm и будет у вас спавн нормальный и застревать никто не будет. Вот обе ссылки https://ru.files.fm/u/fa3zhrkd https://ru.files.fm/u/qgng6qp6
Вернуться к началу
bibika
Добавлено: Пн Фев 11, 2019 10:51
Оффлайн
* Главный главнюк *
* Главный главнюк *
Информация
На форуме с: 25.10.2009 Возраст: 37 Сообщения: 7834 Откуда: Питер
Цитата:
Можно же попробовать и другой балансер поставить если этот не работает так как должен работать.
    - добавлено спустя 2 минуты:
По поводу возрождения нужен другой knife dm и будет у вас спавн нормальный и застревать никто не будет. Вот обе ссылки https://ru.files.fm/u/fa3zhrkd https://ru.files.fm/u/qgng6qp6
Ок, а что будет делать твой балансировщик когда будет выбран классический режим?

Плагин кнайф дма у нас стоит от этого же автора, только более свежей версии, баг скорее всего не в нем.

Плюс интересные рекламные записи в плагине))

client_print(id, print_chat, "IP : [ 146.255.195.50:27036 ]")
client_print(id, print_chat, ":Dep3kuu Knife DM [+18]")


Бля как вспомню этот сервер и в дрож бросает))), какой ахтунг там творили администраторы)))



Вернуться к началу
Steam Profile
VALENAK
Добавлено: Пн Фев 11, 2019 12:28
Оффлайн
* Новая кровь *
* Новая кровь *
Информация
На форуме с: 06.02.2019 Возраст: 29 Сообщения: 79
Цитата:
Цитата:
Можно же попробовать и другой балансер поставить если этот не работает так как должен работать.
    - добавлено спустя 2 минуты:
По поводу возрождения нужен другой knife dm и будет у вас спавн нормальный и застревать никто не будет. Вот обе ссылки https://ru.files.fm/u/fa3zhrkd https://ru.files.fm/u/qgng6qp6
Ок, а что будет делать твой балансировщик когда будет выбран классический режим?

Плагин кнайф дма у нас стоит от этого же автора, только более свежей версии, баг скорее всего не в нем.

Плюс интересные рекламные записи в плагине))

это мой сервер

Цитата:
client_print(id, print_chat, "IP : [ 146.255.195.50:27036 ]")
client_print(id, print_chat, ":Dep3kuu Knife DM [+18]")


Бля как вспомню этот сервер и в дрож бросает))), какой ахтунг там творили администраторы)))
    - добавлено спустя 5 минут:

Нормальные админы были они хотя бы были))
Вернуться к началу
o5
Добавлено: Пн Фев 11, 2019 12:36
Оффлайн
* Бан по ассисту *
* Бан по ассисту *
Награды: 2
Video Shot Event (Количество: 1) Почётный ветеран (Количество: 1)
Информация
На форуме с: 13.08.2011 Возраст: 37 Сообщения: 5796
Вероятно, со словом "качество" ты не знаком. Как это грустно. Но цивилизация не до всех дошла. А иногда и эволюция.

Сыр и дырки в сыре: Больше сыра — больше дырок. Больше дырок — меньше сыра. Больше сыра = меньше сыра!
Вернуться к началу
Steam Profile

Показать сообщения:  

   Страница 1 из 1

Перейти:  

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы можете вкладывать файлы
Вы можете скачивать файлы