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

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

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

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

3 страниц V   1 2 3

изменение команды amx_who

exec1337
сообщение 4.4.2014, 17:59
Сообщение #21
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Цитата(Legenda @ 4.4.2014, 18:59) *
в смысле откуда?
мой скрин
лично делал
block_ip плагин

Как реализовано? табом?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
aTaH177
сообщение 4.4.2014, 18:02
Сообщение #22
Стаж: 12 лет

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

Цитата(exec1337 @ 4.4.2014, 17:58) *
Такой-какой? Пример вообще из другово плагина. Это логер коннектов, а не amx_who :)

Откуда скрин?

Дак можете плагин то дать такой?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 4.4.2014, 18:03
Сообщение #23


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

Стаж: 16 лет

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

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

Цитата(exec1337 @ 4.4.2014, 19:59) *
Как реализовано? табом?

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

можно кстати по другому делать, получать через цикл всех игроков
внутри amxx форматировать текст (все строки)
а потом их выводить
можно будет еще строки отсортировать по длине путем подсчета символов
и т.п.
но это не нормальный метод
как и у меня
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 4.4.2014, 18:09
Сообщение #24
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Цитата(Legenda @ 4.4.2014, 19:03) *
через опу, консоль не знает таба, к тому же вывод идет по строчно
так что через пробелы

можно кстати по другому делать, получать через цикл всех игроков
внутри amxx форматировать текст (все строки)
а потом их выводить
можно будет еще строки отсортировать по длине путем подсчета символов
и т.п.
но это не нормальный метод
как и у меня

таб=три пробела
у себя сделал также. если честно, то не особо вышло, но лучшне как я понял,не сделать

у вас умно сделано то, что сначала идут данные, у которых кол-во символов всегда примерно равно (%-20s), а далее уже динамические данные. хороший выход, возьму себе)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 4.4.2014, 18:11
Сообщение #25


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

Стаж: 16 лет

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

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

Цитата(exec1337 @ 4.4.2014, 20:09) *
таб=три пробела

это абсолютно не верно и не так



Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 4.4.2014, 18:13
Сообщение #26
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Цитата(Legenda @ 4.4.2014, 19:11) *
это абсолютно не верно и не так

вероятно он редактора зависит
но в любом случае очень удобно табуляцию задавать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 4.4.2014, 18:14
Сообщение #27


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

Стаж: 16 лет

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

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

Цитата(exec1337 @ 4.4.2014, 20:13) *
вероятно он редактора зависит
но в любом случае очень удобно табуляцию задавать

в любом случаи в консоли cs этого сделать нельзя


лично я нашел такой выход

Код
new tabul[9][] = {
"^t",                //0
"  ^t",                //1
"    ^t",            //2
"      ^t",            //3
"        ^t",            //4
"          ^t",            //5
"            ^t",        //6
"              ^t",        //7
"                ^t"};        //8

new i_tabul = 21-strlen(ip)
format(msg,127,"%s%s",ip,tabul[i_tabul])

и даже не спрашивай почему такая лестница, очень трудно и долго объяснять
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 21.7.2015, 19:36
Сообщение #28


Стаж: 14 лет

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

Народ, помогите подравнять. Сделал как надо, но вот проблема, не показывать полностью Steam ID, если даже менять сперва IP, то и его будет на половину показывать.
Консоль


Вот код:
код
Код:
public cmdWho(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
{
return PLUGIN_HANDLED
}

new players[32], inum, cl_on_server[64], authid[32], ip[32], flags, sflags[32], lAccess[21], name[32]

format(lAccess, charsmax(lAccess), "%L", id, "ACCESS")
format(cl_on_server, charsmax(cl_on_server), "%L", id, "CLIENTS_ON_SERVER")

console_print(id, "%-5s %-26.15s %-37s %-27s %s", "ID", "Steam ID", "IP адрес", lAccess, "Имя")

get_players(players, inum)

for (new a = 0; a < inum; ++a)
{
get_user_authid(players[a], authid, charsmax(authid))
get_user_ip(players[a], ip, charsmax(ip))
flags = get_user_flags(players[a])
get_flags(flags, sflags, charsmax(sflags))
get_user_name(players[a], name, charsmax(name))

console_print(id, "%-5d %-20.15s %-25s %-25s %s", get_user_userid(players[a]), authid, ip, sflags, name)
}

console_print(id, "%L", id, "TOTAL_NUM", inum)

get_user_authid(id, authid, charsmax(authid))
get_user_name(id, name, charsmax(name))

log_amx("Cmd: ^"%s<%d><%s><>^" ask for players list", name, get_user_userid(id), authid)

return PLUGIN_HANDLED
}


Если можно, то добавьте еще столбец с пингом после прав, и помогите выравнять на сколько это возможно. За ранее спасибо!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 21.7.2015, 19:38
Сообщение #29


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

ncux0Zz, размер массива authid попробуй увеличить, хотя он должен умещаться в 32 байта.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 21.7.2015, 19:42
Сообщение #30


Стаж: 14 лет

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

Цитата(Bloo @ 21.7.2015, 23:33) *
ncux0Zz, размер массива authid попробуй увеличить, хотя он должен умещаться в 32 байта.


я это делал и другие масивы уеличивал, не помогло.
Менял IP местами и увеличивал тоже масив, все равно не помогало. То что первое то не полностью показывает.

Отредактировал: ncux0Zz, - 21.7.2015, 19:42
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 21.7.2015, 19:53
Сообщение #31


Стаж: 14 лет

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

и скажите как пинг добавить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 21.7.2015, 20:14
Сообщение #32


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Цитата
я это делал и другие масивы уеличивал, не помогло.

Строка 25я в куске кода и весь стимид покажет.
Код:
console_print(id, "%-5d %-20s %-25s %-25s %s", get_user_userid(players[a]), authid, ip, sflags, name)


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 21.7.2015, 20:28
Сообщение #33


Стаж: 14 лет

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

Цитата(qvadro @ 22.7.2015, 0:10) *
Строка 25я в куске кода и весь стимид покажет.
Код:
console_print(id, "%-5d %-20s %-25s %-25s %s", get_user_userid(players[a]), authid, ip, sflags, name)


Спасибо, помогло.
Не знаешь, как добавить пинг?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 22.7.2015, 12:19
Сообщение #34


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Код:
get_user_ping(players[a], ping, loss)


Отредактировал: qvadro, - 22.7.2015, 12:22


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 22.7.2015, 18:24
Сообщение #35


Стаж: 14 лет

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

Цитата(qvadro @ 22.7.2015, 16:15) *
Код:
get_user_ping(players[a], ping, loss)


я не селен в языке программирования, попробовал сделать, не получается, выдает ошибку
Cкрытый текст
Код:
public cmdWho(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED

new players[32], inum, cl_on_server[64], authid[32], ip[32], flags, sflags[32], lAccess[21], loss[16], name[32]

format(lAccess, charsmax(lAccess), "%L", id, "ACCESS")
format(cl_on_server, charsmax(cl_on_server), "%L", id, "CLIENTS_ON_SERVER")

console_print(id, "%-5s %-32s %-37s %-29s %-29s %s", "ID", "Steam ID", "IP адрес", lAccess, "Пинг", "Имя")

get_players(players, inum)
for (new a = 0; a < inum; ++a)
{
get_user_authid(players[a], authid, charsmax(authid))
get_user_ip(players[a], ip, charsmax(ip))
flags = get_user_flags(players[a])
get_flags(flags, sflags, charsmax(sflags))
get_user_name(players[a], name, charsmax(name))
get_user_ping(players[a], ping, charsmax(loss))

console_print(id, "%-5d %-23s %-25s %-25s %-25s %s", get_user_userid(players[a]), authid, ip, sflags, loss, name)
}

console_print(id, "%L", id, "TOTAL_NUM", inum)

get_user_authid(id, authid, charsmax(authid))
get_user_name(id, name, charsmax(name))

log_amx("Cmd: ^"%s<%d><%s><>^" ask for players list", name, get_user_userid(id), authid)

return PLUGIN_HANDLED
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 22.7.2015, 22:49
Сообщение #36


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Зачем дербанить функцию, а не использовать как есть...
code
Код:
public cmdWho(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
{
return PLUGIN_HANDLED
}

new players[32], inum, cl_on_server[64], authid[32], ip[32], flags, sflags[32], lAccess[21], name[32], ping, loss

format(lAccess, charsmax(lAccess), "%L", id, "ACCESS")
format(cl_on_server, charsmax(cl_on_server), "%L", id, "CLIENTS_ON_SERVER")
console_print(id, "%-5s %-26.15s %-37s %-27s %-16.15s %s", "ID", "Steam ID", "IP адрес", lAccess, "Пинг", "Имя")

get_players(players, inum)

for (new a = 0; a < inum; ++a)
{
get_user_authid(players[a], authid, charsmax(authid))
get_user_ip(players[a], ip, charsmax(ip), 1)
flags = get_user_flags(players[a])
get_flags(flags, sflags, charsmax(sflags))
get_user_name(players[a], name, charsmax(name))
get_user_ping(players[a], ping, loss)
console_print(id, "%-5d %-20s %-25s %-25s %-16.15d %s", get_user_userid(players[a]), authid, ip, sflags, ping, name)
}

console_print(id, "%L", id, "TOTAL_NUM", inum)

get_user_authid(id, authid, charsmax(authid))
get_user_name(id, name, charsmax(name))

log_amx("Cmd: ^"%s<%d><%s><>^" ask for players list", name, get_user_userid(id), authid)

return PLUGIN_HANDLED
}



Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 25.7.2015, 18:51
Сообщение #37


Стаж: 14 лет

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

Возникла проблема в коде, сам плагин выдает информацию правильно, но вот ID (номер порядковый) выдает в начале строки не правильно:
console

В консоле видно в начале строки цифры порядковые "23" и "24", хотя должно быть "1" и "2" и т.д. в зависимости количества человек, вот если стандартный admincmd.amxx поставить, то там все правльно показывает, помогите исправить.
Мой код с исправленным amx_who:
мой cmdWho
Код:
public cmdWho(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED

new players[32], inum, cl_on_server[64], authid[32], ip[32], flags, sflags[32], lAccess[21], name[32]

format(lAccess, charsmax(lAccess), "%L", id, "ACCESS")
format(cl_on_server, charsmax(cl_on_server), "%L", id, "CLIENTS_ON_SERVER")

console_print(id, "%-5s %-32s %-37s %-29s %s", "ID", "Steam ID", "IP адрес", lAccess, "Имя")

get_players(players, inum)
for (new a = 0; a < inum; ++a)
{
get_user_authid(players[a], authid, charsmax(authid))
get_user_ip(players[a], ip, charsmax(ip))
flags = get_user_flags(players[a])
get_flags(flags, sflags, charsmax(sflags))
get_user_name(players[a], name, charsmax(name))

console_print(id, "%-5d %-23s %-25s %-25s %s", get_user_userid(players[a]), authid, ip, sflags, name)
}

console_print(id, "%L", id, "TOTAL_NUM", inum)

get_user_authid(id, authid, charsmax(authid))
get_user_name(id, name, charsmax(name))

log_amx("Cmd: ^"%s<%d><%s><>^" ask for players list", name, get_user_userid(id), authid)

return PLUGIN_HANDLED
}


Стандартный cmdWho
Код:
public cmdWho(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED

new players[MAX_PLAYERS], inum, cl_on_server[64], authid[32], name[MAX_NAME_LENGTH], flags, sflags[32], plr
new lImm[16], lRes[16], lAccess[16], lYes[16], lNo[16]

formatex(lImm, charsmax(lImm), "%L", id, "IMMU")
formatex(lRes, charsmax(lRes), "%L", id, "RESERV")
formatex(lAccess, charsmax(lAccess), "%L", id, "ACCESS")
formatex(lYes, charsmax(lYes), "%L", id, "YES")
formatex(lNo, charsmax(lNo), "%L", id, "NO")

get_players(players, inum)
format(cl_on_server, charsmax(cl_on_server), "%L", id, "CLIENTS_ON_SERVER")
console_print(id, "^n%s:^n # %-16.15s %-20s %-8s %-4.3s %-4.3s %s", cl_on_server, "nick", "authid", "userid", lImm, lRes, lAccess)

for (new a = 0; a < inum; ++a)
{
plr = players[a]
get_user_authid(plr, authid, charsmax(authid))
get_user_name(plr, name, charsmax(name))
flags = get_user_flags(plr)
get_flags(flags, sflags, charsmax(sflags))
console_print(id, "%2d %-16.15s %-20s %-8d %-6.5s %-6.5s %s", plr, name, authid,
get_user_userid(plr), (flags&ADMIN_IMMUNITY) ? lYes : lNo, (flags&ADMIN_RESERVATION) ? lYes : lNo, sflags)
}

console_print(id, "%L", id, "TOTAL_NUM", inum)
get_user_authid(id, authid, charsmax(authid))
get_user_name(id, name, charsmax(name))
log_amx("Cmd: ^"%s<%d><%s><>^" ask for players list", name, get_user_userid(id), authid)

return PLUGIN_HANDLED
}


И можно дописать "cl_on_server" чтобы правильно работал, как в стандартном плагине, буду благодарен!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GDon
сообщение 24.12.2015, 9:35
Сообщение #38


Стаж: 12 лет

Сообщений: 267
Благодарностей: 60
Полезность: 124

Ребята а как вообще убрать amx_who чтобы в консоле ничего не показывать, как status?


*_*_*_*_*_*_*_*_*_*_ВСЕ_О_КС_*_*_*_*_*_*_*_*_*_*
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя georgeml
сообщение 24.12.2015, 9:38
Сообщение #39
Стаж: 12 лет

Сообщений: 1467
Благодарностей: 439
Полезность: 423

GDon, cmdaccess в помощь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GDon
сообщение 24.12.2015, 9:40
Сообщение #40


Стаж: 12 лет

Сообщений: 267
Благодарностей: 60
Полезность: 124

Цитата(georgeml @ 24.12.2015, 13:34) *
GDon, cmdaccess в помощь


Это где находится? извини но я в этом "дуб")


*_*_*_*_*_*_*_*_*_*_ВСЕ_О_КС_*_*_*_*_*_*_*_*_*_*
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
3 страниц V   1 2 3
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: