⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 actiongivechildrendayevent.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
////////////////////////////////////////////////////////////////////////////////// Filename    : ActionGiveChildrenItem.cpp// Written By  : // Description :////////////////////////////////////////////////////////////////////////////////#include "ActionGiveChildrenItem.h"#include "PlayerCreature.h"#include "GamePlayer.h"#include "Item.h"#include "ItemUtil.h"#include "Inventory.h"#include "Zone.h"#include "ItemFactoryManager.h"#include "DB.h"#include "Thread.h"#include "StringPool.h"#include <list>#include "item/Key.h"#include "Gpackets/GCCreateItem.h"#include "Gpackets/GCNPCResponse.h"#include "Gpackets/GCSystemMessage.h"////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////void ActionGiveChildrenItem::read (PropertyBuffer & propertyBuffer)    throw (Error){    __BEGIN_TRY    __END_CATCH}////////////////////////////////////////////////////////////////////////////////// 咀记阑 角青茄促.// 5岿 5老 捞亥飘肺// 楷函风倒橇, 楷函魂鸥 阁胶磐甫 磷看阑措 唱坷绰 酒捞袍阑 葛酒坷搁// 弊俊 秦寸窍绰 酒捞袍阑 林档废 茄促.// 阁胶磐 酒捞袍篮 喊肺 沥秦龙 抗沥捞绊..// 唱坷绰 酒捞袍篮 酒流篮 固沥捞促.////////////////////////////////////////////////////////////////////////////////void ActionGiveChildrenItem::execute (Creature * pCreature1 , Creature * pCreature2) 	throw (Error){	__BEGIN_TRY	Assert(pCreature1 != NULL);	Assert(pCreature2 != NULL);	Assert(pCreature1->isNPC());	Assert(pCreature2->isPC());	PlayerCreature* pPC = dynamic_cast<PlayerCreature*>(pCreature2);	Assert(pPC != NULL);	Player* pPlayer = pPC->getPlayer();	Assert(pPlayer != NULL);	// 刚历 努扼捞攫飘甫 困秦 GCNPCResponse甫 焊郴霖促.	GCNPCResponse okpkt;	pPlayer->sendPacket(&okpkt);	Statement* pStmt   = NULL;	Result*    pResult = NULL;	int        count   = -1;	Zone* pZone = pPC->getZone();	ObjectRegistry& OR = pZone->getObjectRegistry();	Inventory* pInventory = pPC->getInventory();	TPOINT pt;	GCCreateItem gcCreateItem;	StringStream msg;	msg << "PlayerID[" << pPlayer->getID() << "], " << "CreatureName[" << pPC->getName() << "]\n";	if (pPC->isSlayer())	{		// 酒捞袍阑 积己茄促.		Item* pItem      = g_pItemFactoryManager->createItem(Item::ITEM_CLASS_BRACELET, 3, 50);		// OID甫 殿废罐绰促.		OR.registerObject(pItem);		if(pInventory->addItem(pItem, pt))		{			// 酒捞袍阑 牢亥配府俊 父电促.			pItem->create(pPC->getName(), STORAGE_INVENTORY, 0, pt.x, pt.y);			//酒捞袍阑 罐疽促绰 巴阑 舅妨霖促.			gcCreateItem.setObjectID(pItem->getObjectID());			gcCreateItem.setItemClass(pItem->getItemClass());			gcCreateItem.setItemType(pItem->getItemType());			gcCreateItem.setOptionType(pItem->getOptionType());			gcCreateItem.setDurability(pItme->getDurability());			gcCreateItem.setSilver(pItem->getSilver());			gcCreateItem.setItemNum(pItem->getNum());			gcCreateItem.setInvenX(pt.x);			gcCreateItem.setInvenY(pt.y);			pPlayer->sendPacket(&gcCreateItem);			msg << "Inventory Adding Success : " << pItem->toString() << "\n";			// ItemTraceLog 甫 巢变促			if ( pItem != NULL && pItem->isTraceItem() )			{				remainTraceLog( pItem, pCreature1->getName(), pCreature2->getName(), ITEM_LOG_CREATE, DETAIL_EVENTNPC);			}		}		else		{			// 牢亥配府俊 磊府啊 绝促搁 皋矫瘤甫 焊郴绊 弊父敌促.			StringStream buf;			buf << pPlayer->getID() << g_pStringPool->getString( STRID_NOT_ENOUGH_INVENTORY_SPACE );			GCSystemMessage gcSystemMessage;			gcSystemMessage.setMessage(buf.toString());			pPlayer->sendPacket(&gcSystemMessage);			return;		}		}	else	{		Item* pItem      = g_pItemFactoryManager->createItem(Item::ITEM_CLASS_VAMPIRE_BRACELET, 3, 50);		// OID甫 殿废罐绰促.		OR.registerObject(pItem);		if (pInventory->addItem(pItem, pt))		{			pItem->create(pPC->getName(), STORAGE_INVENTORY, 0, pt.x, pt.y);			pItem->save(pPC->getName(), STORAGE_INVENTORY, 0, pt.x, pt.y);			gcCreateItem.setObjectID(pItem->getObjectID());			gcCreateItem.setItemClass(pItem->getItemClass());			gcCreateItem.setItemType(pItem->getItemType());			gcCreateItem.setOptionType(pItem->getOptionType());			gcCreateItem.setDurability(pItem->getDurability());			gcCreateItem.setSilver(pItem->getSilver());			gcCreateItem.setItemNum(pItem->getNum());			gcCreateItem.setInvenX(pt.x);			gcCreateItem.setInvenY(pt.y);			pPlayer->sendPacket(&gcCreateItem);			msg << "Inventory Adding Succeeded : " << pItem->toString() << "\n";			// ItemTraceLog 甫 巢变促			if ( pItem != NULL && pItem->isTraceItem() )			{				remainTraceLog( pItem, pCreature1->getName(), pCreature2->getName(), ITEM_LOG_CREATE, DETAIL_EVENTNPC);			}		}		else		{			// 牢亥配府俊 磊府啊 绝促搁 皋矫瘤甫 焊郴绊 弊父敌促.			StringStream buf;			buf << pPlayer->getID() << g_pStringPool->getString( STRID_NOT_ENOUGH_INVENTORY_SPACE );			GCSystemMessage gcSystemMessage;			gcSystemMessage.setMessage(buf.toString());			pPlayer->sendPacket(&gcSystemMessage);			return;		}	}	msg << "Finished\n";	filelog("SpecialEvent.log", "%s", msg.toString().c_str());	__END_CATCH}////////////////////////////////////////////////////////////////////////////////// get debug string////////////////////////////////////////////////////////////////////////////////string ActionGiveChildrenItem::toString () const 	throw (){	__BEGIN_TRY	StringStream msg;	msg << "ActionGiveChildrenItem("	    << ")";	return msg.toString();	__END_CATCH}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -