// 卖出一个物品 VOID CGameInterface::Booth_SellItem( tObject_Item* pItem ) { //验证是否可以卖出 if(!pItem->Rule(tObject_Item::RULE_SALE)) { CEventSystem::GetMe()->PushEvent(GE_NEW_DEBUGMESSAGE, pItem->RuleFailMessage(tObject_Item::RULE_SALE).c_str()); return; } //判断当前的NPC是不是收购这类物品 if( !CDataPool::GetMe()->Booth_IsCanBuy(pItem) ) { CEventSystem::GetMe()->PushEvent(GE_NEW_DEBUGMESSAGE, "我不收购这个物品"); return; } CGShopSell msg; // 先判断是否够钱买, msg.SetUniqueID(CDataPool::GetMe()->Booth_GetShopUniqueId()); msg.SetBagIndex( pItem->GetPosIndex() ); CNetManager::GetMe()->SendPacket( &msg ); }
INT NpcShop::NpcShopSell(LuaPlus::LuaState* state) { LuaStack args(state); if (!(args[2].IsInteger())) { KLThrow("LUA:NpcShopSell Param 1 Wrong"); } INT nIndex = args[2].GetInteger(); if (!(args[3].IsInteger())) { KLThrow("LUA:NpcShopSell Param 2 Wrong"); } INT nNumber = args[3].GetInteger(); //tObject_Item* pItem = CDataPool::GetMe()->ItemBox_GetItem(nIndex); //if( pItem == NULL ) // return 0; //if(CGameProcedure::s_pUISystem && CGameProcedure::s_pUISystem->IsWindowShow("Shop")) //{ // //是否在修理状态 // if(CActionSystem::GetMe()->GetDefaultAction() == CActionItem_MouseCmd_Repair::GetMe()) // { // //取消修理 // CGameProcedure::s_pGameInterface->Skill_CancelAction(); // } // //执行销售 // else // { // ////任务物品不可以卖 // if( pItem->GetItemClass() != ICLASS_TASKITEM )//pItem->GetPosIndex() < TASK_CONTAINER_OFFSET ) // { // if(!pItem->Rule(tObject_Item::RULE_SALE)) // { // CEventSystem::GetMe()->PushEvent(GE_NEW_DEBUGMESSAGE, pItem->RuleFailMessage(tObject_Item::RULE_SALE).c_str()); // return 0; // } // //判断当前的NPC是不是收购这类物品 // if( !CDataPool::GetMe()->Booth_IsCanBuy(pItem) ) // { // CEventSystem::GetMe()->PushEvent(GE_NEW_DEBUGMESSAGE, "我不收购这个物品"); // return 0; // } // CGShopSell msg; // msg.SetCount(nNumber); // msg.SetBagIndex( nIndex ); // msg.SetUniqueID(CUIDataPool::GetMe()->GetCurShopNpcId()); // CNetManager::GetMe()->SendPacket( &msg ); // } // //else // //{ // // //任务物品不能卖的信息提示 // // if(bLog) // // { // // STRING strTemp = NOCOLORMSGFUNC("stall_sold_failure"); // // ADDNEWDEBUGMSG(strTemp); // // } // //} // } //} CGShopSell msg; msg.SetCount(nNumber); msg.SetBagIndex( nIndex ); msg.SetUniqueID(CUIDataPool::GetMe()->GetCurShopNpcId()); CNetManager::GetMe()->SendPacket( &msg ); return 0; }