bool CBaseTutor::DoMessagesHaveSameID(int id1, int id2) { if (id1 == id2) return true; TutorMessage *message1 = GetTutorMessageDefinition(id1); TutorMessage *message2 = GetTutorMessageDefinition(id2); if (!message1 || !message2) return false; if (message1->m_duplicateID && message2->m_duplicateID) return true; return false; }
/* <1f5993> ../cstrike/dlls/tutor_base_tutor.cpp:192 */ void CBaseTutor::DisplayMessageToPlayer(CBasePlayer *player, int id, const char *szMessage, TutorMessageEvent *event) { TutorMessage *definition; int numArgs; char param[512]; numArgs = event->GetNumParameters(); definition = GetTutorMessageDefinition(event->GetID()); MESSAGE_BEGIN(MSG_ONE, gmsgTutorText, NULL, player->pev); WRITE_STRING(szMessage); WRITE_BYTE(numArgs); for (int arg = 0; arg < numArgs; arg++) { char *str = event->GetNextParameter(param, sizeof(param)); if (str != NULL) WRITE_STRING(str); else WRITE_STRING(""); } WRITE_SHORT(id); WRITE_SHORT(player->IsAlive() == FALSE); if (definition != NULL) WRITE_SHORT(definition->m_type); else WRITE_SHORT(TUTORMESSAGETYPE_DEFAULT); MESSAGE_END(); m_deadAirStartTime = -1.0f; if (definition != NULL) { if (gpGlobals->time - m_roundStartTime > 1.0f) { switch (definition->m_type) { case TUTORMESSAGETYPE_FRIEND_DEATH: EMIT_SOUND_DYN(ENT(player->pev), CHAN_ITEM, "events/friend_died.wav", VOL_NORM, ATTN_NORM, 0, 120); break; case TUTORMESSAGETYPE_ENEMY_DEATH: EMIT_SOUND_DYN(ENT(player->pev), CHAN_ITEM, "events/enemy_died.wav", VOL_NORM, ATTN_NORM, 0, 85); break; default: EMIT_SOUND_DYN(ENT(player->pev), CHAN_ITEM, "events/tutor_msg.wav", VOL_NORM, ATTN_NORM, 0, 100); break; } } if (definition->m_decay) { REGISTER_TUTOR_MESSAGE_SHOWN(id); } } }
/* <1f5c5b> ../cstrike/dlls/tutor_base_tutor.cpp:457 */ bool CBaseTutor::DoMessagesHaveSameID(int id1, int id2) { if (id1 == id2) { return true; } TutorMessage *message1 = GetTutorMessageDefinition(id1); TutorMessage *message2 = GetTutorMessageDefinition(id2); if (message1 == NULL || message2 == NULL) { return false; } if (message1->m_duplicateID && message2->m_duplicateID) { return true; } return false; }