Skip to content

GMCP Modules

Channels

Channels.Broadcast

A channel you are in had a message broadcast to it.

Channels.Broadcast {
  "channel": "global",
  "from": {"id": 1, "name": "Player"},
  "message": "Hi"
}

Channels.Tell

A new tell message was sent to your character.

Channel.Tell {"from": {"id": 1, "name": "Player"}, "message": "Hi"}

Character

Character.Info

On sign in the general character information will be sent.

Character.Info {
  "name": "Player",
  "level": 5,
  "class": {
    "name": "Cleric"
  }
}

Character.Skill

Fired when a skill's active state changes.

Character.Skill {
  "key": "2b557868-1b1d-4ba0-8306-e7a2ebf6f965",
  "name": "Magic Missile",
  "command": "magic missile",
  "active": true
}

Character.Skills

Sent on login and can be requested from the player.

Character.Skills {
  "skills": [
    {"key": "2b557868-1b1d-4ba0-8306-e7a2ebf6f965", "name": "Magic Missile", "command": "magic missile", "points": 2, "cooldown": 3000},
    {"key": "0fdfe622-ed6b-4448-8882-35abefb5e7dc", "name": "Frosy Ray", "command": "frost ray", "points": 3, "cooldown": 5000}
  ]
}

Character.Skills.Get

Client Message

You may request the full list of skills known at any point.

Character.Skills.Get {}

Character.Vitals

Any time a player's vitals change (stats) this will be broadcast. Every tick will also push this out.

Character.Vitals {
  "strength": 15,
  "skill_points": 20,
  "endurance_points": 10,
  "max_skill_points": 20,
  "max_endurance_points": 10,
  "max_health_points": 30,
  "intelligence": 15,
  "health_points": 30,
  "agility": 15
}

Config

Config.Actions

This will contain the full set of actions the player has configured for their action bar

Config.Actions {
  "actions": [
    {"type": "skill", "key": "2b557868-1b1d-4ba0-8306-e7a2ebf6f965"},
    {"type": "skill", "key": "0fdfe622-ed6b-4448-8882-35abefb5e7dc"}
  ]
}

Config.Update

This will contain the full config that the player has, anytime it is updated.

Config.Update {
  "color_npc": "blue"
}

External.Discord

This follows the Mudlet External.Discord package spec.

External.Discord.Get

Client Message

Sent from the client when they wish to receive current discord status.

External.Discord.Get {}

External.Discord.Hello

Client Message

Sent as a welcome from the client to see if Discord integration is available.

Mudlet may send extra information that is ignored for now.

External.Discord.Hello {}

External.Discord.Info

A response to External.Discord.Hello. Will contain the discord server invite url if present, and the Discord Application ID if present.

External.Discord.Info {
  inviteurl: "discord.gg",
  applicationid: "..."
}

External.Discord.Status

Current in game status. Can be prompted by External.Discord.Get.

External.Discord.Status {
  game: "ExVenture MUD",
  starttime: 1529031599
}

Mail

Mail.New

You have received a new piece of mail.

Mail.New {
  "id": 1,
  "from": {"id": 1, "name": "Player"},
  "title": "Hi"
}

Room

Room.Info

When a player uses look or moves this will be sent to show the current room's information.

Room.Info {
  "id": 5,
  "zone": {"id": 1, "name": "Zone"},
  "y": 3,
  "x": 2,
  "map_layer": 4,
  "shops": [{"name": "Shoppe", "id": 1},
  "players": [{"name": "player", "id": 1}],
  "npcs": [{"name": "Bandit", "id": 2}],
  "name": "Great Room",
  "items": [{"name": "Leather Armor", "id": 2}],
  "ecology": "default",
  "exits": [{"room_id": 10, "direction": "east"}],
  "description": "The great room of the bandit hideout."
}

Room.Heard

Sent whenever someone says to the room the player is in.

Room.Heard {
  "from": {"type": "player", "name": "Player", "id": 3},
  "message": "hi"
}

Room.Whisper

Sent when the player is whispered to.

Room.Whisper {
  "from": {"type": "player", "name": "Player", "id": 3},
  "message": "hi"
}

Room.Characters

Room.Characters.Enter

Sent when a character enters the player's room.

Room.Characters.Enter {"type": "player", "name": "Player", "id": 3}

Room.Characters.Leave

Sent when a character leaves the player's room.

Room.Characters.Leave {"type": "player", "name": "Player", "id": 3}

Target

Target.Character

Target.Character {"type": "player", "name": "Player", "id": 3}

Target.Clear

Can be a Client Message

This is notifying that your target is emtpy, or if sent will clear your target.

Target.Clear {}

Target.Set

Client Message

Set your current target

Target.Set {"name": "Player"}

Target.You

Another Charcater (PC or NPC) has targeted your character.

Target.You {"type": "player", "name": "Player", "id": 3}

Zone

Zone.Map

Zone.Map {"map": "..."}