[ANY]Регистрационные данные [Удалено]

Статус
В этой теме нельзя размещать новые ответы.

JDW

Мы открываем бизнес
Сообщения
376
Реакции
325
bat9xxx добавил(а) новый ресурс:

Регистрационные данные - получение данных игрока при первом заходе на сервер.

Плагин будет очень полезен для плагинов, где используется система защиты от взлома. Если игрок вдруг забыл пароль и хочет запросить сброс у администратора, то тогда можно будет проверить, является ли игрок хозяином данного uid или нет. Для полной проверки достаточно спросить следующие вопросы: Из какого города зашел первый раз на сервер; Какой провайдер был?;...

Посмотреть вложение 43916

Узнать больше об этом ресурсе...
 

FlexMan

Участник
Сообщения
72
Реакции
28
● FF0000[REG]FFFFFFUID: FFFF00STEAM_1:1:1254784..
● FF0000[REG]FFFFFFNickname: FFFF00FlexMan
● FF0000[REG]FFFFFFCountry: FFFF00Russia
● FF0000[REG]FFFFFFCountry code: FFFF00RU
● FF0000[REG]FFFFFFRegion: FFFF00Tatarstan
● FF0000[REG]FFFFFFСity: FFFF00.....
● FF0000[REG]FFFFFFOrganization: FFFF00TATTELECOM
● FF0000[REG]FFFFFFProvider: FFFF00OJSC "OAO TATTELECOM"

хз, загрузил ток reginfo.phrases.txt
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #3
В CS:GO по другому происходит покраска чата. Самым простым решением хотя бы как-то на время привести в норму вид - убрать все цвета из файла переводов.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
C++:
public void LookCallback(Database db, DBResultSet result, const char[] error, int iClient){
    if(!result){
        LogError("[RegInfo]Look - %s", error);
        return;
    }

    if(result.HasResults && result.FetchRow()){

        char uid[32], name[MAX_NAME_LENGTH * 2 + 1], country[32], country_code[3], region[32], city[32], org[32], isp[32];

        result.FetchString(0, uid, sizeof(uid));
        result.FetchString(1, name, sizeof(name));
        result.FetchString(2, country, sizeof(country));
        result.FetchString(3, country_code, sizeof(country_code));
        result.FetchString(4, region, sizeof(region));
        result.FetchString(5, city, sizeof(city));
        result.FetchString(6, org, sizeof(org));
        result.FetchString(7, isp, sizeof(isp));

        CPrintToChat(iClient, "%t%t", "Prefix", "UID", uid);
        CPrintToChat(iClient, "%t%t", "Prefix", "Name", name);
        CPrintToChat(iClient, "%t%t", "Prefix", "Country", country);
        CPrintToChat(iClient, "%t%t", "Prefix", "Сountry code", country_code);
        CPrintToChat(iClient, "%t%t", "Prefix", "Region", region);
        CPrintToChat(iClient, "%t%t", "Prefix", "Сity User", city);
        CPrintToChat(iClient, "%t%t", "Prefix", "Organization", org);
        CPrintToChat(iClient, "%t%t", "Prefix", "Isp", isp);

    }else CPrintToChat(iClient, "%t%t", "Prefix", "Empty");
}
можно заменить на
C++:
static const char DATA[][] =
{
    "UID",
    "Name",
    "Country",
    "Сountry code",
    "Region",
    "Сity User",
    "Organization",
    "Isp"
};

public void LookCallback(Database db, DBResultSet result, const char[] error, int iClient)
{
    if(!result)
    {
        LogError("[RegInfo]Look - %s", error);
        return;
    }

    if(result.HasResults && result.FetchRow())
    {
        char buffer[64];
        for(int i, size = sizeof(buffer); i < 8; i++)
        {
            result.FetchString(i, buffer, size);
            CPrintToChat(iClient, "%t%t", "Prefix", DATA[i], buffer);
        }
    }
    else CPrintToChat(iClient, "%t%t", "Prefix", "Empty");
}
И да, размер строковой переменной всегда кратен 4 (если прописать иначе, то компилер всё равно округлит до большего)

Как-то от меня ускользает смысл сохранять всю эту информацию в БД: человек может зайти с другого ПК и, соответственно, при последующем входе сохранённые данные могут не совпасть с новыми
 
Последнее редактирование:
  • Мне нравится
Реакции: JDW

JDW

Мы открываем бизнес
Сообщения
376
Реакции
325
C++:
public void LookCallback(Database db, DBResultSet result, const char[] error, int iClient){
    if(!result){
        LogError("[RegInfo]Look - %s", error);
        return;
    }

    if(result.HasResults && result.FetchRow()){

        char uid[32], name[MAX_NAME_LENGTH * 2 + 1], country[32], country_code[3], region[32], city[32], org[32], isp[32];

        result.FetchString(0, uid, sizeof(uid));
        result.FetchString(1, name, sizeof(name));
        result.FetchString(2, country, sizeof(country));
        result.FetchString(3, country_code, sizeof(country_code));
        result.FetchString(4, region, sizeof(region));
        result.FetchString(5, city, sizeof(city));
        result.FetchString(6, org, sizeof(org));
        result.FetchString(7, isp, sizeof(isp));

        CPrintToChat(iClient, "%t%t", "Prefix", "UID", uid);
        CPrintToChat(iClient, "%t%t", "Prefix", "Name", name);
        CPrintToChat(iClient, "%t%t", "Prefix", "Country", country);
        CPrintToChat(iClient, "%t%t", "Prefix", "Сountry code", country_code);
        CPrintToChat(iClient, "%t%t", "Prefix", "Region", region);
        CPrintToChat(iClient, "%t%t", "Prefix", "Сity User", city);
        CPrintToChat(iClient, "%t%t", "Prefix", "Organization", org);
        CPrintToChat(iClient, "%t%t", "Prefix", "Isp", isp);

    }else CPrintToChat(iClient, "%t%t", "Prefix", "Empty");
}
можно заменить на
C++:
static const char DATA[][] =
{
    "UID",
    "Name",
    "Country",
    "Сountry code",
    "Region",
    "Сity User",
    "Organization",
    "Isp"
};

public void LookCallback(Database db, DBResultSet result, const char[] error, int iClient)
{
    if(!result)
    {
        LogError("[RegInfo]Look - %s", error);
        return;
    }

    if(result.HasResults && result.FetchRow())
    {
        char buffer[64];
        for(int i, size = sizeof(buffer); i < 8; i++)
        {
            result.FetchString(i, buffer, size);
            CPrintToChat(iClient, "%t%t", "Prefix", DATA[i], buffer);
        }
    }
    else CPrintToChat(iClient, "%t%t", "Prefix", "Empty");
}
И да, размер строковой переменной всегда кратен 4 (если прописать иначе, то компилер всё равно округлит до большего)

Как-то от меня ускользает смысл сохранять всю эту информацию в БД: человек может зайти с другого ПК и, соответственно, при последующем входе сохранённые данные могут не совпасть с новыми

Идея сама взята из сампа, где, люди по рег данным определяют: взломан аккаунт или нет. Простые вопросы, например: Какой провайдер был тогда, когда вы в первый раз зашли на сервер? Это очень простой метод для подтверждения личности
Сообщения автоматически склеены:

C++:
public void LookCallback(Database db, DBResultSet result, const char[] error, int iClient){
    if(!result){
        LogError("[RegInfo]Look - %s", error);
        return;
    }

    if(result.HasResults && result.FetchRow()){

        char uid[32], name[MAX_NAME_LENGTH * 2 + 1], country[32], country_code[3], region[32], city[32], org[32], isp[32];

        result.FetchString(0, uid, sizeof(uid));
        result.FetchString(1, name, sizeof(name));
        result.FetchString(2, country, sizeof(country));
        result.FetchString(3, country_code, sizeof(country_code));
        result.FetchString(4, region, sizeof(region));
        result.FetchString(5, city, sizeof(city));
        result.FetchString(6, org, sizeof(org));
        result.FetchString(7, isp, sizeof(isp));

        CPrintToChat(iClient, "%t%t", "Prefix", "UID", uid);
        CPrintToChat(iClient, "%t%t", "Prefix", "Name", name);
        CPrintToChat(iClient, "%t%t", "Prefix", "Country", country);
        CPrintToChat(iClient, "%t%t", "Prefix", "Сountry code", country_code);
        CPrintToChat(iClient, "%t%t", "Prefix", "Region", region);
        CPrintToChat(iClient, "%t%t", "Prefix", "Сity User", city);
        CPrintToChat(iClient, "%t%t", "Prefix", "Organization", org);
        CPrintToChat(iClient, "%t%t", "Prefix", "Isp", isp);

    }else CPrintToChat(iClient, "%t%t", "Prefix", "Empty");
}
можно заменить на
C++:
static const char DATA[][] =
{
    "UID",
    "Name",
    "Country",
    "Сountry code",
    "Region",
    "Сity User",
    "Organization",
    "Isp"
};

public void LookCallback(Database db, DBResultSet result, const char[] error, int iClient)
{
    if(!result)
    {
        LogError("[RegInfo]Look - %s", error);
        return;
    }

    if(result.HasResults && result.FetchRow())
    {
        char buffer[64];
        for(int i, size = sizeof(buffer); i < 8; i++)
        {
            result.FetchString(i, buffer, size);
            CPrintToChat(iClient, "%t%t", "Prefix", DATA[i], buffer);
        }
    }
    else CPrintToChat(iClient, "%t%t", "Prefix", "Empty");
}
И да, размер строковой переменной всегда кратен 4 (если прописать иначе, то компилер всё равно округлит до большего)

Как-то от меня ускользает смысл сохранять всю эту информацию в БД: человек может зайти с другого ПК и, соответственно, при последующем входе сохранённые данные могут не совпасть с новыми
Спасибо, в следующий раз учту это) как всегда, полезные советы!
Сообщения автоматически склеены:

● FF0000[REG]FFFFFFUID: FFFF00STEAM_1:1:1254784..
● FF0000[REG]FFFFFFNickname: FFFF00FlexMan
● FF0000[REG]FFFFFFCountry: FFFF00Russia
● FF0000[REG]FFFFFFCountry code: FFFF00RU
● FF0000[REG]FFFFFFRegion: FFFF00Tatarstan
● FF0000[REG]FFFFFFСity: FFFF00.....
● FF0000[REG]FFFFFFOrganization: FFFF00TATTELECOM
● FF0000[REG]FFFFFFProvider: FFFF00OJSC "OAO TATTELECOM"

хз, загрузил ток reginfo.phrases.txt

Сейчас выложу обновление, где будет исправлена данная проблема
 
Последнее редактирование модератором:

Yooki

Добрая душа
Сообщения
473
Реакции
169
PHP:
L 09/29/2019 - 03:45:24: [SM] Exception reported: Could not retrieve value for key 'country'
L 09/29/2019 - 03:45:24: [SM] Blaming: reginfo.smx
L 09/29/2019 - 03:45:24: [SM] Call stack trace:
L 09/29/2019 - 03:45:24: [SM]   [0] JSONObject.GetString
L 09/29/2019 - 03:45:24: [SM]   [1] Line 106, C:\Users\bat9s\Desktop\rb\new\reginfo.sp::OnHTTPResponse
 

JDW

Мы открываем бизнес
Сообщения
376
Реакции
325
PHP:
L 09/29/2019 - 03:45:24: [SM] Exception reported: Could not retrieve value for key 'country'
L 09/29/2019 - 03:45:24: [SM] Blaming: reginfo.smx
L 09/29/2019 - 03:45:24: [SM] Call stack trace:
L 09/29/2019 - 03:45:24: [SM]   [0] JSONObject.GetString
L 09/29/2019 - 03:45:24: [SM]   [1] Line 106, C:\Users\bat9s\Desktop\rb\new\reginfo.sp::OnHTTPResponse
Как будет время, то проверю, возможно посредник не отдает в запросе страну
 

JDW

Мы открываем бизнес
Сообщения
376
Реакции
325
Этот ресурс был удалён и больше недоступен.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу