本文整理汇总了C++中ZoneServer::getChatManager方法的典型用法代码示例。如果您正苦于以下问题:C++ ZoneServer::getChatManager方法的具体用法?C++ ZoneServer::getChatManager怎么用?C++ ZoneServer::getChatManager使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZoneServer
的用法示例。
在下文中一共展示了ZoneServer::getChatManager方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: useObject
int VetHarvesterDeedImplementation::useObject(CreatureObject* creature) {
ManagedReference<PlayerObject*> ghost = creature->getPlayerObject();
ZoneServer *zone = creature->getZoneServer();
if(ghost == NULL || zone == NULL)
return 0;
if (!isASubChildOf(creature))
return 0;
uint64 targetID = creature->getTargetID();
ManagedReference<TangibleObject*> targetObject = zone->getObject(targetID).castTo<TangibleObject*>();
if (targetObject == NULL || !targetObject->isHarvesterObject())
return 0;
HarvesterObject *harvester = targetObject.castTo<HarvesterObject*>();
if(harvester == NULL || !harvester->isOwnerOf(creature))
return 0;
if(harvester->isSelfPowered()) {
creature->sendSystemMessage("@veteran:harvester_already_selfpowered");
return 0;
}
StringIdChatParameter messageBody("veteran", "harvester_converted"); // Your harvester %TT has been converted to use 0 power.
messageBody.setTT(harvester);
ManagedReference<ChatManager*> cman = zone->getChatManager();
cman->sendMail("system", "@veteran:harvester_converted_subject", messageBody, creature->getFirstName());
EXECUTE_TASK_1(harvester, {
Locker locker(harvester_p);
harvester_p->setSelfPowered(true);
});
示例2: spatialChat
int LuaAiAgent::spatialChat(lua_State* L) {
ZoneServer* zoneServer = ServerCore::getZoneServer();
if (zoneServer == NULL)
return 0;
ChatManager* chatManager = zoneServer->getChatManager();
if (lua_islightuserdata(L, -1)) {
StringIdChatParameter* message = (StringIdChatParameter*)lua_touserdata(L, -1);
if (realObject != NULL && message != NULL) {
chatManager->broadcastMessage(realObject, *message, 0, 0, 0);
}
} else {
String message = lua_tostring(L, -1);
if (realObject != NULL) {
chatManager->broadcastMessage(realObject, message, 0, 0, 0);
}
}
return 0;
}
示例3: transferObject
bool FactionRecruiterContainerComponent::transferObject(SceneObject* sceneObject, SceneObject* object, int containmentType, bool notifyClient, bool allowOverflow) {
CoaMessageDataComponent* data = object->getDataObjectComponent()->castTo<CoaMessageDataComponent*>();
if (data == NULL) {
return false;
}
CreatureObject* player = object->getParentRecursively(SceneObjectType::PLAYERCREATURE).get().castTo<CreatureObject*>();
if (player == NULL) {
return false;
}
ZoneServer* zoneServer = player->getZoneServer();
PlayerObject* ghost = player->getPlayerObject();
if (zoneServer == NULL || ghost == NULL) {
return false;
}
if (!sceneObject->isAiAgent()) {
return false;
}
AiAgent* recruiter = cast<AiAgent*>(sceneObject);
String recruiterFaction = recruiter->getFactionString().toLowerCase();
bool hasBadge = ghost->hasBadge(Badge::EVENT_PROJECT_DEAD_EYE_1);
String faction = data->getFaction().toLowerCase();
StringBuffer response;
response << "@encoded_disk/message_fragment:response_event";
if (faction == "rebel") {
response << "reb1_";
} else if (faction == "imperial") {
response << "imp1_";
}
response << recruiterFaction;
ChatManager* chatManager = zoneServer->getChatManager();
if (chatManager == NULL) {
return false;
}
Locker locker(recruiter);
chatManager->broadcastMessage(recruiter,response.toString(), 0, 0, 0);
object->destroyObjectFromWorld(true);
object->destroyObjectFromDatabase();
int credits = System::random(500) + 500;
player->sendSystemMessage("You receive " + String::valueOf(credits) + " credits.");
player->addCashCredits(credits, true);
if (!hasBadge) {
ghost->awardBadge(Badge::EVENT_PROJECT_DEAD_EYE_1);
ghost->increaseFactionStanding(recruiterFaction, 500);
}
return true;
}