Exemplo n.º 1
0
void CInstructor::CallOutput(const tstring& sOutput)
{
    if (!GetCurrentLesson())
        return;

    for (size_t i = 0; i < GetCurrentLesson()->m_aOutputs.size(); i++)
    {
        CLessonOutput* pOutput = &GetCurrentLesson()->m_aOutputs[i];
        if (pOutput->m_sOutput == sOutput)
        {
            for (size_t i = 0; i < GameServer()->GetMaxEntities(); i++)
            {
                CBaseEntity* pEntity = CBaseEntity::GetEntity(i);

                if (!pEntity)
                    continue;

                if (pEntity->IsDeleted())
                    continue;

                if (pOutput->m_sTarget.length() == 0)
                    continue;

                if (pOutput->m_sTarget.length() == 0)
                    continue;

                if (pOutput->m_sTarget[0] == '*')
                {
                    if (tstring(pEntity->GetClassName()) != pOutput->m_sTarget.c_str()+1)
                        continue;
                }
                else
                {
                    if (pEntity->GetName() != pOutput->m_sTarget)
                        continue;
                }

                pEntity->CallInput(pOutput->m_sInput, convertstring<char, tchar>(pOutput->m_sArgs));
            }
        }
    }
}
Exemplo n.º 2
0
void FireInput(class CCommand* pCommand, tvector<tstring>& asTokens, const tstring& sCommand)
{
	if (!CVar::GetCVarBool("cheats"))
		return;

	if (asTokens.size() < 3)
	{
		TMsg("Format: ent_input entityname input [optional args]\n");
		return;
	}

	tvector<CBaseEntity*> apEntities;
	CBaseEntity::FindEntitiesByName(asTokens[1], apEntities);

	if (!apEntities.size())
	{
		if (CVar::GetCVarBool("debug_entity_outputs"))
			TMsg("Console -> none\n");
		else
			TError("No entities found that match name \"" + asTokens[1] + "\".\n");

		return;
	}

	tstring sArgs;
	for (size_t i = 3; i < asTokens.size(); i++)
		sArgs += asTokens[i] + " ";

	for (size_t i = 0; i < apEntities.size(); i++)
	{
		CBaseEntity* pTargetEntity = apEntities[i];

		if (CVar::GetCVarBool("debug_entity_outputs"))
			TMsg("Console -> " + tstring(pTargetEntity->GetClassName()) + "(\"" + pTargetEntity->GetName() + "\")." + asTokens[2] + "(\"" + sArgs + "\")\n");

		pTargetEntity->CallInput(asTokens[2], sArgs);
	}
}