这篇教程C++ AIInterface类代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中AIInterface类的典型用法代码示例。如果您正苦于以下问题:C++ AIInterface类的具体用法?C++ AIInterface怎么用?C++ AIInterface使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。 在下文中一共展示了AIInterface类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: SystemMessagebool ChatHandler::HandleWPStandStateCommand(const char* args, WorldSession *m_session){ uint64 guid = m_session->GetPlayer()->GetSelection(); if (guid == 0) { SystemMessage(m_session, "No selection."); return true; } if(GET_TYPE_FROM_GUID(guid) != HIGHGUID_TYPE_WAYPOINT) { SystemMessage(m_session, "You should select a Waypoint."); return true; } Player* pPlayer = m_session->GetPlayer(); AIInterface* ai = pPlayer->waypointunit; if(!ai || !ai->GetUnit()) { SystemMessage(m_session, "Invalid Creature, please select another one."); return true; } uint32 StandState = 0; std::stringstream ss; uint32 wpid = GUID_LOPART(guid); if(wpid) { WayPoint* wp = ai->getWayPoint(wpid); if(wp) { char* pBackwards = strtok((char*)args, " "); uint32 Backwards = (pBackwards)? atoi(pBackwards) : 0; char* pStandState = strtok(NULL, " "); StandState = (pStandState)? atoi(pStandState) : 0; StandState = StandState > 8 ? 0 : StandState; if(Backwards) { if(wp->backwardInfo == NULL) wp->backwardInfo = new ConditionalData(); wp->backwardInfo->StandState = StandState; ss << "Backward StandState for Waypoint " << wpid << " is now " << StandState; } else { if(wp->forwardInfo == NULL) wp->forwardInfo = new ConditionalData(); wp->forwardInfo->StandState = StandState; ss << "Forward StandState for Waypoint " << wpid << " is now " << StandState; } //save wp ai->saveWayPoints(); } SystemMessage(m_session, ss.str().c_str()); } else SystemMessage(m_session, "Invalid Waypoint."); return true;}
开发者ID:Sandshroud,项目名称:Sandshroud-Prodigy,代码行数:60,
示例2: SystemMessagebool ChatHandler::HandleWPShowCommand(const char* args, WorldSession *m_session){ uint64 guid = m_session->GetPlayer()->GetSelection(); if (guid == 0) { SystemMessage(m_session, "No selection."); return true; } Creature* pCreature = m_session->GetPlayer()->GetMapMgr()->GetCreature(GET_LOWGUID_PART(guid)); if(!pCreature) { SystemMessage(m_session, "You should select a Creature."); return true; } if( pCreature->m_spawn == NULL ) { SystemMessage(m_session, "You cannot add waypoints to a creature that is not saved."); return true; } char* pBackwards = strtok((char*)args, " "); bool Backwards = (pBackwards)? ((atoi(pBackwards)>0)?true:false) : false; AIInterface* ai = pCreature->GetAIInterface(); Player* pPlayer = m_session->GetPlayer(); if(pPlayer->waypointunit != ai) { if(ai->m_WayPointsShowing == true) { SystemMessage(m_session, "Some one else is also Viewing this Creatures WayPoints."); SystemMessage(m_session, "Viewing WayPoints at the same time as some one else can cause undesireble results."); return true; } if(pPlayer->waypointunit != NULL) { pPlayer->waypointunit->hideWayPoints(pPlayer); } pPlayer->waypointunit = ai; ai->showWayPoints(pPlayer,Backwards); ai->m_WayPointsShowBackwards = Backwards; } else { if(ai->m_WayPointsShowing == true) { SystemMessage(m_session, "Waypoints Already Showing."); } else ai->showWayPoints(m_session->GetPlayer(),Backwards); } SystemMessage(m_session, "Showing waypoints for creature %u", pCreature->GetSQL_id()); return true;}
开发者ID:Ballwinkle,项目名称:Ascent_NG,代码行数:59,
示例3: SystemMessagebool ChatHandler::HandleWPInfoCommand(const char* args, WorldSession *m_session){ uint64 guid = m_session->GetPlayer()->GetSelection(); if (guid == 0) { SystemMessage(m_session, "No selection."); return true; } if(GET_TYPE_FROM_GUID(guid) != HIGHGUID_TYPE_WAYPOINT) { SystemMessage(m_session, "You should select a Waypoint."); return true; } Player* pPlayer = m_session->GetPlayer(); AIInterface* ai = pPlayer->waypointunit; if(!ai || !ai->GetUnit()) { SystemMessage(m_session, "Invalid Creature, please select another one."); return true; } std::stringstream ss; uint32 wpid = GUID_LOPART(guid); if((wpid > 0) && (wpid <= ai->GetWayPointsCount())) { WayPoint* wp = ai->getWayPoint(wpid); if(wp) { ss << "Waypoint Number " << wp->id << ":/n"; ss << "WaitTime: " << wp->waittime << "/n"; ss << "Flags: " << wp->flags; if(wp->flags == 768) ss << " (Fly)/n"; else if(wp->flags == 256) ss << " (Run)/n"; else ss << " (Walk)/n"; ss << "Backwards/n"; ss << " emoteid: " << wp->backwardemoteid << "/n"; ss << " oneshot: " << ((wp->backwardemoteoneshot == 1)? "Yes" : "No") << "/n"; ss << " skinid: " << wp->backwardskinid << "/n"; ss << "Forwards/n"; ss << " emoteid: " << wp->forwardemoteid << "/n"; ss << " oneshot: " << ((wp->forwardemoteoneshot == 1)? "Yes" : "No") << "/n"; ss << " skinid: " << wp->forwardskinid << "/n"; SendMultilineMessage(m_session, ss.str().c_str()); } } else { SystemMessage(m_session, "Invalid Waypoint."); return true; } return true;}
开发者ID:AwkwardDev,项目名称:ascent_classic,代码行数:57,
示例4: SystemMessagebool ChatHandler::HandleWPFlagsCommand(const char* args, WorldSession* m_session){ uint64 guid = m_session->GetPlayer()->GetSelection(); if(guid == 0) { SystemMessage(m_session, "No selection."); return true; } if(GET_TYPE_FROM_GUID(guid) != HIGHGUID_TYPE_WAYPOINT) { SystemMessage(m_session, "You should select a Waypoint."); return true; } Player* pPlayer = m_session->GetPlayer(); AIInterface* ai = pPlayer->waypointunit; if(!ai || !ai->GetUnit()) { SystemMessage(m_session, "Invalid Creature, please select another one."); return true; } std::stringstream ss; uint32 wpid = Arcemu::Util::GUID_LOPART(guid); if(wpid) { WayPoint* wp = ai->getWayPoint(wpid); if(wp == NULL) { SystemMessage(m_session, "Invalid Waypoint."); return true; } uint32 flags = wp->flags; char* pNewFlags = strtok((char*)args, " "); uint32 NewFlags = (pNewFlags) ? atoi(pNewFlags) : 0; wp->flags = NewFlags; //save wp ai->saveWayPoints(); ss << "Waypoint " << wpid << " flags changed from " << flags << " to " << NewFlags; SystemMessage(m_session, ss.str().c_str()); } else { SystemMessage(m_session, "Invalid Waypoint."); return true; } return true;}
开发者ID:Thomas195,项目名称:arcemu,代码行数:53,
注:本文中的AIInterface类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ AInventory类代码示例 C++ AIFilePicker类代码示例 |