Kick name symbol

Сообщения
11
Реакции
1
Hello. I want to block this pair of symbols connect server. here is a short code. But it's not working.

Код:
#include <amxmodx>
new const g_szsymbol[][] = 
{
    "\",
    "`",
    "'"
}
new const g_szKickReason[] = "Kick name symbol not allowed!"
new Trie:g_tsymbol
public plugin_init()
{
    g_tsymbol = TrieCreate()
    for(new i; i < sizeof(g_szsymbol); i++)
        TrieSetCell(g_tsymbol, g_szsymbol[i], true)
}
public plugin_end()
    TrieDestroy(g_tsymbol)
public client_connect(id)
{
    new szName[32], szCode[3]
    get_user_name(id, szName, 31);
    if(TrieKeyExists(g_tsymbol, szCode))
        server_cmd("kick #%i ^"%s^"", get_user_userid(id), g_szKickReason)
}
 
Сообщения
658
Реакции
230
Помог
11 раз(а)
szCode получил пустое значение, замени на szName
 
Сообщения
453
Реакции
255
Помог
9 раз(а)
elit59, зачем кикать игрока? Если у вас проблемы с базой данных из-за этих символов - их можно экранировать
 
Сообщения
11
Реакции
1
szCode получил пустое значение, замени на szName
not working

Код:
#include <amxmodx>

new const g_szsymbol[][] =
{
    "\",
    "`",
    "'"
}

new const g_szKickReason[] = "Kick name symbol not allowed!"
new Trie:g_tsymbol

public plugin_init()
{
    g_tsymbol = TrieCreate()
    for(new i; i < sizeof(g_szsymbol); i++)
        TrieSetCell(g_tsymbol, g_szsymbol[i], true)
}
public plugin_end()
    TrieDestroy(g_tsymbol)

public client_connect(id)
{
    new szName[32];
    get_user_name(id, szName, 31);

    if(TrieKeyExists(g_tsymbol, szName))
        server_cmd("kick #%i ^"%s^"", get_user_userid(id), g_szKickReason)
}
elit59, зачем кикать игрока? Если у вас проблемы с базой данных из-за этих символов - их можно экранировать
Yes. but it doesn't work.

mysql syntax character problem · Issue #41 · Theggv/Kreedz (github.com)
 
Сообщения
453
Реакции
255
Помог
9 раз(а)
try
Код:
mysql_escape_string(dest[],len)
{
    //copy(dest, len, source);
    replace_all(dest,len,"\\","\\\\");
    replace_all(dest,len,"\0","\\0");
    replace_all(dest,len,"\n","\\n");
    replace_all(dest,len,"\r","\\r");
    replace_all(dest,len,"\x1a","\Z");
    replace_all(dest,len,"'","''");
    replace_all(dest,len,"^"","^"^"");
}
 
Сообщения
11
Реакции
1

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу