这篇教程C++ GetAreaFlagByAreaID函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetAreaFlagByAreaID函数的典型用法代码示例。如果您正苦于以下问题:C++ GetAreaFlagByAreaID函数的具体用法?C++ GetAreaFlagByAreaID怎么用?C++ GetAreaFlagByAreaID使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetAreaFlagByAreaID函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: GetAreaEntryByAreaIDAreaTableEntry const* GetAreaEntryByAreaID(uint32 area_id){ int32 areaflag = GetAreaFlagByAreaID(area_id); if(areaflag < 0) return NULL; return sAreaStore.LookupEntry(areaflag );}
开发者ID:ZajicekDuracel,项目名称:mangos,代码行数:8,
示例2: GetPlayer//.........这里部分代码省略......... if (requirement->creatureEntry && unit->GetEntry() != requirement->creatureEntry) continue; if (requirement->playerRace && (unit->GetTypeId() != TYPEID_PLAYER || unit->getRace()!=requirement->playerRace)) continue; if (requirement->playerClass && (unit->GetTypeId() != TYPEID_PLAYER || unit->getClass()!=requirement->playerClass)) continue; } SetCriteriaProgress(achievementCriteria, 1, true); break; } case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS: { uint32 spellCount = 0; for (PlayerSpellMap::const_iterator spellIter = GetPlayer()->GetSpellMap().begin(); spellIter != GetPlayer()->GetSpellMap().end(); spellIter++) { for(SkillLineAbilityMap::const_iterator skillIter = spellmgr.GetBeginSkillLineAbilityMap(spellIter->first); skillIter != spellmgr.GetEndSkillLineAbilityMap(spellIter->first); skillIter++) { if(skillIter->second->skillId == achievementCriteria->learn_skilline_spell.skillLine) spellCount++; } } SetCriteriaProgress(achievementCriteria, spellCount); break; } case ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP: { // skip for login case if(!miscvalue1) continue; SetCriteriaProgress(achievementCriteria, 1); break; } case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION: { int32 reputation = GetPlayer()->GetReputation(achievementCriteria->gain_reputation.factionID); if (reputation > 0) SetCriteriaProgress(achievementCriteria, reputation); break; } case ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION: { uint32 counter = 0; const FactionStateList factionStateList = GetPlayer()->GetFactionStateList(); for (FactionStateList::const_iterator iter = factionStateList.begin(); iter!= factionStateList.end(); iter++) { if(GetPlayer()->ReputationToRank(iter->second.Standing) >= REP_EXALTED) ++counter; } SetCriteriaProgress(achievementCriteria, counter); break; } case ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA: { WorldMapOverlayEntry const* worldOverlayEntry = sWorldMapOverlayStore.LookupEntry(achievementCriteria->explore_area.areaReference); if(!worldOverlayEntry) break; int32 exploreFlag = GetAreaFlagByAreaID(worldOverlayEntry->areatableID); if(exploreFlag < 0) break; uint32 playerIndexOffset = uint32(exploreFlag) / 32; uint32 mask = 1<< (uint32(exploreFlag) % 32); if(GetPlayer()->GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + playerIndexOffset) & mask) SetCriteriaProgress(achievementCriteria, 1); break; } case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT: case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT: { // miscvalue1 = itemid // miscvalue2 = diced value if(!miscvalue1) continue; if(miscvalue2 != achievementCriteria->roll_greed_on_loot.rollValue) continue; ItemPrototype const *pProto = objmgr.GetItemPrototype( miscvalue1 ); uint32 requiredItemLevel = 0; if (achievementCriteria->ID == 2412 || achievementCriteria->ID == 2358) requiredItemLevel = 185; if(!pProto || pProto->ItemLevel <requiredItemLevel) continue; SetCriteriaProgress(achievementCriteria, 1, true); break; } } if(IsCompletedCriteria(achievementCriteria)) CompletedCriteria(achievementCriteria); }}
开发者ID:Gweana,项目名称:mangos,代码行数:101,
注:本文中的GetAreaFlagByAreaID函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ GetArgs函数代码示例 C++ GetAreaEntryByAreaID函数代码示例 |