Zh/Concept: Difference between revisions
< Zh
Jump to navigation
Jump to search
m (-Using L template for links) |
m (Multipage removal) |
||
Line 1: | Line 1: | ||
{{ | {{LanguageBar|title = 概念}} | ||
{{:User:1416006136/Signature|time=May 2 2024}} | {{:User:1416006136/Signature|time=May 2 2024}} | ||
{{stub}} | {{stub}} | ||
Line 31: | Line 32: | ||
==参见== | ==参见== | ||
* {{L|Concept list|概念列表}} | * {{L|Concept list|概念列表}} | ||
{{ACategory|AI Programming}} |
Latest revision as of 05:42, 12 July 2024
This page was translated by DaKang233 on May 2, 2024 (UTC+8). Anyone is welcome to add new content or fix errors.
一个 概念 (Concept) 是代码试图传达的高层次陈述,比如说 hello(TLK_HELLO),回答某个问题(TLK_ANSWER),呼救(TLK_HELP_ME)等等。
你可以通过使用 Speak( AIConcept_t concept, const char *modifiers /*= NULL*/ )
方法,基于概念命令NPC说话。这个方法定义在 AI_Speech.cpp
中。
bool CAI_Expresser::Speak( AIConcept_t concept, const char *modifiers /*= NULL*/ ) { AI_Response *result = SpeakFindResponse( concept, modifiers ); if ( !result ) { return false; } SpeechMsg( GetOuter(), "%s (%x) spoke %s (%f)\n", STRING(GetOuter()->GetEntityName()), GetOuter(), concept, gpGlobals->curtime ); bool spoke = SpeakDispatchResponse( concept, result ); return spoke; }
它尝试从响应系统 脚本中找到概念的响应。如果找到了,就尝试分派它。
NPC_talker.cpp
是一个很好的示例,它将概念说话整合到任务 和日程安排 中。如果你想制作一个自定义的NPC说话,这将是开始的最佳地点。
你也可以通过 "DispatchResponse" 实体输入使NPC选择一个响应。