1. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.516
    Симпатии:
    1.104
    Пол:
    Мужской
    Автор: s1lent
    Текущая версия: 2.2
    Позволяет проходить игрокам друг сквозь друга. За основу был взят модуль semiclip от joaquimandrade с alliedmodders.
    Написан на с++, создаёт наименьшую нагрузку на сервер их имеющихся аналогов и является заменой ранее популярного semiclip от UFPS Team.
    На данный момент полностью рабочий, поддерживается всеми платформами HLDS и версиями Metamod.
    Официального топика творения s1lent'а не имеют, он их просто выкладывает там, где хочет, и не появляется до следующего релиза. Так что искать автора с целью задать простой вопрос бесполезно, спрашивайте у других пользователей. Первоначально плагин был выложен на Dedicated-Server.ru и c-s.net.ua.
    На dedicated-server.ru автор всё же время от времени заходит, при удачном стечении обстоятельств можно застать, а вот на c-s.net.ua только во время релизов.

    Чем лучше остальных?
    - Игроки, находящиеся друг в друге, получают урон. До работы s1lent'а подобного не было, чем народ активно пользовался на зомби серверах и пабликах. Просто шли друг в друге и становились бессмертными.
    - Возможность подсадки игроков во время действия semiclip.
    - Есть фикс застревания на передвижных объектах(Глобальная проблема на Deathrun).


    Ставится точно так же, как и любой другой плагин для metamod.
    Если у вас Linux:
    - В папке addons создаем папку semiclip и копируем в неё файлы semiclip_mm_i386.so и config.ini
    - Открываем addons/metamod/plugins.ini (если такого файла нет, то создаем сами) и добавляем строчку
    Код:
    linux addons/semiclip/semiclip_mm_i386.so
    - настраиваем квары
    - Перезагружаем сервер

    Если у вас Windows:
    - В папке addons создаем папку semiclip и копируем в неё файл semiclip.dll и config.ini
    - Открываем addons/metamod/plugins.ini (если такого файла нет, то создаем сами) и добавляем строчку
    Код:
    win32 addons\semiclip\semiclip.dll
    - настраиваем квары
    - Перезагружаем сервер

    # semiclip 0|1 Выключить/Включить semiclip
    # team 0|1|2|3
    # - 0 Semiclip действует для всех
    # - 1 Semiclip действует только для T
    # - 2 Semiclip действует только для CT
    # - 3 Semiclip действут только для тиммейтов

    # time 0|60 Сколько длится действие semiclip от начала раунда в секундах.
    # patch 0|1 Исправлять застревание на передвижной платформе/объекте. Глобальная проблема на Deathrun и некоторых картах.
    # crouch 0|1 Автоматизация подсадок.
    # effects 0|1 Эффект прозрачности игрока зависит от расстоянии между игроками.
    # flashfix 0|1 Исправлять баг с флешкой. Баг заключается в том, что если первый игрок спрячется за второго либо встанет внутри него, то первого игрока не слепит.
    # noteamflash 0|1 Не слепить тиммейтов. Действует на протяжении всей игры. Аналог плагина No Team Flash. Что из них использовать - дело ваше.
    # distance 0|200 На какой дистанции игрок может иметь прозрачность и действие semiclip.
    # transparency 0|255 Прозрачность игрока.

    Исходники

    Видео, показывающее возможности автоматической подсадки

    Видео, показывающее суть фикса бага от флешки
     

    Вложения:

    jared17, Pretsula, x00peR и 3 другим нравится это.
  2. like Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    167
    Симпатии:
    18
    Пол:
    Мужской
    юзаю плагин amxx,давно хотел перейти на него но руки не доходили)
     
  3. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.593
    Симпатии:
    4.166
    Пол:
    Мужской
    У меня версия от Асмодая.
    А сайлент просто доработал версию от Асмо пофиксив багу с флешем.
     
  4. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.516
    Симпатии:
    1.104
    Пол:
    Мужской
    like, да там вся установка - 10 минут. Нагрузка немного ниже, чем от аналога UFPS и намного ниже, чем от аналогов других авторов.
    --- добавлено 27.05.15 ---
    neygomon, асмодай выкладывал в закрытом на DS? Не встречал её, но на DS в чейнджлоге асмодаю куча спасибок за идеи.
     
  5. like Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    167
    Симпатии:
    18
    Пол:
    Мужской
    Gudaus, вот плагин,что скажете насчет него,товарищи)
    #include <amxmodx>
    #include <fakemeta>

    #define PLUGIN_NAME "Anti Blocker"
    #define PLUGIN_VERSION "0.1"
    #define PLUGIN_AUTHOR "No"

    #define SC_TASKID 38800

    new bool:g_antiblock = false
    new pcv_antiblock
    new pcv_antiblock_time
    new g_duration[33]

    public plugin_init ( )
    {
    register_plugin ( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR )
    register_forward ( FM_StartFrame, "fm_startframe" )
    register_logevent ( "event_round_start", 2, "0=World triggered", "1=Round_Start" )

    pcv_antiblock = register_cvar ( "mindtrek_antiblock", "1" )
    pcv_antiblock_time = register_cvar ( "mindtrek_antiblock_time", "5" )
    }

    public fm_startframe ( )
    {
    if ( !g_antiblock ) return FMRES_IGNORED

    static players[32], num, i, player

    get_players ( players, num, "ach" )

    for ( i = 0; i < num; i++ )
    {
    player = players

    if ( is_semiclip ( player ) )
    {
    if ( is_solid ( player ) )
    set_notsolid ( player )
    }
    else
    {
    if ( !is_solid ( player ) )
    set_solid ( player )
    }
    }

    return FMRES_IGNORED
    }

    bool:is_semiclip ( id )
    {
    static players[32], num, i, target, team
    /*
    switch ( get_user_team ( id ) )
    {
    case 1:
    get_players ( players, num, "ach", "T" )

    case 2:
    get_players ( players, num, "ach", "CT" )

    default:
    return false
    }
    */
    static Float:player_origin[3], Float:player_origin_z[3]
    static Float:target_origin[3], Float:target_origin_z[3]

    pev ( id, pev_origin, player_origin )

    player_origin_z[2] = player_origin[2]
    player_origin[2] = 0.0

    get_players ( players, num, "ach" )
    team = get_user_team ( id )

    for ( i = 0; i < num; i++ )
    {
    target = players

    if ( id == target || team != get_user_team ( target ) ) continue

    pev ( target, pev_origin, target_origin )

    target_origin_z[2] = target_origin[2]
    target_origin[2] = 0.0

    if ( ( vector_distance ( player_origin, target_origin ) < 60 && vector_distance ( player_origin_z, target_origin_z ) < 90 ) )
    return true
    }

    return false
    }

    bool:is_solid ( id )
    {
    if ( pev ( id, pev_solid ) == SOLID_BBOX )
    return true

    return false
    }

    set_solid ( id )
    {
    if ( is_user_alive ( id ) )
    {
    use_rendering ( id )
    set_pev ( id, pev_solid, SOLID_BBOX )
    }
    }

    set_notsolid ( id )
    {
    if ( is_user_alive ( id ) )
    {
    use_rendering ( id, kRenderFxPulseSlow, 0, 0, 0, kRenderTransTexture, 200 )
    set_pev ( id, pev_solid, SOLID_NOT )
    }
    }

    stock use_rendering ( index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 )
    {
    set_pev ( index, pev_renderfx, fx )

    new Float:RenderColor[3]

    RenderColor[0] = float ( r )
    RenderColor[1] = float ( g )
    RenderColor[2] = float ( b )

    set_pev ( index, pev_rendercolor, RenderColor )
    set_pev ( index, pev_rendermode, render )
    set_pev ( index, pev_renderamt, float ( amount ) )
    }

    public event_round_start ( )
    {
    if ( task_exists ( SC_TASKID ) )
    remove_task ( SC_TASKID )

    if ( get_pcvar_num ( pcv_antiblock ) )
    g_antiblock = true

    set_task ( get_pcvar_float ( pcv_antiblock_time ), "task_sc_end", SC_TASKID )

    return PLUGIN_CONTINUE
    }

    public task_sc_end ( )
    {
    g_antiblock = false

    static players[32], num, i, player

    get_players ( players, num, "ach" )

    for ( i = 0; i < num; i++ )
    {
    player = players

    if ( !is_solid ( player ) )
    {
    g_duration[player] = 0
    set_task ( 0.2, "task_sc_wait", player )
    }
    }

    return PLUGIN_CONTINUE
    }

    public task_sc_wait ( id )
    {
    if ( task_exists ( id ) )
    remove_task ( id )

    if ( is_semiclip ( id ) )
    {
    if ( ++g_duration[id] > 20 )
    user_slap ( id, 0 )

    set_task ( 0.2, "task_sc_wait", id )
    }

    else
    set_solid ( id )

    return PLUGIN_CONTINUE
    }

    public plugin_end ( )
    {
    if ( task_exists ( SC_TASKID ) )
    remove_task ( SC_TASKID )

    g_antiblock = false

    for ( new i = 1; i < 33; i++ )
    if ( task_exists ( i ) )
    remove_task ( i )

    return PLUGIN_CONTINUE
    }
     
  6. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.516
    Симпатии:
    1.104
    Пол:
    Мужской
    С виду нормально. Но всё равно любые плагины лучше запускать на метамоде, чем через виртуальную машину amxx.
     
    like нравится это.
  7. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.593
    Симпатии:
    4.166
    Пол:
    Мужской
    Gudaus, да в закрытом.
     
  8. ex3m777 Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    334
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    а еще хорош тем, что там нет addtofullpack
     
  9. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.593
    Симпатии:
    4.166
    Пол:
    Мужской
    ex3m777, кто тебе такое сказал?
    есть он там :) без него только костылями...
     
  10. x00peR Пользователь

    Регистрация:
    16.10.15
    Сообщения:
    300
    Симпатии:
    42
    Пол:
    Мужской
    Skype:
    x00peR
    ICQ:
    474751117
    Баг заметил. Если напротив дыма стоит человек (член твоей команды), а за ним ты и человек прозрачный отчасти, то сквозь дым все прекрасно видно :)
     
    sujh нравится это.
  11. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.593
    Симпатии:
    4.166
    Пол:
    Мужской
    x00peR, передал автору :)
     
    sujh нравится это.
  12. r1nk0 Пользователь

    Регистрация:
    09.03.15
    Сообщения:
    234
    Симпатии:
    22
    Пол:
    Мужской
    Кто нить может объяснить как в целом работает метамод,например если выставлено что игроки всегда прозрачные,метамод работает всегда и идет нагрузка,а если выключение прозрачности через 10 сек,то через 10 сек он уже не работает и нагрузка спадает?
     
  13. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.516
    Симпатии:
    1.104
    Пол:
    Мужской
    MetaMod работает всегда, без него не запустится amxmodx.
    HLDS -> MetaMod -> плагины MetaMod (Semiclip, AmxModX, DProto...) -> плагины AmxModX (MapChooser, AFK Manager...).
    Если рассматривать Semiclip отдельно, то по истечении времени прозрачности ряд функций перестаёт вызываться, следовательно, нагрузка должна падать. В теории. Как на практике, я не знаю.
     
    sujh нравится это.
  14. ex3m777 Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    334
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    x00peR, уберай полностью прозрачность
     
    sujh нравится это.
  15. kachmazov Пользователь

    Регистрация:
    20.12.15
    Сообщения:
    106
    Симпатии:
    16
    Пол:
    Мужской
    Для ReHLDS 1.9 не пашет что то, кто нибудь знает рабочую под неё?
     
    sujh нравится это.
  16. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.593
    Симпатии:
    4.166
    Пол:
    Мужской
    kachmazov, 1.9 работает там
     
  17. kachmazov Пользователь

    Регистрация:
    20.12.15
    Сообщения:
    106
    Симпатии:
    16
    Пол:
    Мужской
    Можно ссылку, есть наличие на форуме?
     
    sujh нравится это.
  18. Fenix VIP user

    Регистрация:
    27.02.15
    Сообщения:
    645
    Симпатии:
    115
    Пол:
    Мужской
    kachmazov, Держи!
     

    Вложения:

    sujh и kachmazov нравится это.
  19. kachmazov Пользователь

    Регистрация:
    20.12.15
    Сообщения:
    106
    Симпатии:
    16
    Пол:
    Мужской
    Спасибо, помогло.. ставил тоже 1 и не помогало, этот помог! Было бы неплохо прикрепить к Рехлдс теме! Спасибо!
     
    sujh нравится это.
  20. Phenom5555 Пользователь

    Регистрация:
    04.03.15
    Сообщения:
    311
    Симпатии:
    36
    Пол:
    Мужской
    На Win XP , версия semiclip 1.9f падает сервер сразу после запуска .
    Версия 624
     

    Вложения:

    • drwtsn32.txt
      Размер файла:
      93 КБ
      Просмотров:
      4
    sujh нравится это.