Русское сообщество по скриптингу

[Sypexgeo] Модуль

Все вопросы по скриптингу для SourceMod, помощь в редактировании плагинов.
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптингу для SourceMod.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sp плагина.

[Sypexgeo] Модуль

Сообщение RMfun » 13 июн 2014, 13:55

Привет всем помогите решить проблему. Как мы знаем есть прекрасный модуль Sypexgeo которые показывает координаты игрока так вот добавил в него ещё проверку игрока на Steam или Non-Steam всё прекрасно работает. Создал меню игроков что-бы допустим каждый мог смотреть игрока и его данные. Так вот проблема заключается в том что при выборе другого игрока не показывает его данный при выборе себя показывает!
При выборе игрока Ghost не показывает его данные!
[spoiler][/spoiler]
При выборе себя показывает мои данные!
[spoiler][/spoiler]
sypexgeo_menu.sma
[spoiler][pawn]
  1. #include <amxmodx>

  2. #include <sypexgeo>

  3.  

  4. #define MAX_PLAYERS 32

  5.  

  6. enum _data

  7. {

  8.    _ip[16],

  9.    _name[64],

  10.    _city[64],

  11.    _cc2iso[3],

  12.    _country[32],

  13.    _region[64]

  14. }

  15.  

  16. new data[MAX_PLAYERS + 1][_data];

  17.  

  18.  

  19. public plugin_init()

  20. {

  21.         register_plugin("geo", "1.0", "Ghost")

  22.         register_clcmd("say /geo", "geo_menu")

  23. }

  24.  

  25. public client_putinserver(id)

  26. {

  27.         if(is_user_bot(id) || is_user_hltv(id))

  28.         return

  29.        

  30.         get_user_ip(id,data[id][_ip],15,1);

  31.         get_user_name(id,data[_name],63);

  32.        

  33.         sxgeo_data(data[id][_ip],data[id][_city],63,data[id][_country],63,data[id][_region],63,data[id][_cc2iso],2);

  34. }

  35.  

  36. public geo_menu(id)

  37. {

  38.                 new i_Menu = menu_create("\r[\ySypexgeo\r] \wМеню игроков", "menu_handler")

  39.  

  40.                 new s_Players[32], i_Num, i_Player

  41.  

  42.                 new s_Name[32], s_Player[10]

  43.  

  44.                 get_players(s_Players, i_Num, "ch")

  45.  

  46.                 for (new i; i < i_Num; i++)

  47.                 {

  48.                         i_Player = s_Players[i]

  49.  

  50.                         get_user_name(i_Player, s_Name, charsmax(s_Name))

  51.                         num_to_str(i_Player, s_Player, charsmax(s_Player))

  52.  

  53.                         menu_additem(i_Menu, s_Name, s_Player, 0)

  54.                 }

  55.  

  56.                 menu_display(id, i_Menu, 0)

  57. }

  58.  

  59. public menu_handler(id, menu, item)

  60. {

  61.         if (item == MENU_EXIT)

  62.         {

  63.                 menu_destroy(menu)

  64.                 return PLUGIN_HANDLED

  65.         }

  66.  

  67.         new s_Data[6], s_Name[64], i_Access, i_Callback

  68.         menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

  69.  

  70.         new i_Player = str_to_num(s_Data)

  71.  

  72.        

  73.         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])

  74.  

  75.         menu_destroy(menu)

  76.         return PLUGIN_HANDLED

  77. }

  78.  

  79. stock client_printcolor(const id, const input[], any:...)

  80. {

  81.         new count = 1, players[32]

  82.         static msg[191]

  83.         vformat(msg, 190, input, 3)

  84.          

  85.         replace_all(msg, 190, "!g", "^4") // Green Color

  86.         replace_all(msg, 190, "!y", "^1") // Default Color

  87.         replace_all(msg, 190, "!team", "^3") // Team Color

  88.          

  89.         if (id) players[0] = id; else get_players(players, count, "ch")

  90.         {

  91.                 for (new i = 0; i < count; i++)

  92.                 {

  93.                         if (is_user_connected(players[i]))

  94.                         {

  95.                                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])

  96.                                 write_byte(players[i]);

  97.                                 write_string(msg);

  98.                                 message_end();

  99.                         }

  100.                 }

  101.         }

  102. }

  103. stock bool:is_user_steam(id)

  104. {

  105.         static dp_pointer

  106.         if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))

  107.         {

  108.                 server_cmd("dp_clientinfo %d", id)

  109.                 server_exec()

  110.                 return (get_pcvar_num(dp_pointer) == 2) ? true : false

  111.         }

  112.         return false

  113. }
[/pawn][/spoiler]
Аватара пользователя
RMfun
 
Сообщения: 28
Зарегистрирован: 09 июн 2014, 17:11
Благодарил (а): 10 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше недели

Re: [Sypexgeo] Модуль

Сообщение gyxoBka » 13 июн 2014, 15:35

[pawn]
  1.         #include <amxmodx>

  2.         #include <sypexgeo>

  3.          

  4.         #define MAX_PLAYERS 32

  5.          

  6.         enum _data

  7.         {

  8.            _ip[16],

  9.            _name[64],

  10.            _city[64],

  11.            _cc2iso[3],

  12.            _country[32],

  13.            _region[64]

  14.         }

  15.          

  16.         new data[MAX_PLAYERS + 1][_data];

  17.          

  18.          

  19.         public plugin_init()

  20.         {

  21.                 register_plugin("geo", "1.0", "Ghost")

  22.                 register_clcmd("say /geo", "geo_menu")

  23.         }

  24.          

  25.         public client_putinserver(id)

  26.         {

  27.                 if(is_user_bot(id) || is_user_hltv(id))

  28.                 return

  29.                

  30.                 get_user_ip(id,data[id][_ip],15,1);

  31.                 get_user_name(id,data[_name],63);

  32.                

  33.                 sxgeo_data(data[id][_ip],data[id][_city],63,data[id][_country],63,data[id][_region],63,data[id][_cc2iso],2);

  34.         }

  35.          

  36.         public geo_menu(id)

  37.         {

  38.                         new i_Menu = menu_create("\r[\ySypexgeo\r] \wМеню игроков", "menu_handler")

  39.          

  40.                         new s_Players[32], i_Num, i_Player

  41.          

  42.                         new s_Name[32], s_Player[10]

  43.          

  44.                         get_players(s_Players, i_Num, "ch")

  45.          

  46.                         for (new i; i < i_Num; i++)

  47.                         {

  48.                                 i_Player = s_Players[i]

  49.          

  50.                                 get_user_name(i_Player, s_Name, charsmax(s_Name))

  51.                                 num_to_str(i_Player, s_Player, charsmax(s_Player))

  52.          

  53.                                 menu_additem(i_Menu, s_Name, s_Player, 0)

  54.                         }

  55.          

  56.                         menu_display(id, i_Menu, 0)

  57.         }

  58.          

  59.         public menu_handler(id, menu, item)

  60.         {

  61.                 if (item == MENU_EXIT)

  62.                 {

  63.                         menu_destroy(menu)

  64.                         return PLUGIN_HANDLED

  65.                 }

  66.          

  67.                 new s_Data[6], s_Name[64], i_Access, i_Callback

  68.                 menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

  69.          

  70.                 new i_Player = str_to_num(s_Data)

  71.          

  72.                

  73.                 client_printcolor(id, "^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])

  74.          

  75.                 menu_destroy(menu)

  76.                 return PLUGIN_HANDLED

  77.         }

  78.          

  79.         stock client_printcolor(const id, const input[], any:...)

  80.         {

  81.                 new count = 1, players[32]

  82.                 static msg[191]

  83.                 vformat(msg, 190, input, 3)

  84.                  

  85.                 replace_all(msg, 190, "!g", "^4") // Green Color

  86.                 replace_all(msg, 190, "!y", "^1") // Default Color

  87.                 replace_all(msg, 190, "!team", "^3") // Team Color

  88.                  

  89.                 if (id) players[0] = id; else get_players(players, count, "ch")

  90.                 {

  91.                         for (new i = 0; i < count; i++)

  92.                         {

  93.                                 if (is_user_connected(players[i]))

  94.                                 {

  95.                                         message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])

  96.                                         write_byte(players[i]);

  97.                                         write_string(msg);

  98.                                         message_end();

  99.                                 }

  100.                         }

  101.                 }

  102.         }

  103.         stock bool:is_user_steam(id)

  104.         {

  105.                 static dp_pointer

  106.                 if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))

  107.                 {

  108.                         server_cmd("dp_clientinfo %d", id)

  109.                         server_exec()

  110.                         return (get_pcvar_num(dp_pointer) == 2) ? true : false

  111.                 }

  112.                 return false

  113.         }
[/pawn]
попробуй так
Ню-ню-ню, не пишите мне в ЛС ху*ню.
В ЛС не помогаю и не просите.
Аватара пользователя
gyxoBka
Скриптер
 
Сообщения: 888
Зарегистрирован: 29 янв 2012, 18:03
Благодарил (а): 239 раз.
Поблагодарили: 249 раз.
Опыт программирования: Больше трех лет


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5