Fixed amb324 - Client index of host was sometimes passed as 0 on listen server
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40862
This commit is contained in:
		
							parent
							
								
									dd2986d1d8
								
							
						
					
					
						commit
						c1c293ccc4
					
				@ -330,7 +330,17 @@ void ConCmdManager::InternalDispatch()
 | 
			
		||||
				}
 | 
			
		||||
				continue;
 | 
			
		||||
			}
 | 
			
		||||
			pHook->pf->PushCell(m_CmdClient);
 | 
			
		||||
 | 
			
		||||
			/* On a listen server, sometimes the server host's client index can be set as 0.
 | 
			
		||||
			 * So index 1 is passed to the command callback to correct this potential problem.
 | 
			
		||||
			 */
 | 
			
		||||
			if (m_CmdClient == 0 && !engine->IsDedicatedServer())
 | 
			
		||||
			{
 | 
			
		||||
				pHook->pf->PushCell(1);
 | 
			
		||||
			} else {
 | 
			
		||||
				pHook->pf->PushCell(m_CmdClient);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			pHook->pf->PushCell(args);
 | 
			
		||||
			if (pHook->pf->Execute(&tempres) == SP_ERROR_NONE)
 | 
			
		||||
			{
 | 
			
		||||
@ -364,6 +374,12 @@ bool ConCmdManager::CheckAccess(int client, const char *cmd, AdminCmdInfo *pAdmi
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* If running listen server, then client 1 is the server host and should have 'root' access */
 | 
			
		||||
	if (client == 1 && !engine->IsDedicatedServer())
 | 
			
		||||
	{
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	CPlayer *player = g_Players.GetPlayerByIndex(client);
 | 
			
		||||
	if (!player)
 | 
			
		||||
	{
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user