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

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

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

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

2 страниц V   1 2

CSDM Auto Team Balance

, баланс команд для CSDM
andreiwiz
сообщение 4.7.2014, 21:51
Сообщение #1
Стаж: 11 лет

Сообщений: 335
Благодарностей: 29
Полезность: 0

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

Используемые модули:
Cstrike, Csdm (надо будет убрать csdm_postDeath, т.к это нифига не post...)

Настройки:

csdm_auto_balance

0 - Выключен
1 - Включен (спасибо, кэп)
2 - Включен, повинивается иммунитету (т.е. если у игрока он есть, его не тронут)

Флаг иммунитета меняется на линии 5 (#define BALANCE_IMMUNITY)

Авторы: xPaw
Версия: 1.0
============================================================
На счёт инклуда, думаю не стоит заменять csdm.inc
два архива, в одном переведённый .sma на русский (пару строчек всего надо было перевести:)

Отредактировал: Bloo, - 4.7.2014, 21:57
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя FeNix41
сообщение 4.12.2014, 16:16
Сообщение #2
Стаж: 12 лет

Сообщений: 58
Благодарностей: 3
Полезность: < 0

А где сам плагин?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 4.12.2014, 16:21
Сообщение #3


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Код:
#include < amxmodx >
#include < cstrike >
#include < csdm >

#define BALANCE_IMMUNITY ADMIN_IMMUNITY

/*
csdm_auto_balance
- 0: Disabled
- 1: Enabled
- 2: Enabled, obey immunity
*/

new bool:g_bConnected[ 33 ], bool:g_bImmunity[ 33 ], CsTeams:g_iNewTeam[ 33 ];
new g_pCvar, g_iMaxPlayers, g_iMsgSayText, g_iMsgScreenFade, g_iPlayers;

public plugin_init( ) {
register_plugin( "CSDM Auto Balance", "1.0", "xPaw" );

g_pCvar = register_cvar( "csdm_auto_balance", "1" );

g_iMsgScreenFade = get_user_msgid( "ScreenFade" );
g_iMsgSayText = get_user_msgid( "SayText" );
g_iMaxPlayers = get_maxplayers( );
}

public client_authorized( id )
g_bImmunity[ id ] = bool:( get_user_flags( id ) & BALANCE_IMMUNITY );

public client_putinserver( id ) {
g_bConnected[ id ] = true; // bool:!is_user_bot( id );
g_iPlayers++;
}

public client_disconnect( id ) {
g_iNewTeam[ id ] = CS_TEAM_UNASSIGNED;
g_bImmunity[ id ] = false;
g_bConnected[ id ] = false;
g_iPlayers--;
}

public csdm_PostDeath( iKiller, id, bHeadShot, const szWeapon[ ] ) {
if( g_iPlayers < 4 || iKiller == id || !g_bConnected[ id ] )
return;

new iCvar = get_pcvar_num( g_pCvar );

if( iCvar <= 0 || iCvar == 2 && g_bImmunity[ id ] )
return;

new iPlayers[ 2 ];

for( new i = 1; i <= g_iMaxPlayers; i++ ) {
if( !g_bConnected[ i ] )
continue;

switch( cs_get_user_team( i ) ) {
case CS_TEAM_T: iPlayers[ 0 ]++;
case CS_TEAM_CT: iPlayers[ 1 ]++;
}
}

new CsTeams:iCheck, iDifference = iPlayers[ 1 ] - iPlayers[ 0 ];

if( iDifference > 0 )
iCheck = CS_TEAM_T;
else if( iDifference < 0 )
iCheck = CS_TEAM_CT;
else
return;

if( abs( iDifference ) < 2 || cs_get_user_team( id ) == iCheck )
return;

cs_set_user_team( id, iCheck );

new szName[ 32 ];
get_user_name( id, szName, 31 );

UTIL_GreenPrintAll( id, "^4[CSDM]^3 %s^1 перемещен за^3 %s^1.", szName,
iCheck == CS_TEAM_T ? "Terrorists" : "Counter-Terrorists" );

g_iNewTeam[ id ] = iCheck;
}

public csdm_PostSpawn( id, bool:bFake ) {
new CsTeams:iNewTeam = g_iNewTeam[ id ];

if( iNewTeam > CS_TEAM_UNASSIGNED ) {
g_iNewTeam[ id ] = CS_TEAM_UNASSIGNED;

set_hudmessage( 0, 127, 255, 0.42, 0.53, 2, 6.0, 4.0, 0.1, 0.2, -1 );
show_hudmessage( id, "Вас перебросило за %s!", iNewTeam == CS_TEAM_T ? "Terrorists" : "Counter-Terrorists" );

UTIL_ScreenFade( id, iNewTeam == CS_TEAM_T ? 175 : 0, 0, iNewTeam == CS_TEAM_CT ? 175 : 0 );
}
}

UTIL_GreenPrintAll( const iSender, const Message[ ], any:... ) {
new szMessage[ 192 ];
vformat( szMessage, 191, Message, 3 );

message_begin( MSG_BROADCAST, g_iMsgSayText );
write_byte( iSender );
write_string( szMessage );
message_end( );
}

UTIL_ScreenFade( const id, const iRed, const iGreen, const iBlue ) {
message_begin( MSG_ONE_UNRELIABLE, g_iMsgScreenFade, _, id );
write_short( 2000 );
write_short( 2000 );
write_short( 0 );
write_byte( iRed );
write_byte( iGreen );
write_byte( iBlue );
write_byte( 175 );
message_end( );
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя FeNix41
сообщение 7.12.2014, 18:26
Сообщение #4
Стаж: 12 лет

Сообщений: 58
Благодарностей: 3
Полезность: < 0

Bloo, csdm_autoteambalance.sma(3) : fatal error 100: cannot read from file: "<span class="searchlite""

Всё, исправил, моя ошибка
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FeNix41
сообщение 7.1.2015, 9:26
Сообщение #5
Стаж: 12 лет

Сообщений: 58
Благодарностей: 3
Полезность: < 0

Bloo, Заметил баг, когда убиваешь врага и его перекидывает за вашу команду, сервер считает что ты сделал тимкилл и отнимает фраг.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bbuzzy
сообщение 14.4.2015, 17:19
Сообщение #6
Стаж: 16 лет

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

проблема с плагином, на карте aim_map_usp было по 5 игроков за команду, остальные в спектрах, зайти невозможно, пишет all Teams are full!

как исправить, может у кого подобное уже было ?! Спасибо.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 14.4.2015, 17:23
Сообщение #7


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

bbuzzy, а при чем тут плагин если на карте спавнов не хватает?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bbuzzy
сообщение 14.4.2015, 17:35
Сообщение #8
Стаж: 16 лет

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

Bloo, такая проблема появилась ВПЕРВЫЕ. До этого все исправно работало. У меня спокойно 16 человек играло ... а сейчас вот так ... Думаю дело или в плагине, или может и сервер пора перезагрузить.

Откуда такая инфа про спавны Bloo,

какбе 16 слотов
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 14.4.2015, 18:48
Сообщение #9


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

bbuzzy, ну по симптомам решил что так. А при отключении плагина проблема пропадает?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bbuzzy
сообщение 14.4.2015, 19:02
Сообщение #10
Стаж: 16 лет

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

Bloo, как проверю, отпишу.

==============================

Плагин исправно работает на других картах.
Для теста вместо карты aim_map_usp поставил aim_usp та самая беда (

Cтранность в том, что примерно через 10 минут игры (в начале все нормально -> 8х8 игроков), игроков кидает в спектры, а именно в тот момент, когда срабатывает плагин, и они не могут зайти за любую команду, в итоге terrorists team is full, counter-terrorists team is full ...

Видать карта кривая (что мало вероятно) или сервер надо перезагружать раз в сутки, как вариант ...

Отредактировал: bbuzzy, - 14.4.2015, 21:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя coca-cola :)
сообщение 15.4.2015, 12:36
Сообщение #11


Иконка группы

Стаж: 12 лет
Город: Москва

Сообщений: 1306
Благодарностей: 1031
Полезность: 1247

Меценат Меценат

Bloo, не хочет компилиться плагин, ссылается на 3 строчку, пробовал изменять на < csdm >, ничего не вышло. Не знаешь, что именно там надо указать?
Цитата
autobalance.sma(3) : fatal error 100: cannot read from file:
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 15.4.2015, 12:39
Сообщение #12


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

bakssoldier, если ты про этот CSDM Auto Team Balance (Пост #691393), то все нормально там
Код
Welcome to the AMX Mod X 1.8.2 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Header size:            664 bytes
Code size:             3192 bytes
Data size:             1260 bytes
Stack/heap size:      16384 bytes; estimated max. usage=248 cells (992 bytes)
Total requirements:   21500 bytes
Done.


bbuzzy, даже не знаю, странно что он себя так проявляет на определенных картах, т.к. он от карт никак не отталкивается.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя coca-cola :)
сообщение 15.4.2015, 12:53
Сообщение #13


Иконка группы

Стаж: 12 лет
Город: Москва

Сообщений: 1306
Благодарностей: 1031
Полезность: 1247

Меценат Меценат

Цитата(Bloo @ 15.4.2015, 13:39) *
bakssoldier, если ты про этот CSDM Auto Team Balance (Пост #691393), то все нормально там

Странно, изначально вместо < csdm > форум выдавал другое значение, но даже сейчас при компиляции на компьютере выдает кучу ошибок, хотя инклюд csdm.inc имеется. Скомпилировал через веб-компилятор, все отлично.
Спасибо
//upd хотя не все отлично. Плагин скомпилировался, а ошибке на сайте все-равно есть:
Код
Welcome to the AMX Mod X 1.8.2 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

autobalance.sma(4) : error 010: invalid function or declaration
autobalance.sma(6) : error 010: invalid function or declaration
autobalance.sma(13) : error 010: invalid function or declaration
autobalance.sma(16) : error 010: invalid function or declaration
autobalance.sma(18) : error 029: invalid expression, assumed zero
autobalance.sma(18) : error 029: invalid expression, assumed zero
autobalance.sma(18) : error 029: invalid expression, assumed zero
autobalance.sma(18) : fatal error 107: too many error messages on one line

Compilation aborted.
8 Errors.
Done.


Отредактировал: bakssoldier, - 15.4.2015, 12:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 15.4.2015, 13:00
Сообщение #14


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

bakssoldier, просто старая инфа вывелась. Если бы были эти ошибки, он бы не скомпилировался.
Убери пробелы в инклудах.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя bbuzzy
сообщение 22.4.2015, 8:58
Сообщение #15
Стаж: 16 лет

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

Bloo, решил проблему с спавнами на aim_usp. Поставил плагин map_spawn_editor, расставил спавны...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 22.4.2015, 12:41
Сообщение #16


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

bbuzzy, так проблема в итоге не в плагине была, а в карте как изначально говорил?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bbuzzy
сообщение 28.4.2015, 12:14
Сообщение #17
Стаж: 16 лет

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

Bloo, да.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sonyaibo
сообщение 29.1.2016, 16:55
Сообщение #18


Стаж: 12 лет

Сообщений: 289
Благодарности: выкл.

mp_autoteambalance сколько ставить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Blitzz
сообщение 18.6.2016, 18:07
Сообщение #19


Стаж: 10 лет

Сообщений: 509
Благодарностей: 117
Полезность: 91

Цитата(FeNix41 @ 7.1.2015, 10:26) *
Bloo, Заметил баг, когда убиваешь врага и его перекидывает за вашу команду, сервер считает что ты сделал тимкилл и отнимает фраг.


Кто знает как исправить данный баг ?


Самые лучшие мысли приходят по глупости.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 23.8.2016, 18:28
Сообщение #20


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

то есть ботов не должно балансировать ?

Код:
public client_putinserver( id ) {
g_bConnected[ id ] = true; // bool:!is_user_bot( id );
g_iPlayers++;
}



[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: