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

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

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

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

> Правила форума

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

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Fastdl и no-respawn

Статус пользователя АльТ
сообщение 5.12.2012, 15:09
Сообщение #1


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

Вот тут вопросы по плагинам, какие лучше использовать?
  1. Плагин предотвращающий спавн игрока после реконнекта.
    • Block Reconnect Respawn (brr_nokill)
    • Block Spawn For Reconnect
      Код
      #include < amxmodx >
      #include < fakemeta >

      new const PLUGIN_NAME[ ]        =       "Block Spawn For Reconnect";
      new const PLUGIN_VERSION[ ]     =       "0.1";
      new const PLUGIN_AUTHOR[ ]      =       "Bos93";

      const m_iSpawnCount = 365;

      new Trie:g_pSteam;

      public plugin_init( )
      {
              register_plugin( PLUGIN_NAME,   PLUGIN_VERSION, PLUGIN_AUTHOR );
              register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");

              g_pSteam = TrieCreate( );

      }

      public client_disconnect( pPlayer )
      {
              new szSteam[ 32 ];

              get_user_authid( pPlayer, szSteam, charsmax( szSteam ) );

              TrieSetCell( g_pSteam, szSteam, 1 );
      }


      public client_putinserver( pPlayer )
      {
              new szSteam[ 32 ];
              get_user_authid( pPlayer, szSteam, charsmax( szSteam ) );

              if ( TrieKeyExists( g_pSteam, szSteam ) )
              {
                      set_pdata_int( pPlayer, m_iSpawnCount, 1);
              }
      }


      public EventRoundStart( )
      {
              TrieClear( g_pSteam );
      }

    Эти плагины до этого не использовал, какой лучше не знаю. Да, первый с орфеем, но он и так стоять будет, для некоторых других плагинов. Какой из них лучше юзать?
  2. Fast Download Fix

    На amx-x видел, что модуль сильно грузит сервер. Пробовал кто?


Отредактировал: АльТ, - 5.12.2012, 15:13
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя mazdan
сообщение 5.12.2012, 15:46
Сообщение #2


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

1.лучше без орфея ставить, по-моему. Только наверное не по стиму следить.
2. Да, ресурс менеджер говорят багнутый. Я ни тем ни другим не пользуюсь :D


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя АльТ
сообщение 5.12.2012, 16:14
Сообщение #3


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

1. По ip, например. Скомпировалось нормально. Посмотреть можете, правильно всё?
Скрытый текст
Код
#include < amxmodx >
#include < fakemeta >

new const PLUGIN_NAME[ ]        =       "Block Spawn For Reconnect";
new const PLUGIN_VERSION[ ]     =       "0.1";
new const PLUGIN_AUTHOR[ ]      =       "Bos93";

const m_iSpawnCount = 365;

new Trie:g_pIP;

public plugin_init( )
{
        register_plugin( PLUGIN_NAME,   PLUGIN_VERSION, PLUGIN_AUTHOR );
        register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");

        g_pIP = TrieCreate( );

}

public client_disconnect( pPlayer )
{
        new szIP[ 32 ];

        get_user_authid( pPlayer, szIP, charsmax( szIP ) );

        TrieSetCell( g_pIP, szIP, 1 );
}


public client_putinserver( pPlayer )
{
        new szIP[ 32 ];
        get_user_authid( pPlayer, szIP, charsmax( szIP ) );

        if ( TrieKeyExists( g_pIP, szIP ) )
        {
                set_pdata_int( pPlayer, m_iSpawnCount, 1);
        }
}


public EventRoundStart( )
{
        TrieClear( g_pIP );
}

2. Тогда твой поставлю.

Отредактировал: АльТ, - 5.12.2012, 16:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 5.12.2012, 16:25
Сообщение #4


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

мало поменять буквы переменных :D
get_user_authid( pPlayer, szIP, charsmax( szIP ) ); -> get_user_ip( pPlayer, szIP, charsmax( szIP ));

В остальном всё ок должно быть. На аленях обсуждалось это. Должно нормально работать =)


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя АльТ
сообщение 5.12.2012, 16:30
Сообщение #5


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

mazdan,
Спасибо. Буду знать :D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя АльТ
сообщение 5.12.2012, 16:37
Сообщение #6


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

А вот информирование в чат вставлять в конец client_putinserver?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 5.12.2012, 18:32
Сообщение #7


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

информирование о том что не будет спавна?
лучше set_task(3.0,"informaciya",id) сделать потому что при putinserver не факт что игрок увидит чат - слишком рано


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя АльТ
сообщение 5.12.2012, 19:33
Сообщение #8


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

Нет: после реконнекта, что спавна не будет. Так пойдет, или по другому как-то?
Код
public client_putinserver( pPlayer )
{
        new szIP[ 32 ];
        get_user_authid( pPlayer, szIP, charsmax( szIP ) );

        if ( TrieKeyExists( g_pIP, szIP ) )
        {
                set_pdata_int( pPlayer, m_iSpawnCount, 1);
        }
        
        set_task( 3.0, "BS_MSG" );
}

public BS_MSG( id )
{
     client_print( id, print_chat, "%s", id, "BS_REASON" );
}


Отредактировал: АльТ, - 5.12.2012, 19:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 5.12.2012, 19:37
Сообщение #9


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

нет =)
set_task( 3.0, "BS_MSG" ); => set_task( 3.0, "BS_MSG",id );

client_print( id, print_chat, "сюда просто текст, если нужно multilang тогда надо %L а не %s, но я не делал с ним ничего =) не подскажу :D" );


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя АльТ
сообщение 5.12.2012, 20:13
Сообщение #10


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

Спасибо. Еще, последнее :D Квар на время в таске будет работать?
Код
#include < amxmodx >
#include < fakemeta >

new const PLUGIN_NAME[ ]        =       "Block Spawn For Reconnect";
new const PLUGIN_VERSION[ ]     =       "0.1-ip";
new const PLUGIN_AUTHOR[ ]      =       "Bos93";

const m_iSpawnCount = 365;

new Trie:g_pIP;
new MSG_TIME;

public plugin_init( )
{
        register_plugin( PLUGIN_NAME,   PLUGIN_VERSION, PLUGIN_AUTHOR );
        register_dictionary( "BlockSpawn.txt" );
        register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");
        MSG_TIME = register_cvar( "bs_msg_time", "3.0" );

        g_pIP = TrieCreate( );

}

public client_disconnect( pPlayer )
{
        new szIP[ 32 ];

        get_user_ip( pPlayer, szIP, charsmax( szIP ));

        TrieSetCell( g_pIP, szIP, 1 );
}


public client_putinserver( pPlayer )
{
        new szIP[ 32 ];
        get_user_authid( pPlayer, szIP, charsmax( szIP ) );

        if ( TrieKeyExists( g_pIP, szIP ) )
        {
                set_pdata_int( pPlayer, m_iSpawnCount, 1);
        }
        
        set_task( float( MSG_TIME ), "BS_MSG", 1681 );
}


public EventRoundStart( )
{
        TrieClear( g_pIP );
}

public BS_MSG( id )
{
     client_print( id, print_chat, "%L", id, "BS_REASON" );
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 5.12.2012, 20:17
Сообщение #11


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

нет не будет =)

MSG_TIME = register_cvar( "bs_msg_time", "3.0" ); // так не работает


просто register_cvar( "bs_msg_time", "3.0" ), потом
Код
public plugin_cfg()
MSG_TIME = get_cvar_float( "bs_msg_time"); вот так чтобы значение прочитать


и new Float:MSG_TIME; соотвественно.

и set_task( MSG_TIME, "BS_MSG", id); //иначе как id передать функции хотите?


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя АльТ
сообщение 6.12.2012, 14:41
Сообщение #12


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

mazdan,
error
BlockSpawn_ip.sma(49) : warning 217: loose indentation
BlockSpawn_ip.sma(49) : error 017: undefined symbol "id"
BlockSpawn_ip.sma(49) : error 088: number of arguments does not match definition

49 строка это таск.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 6.12.2012, 17:03
Сообщение #13


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

id => pPlayer =) не посмотрел я =)


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя АльТ
сообщение 6.12.2012, 19:06
Сообщение #14


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

Спасибо mazdan, всё отлично.
Тему можно закрыть.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: