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

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

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

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

HostnameTimeleft

, Помощь ...
Статус пользователя MopcK
сообщение 17.11.2012, 17:57
Сообщение #1
Стаж: 14 лет

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

Здравствуйте, аноны;3
помоги с плагином hostnametimeleft, надо сделать чтобы каждые к примеру 5 секунд, название сервер менялось, есть исходник...

Плагин Где требуется Помощь
#include <amxmodx>
#include <engine>

#pragma semicolon 1

#define UPDATE_TIME 1.0
#define ENTITY_CLASS "env_host_timeleft"

new bool:g_timerRunning = false;
new g_MsgServerName;
new g_szHostname[ 64 ];
new g_pointerTimelimit;
new g_pointerHostname;
new g_cvarEnabled;
new g_cvarStyle;

public plugin_init() {
register_plugin( "Hostname Timeleft", "1.0", "xPaw" );

g_cvarEnabled = register_cvar( "sv_hostname_timeleft", "1" );
g_cvarStyle = register_cvar( "sv_hostname_style", "3" );
g_pointerTimelimit = get_cvar_pointer( "mp_timelimit" );
g_pointerHostname = get_cvar_pointer( "hostname" );

g_MsgServerName = get_user_msgid( "ServerName" );

// Give delay to load configs...
set_task( 2.5, "checkTimeleft" );
}

public plugin_end( )
if( g_timerRunning )
if( strlen( g_szHostname ) )
set_pcvar_string( g_pointerHostname, g_szHostname );

public checkTimeleft( ) {
get_pcvar_string( g_pointerHostname, g_szHostname, 63 );

if( get_pcvar_num( g_cvarEnabled ) != 1 ) {
g_timerRunning = false;

return;
} else
register_think( ENTITY_CLASS, "fwdThink_Updater" );

g_timerRunning = true;

// initialize thinking entity...
new iEntityTimer = create_entity( "info_target" );
entity_set_string( iEntityTimer, EV_SZ_classname, ENTITY_CLASS );
entity_set_float( iEntityTimer, EV_FL_nextthink, get_gametime() + UPDATE_TIME );
}

public fwdThink_Updater( iEntity ) {
static szHostname[ 64 ], iStyle;
iStyle = get_pcvar_num( g_cvarStyle );

if( get_pcvar_float( g_pointerTimelimit ) ) {
static iHours, iMinutes, iSeconds;

iSeconds = get_timeleft( );
iMinutes = iSeconds / 60;
iHours = iMinutes / 60;
iSeconds = iSeconds - iMinutes * 60;
iMinutes = iMinutes - iHours * 60;


if( iHours ) {
switch( iStyle ) {
case 1: formatex( szHostname, 63, "%s (Timeleft %d:%02d:%02d)", g_szHostname, iHours, iMinutes, iSeconds );
case 2, 4: formatex( szHostname, 63, "%s (%d:%02d:%02d)", g_szHostname, iHours, iMinutes, iSeconds );
case 3, 5: formatex( szHostname, 63, "(%d:%02d:%02d) %s", iHours, iMinutes, iSeconds, g_szHostname );
}
} else {
switch( iStyle ) {
case 1: formatex( szHostname, 63, "%s (Timeleft %d:%02d)", g_szHostname, iMinutes, iSeconds );
case 2, 4: formatex( szHostname, 63, "%s (%d:%02d)", g_szHostname, iMinutes, iSeconds );
case 3, 5: formatex( szHostname, 63, "(%d:%02d) %s", iMinutes, iSeconds, g_szHostname );
}
}
} else {
switch( iStyle ) {
case 1: formatex( szHostname, 63, "%s (No time limit)", g_szHostname );
case 2, 4: formatex( szHostname, 63, "%s (--:--)", g_szHostname );
case 3, 5: formatex( szHostname, 63, "(--:--) %s", g_szHostname );
}
}

if( iStyle < 4 )
set_pcvar_string( g_pointerHostname, szHostname );

message_begin( MSG_BROADCAST, g_MsgServerName );
write_string( szHostname );
message_end( );

entity_set_float( iEntity, EV_FL_nextthink, get_gametime() + UPDATE_TIME );

return PLUGIN_CONTINUE;
}

Прикрепленные файлы:
Прикрепленный файл  HostnameTimeleft.sma ( 2,98 килобайт ) Кол-во скачиваний: 1


!
Аккаунт пользователя заблокирован до: 12.4.2040, 19:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   Цитировать сообщение
Статус пользователя abc-cba
сообщение 17.11.2012, 17:58
Сообщение #2
Стаж: 13 лет

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

Тоже хочу знать как.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 17.11.2012, 18:11
Сообщение #3
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

MopcK,
в смысле менялось?
т.е. сервер называется: "UA-Arena" чере 5 сек. "Жлобам входа нет!" ???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя MopcK
сообщение 17.11.2012, 18:24
Сообщение #4
Стаж: 14 лет

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

Цитата(Orty_Hart @ 17.11.2012, 18:11) *
MopcK,
в смысле менялось?
т.е. сервер называется: "UA-Arena" чере 5 сек. "Жлобам входа нет!" ???

даа )


!
Аккаунт пользователя заблокирован до: 12.4.2040, 19:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя perfectblood0
сообщение 17.11.2012, 18:34
Сообщение #5
Стаж: 17 лет

Сообщений: 5065
Благодарностей: 2685
Полезность: 488

Этот плагин показывает время до смены карты в Hostname
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя abc-cba
сообщение 17.11.2012, 18:35
Сообщение #6
Стаж: 13 лет

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

Цитата(perfectblood0 @ 17.11.2012, 18:34) *
Этот плагин показывает время до смены карты в Hostname

а ты можешь переделать его?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 17.11.2012, 19:28
Сообщение #7
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

abc-cba,
а что не так? он не работает?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя perfectblood0
сообщение 17.11.2012, 19:33
Сообщение #8
Стаж: 17 лет

Сообщений: 5065
Благодарностей: 2685
Полезность: 488

Цитата(Orty_Hart @ 17.11.2012, 21:28) *
abc-cba,
а что не так? он не работает?

Я так понял, что они хотят чтобы название менялось периодически, а точнее каждые 5 секунд
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 17.11.2012, 19:39
Сообщение #9
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

MopcK,
#define UPDATE_TIME 1.0 -> #define UPDATE_TIME 5.0
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя sweet
сообщение 17.11.2012, 19:58
Сообщение #10
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

Сделайте что бы само hostname менялось через каждые n секунд! :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя abc-cba
сообщение 18.11.2012, 7:43
Сообщение #11
Стаж: 13 лет

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

а как сделать чтобы не таймлефт показывал, а например 5 рандомных названий?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя abc-cba
сообщение 19.11.2012, 17:35
Сообщение #12
Стаж: 13 лет

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

ап
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 20.11.2012, 11:12
Сообщение #13
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

abc-cba,
Держи:

Скрытый текст
Код
#include <amxmodx>
#define NAME_SERVER 5 //кол. названий сервера, перечисленных в g_nameServer

new g_nameServer[NAME_SERVER][] =
{
"Прикольный сервер",
"Играем все вместе",
"Беги беги беги",
"Да детка, это то место",
"Arena Spawn [PRO] Killer 18+"
}

new g_ChangeName = 2 // 0 - выкл. плагин. 1 - случайное название. 2 - по очереди.
new g_number

public plugin_init()
{
    register_plugin("New Name Server", "1.5", "Sutar")
    
    set_task(5.0, "cmdChangeName", 391853, "", 0, "b")
}

public cmdChangeName()
{
    if(g_ChangeName == 0)
        return PLUGIN_HANDLED
    
    new a
    
    if(g_ChangeName == 1)
    {
        a = random(NAME_SERVER)
        if(a == g_number) a++
        if(a >= NAME_SERVER) a = 0
        g_number = a
    } else if(g_ChangeName == 2)
    {
        g_number++
        a = g_number
        if(a >= NAME_SERVER)
        {
            a = 0
            g_number = 0
        }
    }

    set_cvar_string("hostname", g_nameServer[a])
    return PLUGIN_CONTINUE
}


NAME_SERVER - кол. названий сервера, перечисленных в g_nameServer. (По умолчанию 5).
g_ChangeName - метод работы. 0 - выкл. плагин. 1 - случайное название. 2 - названия по очереди.

чтоб дописать свой сервер, дописываем название в g_nameServer.
Например:
я хочу дописать название "Рубиииии"

тогда дописываем в g_nameServer строчку по средине или в начале: "Рубиииии",

получится:
Цитата
new g_nameServer[NAME_SERVER][] =
{
"Прикольный сервер",
"Играем все вместе",
"Беги беги беги",
"Рубиииии",
"Да детка, это то место",
"Arena Spawn [PRO] Killer 18+"
}


если в конце дописываем, значит после ...] Killer 18+" ставим , и ниже дописываем: "Рубиииии" (ВНИМАТЕЛЬНЕЙ! В КОНЦЕ НЕТ КОМЫ).

должно получится:
Цитата
new g_nameServer[NAME_SERVER][] =
{
"Прикольный сервер",
"Играем все вместе",
"Беги беги беги",
"Да детка, это то место",
"Arena Spawn [PRO] Killer 18+",
"Рубиииии"
}


после добавления, считаем колич. строк. Их 6. и указываем в NAME_SERVER = 6

если используешь русские название сервера, компилируем исходник в кодировке UTF-8 без BOM

Отредактировал: Orty_Hart, - 20.11.2012, 11:13
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя sweet
сообщение 20.11.2012, 12:24
Сообщение #14
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

Цитата(Orty_Hart @ 20.11.2012, 12:12) *
Скрытый текст
abc-cba,
Держи:

Скрытый текст
Код
#include <amxmodx>
#define NAME_SERVER 5 //кол. названий сервера, перечисленных в g_nameServer

new g_nameServer[NAME_SERVER][] =
{
"Прикольный сервер",
"Играем все вместе",
"Беги беги беги",
"Да детка, это то место",
"Arena Spawn [PRO] Killer 18+"
}

new g_ChangeName = 2 // 0 - выкл. плагин. 1 - случайное название. 2 - по очереди.
new g_number

public plugin_init()
{
    register_plugin("New Name Server", "1.5", "Sutar")
    
    set_task(5.0, "cmdChangeName", 391853, "", 0, "b")
}

public cmdChangeName()
{
    if(g_ChangeName == 0)
        return PLUGIN_HANDLED
    
    new a
    
    if(g_ChangeName == 1)
    {
        a = random(NAME_SERVER)
        if(a == g_number) a++
        if(a >= NAME_SERVER) a = 0
        g_number = a
    } else if(g_ChangeName == 2)
    {
        g_number++
        a = g_number
        if(a >= NAME_SERVER)
        {
            a = 0
            g_number = 0
        }
    }

    set_cvar_string("hostname", g_nameServer[a])
    return PLUGIN_CONTINUE
}


NAME_SERVER - кол. названий сервера, перечисленных в g_nameServer. (По умолчанию 5).
g_ChangeName - метод работы. 0 - выкл. плагин. 1 - случайное название. 2 - названия по очереди.

чтоб дописать свой сервер, дописываем название в g_nameServer.
Например:
я хочу дописать название "Рубиииии"

тогда дописываем в g_nameServer строчку по средине или в начале: "Рубиииии",

получится:


если в конце дописываем, значит после ...] Killer 18+" ставим , и ниже дописываем: "Рубиииии" (ВНИМАТЕЛЬНЕЙ! В КОНЦЕ НЕТ КОМЫ).

должно получится:


после добавления, считаем колич. строк. Их 6. и указываем в NAME_SERVER = 6

если используешь русские название сервера, компилируем исходник в кодировке UTF-8 без BOM


Спасибо.
Через какое время меняется название сервера?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 20.11.2012, 12:32
Сообщение #15


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Цитата(dron34 @ 20.11.2012, 13:24) *
Спасибо.
Через какое время меняется название сервера?

Каждый 5 секунд.

Orty_Hart, только зачем ты указываешь id для таска и не используешь его? Да и таск у тебя один, id тут ни к чему.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 20.11.2012, 12:55
Сообщение #16
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

dron34,
Замени:

Код
public cmdChangeName()
{
    if(g_ChangeName == 0)
        return PLUGIN_HANDLED


на

Код
public cmdChangeName(id)
{
    if(g_ChangeName == 0)
    {
        remove_task(id)
        return PLUGIN_HANDLED
    }


Rejiser, да завтыкал чуток))

Отредактировал: Orty_Hart, - 20.11.2012, 12:55
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: