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

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

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

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

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

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

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

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

[Sypexgeo] Модуль

Статус пользователя celldweller
сообщение 13.6.2014, 11:39
Сообщение #1
Стаж: 11 лет

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

Привет всем помогите решить проблему. Как мы знаем есть прекрасный модуль Sypexgeo которые показывает координаты игрока так вот добавил в него ещё проверку игрока на Steam или Non-Steam всё прекрасно работает. Создал меню игроков что-бы допустим каждый мог смотреть игрока и его данные. Так вот проблема заключается в том что при выборе другого игрока не показывает его данный при выборе себя показывает!
При выборе игрока Ghost не показывает его данные

При выбор себя показывает мои данные

sypexgeo_menu.sma
Код:
#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_plugin("geo", "1.0", "Ghost")
register_clcmd("say /geo", "geo_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)
{
new i_Menu = menu_create("\r[\ySypexgeo\r] \wМеню игроков", "menu_handler")

new s_Players[32], i_Num, i_Player

new s_Name[32], s_Player[10]

get_players(s_Players, i_Num, "ch")

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Имя: ^3%s ^1| ^4Статус: ^3%s ^1| ^4IP: ^3%s ^1| ^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
}


Отредактировал: celldweller, - 13.6.2014, 11:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя DraconKCH
сообщение 13.6.2014, 11:56
Сообщение #2
Стаж: 17 лет

Сообщений: 156
Благодарностей: 74
Полезность: 373

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

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


Отредактировал: DraconKCH, - 13.6.2014, 12:04
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя DraconKCH
сообщение 13.6.2014, 12:01
Сообщение #3
Стаж: 17 лет

Сообщений: 156
Благодарностей: 74
Полезность: 373

Цитата(GOOD FELLOW @ 13.6.2014, 16:00) *
бред
нужно получать данные выбранного игрока (т.е. i_Player)
если поставить id, то ты всегда будешь получать лишь значения самого себя

id тут это КОМУ отправляется сообщение, а не КОГО данные брать.

p.s.
в коде ещё ошибка
Код:
get_user_name(id,data[_name],63);

заменить на
Код:
get_user_name(id,data[id][_name],63);


и
Код:
data[_name]

заменить на
Код:
data[i_Player][_name]


Отредактировал: DraconKCH, - 13.6.2014, 12:05
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 13.6.2014, 12:03
Сообщение #4


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

Стаж: 13 лет

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

хмм... точно. сглупил:)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 13.6.2014, 12:10
Сообщение #5


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

Стаж: 13 лет

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

все ништяк, че то я сглупил, когда делал, а потом допереть не мог)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя celldweller
сообщение 13.6.2014, 12:17
Сообщение #6
Стаж: 11 лет

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

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