From The Mana World
m (Add more eAthena functions)
(Add remaining functions our eA supports)
Line 28: Line 28:
*ClientPing(time)
*ClientPing(time)
*Who()
*Who()
*Quit()


Being
Being
Line 76: Line 77:
*Use(skillId, level, target)
*Use(skillId, level, target)
*Use(skillId, level, x, y)
*Use(skillId, level, x, y)
*Use(skillId, map)


Trade
Trade
Line 106: Line 108:
*Kick(playerId)
*Kick(playerId)
*Chat(text)
*Chat(text)
*ChangeMemberPosition(...)
*RequestAlliance(guildid, ...)
*RequestAllianceReply(response, ...)
*EndAlliance(guildid, ...)


Storage
Storage
Line 112: Line 118:
*Store(slotId, ammount)
*Store(slotId, ammount)
*Retrieve(slotId, ammount)
*Retrieve(slotId, ammount)
*StoreCart(slotId, ammount)
*RetrieveCart(slotId, ammount)
"Cart"
*Put(slotId, ammount)
*Remove(slotId, ammount)
*Change(...)


Admin/GM
Admin/GM
*Announce(text)
*Announce(text)
*LocalAnnounce(text)
*Hide(hide)
*Kick(id)
*Kick(id)
*Kick(name)
*Kick(name)
*Ban(id)
*Ban(id)
*Ban(name)
*Ban(name)
*MutePlayer(playerId, type, limit)
*ResetPlayer(...)
*WarpToPlayer(...)
*RecallPlayer(...)
*SpawnMonster(...)
*CreateItem(...)
*...
*...
*GMCommand(...)?
*GMCommand(...)?
Unsorted eAthena (names from parse function names)
*RemoveOption
*GuildCheckMaster
*GuildRequestInfo
*GuildRequestEmblem
*GuildChangeEmplem
*GuildBreak
*GuildChangePositionInfo
*GuildChangeNotice
*ItemIdentify
*UseCard
*InsertCard
*GuildOpposition
*SolveCharName
*AutoSpell
*GMReqNoChatCount
*sn_doridori
*CreateParty2?
*sn_explosionspirits

Revision as of 18:48, 24 March 2009

This is my plan for centralizing the net code under the merged client.

First, TMWServ's Net namespace needs to be changed (I vote for TMWserv as the new name). Then a new Net namespace would be created to store references to the specific network back-end needed.

Here are the functions the generic back end needs (organized by type)

Login

  • Login(...)
  • ChangeEmail(...)
  • ChangePassword(...)
  • ChooseServer(serverId)

Char

  • Connect(...)
  • ChooseChar(number)
  • NewChar(...)
  • DeleteChar(number, ...)

Chat

  • Connect(...)?
  • Talk(text)
  • Me(text)
  • Msg(recipient, text)

Map

  • Connect(...)
  • MapLoaded(mapName?)
  • ClientPing(time)
  • Who()
  • Quit()

Being

  • Attack(beingId)
  • CharNameRequest - eAthena netcode detail (not public)

Player

  • (anything?)

LocalPlayer

  • Emote(emoteId)
  • IncStat(statId)
  • DecStat(statId)
  • SendLetter(recipient, text)
  • PickUp(floorItemId)
  • SetDirection(direction)
  • SetDestination(x, y, direction)
  • Sit()
  • Respawn()
  • IgnorePlayer(playerID, ignore)
  • IgnoreAll(ignore)

Inventory

  • EquipItem(Item)
  • UnEquipItem(Item)
  • UseItem(Item)
  • Drop(slotNum, ammount)
  • Split(slotNum, ammount)

NPC

  • Talk(npcId)
  • NextDialog(npcId)
  • CloseDialog(npcId)
  • ListInput(npcId, value)
  • IntegerInput(npcId, value)
  • StringIntput(npcId, value)

Shop

  • Start(beingId)
  • Buy(beingId)
  • Sell(beingId)
  • BuyItem(beingId, itemId, ammount)
  • SellItem(beingId, itemId, ammount)
  • End(beingId)

Skill

  • Up(skillId)
  • Use(skillId, level, target)
  • Use(skillId, level, x, y)
  • Use(skillId, map)

Trade

  • Request(beingId)
  • Respond(accept)
  • AddItem(slotNum, ammount)
  • RemoveItem(slotNum, ammount)
  • SetMoney(ammount)
  • Confirm() (eAthena trade complete)
  • Finish() (eAthena trade OK)
  • Cancel()

Party

  • Create()
  • Join(partyId)
  • Invite(playerId)
  • InviteResponse(requestId?, response)
  • Leave()
  • Kick(playerId)
  • Chat(text)
  • Options(...)
  • Message(...)

Guild

  • Create()
  • Join(guildId)
  • Invite(playerId)
  • InviteResponse(requestId?, response)
  • Leave()
  • Kick(playerId)
  • Chat(text)
  • ChangeMemberPosition(...)
  • RequestAlliance(guildid, ...)
  • RequestAllianceReply(response, ...)
  • EndAlliance(guildid, ...)

Storage

  • Open()
  • Close()
  • Store(slotId, ammount)
  • Retrieve(slotId, ammount)
  • StoreCart(slotId, ammount)
  • RetrieveCart(slotId, ammount)

"Cart"

  • Put(slotId, ammount)
  • Remove(slotId, ammount)
  • Change(...)

Admin/GM

  • Announce(text)
  • LocalAnnounce(text)
  • Hide(hide)
  • Kick(id)
  • Kick(name)
  • Ban(id)
  • Ban(name)
  • MutePlayer(playerId, type, limit)
  • ResetPlayer(...)
  • WarpToPlayer(...)
  • RecallPlayer(...)
  • SpawnMonster(...)
  • CreateItem(...)
  • ...
  • GMCommand(...)?

Unsorted eAthena (names from parse function names)

  • RemoveOption
  • GuildCheckMaster
  • GuildRequestInfo
  • GuildRequestEmblem
  • GuildChangeEmplem
  • GuildBreak
  • GuildChangePositionInfo
  • GuildChangeNotice
  • ItemIdentify
  • UseCard
  • InsertCard
  • GuildOpposition
  • SolveCharName
  • AutoSpell
  • GMReqNoChatCount
  • sn_doridori
  • CreateParty2?
  • sn_explosionspirits