[LR WEB] Вывод списка администрации и репутации

[LR WEB] Вывод списка администрации и репутации 1.3.2

Rabb1t

Амбассадор
Сообщения
2,968
Реакции
1,429
  • Команда форума
  • #61
1. Изменён способ получения стим id игрока и администратора
В случае, если у вас проблема с STEAM_1/STEAM_0 (т.к. оффлайн всегда 0 будет, а в игре 0/1 в зависимости от игры) так (ниже) лучше не делать Вам.
C-подобный:
public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        char sBuffer[8];
        g_cvFlag.GetString(sBuffer, sizeof(sBuffer));
        GetClientAuthId(iClient, AuthId_Steam2, g_sAuthID[iClient], sizeof(g_sAuthID));
        if(CheckAdminFlags(iClient, ReadFlagString(sBuffer)))
        {
            char szQuery[128];
            g_hDatabase.Format(szQuery, sizeof(szQuery), "SELECT `id` FROM `sb_adminsinfo` WHERE `auth` = '%s';", g_sAuthID[iClient]);
            g_hDatabase.Query(DB_GetAuthCallback, szQuery, GetClientUserId(iClient));
        }
    }
}
->
C-подобный:
public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        char sBuffer[8];
        g_cvFlag.GetString(sBuffer, sizeof(sBuffer));
        int iAccountId = GetSteamAccountID(iClient);
        FormatEx(g_sAuthID[iClient], sizeof(g_sAuthID), "STEAM_0:%d:%d", iAccountId % 2, iAccountId / 2);
        if(CheckAdminFlags(iClient, ReadFlagString(sBuffer)))
        {
            char szQuery[128];
            g_hDatabase.Format(szQuery, sizeof(szQuery), "SELECT `id` FROM `sb_adminsinfo` WHERE `auth` = '%s';", g_sAuthID[iClient]);
            g_hDatabase.Query(DB_GetAuthCallback, szQuery, GetClientUserId(iClient));
        }
    }
}
Так, вне зависимости от игры у вас будет 0 всегда, как и в вебе.
 

Boywlater

Участник
Сообщения
132
Реакции
32
Ошибка про которую я писал выше осталась.
Если например поставить дизлайк а потом попробовать изменить на лайк то ничего не происходит, и в консоле сервера ошибка.
C-подобный:
L 11/23/2020 - 20:53:50: [SM] Exception reported: Escaped string would be truncated (arg 5)
L 11/23/2020 - 20:53:50: [SM] Blaming: Admins_Def.smx
L 11/23/2020 - 20:53:50: [SM] Call stack trace:
L 11/23/2020 - 20:53:50: [SM]   [0] Database.Format
L 11/23/2020 - 20:53:50: [SM]   [1] Line 224, D:\Alte windows\Server\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\Admins_Def.sp::SetReputation
L 11/23/2020 - 20:53:50: [SM]   [2] Line 602, D:\Alte windows\Server\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\Admins_Def.sp::Reputation_Handler
 

Soragy

4ort
Сообщения
46
Реакции
57
  • Автор ресурса
  • #63
В случае, если у вас проблема с STEAM_1/STEAM_0 (т.к. оффлайн всегда 0 будет, а в игре 0/1 в зависимости от игры) так (ниже) лучше не делать Вам.
C-подобный:
public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        char sBuffer[8];
        g_cvFlag.GetString(sBuffer, sizeof(sBuffer));
        GetClientAuthId(iClient, AuthId_Steam2, g_sAuthID[iClient], sizeof(g_sAuthID));
        if(CheckAdminFlags(iClient, ReadFlagString(sBuffer)))
        {
            char szQuery[128];
            g_hDatabase.Format(szQuery, sizeof(szQuery), "SELECT `id` FROM `sb_adminsinfo` WHERE `auth` = '%s';", g_sAuthID[iClient]);
            g_hDatabase.Query(DB_GetAuthCallback, szQuery, GetClientUserId(iClient));
        }
    }
}
->
C-подобный:
public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        char sBuffer[8];
        g_cvFlag.GetString(sBuffer, sizeof(sBuffer));
        int iAccountId = GetSteamAccountID(iClient);
        FormatEx(g_sAuthID[iClient], sizeof(g_sAuthID), "STEAM_0:%d:%d", iAccountId % 2, iAccountId / 2);
        if(CheckAdminFlags(iClient, ReadFlagString(sBuffer)))
        {
            char szQuery[128];
            g_hDatabase.Format(szQuery, sizeof(szQuery), "SELECT `id` FROM `sb_adminsinfo` WHERE `auth` = '%s';", g_sAuthID[iClient]);
            g_hDatabase.Query(DB_GetAuthCallback, szQuery, GetClientUserId(iClient));
        }
    }
}
Так, вне зависимости от игры у вас будет 0 всегда, как и в вебе.
Это было сделано для css потому что у них записывалось в Db такой Steam ID3(U:1:152409822)
А проверка на "В случае, если у вас проблема с STEAM_1/STEAM_0 (т.к. оффлайн всегда 0 будет, а в игре 0/1 в зависимости от игры) так (ниже) лучше не делать Вам."

data.php:
( SELECT {$Db->db_data['Admins'][0]['Table']}adminsinfo.likes FROM {$Db->db_data['SourceBans'][ 0 ]['Table']}adminsinfo WHERE auth REGEXP SUBSTRING({$Db->db_data['SourceBans'][0]['Table']}admins.authid, 10)) AS like_count,
( SELECT {$Db->db_data['Admins'][0]['Table']}adminsinfo.dislikes FROM {$Db->db_data['SourceBans'][ 0 ]['Table']}adminsinfo WHERE auth REGEXP SUBSTRING({$Db->db_data['SourceBans'][0]['Table']}admins.authid, 10)) AS dislike_count
И теперь не важно какое steam id в Db
Сообщения автоматически склеены:

Web по стандарту работает с 1 в стим id
Просто когда добавляют администратора в SB кто-то указывает 1 а кто-то 0
 
Последнее редактирование:

Romanov

Участник
Сообщения
404
Реакции
40
Это было сделано для css потому что у них записывалось в Db такой Steam ID3(U:1:152409822)
А проверка на "В случае, если у вас проблема с STEAM_1/STEAM_0 (т.к. оффлайн всегда 0 будет, а в игре 0/1 в зависимости от игры) так (ниже) лучше не делать Вам."

data.php:
( SELECT {$Db->db_data['Admins'][0]['Table']}adminsinfo.likes FROM {$Db->db_data['SourceBans'][ 0 ]['Table']}adminsinfo WHERE auth REGEXP SUBSTRING({$Db->db_data['SourceBans'][0]['Table']}admins.authid, 10)) AS like_count,
( SELECT {$Db->db_data['Admins'][0]['Table']}adminsinfo.dislikes FROM {$Db->db_data['SourceBans'][ 0 ]['Table']}adminsinfo WHERE auth REGEXP SUBSTRING({$Db->db_data['SourceBans'][0]['Table']}admins.authid, 10)) AS dislike_count
И теперь не важно какое steam id в Db
Сообщения автоматически склеены:

Web по стандарту работает с 1 в стим id
Просто когда добавляют администратора в SB кто-то указывает 1 а кто-то 0
так и записывает на ксс ID3(U:1:152409822) плагин из папки ма заливал
Сообщения автоматически склеены:

так и записывает на ксс ID3(U:1:152409822) плагин из папки ма заливал
все норм data.php не обновилась с первого раза )))
 

Soragy

4ort
Сообщения
46
Реакции
57
  • Автор ресурса
  • #65
Ошибка про которую я писал выше осталась.
Если например поставить дизлайк а потом попробовать изменить на лайк то ничего не происходит, и в консоле сервера ошибка.
C-подобный:
L 11/23/2020 - 20:53:50: [SM] Exception reported: Escaped string would be truncated (arg 5)
L 11/23/2020 - 20:53:50: [SM] Blaming: Admins_Def.smx
L 11/23/2020 - 20:53:50: [SM] Call stack trace:
L 11/23/2020 - 20:53:50: [SM]   [0] Database.Format
L 11/23/2020 - 20:53:50: [SM]   [1] Line 224, D:\Alte windows\Server\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\Admins_Def.sp::SetReputation
L 11/23/2020 - 20:53:50: [SM]   [2] Line 602, D:\Alte windows\Server\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\Admins_Def.sp::Reputation_Handler
Я сегодня попробую разобраться
 

dyoma

Участник
Сообщения
175
Реакции
21
Привет, ещё бы добавить онлайн админов.
 

Mr.BadBoy

Участник
Сообщения
25
Реакции
4
Думаю круто подойдет на сервера, а можно ли добавить к примеру всякие плюшки админам, которые получили то или иное количество лайков, к примеру за 100 лайков получить повышение, за дизлайки наоборот.
Так же думаю можно было сделать что бы из лайки и дизлайков вычитали дизлайки: пример, 100 лайков и 20 дизлайков, 100 лайков - 20 дизлайков = 80 репутации :)
Если вам зашла данная тема ставь лайк!
 

Boywlater

Участник
Сообщения
132
Реакции
32
или как идея, поднимать иммунитет в зависимости от репутации, например админ с репутацией 30 имеет иммунитет 30 и имеет уже преимущество над теми у кого репутация 25, и в админ меню уже может осуществлять действия над более слабыми админами, хотя зачем это нужно не понятно, но просто как идея.
 

Romanov

Участник
Сообщения
404
Реакции
40
Думаю круто подойдет на сервера, а можно ли добавить к примеру всякие плюшки админам, которые получили то или иное количество лайков, к примеру за 100 лайков получить повышение, за дизлайки наоборот.
Так же думаю можно было сделать что бы из лайки и дизлайков вычитали дизлайки: пример, 100 лайков и 20 дизлайков, 100 лайков - 20 дизлайков = 80 репутации :)
Если вам зашла данная тема ставь лайк!

Думаю круто подойдет на сервера, а можно ли добавить к примеру всякие плюшки админам, которые получили то или иное количество лайков, к примеру за 100 лайков получить повышение, за дизлайки наоборот.
Так же думаю можно было сделать что бы из лайки и дизлайков вычитали дизлайки: пример, 100 лайков и 20 дизлайков, 100 лайков - 20 дизлайков = 80 репутации :)
Если вам зашла данная тема ставь лайк!
бред сивой кобылы)))
 

Soragy

4ort
Сообщения
46
Реакции
57
  • Автор ресурса
  • #71
Ошибка про которую я писал выше осталась.
Если например поставить дизлайк а потом попробовать изменить на лайк то ничего не происходит, и в консоле сервера ошибка.
C-подобный:
L 11/23/2020 - 20:53:50: [SM] Exception reported: Escaped string would be truncated (arg 5)
L 11/23/2020 - 20:53:50: [SM] Blaming: Admins_Def.smx
L 11/23/2020 - 20:53:50: [SM] Call stack trace:
L 11/23/2020 - 20:53:50: [SM]   [0] Database.Format
L 11/23/2020 - 20:53:50: [SM]   [1] Line 224, D:\Alte windows\Server\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\Admins_Def.sp::SetReputation
L 11/23/2020 - 20:53:50: [SM]   [2] Line 602, D:\Alte windows\Server\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\Admins_Def.sp::Reputation_Handler
Попробуй это и отпиши
 

Вложения

  • Admins_Def.sp
    19.2 КБ · Просмотры: 8
  • Admins_Def.smx
    13.4 КБ · Просмотры: 7

Boywlater

Участник
Сообщения
132
Реакции
32
Попробуй это и отпиши
попробовал, всё тоже самое, таже ошибка
C-подобный:
 [SM] Exception reported: Escaped string would be truncated (arg 5)
L 11/24/2020 - 15:17:10: [SM] Blaming: Admins_Def.smx
L 11/24/2020 - 15:17:10: [SM] Call stack trace:
L 11/24/2020 - 15:17:10: [SM]   [0] Database.Format
L 11/24/2020 - 15:17:10: [SM]   [1] Line 236, D:\Alte windows\Server\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\Admins_Def.sp::SetReputation
L 11/24/2020 - 15:17:10: [SM]   [2] Line 603, D:\Alte windows\Server\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\Admins_Def.sp::Reputation_Handler
 

Soragy

4ort
Сообщения
46
Реакции
57
  • Автор ресурса
  • #73
попробовал, всё тоже самое, таже ошибка
C-подобный:
[SM] Exception reported: Escaped string would be truncated (arg 5)
L 11/24/2020 - 15:17:10: [SM] Blaming: Admins_Def.smx
L 11/24/2020 - 15:17:10: [SM] Call stack trace:
L 11/24/2020 - 15:17:10: [SM]   [0] Database.Format
L 11/24/2020 - 15:17:10: [SM]   [1] Line 236, D:\Alte windows\Server\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\Admins_Def.sp::SetReputation
L 11/24/2020 - 15:17:10: [SM]   [2] Line 603, D:\Alte windows\Server\sourcemod-1.9.0-git6273-windows\addons\sourcemod\scripting\Admins_Def.sp::Reputation_Handler
Мне кажет что эта ошибка связана с "sourcemod-1.9.0-git6273"
 

Boywlater

Участник
Сообщения
132
Реакции
32
Мне кажет что эта ошибка связана с "sourcemod-1.9.0-git6273"
Я также пробывал комелить и на 1.10, тоже самое, на прошлой странице где я упомянул эту проблему в первый раз, какрас видно что скомелировано на 1.10
 

Soragy

4ort
Сообщения
46
Реакции
57
  • Автор ресурса
  • #79
У меня Ma и SourceMod (1.10.0.6497) и нет никаких проблем. Но у тебя скоре всего какие-то проблемы с коннектом с бд по край мере в это суть ошибки
 

Boywlater

Участник
Сообщения
132
Реакции
32
У меня Ma и SourceMod (1.10.0.6497) и нет никаких проблем. Но у тебя скоре всего какие-то проблемы с коннектом с бд по край мере в это суть ошибки
но лайки и дизлайки ставятся и также прописываются в базу данных, но вот с update чтото не получается, хотя все другие плагины с базой данных работают без проблем, vip или lr например, а то что у вас MA это не имеет никого значения в данной ошибке так как плагин работает с tabble которую он сам создал sb_adminsinfo
 
Сверху Снизу