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

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

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

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

> Информационная доска

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

1. Во время создания новой темы аккуратно оформляйте её, не допускайте грамматических ошибок.
2. Описывая проблему старайтесь, как можно больше рассказать о ней, а так же о действиях с сервером после которых она возникла, по возможности подкрепите информацию логами.
3. Если вопрос касается проблемы в работе сервера, то обязательно прикрепляйте список плагинов (введите в консоли сервера: meta list и amxx plugins), настройки server.cfg, логи. Так же указывайте операционную систему, версию HLDS (введите к консоли сервера: version) и где хостится сервер.

Длинную информацию скрывайте под спойлер.

Last round

, Дописка плагина
Статус пользователя ToL9N4eG
сообщение 6.1.2014, 13:12
Сообщение #1
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

Всем доброго времени суток. Может ли кто-то дописать плагин (добавить последний раунд)?
Исходник
#include <amxmodx>

new g_pEnable,
g_pShowTimer,
g_pTime;

new g_iCounter,
g_iHour,
g_iMinute,
g_iSecond;

public plugin_init( )
{
register_plugin( "1337 Restarter", "1.4", "mateo10" );

g_pEnable = register_cvar( "1337_restarter", "1" );
g_pShowTimer = register_cvar( "1337_showtimer", "1" );
g_pTime = register_cvar( "1337_restarttime", "30" );

g_iCounter = get_pcvar_num( g_pTime ) * 60;

set_task( 1.0, "fnCountDown", 0, "", 0, "b" );
}

public fnCountDown( )
{
if( !g_iCounter-- && get_pcvar_num( g_pEnable ) )
{
server_cmd( "restart" );
return PLUGIN_HANDLED;
}

if( get_pcvar_num( g_pShowTimer ) )
{
g_iHour = g_iCounter / 3600;
g_iMinute = g_iCounter % 3600 / 60;
g_iSecond = g_iCounter % 3600 % 60;
set_hudmessage( 0, 100, 0, -0.8, 0.0, 0, 0.01, 1.0, 0.0, 0.0, -1 )
show_hudmessage( 0, "До рестарта %02d:%02d:%02d", g_iHour, g_iMinute, g_iSecond )
}

return PLUGIN_HANDLED;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ToL9N4eG
сообщение 7.1.2014, 17:54
Сообщение #2
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

Неужели никто не может помочь?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 7.1.2014, 17:56
Сообщение #3
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Для начала потратьте больше одной минуты на создание топика. Распишите по максимуму, как сейчас и как хочется, чтобы было.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 7.1.2014, 18:02
Сообщение #4


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

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

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

Цитата(ToL9N4eG @ 7.1.2014, 19:54) *
Неужели никто не может помочь?

именно
код нужно в тегах code/pawn и файлом
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ToL9N4eG
сообщение 7.1.2014, 18:02
Сообщение #5
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

Цитата(Safety1st @ 7.1.2014, 18:56) *
Для начала потратьте больше одной минуты на создание топика. Распишите по максимуму, как сейчас и как хочется, чтобы было.

Кинул исходник. Этот плагин в указанное время делает рестарт сервера. Вот хотелось бы дописать, чтоб по истечению времени была возможность доиграть раунд и только тогда был рестарт.
Извиняюсь, забыл в павн закинуть.
Исходник
Код:
#include <amxmodx>

new g_pEnable,
g_pShowTimer,
g_pTime;

new g_iCounter,
g_iHour,
g_iMinute,
g_iSecond;

public plugin_init( )
{
register_plugin( "1337 Restarter", "1.4", "mateo10" );

g_pEnable = register_cvar( "1337_restarter", "1" );
g_pShowTimer = register_cvar( "1337_showtimer", "1" );
g_pTime = register_cvar( "1337_restarttime", "30" );

g_iCounter = get_pcvar_num( g_pTime ) * 60;

set_task( 1.0, "fnCountDown", 0, "", 0, "b" );
}

public fnCountDown( )
{
if( !g_iCounter-- && get_pcvar_num( g_pEnable ) )
{
server_cmd( "restart" );
return PLUGIN_HANDLED;
}

if( get_pcvar_num( g_pShowTimer ) )
{
g_iHour = g_iCounter / 3600;
g_iMinute = g_iCounter % 3600 / 60;
g_iSecond = g_iCounter % 3600 % 60;
set_hudmessage( 0, 100, 0, -0.8, 0.0, 0, 0.01, 1.0, 0.0, 0.0, -1 )
show_hudmessage( 0, "До рестарта %02d:%02d:%02d", g_iHour, g_iMinute, g_iSecond )
}

return PLUGIN_HANDLED;
}


Отредактировал: ToL9N4eG, - 7.1.2014, 18:04
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 7.1.2014, 19:10
Сообщение #6
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Начал было плагин править - ну нафиг. Он делает рестарт через хз сколько часов. При этом всё время ежесекундно работает задача и показывается HUD. Это как раз те плагины, которые нахер не нужны на сервере.
Хотите рестарт сервера для очистки - юзайте возможность хостинга или хотя бы поставьте плагин, который при старте будет проверять время и выполнит quit, когда нужно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 7.1.2014, 19:16
Сообщение #7
Стаж: 12 лет

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

а зачем quit то?
Рестарт сервера он имел ввиду так: restart(в консоли) :-)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 7.1.2014, 19:19
Сообщение #8
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Настоящая очистка - запуск с 0. quit в консоли, потом автостарт.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ToL9N4eG
сообщение 7.1.2014, 19:19
Сообщение #9
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

Цитата(Safety1st @ 7.1.2014, 20:10) *
Начал было плагин править - ну нафиг. Он делает рестарт через хз сколько часов. При этом всё время ежесекундно работает задача и показывается HUD. Это как раз те плагины, которые нахер не нужны на сервере.
Хотите рестарт сервера для очистки - юзайте возможность хостинга или хотя бы поставьте плагин, который при старте будет проверять время и выполнит quit, когда нужно.

Не х3 через сколько часов, а каждые 30 минут. Т.к. на сервере одна карта и чтоб игроки видели через сколько будет рестарт.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 7.1.2014, 19:54
Сообщение #10
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

И правда, 30 минут.
Ну, сказанное мной справедливо и в этом случае.
Я лично не вижу необходимости в таком функционале - 'игроки видели через сколько будет рестарт', поэтому правкой заниматься неинтересно. Просто сообщаю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ToL9N4eG
сообщение 9.1.2014, 19:19
Сообщение #11
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

И все-таки, сложно подсказать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя admir
сообщение 10.1.2014, 20:05
Сообщение #12
Стаж: 13 лет

Сообщений: 192
Благодарностей: 31
Полезность: 138

ToL9N4eG,
Код:
#include <amxmodx>

new g_pEnable,
g_pShowTimer,
g_pTime;

new bool:b_Check = false;

new g_iCounter,
g_iHour,
g_iMinute,
g_iSecond;

public plugin_init( )
{
register_plugin( "1337 Restarter", "1.4", "mateo10" );

g_pEnable = register_cvar( "1337_restarter", "1" );
g_pShowTimer = register_cvar( "1337_showtimer", "1" );
g_pTime = register_cvar( "1337_restarttime", "30" );

g_iCounter = get_pcvar_num( g_pTime ) * 60;
register_logevent("eventRoundEnd", 2, "1=Round_End");
set_task( 1.0, "fnCountDown", 0, "", 0, "b" );
}

public fnCountDown( )
{
if( !g_iCounter-- && get_pcvar_num( g_pEnable ) )
{
b_Check = true;
return; //итак сойдет о-О
}

if( get_pcvar_num( g_pShowTimer ) )
{
g_iHour = g_iCounter / 3600;
g_iMinute = g_iCounter % 3600 / 60;
g_iSecond = g_iCounter % 3600 % 60;
set_hudmessage( 0, 100, 0, -0.8, 0.0, 0, 0.01, 1.0, 0.0, 0.0, -1 )
show_hudmessage( 0, "До рестарта %02d:%02d:%02d", g_iHour, g_iMinute, g_iSecond )
}

return PLUGIN_HANDLED;
}

public eventRoundEnd()
{
if(b_Check)
{
b_Check = false; //на всякие пожарный о-О
server_cmd( "restart" );
return PLUGIN_HANDLED;
}
}


писал пьяный, мож есть ошибка какая-то, мож и оптимальнее можно написать. хз
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ToL9N4eG
сообщение 11.1.2014, 3:27
Сообщение #13
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

Цитата(admir @ 10.1.2014, 21:05) *
ToL9N4eG,
Скрытый текст
Код:
#include <amxmodx>

new g_pEnable,
g_pShowTimer,
g_pTime;

new bool:b_Check = false;

new g_iCounter,
g_iHour,
g_iMinute,
g_iSecond;

public plugin_init( )
{
register_plugin( "1337 Restarter", "1.4", "mateo10" );

g_pEnable = register_cvar( "1337_restarter", "1" );
g_pShowTimer = register_cvar( "1337_showtimer", "1" );
g_pTime = register_cvar( "1337_restarttime", "30" );

g_iCounter = get_pcvar_num( g_pTime ) * 60;
register_logevent("eventRoundEnd", 2, "1=Round_End");
set_task( 1.0, "fnCountDown", 0, "", 0, "b" );
}

public fnCountDown( )
{
if( !g_iCounter-- && get_pcvar_num( g_pEnable ) )
{
b_Check = true;
return; //итак сойдет о-О
}

if( get_pcvar_num( g_pShowTimer ) )
{
g_iHour = g_iCounter / 3600;
g_iMinute = g_iCounter % 3600 / 60;
g_iSecond = g_iCounter % 3600 % 60;
set_hudmessage( 0, 100, 0, -0.8, 0.0, 0, 0.01, 1.0, 0.0, 0.0, -1 )
show_hudmessage( 0, "До рестарта %02d:%02d:%02d", g_iHour, g_iMinute, g_iSecond )
}

return PLUGIN_HANDLED;
}

public eventRoundEnd()
{
if(b_Check)
{
b_Check = false; //на всякие пожарный о-О
server_cmd( "restart" );
return PLUGIN_HANDLED;
}
}


писал пьяный, мож есть ошибка какая-то, мож и оптимальнее можно написать. хз

Спасибо, но.....
Скрытый текст
//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// restarter.sma
//\cstrike\addons\amxmodx\scripting\restarter.sma(32) : warning
209: function "fnCountDown" should return a value
//\cstrike\addons\amxmodx\scripting\restarter.sma(44) : error 07
8: function uses both "return" and "return <value>"
//\cstrike\addons\amxmodx\scripting\restarter.sma(55) : warning
209: function "eventRoundEnd" should return a value
//
// 1 Error.
// Could not locate output file \cstrike\addons\amxmodx\scripting
\compiled\restarter.amx (compile failed).
//
// Compilation Time: 0,08 sec
// ----------------------------------------

Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: