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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

SXGEO Plugin Countrykicker Fix Pls

Статус пользователя Infamous2017
сообщение 25.11.2018, 17:56
Сообщение #1
Стаж: 7 лет 6 месяцев

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

Hello i got an Plugin from Oxi who should kick forbidden Countries but the Plugin dont work.

The Module SXGEO is running, (https://dev-cs.ru/threads/2733/ )

the Plugin is showing running,

i am running 1.8.3 plugins and reamxmod 1.8.3

Maybe anyone have an idea why it dont work... I am from Germany so i added "de" and it should kick me but nothing happens...


here is the SMA


Код
#include <amxmodx>
#include <sxgeo>

new const g_szCountries[][] = { "bg", "de" }
new const g_szKickReason[] = "Players from your country are not allowed here."
new Trie:g_tCountries

public plugin_init()
{
    register_plugin("SxGeo: Country Kicker", "1.0", "OciXCrom")
    g_tCountries = TrieCreate()

    for(new i; i < sizeof(g_szCountries); i++)
        TrieSetCell(g_tCountries, g_szCountries[i], true)
}

public plugin_end()
    TrieDestroy(g_tCountries)

public client_connect(id)
{
    new szIP[22], szCode[3]
    get_user_ip(id, szIP, charsmax(szIP))
    sxgeo_code(szIP, szCode)

    log_amx("%s connected from %s", szIP, szCode)

    if(TrieKeyExists(g_tCountries, szCode))
        server_cmd("kick #%i ^"%s^"", get_user_userid(id), g_szKickReason)
}








Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя SISA
сообщение 25.11.2018, 22:07
Сообщение #2
Стаж: 13 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Какая строка в вашем коде не работает ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Infamous2017
сообщение 25.11.2018, 22:12
Сообщение #3
Стаж: 7 лет 6 месяцев

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

This is the question... The Plugin showing as "running" but it do nothing........ So maybe the full code is bugged idk... this why i asked here for help
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 25.11.2018, 22:37
Сообщение #4
Стаж: 13 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Какой смысл в получении готового ответа, если он не прибавляет ваших знаний ?

1. sxgeo в сравнении с geoip, обладает низким процентом определения данных. Для нормальной работы нужен geoip
2. Вы получаете IP:PORT из функции get_user_ip, так как не используете последний аргумент
3. При использовании функци TrieKeyExists, de != DE

#include <sxgeo> > #include <geoip>
get_user_ip(id, szIP, charsmax(szIP)) > get_user_ip(id, szIP, charsmax(szIP), 1)
sxgeo_code(szIP, szCode) > geoip_code2_ex(szIP, szCode)
{ "bg", "de" } > { "BG", "DE" }

Отредактировал: SISA, - 25.11.2018, 22:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Infamous2017
сообщение 26.11.2018, 19:40
Сообщение #5
Стаж: 7 лет 6 месяцев

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

THANK YOU. works now.

Код
#include <amxmodx>
#include <sxgeo>
#include <geoip>

new const g_szCountries[][] = { "LY" }
new const g_szKickReason[] = "Players from your country are not allowed here."
new Trie:g_tCountries

public plugin_init()
{
    register_plugin("SxGeo: Country Kicker", "1.0", "OciXCrom")
    g_tCountries = TrieCreate()

    for(new i; i < sizeof(g_szCountries); i++)
        TrieSetCell(g_tCountries, g_szCountries[i], true)
}

public plugin_end()
    TrieDestroy(g_tCountries)

public client_connect(id)
{
    new szIP[22], szCode[3]
    get_user_ip (id, szIP, charsmax (szIP), 1)
    geoip_code2_ex(szIP, szCode)

    log_amx("%s connected from %s", szIP, szCode)

    if(TrieKeyExists(g_tCountries, szCode))
        server_cmd("kick #%i ^"%s^"", get_user_userid(id), g_szKickReason)
}

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