1

Тема: Автоскрин по STEAM_ID и autoscreen.txt

Предлагаю реализовать такую функцию, как автоскрин определенного игрока по STEAM_ID с использованием autoscreen.txt, куда можно будет заносить стимы игроков и периодичность выполнения скринов, при его заходе на сервер, по анологии с уже реализованным автоскрином.

2

Re: Автоскрин по STEAM_ID и autoscreen.txt

Ну это ведь и самостоятельно можно написать плагин :)

3

Re: Автоскрин по STEAM_ID и autoscreen.txt

Так скрин не работает по ид. Так может заменить по стимид и наладить работоспособность ?

P.S.Регистрируюсь 5-ый раз =)

4

Re: Автоскрин по STEAM_ID и autoscreen.txt

Хм.., css ?

5

Re: Автоскрин по STEAM_ID и autoscreen.txt

Да. Позже проверю на последней версии. Через часа 2.

P.S.Регистрируюсь 5-ый раз =)

6 Отредактировано rodgerland (2013-10-02 09:21:32)

Re: Автоскрин по STEAM_ID и autoscreen.txt

Проверил.
Пытаюсь по userid сделать скрин, то в логе сервера получаю это:

L 10/02/2013 - 16:53:24: [SM] Plugin encountered error 4: Invalid parameter or parameter type
L 10/02/2013 - 16:53:24: [SM] Native "ReplyToCommand" reported: Language phrase "No matching client" not found
L 10/02/2013 - 16:53:24: [SM] Displaying call stack trace for plugin "ucp.smx":
L 10/02/2013 - 16:53:24: [SM]   [0]  Line 103, H:\sourcemode\include\commandfilters.inc::ReplyToTargetError()
L 10/02/2013 - 16:53:24: [SM]   [1]  Line 198, H:\sourcemode\include\helpers.inc::FindTarget()
L 10/02/2013 - 16:53:24: [SM]   [2]  Line 720, ucp.sp::func_29()

И еще, почему ucp_who и sm_who показывают разные стимид?
И как отключить скрин с игрока по времени, пишу ucp_screen name 65 , так он и скринит, пока не отключаю сервер.

P.S.Регистрируюсь 5-ый раз =)

7

Re: Автоскрин по STEAM_ID и autoscreen.txt

А если по нику?
Относительно разных стимид, тот что в ucp_who - сгенерирован на основе ucpid, для быстрой совместимости с другими плагинами через native GetClientAuthString2

8 Отредактировано Gamer CSS (2013-10-02 14:43:51)

Re: Автоскрин по STEAM_ID и autoscreen.txt

rodgerland пишет:

Проверил.
Пытаюсь по userid сделать скрин, то в логе сервера получаю это:

L 10/02/2013 - 16:53:24: [SM] Plugin encountered error 4: Invalid parameter or parameter type
L 10/02/2013 - 16:53:24: [SM] Native "ReplyToCommand" reported: Language phrase "No matching client" not found
L 10/02/2013 - 16:53:24: [SM] Displaying call stack trace for plugin "ucp.smx":
L 10/02/2013 - 16:53:24: [SM]   [0]  Line 103, H:\sourcemode\include\commandfilters.inc::ReplyToTargetError()
L 10/02/2013 - 16:53:24: [SM]   [1]  Line 198, H:\sourcemode\include\helpers.inc::FindTarget()
L 10/02/2013 - 16:53:24: [SM]   [2]  Line 720, ucp.sp::func_29()

И еще, почему ucp_who и sm_who показывают разные стимид?
И как отключить скрин с игрока по времени, пишу ucp_screen name 65 , так он и скринит, пока не отключаю сервер.

Поддержу, скрин снимается только по нику игрока. Это не самый уникальный идентификатор =)
Попытки снять скрин по ucp_id или userid или по uniqueid (STEAM_ID) приведят к ошибкам и вышеуказанным записям в логе соурсмода.
Хочу немного поправить rodgerland: команды status и ucp_who выдают разные STEAM_ID. Игра считает правильным вариант по status.
На скрине все видно.
http://savepic.org/4567476.png
Энди, проверь пожалуйста.
Если уж придется писать плагин для скринов, то нам необходимо будет привязываться к уникальному идентификатору.
И лучше бы было чтобы он сответствовал выводу команды status.
Может покажется наглым, но и в названии файла скриншота лучше, помимо ника (который по известным причинам отображается не весь), выводить STEAM_ID по status. Лучше для привязки к SourceBan, например.

9

Re: Автоскрин по STEAM_ID и autoscreen.txt

Ну насчёт того что по userid не понимает - проблема соурсмода кажется.
Юзаю обычный код в подобных случаях:

    if(args < 1){
        ReplyToCommand(id,"Usage: ucp_screen <nick/#userid>")
        return Plugin_Handled
    }
    decl String:arg1[32]
    GetCmdArg(1,arg1,sizeof(arg1))
    new client = FindTarget(id,arg1,0,0)
    if(!client){
        return Plugin_Handled
    }
    if(!IsClientConnected(client))    return Plugin_Handled
    if(IsFakeClient(client))    return Plugin_Handled
.....
.....

10

Re: Автоскрин по STEAM_ID и autoscreen.txt

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

my-ring.ru – Лучшие игровые сервера

11

Re: Автоскрин по STEAM_ID и autoscreen.txt

Endi пишет:
    if(!client){
        return Plugin_Handled
    }

При ошибке -1

my-ring.ru – Лучшие игровые сервера

12 Отредактировано Gamer CSS (2013-10-02 14:35:22)

Re: Автоскрин по STEAM_ID и autoscreen.txt

@serg@ пишет:

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

Опять же, плагин скрина по нику?
И каким образом ты искал игрока?
2Endi
Я ноль в этом вопросе, но может попробовать использовать

if(args < 1){
        ReplyToCommand(id,"Usage: ucp_screen <nick/#uniqueid>")
        return Plugin_Handled
    }

Все таки STEAM_ID это общепризнанный уникальный идентификатор для любого сервера.

13

Re: Автоскрин по STEAM_ID и autoscreen.txt

Gamer CSS пишет:

Опять же, плагин скрина по нику?
И каким образом ты искал игрока?

либо стим-ид, либо юцп-ид, не помню, но и не важно. И зачем его искать, он сам заходит ;)

my-ring.ru – Лучшие игровые сервера

14

Re: Автоскрин по STEAM_ID и autoscreen.txt

@serg@ пишет:
Gamer CSS пишет:

Опять же, плагин скрина по нику?
И каким образом ты искал игрока?

либо стим-ид, либо юцп-ид, не помню, но и не важно. И зачем его искать, он сам заходит ;)

=)
Понятно, но в свете всего вышеизложенного, мы имеем доступным для идентификации только ник игрока.... =)
Очень прошу рассмотреть вариант со STEAM_ID (uniqueid).

15

Re: Автоскрин по STEAM_ID и autoscreen.txt

Gamer CSS пишет:

Понятно, но в свете всего вышеизложенного, мы имеем доступным для идентификации только ник игрока.... =)
Очень прошу рассмотреть вариант со STEAM_ID (uniqueid).

Странно что он вообще работает, ну хоть 1 работает и то хорошо.

my-ring.ru – Лучшие игровые сервера

16 Отредактировано rodgerland (2013-10-03 10:52:17)

Re: Автоскрин по STEAM_ID и autoscreen.txt

Endi пишет:

Ну насчёт того что по userid не понимает - проблема соурсмода кажется.
Юзаю обычный код в подобных случаях:

    if(args < 1){
        ReplyToCommand(id,"Usage: ucp_screen <nick/#userid>")
        return Plugin_Handled
    }
    decl String:arg1[32]
    GetCmdArg(1,arg1,sizeof(arg1))
    new client = FindTarget(id,arg1,0,0)
    if(!client){
        return Plugin_Handled
    }
    if(!IsClientConnected(client))    return Plugin_Handled
    if(IsFakeClient(client))    return Plugin_Handled
.....
.....

Скорей всего и у тебя стоит тоже самое, но это же обращение только к ид, которое не работает, видимо ошибка где-то выше, если не понимает что искать.

P.S. Тогда уже проще избавиться от лишнего кода, если так.

P.S.Регистрируюсь 5-ый раз =)

17

Re: Автоскрин по STEAM_ID и autoscreen.txt

Gamer CSS пишет:

Поддержу, скрин снимается только по нику игрока. Это не самый уникальный идентификатор =)
Попытки снять скрин по ucp_id или userid или по uniqueid (STEAM_ID) приведят к ошибкам и вышеуказанным записям в логе соурсмода.
Хочу немного поправить rodgerland: команды status и ucp_who выдают разные STEAM_ID. Игра считает правильным вариант по status.
На скрине все видно.
http://savepic.org/4567476.png

Только добрался посмотреть со стационарника тему, и что я вижу? Где перед userid хеш (#)
Скриншот будет делаться по командам:
ucp_screen #3
ucp_screen ник

my-ring.ru – Лучшие игровые сервера

18

Re: Автоскрин по STEAM_ID и autoscreen.txt

Совершенно, верно, работает с #

P.S.Регистрируюсь 5-ый раз =)

19 Отредактировано Gamer CSS (2013-10-04 02:17:11)

Re: Автоскрин по STEAM_ID и autoscreen.txt

Ни ник игрока, ни его userid - не являются уникальными идентификаторами (userid - только до перезагрузки сервера).

20

Re: Автоскрин по STEAM_ID и autoscreen.txt

Gamer CSS пишет:

Ни ник игрока, ни его userid - не являются уникальными идентификаторами (userid - только до перезагрузки сервера).

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

my-ring.ru – Лучшие игровые сервера

21 Отредактировано Gamer CSS (2013-10-04 06:21:53)

Re: Автоскрин по STEAM_ID и autoscreen.txt

Блин, Серега, что ты как маленький?
Я об одном а ты о своем....
Давай попорядку......
1. Ник игрок может сменить несколько раз за карту.
2. Идентифицировать его по скрину сейчас можно только с помощью ucp_id. Снять скрин по ucp_id - нельзя.
3. Userid уникален до перезагрузки сервера. Понятно что это происходит не каждый день и даже неделю, но все таки.
4. При написании какого-либо плагина, в том числе того который обсуждается в этой ветке, проще, лучше и грамотней воспользоваться средствами заложенными в структуру Sourcemod.
5. Для нормальной работы плагина, а также некоторых других функций (например взаимодействие с SourceBan), необходим абсолютно уникальный идентификатор, коим повсеместно является STEAM_ID.
6. Во всей этой теме я не обсуждаю проблемы с разовым скрином какого-либо игрока из консоли клиента или сервера. Я говорю о возможности использования функционала уже разработанного и реализованного Endi в ucp.

Приведу простой пример:
Игрок А подозревается в нечестной игре. Хотелось бы подольше, более длительное время, понаблюдать конкретно за ним с помощью снятия скриншотов.

В первом своем сообщении я высказал предложение/вопрос о возможности реализации подобной функции в ucp. На что Endi ответил:

Endi пишет:

Ну это ведь и самостоятельно можно написать плагин :)

Хорошо. Нет - так нет.
Но, в любом случае, встает вопрос идентификации пользователя.......на протяжении длительного периода.....на более чем 10 серверах.....
В следствие чего и было предложено внести корректировку в ucp и предоставить нам возможность снимать скрины по STEAM_ID.


Так более понятно изложил? Или опять мимо кассы?

22

Re: Автоскрин по STEAM_ID и autoscreen.txt

Gamer CSS пишет:

Блин, Серега, что ты как маленький?
Я об одном а ты о своем....
Давай попорядку......
1. Ник игрок может сменить несколько раз за карту.
2. Идентифицировать его по скрину сейчас можно только с помощью ucp_id. Снять скрин по ucp_id - нельзя.
3. Userid уникален до перезагрузки сервера. Понятно что это происходит не каждый день и даже неделю, но все таки.
4. При написании какого-либо плагина, в том числе того который обсуждается в этой ветке, проще, лучше и грамотней воспользоваться средствами заложенными в структуру Sourcemod.
5. Для нормальной работы плагина, а также некоторых других функций (например взаимодействие с SourceBan), необходим абсолютно уникальный идентификатор, коим повсеместно является STEAM_ID.
6. Во всей этой теме я не обсуждаю проблемы с разовым скрином какого-либо игрока из консоли клиента или сервера. Я говорю о возможности использования функционала уже разработанного и реализованного Endi в ucp.

Приведу простой пример:
Игрок А подозревается в нечестной игре. Хотелось бы подольше, более длительное время, понаблюдать конкретно за ним с помощью снятия скриншотов.

В первом своем сообщении я высказал предложение/вопрос о возможности реализации подобной функции в ucp. На что Endi ответил:

Endi пишет:

Ну это ведь и самостоятельно можно написать плагин :)

Хорошо. Нет - так нет.
Но, в любом случае, встает вопрос идентификации пользователя.......на протяжении длительного периода.....на более чем 10 серверах.....
В следствие чего и было предложено внести корректировку в ucp и предоставить нам возможность снимать скрины по STEAM_ID.


Так более понятно изложил? Или опять мимо кассы?

Я с самого начала пытался въехать в тему. Но только после этого сообщения я понял о чём у вас здесь идёт речь.
Почему бы кстати и нет. Если я верно полагаю, то реализация такой возможности не повлияет на работу клиента в целом.

GoldSrc beta-tester

23

Re: Автоскрин по STEAM_ID и autoscreen.txt

>> Или опять мимо кассы?

мимо кассы)
как уже было сказано - не стоит встраивать в ядро функционал который можно прикрутить самому.
дорога тебе на ресурсы типа amx-x.ru, там без труда найдёшь людей готовых за эквивалент пары бутылок пива написать тебе плагин отвечающий требованиям из первого поста, ибо дел там на 5-10 минут.

24

Re: Автоскрин по STEAM_ID и autoscreen.txt

Tnav пишет:

>> Или опять мимо кассы?

мимо кассы)
как уже было сказано - не стоит встраивать в ядро функционал который можно прикрутить самому.
дорога тебе на ресурсы типа amx-x.ru, там без труда найдёшь людей готовых за эквивалент пары бутылок пива написать тебе плагин отвечающий требованиям из первого поста, ибо дел там на 5-10 минут.

Вот это ты кому?
Вам одно, а вы все туда же!
Если смысла не понимаешь смысл писать сообщение, иди купи?!
Тебе же сказали, функционал есть и работает, просто его переделать предложили.

P.S.Регистрируюсь 5-ый раз =)

25

Re: Автоскрин по STEAM_ID и autoscreen.txt

>> Если смысла не понимаешь

в том то и дело, что понимаю :P

>> функционал есть и работает

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