Плагин паузы

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
322
Реакции
6
Помог
1 раз(а)
Ошибка
нету
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5271 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Jun 24 2020 13:53:30
Built from: https://github.com/alliedmodders/amxmodx/commit/5eea3e5
Build ID: 5271:5eea3e5
Core mode: JIT+ASM32
Билд
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.10.0.761-dev
Build date: 14:03:01 Jul 25 2021 (2661)
Build from: https://github.com/dreamstalker/rehlds/commit/aaffe43
ReGamedll
ReGameDLL version: 5.20.0.525-dev
Build date: 14:01:03 Jul 25 2021
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/d85b030
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
Список метамодулей
Currently loaded modules:
name version author status
[ 1] CStrike 1.9.0.5271 AMX Mod X Dev Team running
[ 2] Fun 1.9.0.5271 AMX Mod X Dev Team running
[ 3] ReAPI 5.14.0.195 Asmodai & s1lent running
[ 4] FakeMeta 1.9.0.5271 AMX Mod X Dev Team running
[ 5] Engine 1.9.0.5271 AMX Mod X Dev Team running
[ 6] Ham Sandwich 1.9.0.5271 AMX Mod X Dev Team running
6 modules, 6 correct
Список плагинов
[ 1] Admin Base 1.8.3-Re AMXX Dev Team admin.amxx ru
nning
[ 2] Admin Commands 1.9.0.5271 AMXX Dev Team admincmd.amxx ru
nning
[ 3] Menus Front-End 1.9.0.5271 AMXX Dev Team menufront.amxx ru
nning
[ 4] Players Menu 1.9.0.5271 AMXX Dev Team plmenu.amxx ru
nning
[ 5] Commands Menu 1.9.0.5271 AMXX Dev Team cmdmenu.amxx ru
nning
[ 6] Maps Menu 1.9.0.5271 AMXX Dev Team mapsmenu.amxx ru
nning
[ 7] Admin Chat 1.9.0.5271 AMXX Dev Team adminchat.amxx pa
used
[ 8] Pause Plugins 1.9.0.5271 AMXX Dev Team pausecfg.amxx ru
nning
[ 9] Restrict Weapons 1.9.0.5271 AMXX Dev Team restmenu.amxx ru
nning
Автор плагина
Manu
Версия плагина
1.0
Исходный код
#include <amxmodx>

const MIN_PLAYERS = 5;
const PAUSE_DURATION = 60;
const TASK_FINISHVOTE = 1337;

new const g_szTeamNames[][] = {"UNASSIGNED","TERRORIST","CT","SPECTATOR"};
new g_iVotes, g_iMenu, g_iNeeded, g_iSaveValue, bool:g_bDotechnicalPause, g_itechnicalPause[2];

public plugin_init( )
{
register_plugin( "technical Pause", "1.0", "Manu" );

register_clcmd( "say /pause", "CommandPause" );
register_logevent( "ev_RoundStart", 2, "1=Round_Start" );
}

public ev_RoundStart( )
{
g_bDotechnicalPause = false;
set_cvar_num( "mp_freezetime", g_iSaveValue );
}

public CommandPause( iId )
{
new iTeam = get_user_team( iId );

if( 1 <= iTeam <= 2)
{
if( !g_itechnicalPause[ iTeam - 1 ] )
{
if( !g_bDotechnicalPause )
{
if( !task_exists( TASK_FINISHVOTE ) )
{
new iPlayers[32], szName[32]; g_iNeeded = 0;

get_players( iPlayers, g_iNeeded, "e", g_szTeamNames[iTeam] );

if( g_iNeeded >= MIN_PLAYERS )
{
g_iMenu = menu_create( "take a technical break?", "VoteHandler" );

menu_additem( g_iMenu, "Yes\d, I want" );
menu_additem( g_iMenu, "No\d, cancel" );

menu_addtext( g_iMenu, "^n\r[!]\w Fifteen seconds to vote!" );
menu_setprop( g_iMenu, MPROP_EXIT, MEXIT_NEVER );

for( new i; i < g_iNeeded; i++ )
menu_display( iPlayers[i], g_iMenu );

get_user_name( iId, szName, charsmax( szName ) );
client_print_color( 0, print_team_default, "^3%s^1 I start a vote for a technical pause!", szName );

g_iVotes = 0;
g_itechnicalPause[ iTeam - 1 ] = floatround( get_gametime( ) );

set_task( 15.0, "FinishVote", TASK_FINISHVOTE );
}
else
client_print_color( iId, print_team_default, "Your team doesn't have enough players to use this." );
}
else
client_print_color( iId, print_team_default, "A vote is already in progress for a technical break." );
}
else
client_print_color( iId, print_team_default, "There is already a technical pause in progress, wait for it to end." );
}
else
client_print_color( iId, print_team_default, "Your team has already voted for a technical break." );
}
else
client_print_color( iId, print_team_default, "You have to be playing to use this command." );

return PLUGIN_HANDLED;
}

public FinishVote( iTaskId )
{
new iTeam = (g_itechnicalPause[0] > g_itechnicalPause[1]) ? 0 : 1;

if( g_iVotes >= g_iNeeded )
{
g_bDotechnicalPause = true;
g_iSaveValue = get_cvar_num( "mp_freezetime" );
set_cvar_num( "mp_freezetime", PAUSE_DURATION );

client_print_color( 0, print_team_default, "The team^3 %s^1 voted for a technical pause.", iTeam > 0 ? "CTerrorists" : "Terrorists" );
client_print_color( 0, print_team_default, "In the next round the waiting time will be^4 %d^1 seconds.", PAUSE_DURATION );
}
else
client_print_color( 0, print_team_default, "The team^3 %s^1 I voted for a technical pause but it was rejected.", iTeam > 0 ? "CTerrorists" : "Terrorists" );

menu_destroy( g_iMenu );
}

public VoteHandler( iId, iMenu, iItem )
{
if( iItem == 0 )
g_iVotes++;

client_cmd( iId, "spk buttons/lightswitch2" );
}
описание плагина: игрок может поставить игру на паузу (60 секунд).
проблема: когда начинается игра плагин отключает фризтаим во втором раунде (без паузы игры. то есть паузу никто не берет, а так если ее взять она работает)
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
857
Реакции
144
Помог
25 раз(а)
Есть фикс же.
 
Последнее редактирование:
Сообщения
616
Реакции
125
Предупреждения
5
Помог
10 раз(а)
и где решение?
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу