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

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

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

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

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

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

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

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

Menu Players 4 Admin

Статус пользователя RMfun
сообщение 10.6.2014, 22:22
Сообщение #1
Стаж: 11 лет

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

Здравствуйте как можно создать меню из присуствующих игроков на сервере ? Допустим админ отрывает меню и там те игроки которые есть в игре ? Если есть возможность дать ссылку хочу намутить такую менюшку!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 10.6.2014, 22:27
Сообщение #2


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

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

читаем, учимся

Отредактировал: GOOD FELLOW, - 10.6.2014, 22:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RMfun
сообщение 10.6.2014, 22:49
Сообщение #3
Стаж: 11 лет

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

GOOD FELLOW,
Спасибо понял уже как )) теперь можете объяснить как правильно добавить вот этот плагин ? )) Если хотите знать для чего мне это я хочу что-бы админ с флагом доступа на бан мог проверять данные об игроках ! Как вы видите очень на мой взгляд хороший плагин с поддержкой sypexgeo + мне помогли в него впихнуть проверку игрока на Steam и Non-Steam!
sypexgeo.sma
Код:
#include <amxmodx>
#include <sypexgeo>
#include <colorchat>

#define MAX_PLAYERS 32

enum _data
{
_ip[16],
_name[64],
_city[64],
_cc2iso[3],
_country[32],
_region[64]
}

new data[MAX_PLAYERS + 1][_data];

public plugin_init()
register_clcmd("say /geo","cmdSxGeo");

public client_putinserver(id)
{
if(is_user_bot(id) || is_user_hltv(id))
return;

get_user_ip(id,data[id][_ip],15,1);
get_user_name(id,data[_name],63);

sxgeo_data(data[id][_ip],data[id][_city],63,data[id][_country],63,data[id][_regi
on],63,data[id][_cc2iso],2);
}

public cmdSxGeo(id){
client_printcolor(id, "^4[^3Geo^4] Имя: ^3%s ^4| Статус: ^3%s ^4| ^4IP: ^3%s ^4| ^4Страна: ^3%s", data[_name], is_user_steam(id) ? "Steam" : "Non-Steam", data[id][_ip], data[id][_country]);
}
stock client_printcolor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
stock bool:is_user_steam(id)
{
// Author Sh0oter
static dp_pointer
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id)
server_exec()
return (get_pcvar_num(dp_pointer) == 2) ? true : false
}
return false
}


Отредактировал: RMfun, - 10.6.2014, 22:51
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 10.6.2014, 23:32
Сообщение #4


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

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Зачем вы юзаете проверку на подключен ли игрок?
Вы делаете цикл по игрокам, значит явно там не будет не подключившихся
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RMfun
сообщение 10.6.2014, 23:35
Сообщение #5
Стаж: 11 лет

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

GOOD FELLOW,
А что нельзя сделать такое меню где админ или любой чел при команде /geo выходило меню со всеми игроками где потом можно выбрать любого и потом выводило данные о игроке ? По этому я хочу как то впихнуть sypexgeo.sma в менюшку или как там делается у вас в проффи кругах )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 10.6.2014, 23:37
Сообщение #6


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

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

В cmdxgeo юзаем проверку
Код:
if(!(get_user_flags(id) & ADMIN_BAN))
return


Сделать то можно.
Я бы сделал, но с телефона сижу
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RMfun
сообщение 10.6.2014, 23:42
Сообщение #7
Стаж: 11 лет

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

GOOD FELLOW,
Не буду вас тревожить лучше с компа как будет свободное время у вас ) ) ) Я один чёрт пытался как-то сделать не понял ( ( (

Цитата(GOOD FELLOW @ 10.6.2014, 23:37) *
В cmdxgeo юзаем проверку
Код:
if(!(get_user_flags(id) & ADMIN_BAN))
return


Сделать то можно.
Я бы сделал, но с телефона сижу

Если я даже поставлю флаг ) там при команде /geo выводится сообщение 1го игрока в этом случае будет админа )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 11.6.2014, 10:04
Сообщение #8


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

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Код:
#include <amxmodx>
#include <sypexgeo>

#define MAX_PLAYERS 32

enum _data
{
_ip[16],
_name[64],
_city[64],
_cc2iso[3],
_country[32],
_region[64]
}

new data[MAX_PLAYERS + 1][_data];


public plugin_init()
{
register_clcmd("/geo", "gey_menu")
}

public client_putinserver(id)
{
if(is_user_bot(id) || is_user_hltv(id))
return

get_user_ip(id,data[id][_ip],15,1);
get_user_name(id,data[_name],63);

sxgeo_data(data[id][_ip],data[id][_city],63,data[id][_country],63,data[id][_regi
on],63,data[id][_cc2iso],2);
}

public geo_menu(id)
{
if(get_user_flags(id) & ADMIN_BAN) {
new i_Menu = menu_create("Geo меню:", "menu_handler")

new s_Players[32], i_Num, i_Player

new s_Name[32], s_Player[10]

get_players(s_Players, i_Num)

for (new i; i < i_Num; i++)
{
i_Player = s_Players[i]

get_user_name(i_Player, s_Name, charsmax(s_Name))
num_to_str(i_Player, s_Player, charsmax(s_Player))

menu_additem(i_Menu, s_Name, s_Player, 0)
}

menu_display(id, i_Menu, 0)
}
}

public menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new i_Player = str_to_num(s_Data)

client_printcolor(i_Player, "^4[^3Geo^4] Имя: ^3%s ^4| Статус: ^3%s ^4| ^4IP: ^3%s ^4| ^4Страна: ^3%s", data[_name], is_user_steam(id) ? "Steam" : "Non-Steam", data[id][_ip], data[id][_country])

menu_destroy(menu)
return PLUGIN_HANDLED
}

stock client_printcolor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
stock bool:is_user_steam(id)
{
static dp_pointer
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id)
server_exec()
return (get_pcvar_num(dp_pointer) == 2) ? true : false
}
return false
}


проверяй, работает или нет:)
компилит без ошибок
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RMfun
сообщение 11.6.2014, 10:07
Сообщение #9
Стаж: 11 лет

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

GOOD FELLOW,
Сейчас проверим )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RMfun
сообщение 11.6.2014, 10:13
Сообщение #10
Стаж: 11 лет

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

GOOD FELLOW,
В логах ошибки пошли
Код
L 06/11/2014 - 13:10:54: Function "gey_menu" was not found
L 06/11/2014 - 13:10:54: [AMXX] Displaying debug trace (plugin "syperxgeo_menu.amxx")
L 06/11/2014 - 13:10:54: [AMXX] Run time error 19: function not found
L 06/11/2014 - 13:10:54: [AMXX]    [0] syperxgeo_menu.sma::plugin_init (line 21)

При вводе команды /geo не выходит меню а сразу проверка того кто ввёл её


Отредактировал: RMfun, - 11.6.2014, 10:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 11.6.2014, 11:23
Сообщение #11


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

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Ой, я там ошибку сделал :D
В register_clcmd
gey_menu замени на geo_menu
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 11.6.2014, 11:24
Сообщение #12


Стаж: 12 лет

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

GOOD FELLOW, rofl.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RMfun
сообщение 11.6.2014, 11:29
Сообщение #13
Стаж: 11 лет

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

GOOD FELLOW,
Сделал но всё равно меню не открывается, ничего не происходит (

Отредактировал: RMfun, - 11.6.2014, 11:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 11.6.2014, 11:30
Сообщение #14


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

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Цитата(Bloo @ 11.6.2014, 11:24) *
GOOD FELLOW, rofl.gif

Бывает и такое rofl.gif

Цитата(RMfun @ 11.6.2014, 11:29) *
GOOD FELLOW,
Сделал но всё равно меню не открывается, а только инфо о том кто ввёл команду /geo

У тебя есть тест сервер? Дома буду - посмотрим еще)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RMfun
сообщение 11.6.2014, 11:38
Сообщение #15
Стаж: 11 лет

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

Цитата(GOOD FELLOW @ 11.6.2014, 11:30) *
У тебя есть тест сервер? Дома буду - посмотрим еще)

Скрытый текст
91.231.255.64

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
csgamer
сообщение 11.6.2014, 11:55
Сообщение #16
Стаж: 12 лет

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

Давно исщу плагин, который выводит список игроков со страной откуда они.
То есть пишешь в чат, например /geo в ответ поевляется MOTD-окно:
1. Player_1 RUS
2. Player_2 RUS
3. Player_3 UKR
4. Player_4 BEL
Ваш плагин такое может делать???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RMfun
сообщение 11.6.2014, 11:59
Сообщение #17
Стаж: 11 лет

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

csgamer,
У меня по другому админу с флагом доступа на бан при вводе команды /geo выводится список всех игроков присуствующих на сервере при выборе определённого игрока выводится такое сообщение
Скрин

Но что-то не получается сделать пока (
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
csgamer
сообщение 11.6.2014, 12:04
Сообщение #18
Стаж: 12 лет

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

А сложно ли передалать, чтобы любому игроку при вводе в чат /geo
выпадало окно просто со никами игроков и их страной.
Удобно видеть кто играет на сервере.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 11.6.2014, 12:19
Сообщение #19


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

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Цитата(csgamer @ 11.6.2014, 12:04) *
А сложно ли передалать, чтобы любому игроку при вводе в чат /geo
выпадало окно просто со никами игроков и их страной.
Удобно видеть кто играет на сервере.

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

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

GOOD FELLOW,
Зайдёте на мой тест сервер?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: