本文整理汇总了C++中CreatureObject::isPlayerControlled方法的典型用法代码示例。如果您正苦于以下问题:C++ CreatureObject::isPlayerControlled方法的具体用法?C++ CreatureObject::isPlayerControlled怎么用?C++ CreatureObject::isPlayerControlled使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CreatureObject
的用法示例。
在下文中一共展示了CreatureObject::isPlayerControlled方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: openPlayerQuestRecipe
void ScriptMethodsPlayerQuestNamespace::openPlayerQuestRecipe(JNIEnv * env, jobject self, jlong player, jlong recipe)
{
UNREF(env);
UNREF(self);
CreatureObject * playerCreature = NULL;
if (!JavaLibrary::getObject(player, playerCreature))
{
DEBUG_WARNING(true, ("openPlayerQuestRecipe: Failed to get valid creature object with OID %d", player));
return;
}
ServerObject * recipeObj = NULL;
if (!JavaLibrary::getObject(recipe, recipeObj))
{
DEBUG_WARNING(true, ("openPlayerQuestRecipe: Failed to get valid recipe object with OID %d", player));
return;
}
if (playerCreature->isPlayerControlled() && playerCreature->getController() != NULL)
{
playerCreature->getController()->appendMessage(
static_cast<int>(CM_openRecipe),
0,
new MessageQueueGenericValueType< NetworkId >( recipeObj->getNetworkId() ),
GameControllerMessageFlags::SEND |
GameControllerMessageFlags::RELIABLE |
GameControllerMessageFlags::DEST_AUTH_CLIENT);
}
return;
}
示例2: setCreatureObjVars
void setCreatureObjVars (CreatureObject & creature, const Vector & pos_w, float radius)
{
const bool isPlayer = creature.isPlayerControlled ();
creature.setObjVarItem (ObjVars::moveSim, int(1));
creature.setObjVarItem (ObjVars::moveSimPlayer, int(isPlayer ? 1 : 0));
creature.setObjVarItem (ObjVars::moveSimPosX, pos_w.x);
creature.setObjVarItem (ObjVars::moveSimPosZ, pos_w.z);
creature.setObjVarItem (ObjVars::moveSimRadius, radius);
}
示例3: isAllowed
bool BuildingObject::isAllowed(CreatureObject const &who) const
{
if (who.getMasterId() != NetworkId::cms_invalid)
{
ServerObject const *master = ServerWorld::findObjectByNetworkId(who.getMasterId());
if (master && master != &who && master->asCreatureObject())
return isAllowed(*master->asCreatureObject());
}
if (!playersWithAlignedEnemyFlagsAllowed() && (Pvp::hasAnyAlignedTimedEnemyFlag(who) || Pvp::hasAnyBountyDuelEnemyFlag(who)))
return false;
if (getIsPublic())
return !CellPermissions::isOnList(m_banned.get(), who);
else
{
// allow non-player-controlled creatures in private buildings with no owner
if (!who.isPlayerControlled() && getOwnerId() == NetworkId::cms_invalid)
return true;
// allow vendor-creatures to be placed in the building
if (who.hasCondition(static_cast<int>(ServerTangibleObjectTemplate::C_vendor)))
return true;
// JU_TODO: test
#if 1
// allow non-player-controlled creatures in private buildings if the *creature* has no owner
if (!who.isPlayerControlled()
&& who.getMasterId() == NetworkId::cms_invalid
&& who.getLevel() < 10 // temp change to < 0 after testing holo item
)
{
return true;
}
#endif
// JU_TODO: end test
return CellPermissions::isOnList(m_allowed.get(), who);
}
}