Class HiredMerchant
java.lang.Object
server.maps.MapleMapObject
server.shops.AbstractPlayerStore
server.shops.HiredMerchant
- All Implemented Interfaces:
IMaplePlayerShop
精靈商人(Hired Merchant)的伺服端實作,允許玩家離線掛店銷售道具。
精靈商人以 IMaplePlayerShop.HIRED_MERCHANT 型別標識,具有以下特性:
- 開店後自動排程 24 小時到期任務(透過
Timer.EtcTimer), 到期時驅離所有訪客並關閉商店。 - 購買邏輯扣除委託商店手續費(
GameConstants.EntrustedStoreTax(int)), 剩餘金額累積於meso;店主在線時以dropMessage(-5, ...)即時通知。 saveItems()將未售出道具寫入hiredmerch資料庫表, 透過ItemLoader.HIRED_MERCHANT持久化。- 支援黑名單(
blacklist)與聊天訊息記錄(messages)功能。 - 以
MapleMapObjectType.HIRED_MERCHANT登錄於地圖物件系統, 關閉時向頻道廣播destroyHiredMerchant封包。
ChannelServer 管理全頻道精靈商人集合;
封包由 PlayerShopPacket 組裝。-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractPlayerStore
AbstractPlayerStore.BoughtItem -
Field Summary
FieldsFields inherited from class AbstractPlayerStore
available, bought, channel, chrs, des, itemId, items, map, meso, open, owneraccount, ownerId, ownerName, pass, visitorsFields inherited from interface IMaplePlayerShop
HIRED_MERCHANT, MATCH_CARD, OMOK, PLAYER_SHOP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddBlackList(String bl) final voidvoidbuy(MapleClient c, int item, short quantity) voidcloseShop(boolean saveItems, boolean remove) bytefinal intintgetType()final booleanisInBlackList(String bl) final voidsearchItem(int itemSearch) final voidvoidsendDestroyData(MapleClient client) final voidvoidsendSpawnData(MapleClient client) final voidfinal voidsetStoreid(int storeid) Methods inherited from class AbstractPlayerStore
addItem, addVisitor, broadcastToVisitors, broadcastToVisitors, broadcastToVisitors, getBoughtItems, getDescription, getFreeSlot, getGameType, getItemId, getItems, getMap, getMaxSize, getMCOwner, getMCOwnerChannel, getMCOwnerWorld, getMeso, getOwnerAccId, getOwnerId, getOwnerName, getPassword, getSize, getVisitor, getVisitors, getVisitorSlot, isAvailable, isOpen, isOwner, removeAllVisitors, removeFromSlot, removeItem, removeVisitor, saveItems, setAvailable, setMeso, setOpen, updateMethods inherited from class MapleMapObject
getObjectId, getPosition, getRange, getTruePosition, setObjectId, setPosition
-
Field Details
-
schedule
-
-
Constructor Details
-
HiredMerchant
-
-
Method Details
-
getShopType
public byte getShopType() -
setStoreid
public final void setStoreid(int storeid) -
searchItem
-
buy
-
closeShop
public void closeShop(boolean saveItems, boolean remove) -
getTimeLeft
public int getTimeLeft() -
getStoreId
public final int getStoreId() -
getType
- Overrides:
getTypein classAbstractPlayerStore
-
sendDestroyData
- Overrides:
sendDestroyDatain classAbstractPlayerStore
-
sendSpawnData
- Overrides:
sendSpawnDatain classAbstractPlayerStore
-
isInBlackList
-
addBlackList
-
removeBlackList
-
sendBlackList
-
sendVisitor
-
addMsg
-
sendMsg
-