Fixed amb1927 - client command case sensitivity did not match the server's logic.
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402483
This commit is contained in:
parent
58870a30fb
commit
4951dccded
@ -296,7 +296,32 @@ void ConCmdManager::InternalDispatch(const CCommand &command)
|
|||||||
ConCmdInfo *pInfo;
|
ConCmdInfo *pInfo;
|
||||||
if (!sm_trie_retrieve(m_pCmds, cmd, (void **)&pInfo))
|
if (!sm_trie_retrieve(m_pCmds, cmd, (void **)&pInfo))
|
||||||
{
|
{
|
||||||
return;
|
/* Unfortunately, we now have to do a slow lookup because Valve made client commands
|
||||||
|
* case-insensitive. We can't even use our sortedness.
|
||||||
|
*/
|
||||||
|
if (client == 0 && !engine->IsDedicatedServer())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ConCmdInfo *>::iterator iter;
|
||||||
|
|
||||||
|
pInfo = NULL;
|
||||||
|
iter = m_CmdList.begin();
|
||||||
|
while (iter != m_CmdList.end())
|
||||||
|
{
|
||||||
|
if (strcasecmp((*iter)->pCmd->GetName(), cmd) == 0)
|
||||||
|
{
|
||||||
|
pInfo = (*iter);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
iter++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pInfo == NULL)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is a hack to prevent say triggers from firing on messages that were
|
/* This is a hack to prevent say triggers from firing on messages that were
|
||||||
|
@ -298,6 +298,8 @@ functag SrvCmd Action:public(args);
|
|||||||
/**
|
/**
|
||||||
* Creates a server-only console command, or hooks an already existing one.
|
* Creates a server-only console command, or hooks an already existing one.
|
||||||
*
|
*
|
||||||
|
* Server commands are case sensitive.
|
||||||
|
*
|
||||||
* @param cmd Name of the command to hook or create.
|
* @param cmd Name of the command to hook or create.
|
||||||
* @param callback A function to use as a callback for when the command is invoked.
|
* @param callback A function to use as a callback for when the command is invoked.
|
||||||
* @param description Optional description to use for command creation.
|
* @param description Optional description to use for command creation.
|
||||||
@ -320,6 +322,10 @@ functag ConCmd Action:public(client, args);
|
|||||||
/**
|
/**
|
||||||
* Creates a console command, or hooks an already existing one.
|
* Creates a console command, or hooks an already existing one.
|
||||||
*
|
*
|
||||||
|
* Console commands are case sensitive. However, if the command already exists in the game,
|
||||||
|
* the a client may enter the command in any case. SourceMod corrects for this automatically,
|
||||||
|
* and you should only hook the "real" version of the command.
|
||||||
|
*
|
||||||
* @param cmd Name of the command to hook or create.
|
* @param cmd Name of the command to hook or create.
|
||||||
* @param callback A function to use as a callback for when the command is invoked.
|
* @param callback A function to use as a callback for when the command is invoked.
|
||||||
* @param description Optional description to use for command creation.
|
* @param description Optional description to use for command creation.
|
||||||
@ -334,6 +340,8 @@ native RegConsoleCmd(const String:cmd[], ConCmd:callback, const String:descripti
|
|||||||
* it is created. When this command is invoked, the access rights of the player are
|
* it is created. When this command is invoked, the access rights of the player are
|
||||||
* automatically checked before allowing it to continue.
|
* automatically checked before allowing it to continue.
|
||||||
*
|
*
|
||||||
|
* Admin commands are case sensitive from both the client and server.
|
||||||
|
*
|
||||||
* @param cmd String containing command to register.
|
* @param cmd String containing command to register.
|
||||||
* @param callback A function to use as a callback for when the command is invoked.
|
* @param callback A function to use as a callback for when the command is invoked.
|
||||||
* @param adminflags Administrative flags (bitstring) to use for permissions.
|
* @param adminflags Administrative flags (bitstring) to use for permissions.
|
||||||
|
Loading…
Reference in New Issue
Block a user